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}