pub struct TestCryptoPrimitives { /* private fields */ }Expand description
A HasCryptoPrimitives implementation used for unit testing smart
contracts.
You can test smart contracts that use the cryptographic primitives in two different ways:
- By setting up mock responses for the functions you need, for example with
the
setup_hash_sha_256_mockmethod. - Or, by using the actual implementations. For this, you need to enable the “crypto-primitives” feature.
Implementations
sourceimpl TestCryptoPrimitives
impl TestCryptoPrimitives
sourcepub fn new() -> Self
pub fn new() -> Self
Create a new TestCryptoPrimitives, for which no mocks has been set
up.
sourcepub fn setup_verify_ed25519_signature_mock<F>(&self, mock: F) where
F: FnMut(PublicKeyEd25519, SignatureEd25519, &[u8]) -> bool + 'static,
pub fn setup_verify_ed25519_signature_mock<F>(&self, mock: F) where
F: FnMut(PublicKeyEd25519, SignatureEd25519, &[u8]) -> bool + 'static,
Set up a mock for verify_ed25519_signature.
This is not available if the “crypto-primitives” feature is enabled. For
more information on why, see the documentation of
TestCryptoPrimitives.
sourcepub fn setup_verify_ecdsa_secp256k1_signature_mock<F>(&self, mock: F) where
F: FnMut(PublicKeyEcdsaSecp256k1, SignatureEcdsaSecp256k1, [u8; 32]) -> bool + 'static,
pub fn setup_verify_ecdsa_secp256k1_signature_mock<F>(&self, mock: F) where
F: FnMut(PublicKeyEcdsaSecp256k1, SignatureEcdsaSecp256k1, [u8; 32]) -> bool + 'static,
Set up a mock for verify_ecdsa_secp256k1_signature.
This is not available if the “crypto-primitives” feature is enabled. For
more information on why, see the documentation of
TestCryptoPrimitives.
sourcepub fn setup_hash_sha2_256_mock<F>(&self, mock: F) where
F: FnMut(&[u8]) -> HashSha2256 + 'static,
pub fn setup_hash_sha2_256_mock<F>(&self, mock: F) where
F: FnMut(&[u8]) -> HashSha2256 + 'static,
Set up a mock for
hash_sha2_256.
This is not available if the “crypto-primitives” feature is enabled. For
more information on why, see the documentation of
TestCryptoPrimitives.
sourcepub fn setup_hash_sha3_256_mock<F>(&self, mock: F) where
F: FnMut(&[u8]) -> HashSha3256 + 'static,
pub fn setup_hash_sha3_256_mock<F>(&self, mock: F) where
F: FnMut(&[u8]) -> HashSha3256 + 'static,
Set up a mock for
hash_sha3_256.
This is not available if the “crypto-primitives” feature is enabled. For
more information on why, see the documentation of
TestCryptoPrimitives.
sourcepub fn setup_hash_keccak_256_mock<F>(&self, mock: F) where
F: FnMut(&[u8]) -> HashKeccak256 + 'static,
pub fn setup_hash_keccak_256_mock<F>(&self, mock: F) where
F: FnMut(&[u8]) -> HashKeccak256 + 'static,
Set up a mock for
hash_keccak_256.
This is not available if the “crypto-primitives” feature is enabled. For
more information on why, see the documentation of
TestCryptoPrimitives.
Trait Implementations
sourceimpl Default for TestCryptoPrimitives
impl Default for TestCryptoPrimitives
Create a new TestCryptoPrimitives, for which no mocks has been set up.
sourceimpl HasCryptoPrimitives for TestCryptoPrimitives
impl HasCryptoPrimitives for TestCryptoPrimitives
sourcefn verify_ed25519_signature(
&self,
public_key: PublicKeyEd25519,
signature: SignatureEd25519,
message: &[u8]
) -> bool
fn verify_ed25519_signature(
&self,
public_key: PublicKeyEd25519,
signature: SignatureEd25519,
message: &[u8]
) -> bool
Verify an ed25519 signature.
sourcefn verify_ecdsa_secp256k1_signature(
&self,
public_key: PublicKeyEcdsaSecp256k1,
signature: SignatureEcdsaSecp256k1,
message_hash: [u8; 32]
) -> bool
fn verify_ecdsa_secp256k1_signature(
&self,
public_key: PublicKeyEcdsaSecp256k1,
signature: SignatureEcdsaSecp256k1,
message_hash: [u8; 32]
) -> bool
Verify an ecdsa signature over secp256k1 with the bitcoin-core implementation. Read more
sourcefn hash_sha2_256(&self, data: &[u8]) -> HashSha2256
fn hash_sha2_256(&self, data: &[u8]) -> HashSha2256
Hash the data using the SHA2-256 algorithm.
sourcefn hash_sha3_256(&self, data: &[u8]) -> HashSha3256
fn hash_sha3_256(&self, data: &[u8]) -> HashSha3256
Hash the data using the SHA3-256 algorithm.
sourcefn hash_keccak_256(&self, data: &[u8]) -> HashKeccak256
fn hash_keccak_256(&self, data: &[u8]) -> HashKeccak256
Hash the data using the Keccak-256 algorithm.
Auto Trait Implementations
impl !RefUnwindSafe for TestCryptoPrimitives
impl !Send for TestCryptoPrimitives
impl !Sync for TestCryptoPrimitives
impl Unpin for TestCryptoPrimitives
impl !UnwindSafe for TestCryptoPrimitives
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more