pub trait ContractSignerProvider {
type Signer: ContractSigner;
// Required methods
fn derive_signer_key_id(
&self,
is_offer_party: bool,
temp_id: [u8; 32],
) -> [u8; 32];
fn derive_contract_signer(
&self,
key_id: [u8; 32],
) -> Result<Self::Signer, Error>;
fn get_secret_key_for_pubkey(
&self,
pubkey: &PublicKey,
) -> Result<SecretKey, Error>;
fn get_new_secret_key(&self) -> Result<SecretKey, Error>;
}
Expand description
Derives a ContractSigner
from a ContractSignerProvider
and a contract_keys_id
.
Required Associated Types§
Sourcetype Signer: ContractSigner
type Signer: ContractSigner
A type which implements ContractSigner
Required Methods§
Sourcefn derive_signer_key_id(
&self,
is_offer_party: bool,
temp_id: [u8; 32],
) -> [u8; 32]
fn derive_signer_key_id( &self, is_offer_party: bool, temp_id: [u8; 32], ) -> [u8; 32]
Create a keys id for deriving a Signer
.
Sourcefn derive_contract_signer(
&self,
key_id: [u8; 32],
) -> Result<Self::Signer, Error>
fn derive_contract_signer( &self, key_id: [u8; 32], ) -> Result<Self::Signer, Error>
Derives the private key material backing a Signer
.
Sourcefn get_secret_key_for_pubkey(
&self,
pubkey: &PublicKey,
) -> Result<SecretKey, Error>
fn get_secret_key_for_pubkey( &self, pubkey: &PublicKey, ) -> Result<SecretKey, Error>
Get the secret key associated with the provided public key.
Only used for Channels.
Sourcefn get_new_secret_key(&self) -> Result<SecretKey, Error>
fn get_new_secret_key(&self) -> Result<SecretKey, Error>
Generate a new secret key and store it in the wallet so that it can later be retrieved.
Only used for Channels.