Skip to content

aea.crypto.helpers

Module wrapping the helpers of public and private key cryptography.

_

some modules expect this here

try_validate_private_key_path

def try_validate_private_key_path(ledger_id: str,
                                  private_key_path: str,
                                  password: Optional[str] = None) -> None

Try validate a private key path.

Arguments:

  • ledger_id: one of 'fetchai', 'ethereum'
  • private_key_path: the path to the private key.
  • password: the password to encrypt/decrypt the private key.

create_private_key

def create_private_key(ledger_id: str,
                       private_key_file: str,
                       password: Optional[str] = None,
                       extra_entropy: Union[str, bytes, int] = "") -> None

Create a private key for the specified ledger identifier.

Arguments:

  • ledger_id: the ledger identifier.
  • private_key_file: the private key file.
  • password: the password to encrypt/decrypt the private key.
  • extra_entropy: add extra randomness to whatever randomness your OS can provide

try_generate_testnet_wealth

def try_generate_testnet_wealth(identifier: str,
                                address: str,
                                url: Optional[str] = None,
                                _sync: bool = True) -> None

Try generate wealth on a testnet.

Arguments:

  • identifier: the identifier of the ledger
  • address: the address to check for
  • url: the url
  • _sync: whether to wait to sync or not; currently unused

private_key_verify

def private_key_verify(aea_conf: AgentConfig,
                       aea_project_path: Path,
                       password: Optional[str] = None) -> None

Check key.

Arguments:

  • aea_conf: AgentConfig
  • aea_project_path: Path, where project placed.
  • password: the password to encrypt/decrypt the private key.

make_certificate

def make_certificate(ledger_id: str,
                     crypto_private_key_path: str,
                     message: bytes,
                     output_path: str,
                     password: Optional[str] = None) -> str

Create certificate.

Arguments:

  • ledger_id: the ledger id
  • crypto_private_key_path: the path to the private key.
  • message: the message to be signed.
  • output_path: the location where to save the certificate.
  • password: the password to encrypt/decrypt the private keys.

Returns:

the signature/certificate

get_wallet_from_agent_config

def get_wallet_from_agent_config(agent_config: AgentConfig,
                                 password: Optional[str] = None) -> Wallet

Get wallet from agent_cofig provided.

Arguments:

  • agent_config: the agent configuration object
  • password: the password to encrypt/decrypt the private keys.

Returns:

wallet

DecryptError Objects

class DecryptError(ValueError)

Error on bytes decryption with password.

__init__

def __init__(msg: Optional[str] = None) -> None

Init exception.

KeyIsIncorrect Objects

class KeyIsIncorrect(ValueError)

Error decoding hex string to bytes for private key.

hex_to_bytes_for_key

def hex_to_bytes_for_key(data: str) -> bytes

Convert hex string to bytes with error handling.