CosmPy References
cosmpy.aerial.exceptions
Exceptions
QueryError Objects
class QueryError(RuntimeError)Invalid Query Error.
NotFoundError Objects
class NotFoundError(QueryError)Not found error.
QueryTimeoutError Objects
class QueryTimeoutError(RuntimeError)Query timeout error.
BroadcastError Objects
class BroadcastError(RuntimeError)Broadcast error.
init
def __init__ (tx_hash: str, message: str)Init Broadcast error.
Arguments:
tx_hash: transaction hash.message: message.
OutOfGasError Objects
class OutOfGasError(BroadcastError)Insufficient fees error.
init
def __init__(tx_hash: str, gas_wanted: int, gas_used: int)Initialize.
Arguments:
tx_hash: transaction hash.gas_wanted: gas required to complete the transaction.gas_used: gas used.
InsufficientFeesError Objects
class InsufficientFeesError(BroadcastError)init
def __init__(tx_hash: str, minimum_required_fee: str)Initialize.
Arguments:
tx_hash: transaction hash.minimum_required_fee: minimum required fee.
cosmpy.aerial.faucet
Ledger faucet API Interface.
FaucetAPI Objects
Faucet API
init
def __init__ (net_config: NetworkConfig)Init faucet API.
Arguments:
net_config: Ledger network configuration.
Raises:
ValueError: Network config has no faucet URL set.
get_wealth
def get_wealth(address: Union[Address, str]) -> NoneGet wealth from the faucet for the provided address.
Arguments:
address: the address.
Raises:
RuntimeError: Unable to create faucet claim.RuntimeError: Failed to check faucet claim status.RuntimeError: Failed to get wealth for address.ValueError: Faucet claim check timed out.
cosmpy.aerial.config
Network configurations.
NetworkConfigError Objects
class NetworkConfigError(RuntimeError)Network config error.
Arguments:
RuntimeError:Runtime error.
NetworkConfig Objects
@dataclass
class NetworkConfig()Network configurations.
Raises:
NetworkConfigError: Network config error.RuntimeError: Runtime error.
validate
def validate()Validate network configuration.
Raises:
NetworkConfigError:Network config error.
fetchai_dorado_testnet
@classmethod
def fetchai_dorado_testnet(cls) -> "Network Config"Fetch.ai Dorado Testnet.
Returns:
Network configuration.
fetchai_alpha_testnet
@classmethod
def fetchai_alpha_testnet(cls)Get Fetch.ai alpha Testnet.
Raises:
RuntimeError:No beta Testnet available.
fetchai_stable_testnet
@classmethod
def fetchai_stable_testnet(cls)Get Fetch.ai stable Testnet.
Returns:
Fetch.ai stable Testnet. For now Dorado is Fetch.ai stable Testnet.
fetchai_mainnet
@classmethod
def fetchai_mainnet(cls) -> "NetworkConfig"Get the Fetch.ai Mainnet configuration.
Returns:
Fetch.ai Mainnet configuration.
fetch_mainnet
@classmethod
def fetch_mainnet(cls) -> "NetworkConfig"Get the Fetch.ai Mainnet.
Returns:
Fetch.ai Mainnet configurations.
latest_stable_testnet
@classmethod
def latest_stable_testnet(cls) -> "NetworkConfig"Get the latest stable Testnet.
Returns:
Latest stable Testnet.
cosmpy.aerial.coins
Parse the coins.
parse_coins
def parse_coins(value: str) -> List[Coin]Arguments:
value:coins.
Raises:
RuntimeError:If unable to parse the value.
Returns:
Coins.
cosmpy.aerial.urls
Parsing the URL.
Protocol Objects
class Protocol(Enum)Protocol Enum.
Arguments:
Enum: Enum.
ParsedUrl Objects
@dataclass
class ParsedUrl()Parse URL.
Returns:
Parsed URL.
rest_url
@property
def rest_url() -> StrGet the rest URL.
Returns:
rest urls.
parse_url
def parse_url(url: str) -> ParsedUrlInitialize.
Arguments:
URL: URL.
Raises:
RuntimeError: If URL scheme is unsupported.
Returns:
Parsed URL.
cosmpy.aerial.tx
Transaction.
TxState Objects
class TxState(Enum)Transaction state.
Arguments:
Enum: Draft, Sealed, Final.
SigningMode Objects
class SigningMode(Enum)Signing Mode.
Arguments:
Enum: Direct.
SigningConfig Objects
@dataclass
class SigningCfg()Transaction signing configuration.
Direct
@staticmethod
def direct(public_key: PublicKey, sequence_num: int) -> "SigningCfg"Transaction signing configuration using Direct Mode.
Arguments:
public_key: Public key.sequence_num: Sequence number.
Returns:
Transaction signing configuration.
Transaction Objects
class Transaction()Transaction.
init
def __init__()Init the transaction with transaction message, state, fee and body.
State
@property
def state() -> TxStateGet the transaction state.
Returns:
Current state of the transaction.
Msgs
@property
def msgs()Get the transaction messages.
Returns:
Transaction messages.
fee
@property
def fee() -> Optional[str]Get the transaction fee.
Returns:
Transaction fee.
tx
@property
def tx()Initialize.
Raises:
RuntimeError: If the transaction has not been completed.
Returns:
Transaction.
add_message
def add_message(msg: Any) -> "Transaction"Initialize.
Arguments:
msg: Transaction message(memo).
Raises:
RuntimeError: If the transaction is not in the draft state.
Returns:
Transaction with message added.
Seal
def seal(signing_cfgs: Union[signing_cfg, List[SigningCfg]],
fee: str,
gas_limit: int,
memo: Optional[str] = None) -> "Transaction"Seal the transaction.
Arguments:
signing_cfgs: signing configs.fee: transaction fee.gas_limit: transaction gas limit.memo: transaction memo, defaults to None.
Returns: Sealed transaction.
sign
def sign(signer: Signer,
chain_id: str,
account_number: int,
deterministic: bool = False) -> "Transaction"Sign the transaction.
Arguments:
signer: signer.chain_id: chain id.account_number: account number.deterministic: deterministic, defaults to False.
Raises:
RuntimeError: If transaction is not sealed.
Returns:
Signed transaction
complete
def complete() -> "Transaction"Update transaction state to Final.
Returns:
Transaction with updated state.
cosmpy.aerial.gas
Transaction gas strategy.
Gas Strategy Objects
class GasStrategy(ABC)Transaction gas strategy.
estimate_gas
@abstractmethod
def estimate_gas(tx: Transaction) -> intEstimate the transaction gas.
Arguments:
tx: Transaction.
Returns:
None.
block_gas_limit
@abstractmethod
def block_gas_limit() -> intGet the block gas limit.
Returns:
None.
SimulationGasStrategy Objects
Simulation transaction gas strategy.
Arguments:
GasStrategy: gas strategy.
init
def __init__(client: "LedgerClient", multiplier: Optional[float] = None)Init the simulation transaction gas strategy.
Arguments:
client: ledger client.multiplier: multiplier, defaults to None.
estimate_gas
def estimate_gas(tx: Transaction) -> intGet estimated transaction gas.
Arguments:
tx: transaction.
Returns:
Estimated transaction gas.
block_gas_limit
def block_gas_limit() ->intGet the block gas limit.
Returns:
Block gas limit.
OfflineMessageTableStrategy Objects
class OfflineMessageTableStrategy(GasStrategy)Offline message table strategy.
Arguments:
GasStrategy: gas strategy.
default_table
@staticmethod
def default_table() ->"OfflineMessageTableStrategy"Offline message strategy default table.
Returns:
Offline message default table strategy.
init
def __init__ (fallback_gas_limit: Optional[int] = None, block_limit: Optional[int] = None)Init offline message table strategy.
Arguments:
fallback_gas_limit: fallback gas limit, defaults to None.block_limit: block limit, defaults to None.
update_entry
def update_entry(transaction_type: str, gas_limit: int)Update the entry of the transaction.
Arguments:
tx: transaction.
Returns:
Estimated transaction gas.
block_gas_limit
def block_gas_limit() ->intGet the block gas limit.
Returns:
Block gas limit.
cosmpy.aerial.tx_helpers
Transaction helpers.
MessageLog Objects
@dataclass
class MessageLog()Message MessageLog.
TxResponse Objects
@dataclass
class TxResponse()Transaction response.
Raises:
OutOfGasError: out of gas error.InsufficientFeesError: insufficient fees.BroadcastError: broadcast exception.
is_successful
def is_successful() -> boolChecks if transaction is is_successful.
Raises:
OutOfGasError: out of gas error.InsufficientFeesError: insufficient fees.BroadcastError: broadcast exception.
SubmittedTx Objects
class SubmittedTx()Submitted transaction.
init
def __init__(client: "LedgerClient", tx_hash: str)Init the submitted transaction.
Arguments:
client: ledger Client.tx_hash: transaction hash.
tx_hash
@property
def tx_hash() -> strReturns:
Transaction hash.
response
@property
def response() -> Optional[TxResponse]Get the transaction response.
Returns:
Response.
contract_code_id
@property
def contract_code_id() -> Optional[int]Get the contract code id.
Returns:
Return contract code id if exists, else None.
contract_address
@property
def contract_address() -> Optional[Address]Get the contract address.
Returns:
Return contract address if it exists, else return None.
wait_to_complete
def wait_to_complete(
timeout: Optional[Union[int, float, timedelta]] = None,
poll_period: Optional[Union[int, float, timedelta]] = None
) -> "SubmittedTx"Wait to complete the transaction.
Arguments:
timeout: timeout, defaults to None.poll_period: poll period, defaults to None.
Returns:
Submitted transaction.
cosmpy.aerial.wallet
Wallet generation.
Wallet Objects
class Wallet(ABC, UserString)Wallet generation.
Arguments:
ABC: ABC abstract method.UserString: user string.
Address
@abstractmethod
def address() -> AddressGet the address of the wallet.
Returns:
None.
public_key
@abstractmethod
def public_key() -> PublicKeyGet the public key of the wallet.
Returns:
None.
Signer
@abstractmethod
def signer() -> SignerGet the signer of the wallet.
Returns: None.
data
@property
def data()Get the address of the wallet.
Returns: Address.
json
def __json__()Return the address in string format.
Returns:
Address in string format.
LocalWallet Objects
class LocalWallet(Wallet)Generate local wallet.
Arguments:
Wallet: wallet.
Generate
@staticmethod
def generate(prefix: Optional[str] = None) -> "LocalWallet"Generate local wallet.
Arguments:
prefix: prefix, defaults to None.
Returns:
Local wallet.
from_mnemonic
@staticmethod
def from_mnemonic(
mnemonic: str,
prefix: Optional[str] = None
) -> "LocalWallet"Generate local wallet from mnemonic.
Arguments:
mnemonic: mnemonic.prefix: prefix, defaults to None.
Returns:
Local wallet.
from_unsafe_seed
@staticmethod
def from_unsafe_seed(
text: str,
index: Optional[int] = None,
prefix: Optional[str] = None
) -> "LocalWallet"Generate local wallet from unsafe seed.
Arguments:
text: text.index: index, defaults to None.prefix: prefix, defaults to None.
Returns:
Local wallet.
init
def __init__(private_key: PrivateKey, prefix: Optional[str] = None)Init wallet with.
Arguments:
private_key: private key of the wallet.prefix: prefix, defaults to None.
address
def address() -> AddressGet the wallet address.
Returns:
Wallet address.
public_key
def public_key() ->PublicKeyGet the public key of the wallet.
Returns:
Public key.
signer
def signer() -> PrivateKeyGet the signer of the wallet.
Returns:
Signer.