aea.crypto.wallet

Module wrapping all the public and private keys cryptography.

CryptoStore Objects

class CryptoStore()

Utility class to store and retrieve crypto objects.

__init__

 | __init__(crypto_id_to_path: Optional[Dict[str, Optional[str]]] = None) -> None

Initialize the crypto store.

Arguments:

  • crypto_id_to_path: dictionary from crypto id to an (optional) path to the private key.

public_keys

 | @property
 | public_keys() -> Dict[str, str]

Get the public_key dictionary.

crypto_objects

 | @property
 | crypto_objects() -> Dict[str, Crypto]

Get the crypto objects (key pair).

addresses

 | @property
 | addresses() -> Dict[str, str]

Get the crypto addresses.

private_keys

 | @property
 | private_keys() -> Dict[str, str]

Get the crypto addresses.

Wallet Objects

class Wallet()

Container for crypto objects.

The cryptos are separated into two categories:

  • main cryptos: used by the AEA for the economic side (i.e. signing transaction)
  • connection cryptos: exposed to the connection objects for encrypted communication.

__init__

 | __init__(private_key_paths: Dict[str, Optional[str]], connection_private_key_paths: Optional[Dict[str, Optional[str]]] = None)

Instantiate a wallet object.

Arguments:

  • private_key_paths: the private key paths
  • connection_private_key_paths: the private key paths for the connections.

public_keys

 | @property
 | public_keys() -> Dict[str, str]

Get the public_key dictionary.

crypto_objects

 | @property
 | crypto_objects() -> Dict[str, Crypto]

Get the crypto objects (key pair).

addresses

 | @property
 | addresses() -> Dict[str, str]

Get the crypto addresses.

private_keys

 | @property
 | private_keys() -> Dict[str, str]

Get the crypto addresses.

main_cryptos

 | @property
 | main_cryptos() -> CryptoStore

Get the main crypto store.

connection_cryptos

 | @property
 | connection_cryptos() -> CryptoStore

Get the connection crypto store.

sign_message

 | sign_message(crypto_id: str, message: bytes, is_deprecated_mode: bool = False) -> Optional[str]

Sign a message.

Arguments:

  • crypto_id: the id of the crypto
  • message: the message to be signed
  • is_deprecated_mode: what signing mode to use

Returns:

the signature of the message

sign_transaction

 | sign_transaction(crypto_id: str, transaction: Any) -> Optional[Any]

Sign a tx.

Arguments:

  • crypto_id: the id of the crypto
  • transaction: the transaction to be signed

Returns:

the signed tx