bee_pow/providers/
u64.rs

1// Copyright 2020-2021 IOTA Stiftung
2// SPDX-License-Identifier: Apache-2.0
3
4//! Contains a nonce provider that returns a given constant nonce.
5
6use crate::providers::{NonceProvider, NonceProviderBuilder};
7
8impl NonceProviderBuilder for u64 {
9    type Provider = u64;
10
11    #[must_use]
12    fn finish(self) -> u64 {
13        self
14    }
15}
16
17/// A nonce provider that returns constant nonces.
18impl NonceProvider for u64 {
19    type Builder = u64;
20    type Error = std::convert::Infallible;
21
22    fn nonce(&self, _: &[u8], _: u32) -> Result<u64, Self::Error> {
23        Ok(*self)
24    }
25}