Transactions creation

Miscellaneous txs

evmos.transactions.create_message_send(chain: Chain, sender: Sender, fee: Fee, memo: str, account_address: str, destination_address: str, amount: str, denom: str) TxGenerated[source]

Create transaction with message send.

evmos.transactions.create_tx_ibc_msg_transfer(chain: Chain, sender: Sender, fee: Fee, memo: str, account_address: str, source_port: str, source_channel: str, amount: str, denom: str, receiver: str, revision_number: int, revision_height: int, timeout_timestamp: str) TxGenerated[source]

Create transaction with IBC transfer message.

evmos.transactions.create_tx_msg_vote(chain: Chain, sender: Sender, fee: Fee, memo: str, account_address: str, proposal_id: int, option: int) TxGenerated[source]

Create transaction with voting message.

evmos.transactions.create_tx_raw_eip712(body: TxBody, auth_info: AuthInfo, extension: MessageGenerated[Message]) MessageGenerated[TxRaw][source]

Create a message with raw EIP712 transaction.

evmos.transactions.signature_to_web3_extension(chain: Chain, sender: Sender, signature: bytes) MessageGenerated[ExtensionOptionsWeb3Tx][source]

Create a message with web3 extension from signature.

class evmos.transactions.common.Chain(chain_id: int, cosmos_chain_id: str)[source]

Bases: object

Chain definition.

chain_id: int

Main chain ID.

cosmos_chain_id: str

Cosmos chain ID.

class evmos.transactions.common.Fee(amount: str, denom: str, gas: str)[source]

Bases: object

Fee for message.

amount: str

Fee amount (stringified number, like ‘1000’).

denom: str

Denomination.

gas: str

Gas price.

class evmos.transactions.common.Sender(account_address: str, sequence: int = 0, account_number: int = 0, pubkey: str = '')[source]

Bases: object

Message sender.

account_address: str

Account address (bech32, evmos1...).

account_number: int = 0

Internal account number.

pubkey: str = ''

Account public key.

sequence: int = 0

Account nonce - amount of previously sent transactions.

update_from_chain(url: str = 'http://127.0.0.1:1317') None[source]

Set sequence, account_number and possibly pubkey from API response.

class evmos.transactions.common.TxGenerated(sign_direct: TxGeneratedSignInfo, legacy_amino: TxGeneratedSignInfo, eip_to_sign: EIPToSign)[source]

Bases: TxGeneratedBase

Transaction generated by this library (with EIP to sign).

eip_to_sign: EIPToSign

EIP message to sign for EIP-712 transactions.

evmos.transactions.common.to_generated(types_def: dict[str, Any], *, proto: Literal[True], many: Literal[True]) Callable[[Callable[[Concatenate[str, _P]], tuple[Sequence[Mapping[str, Any]], Sequence[evmos.proto.utils.MessageGenerated[Any]]]]], Callable[[Concatenate[Chain, Sender, Fee, str, _P]], TxGenerated]][source]
evmos.transactions.common.to_generated(types_def: dict[str, Any], *, proto: Literal[False] = False, many: Literal[True]) Callable[[Callable[[_P], tuple[Sequence[Mapping[str, Any]], Sequence[evmos.proto.utils.MessageGenerated[Any]]]]], Callable[[Concatenate[Chain, Sender, Fee, str, _P]], TxGenerated]]
evmos.transactions.common.to_generated(types_def: dict[str, Any], *, proto: Literal[True], many: Literal[False] = False) Callable[[Callable[[Concatenate[str, _P]], tuple[Mapping[str, Any], evmos.proto.utils.MessageGenerated[Any]]]], Callable[[Concatenate[Chain, Sender, Fee, str, _P]], TxGenerated]]
evmos.transactions.common.to_generated(types_def: dict[str, Any], *, proto: Literal[False] = False, many: Literal[False] = False) Callable[[Callable[[_P], tuple[Mapping[str, Any], evmos.proto.utils.MessageGenerated[Any]]]], Callable[[Concatenate[Chain, Sender, Fee, str, _P]], TxGenerated]]

Wrap function returning message with transaction.

evmos.transactions.common.to_generated_base(func: Callable[[Concatenate[str, _P]], MessageGenerated[Any]]) Callable[[Concatenate[Chain, Sender, Fee, str, _P]], TxGeneratedBase][source]

Wrap function returning message with transaction base.

AUTHZ transactions

evmos.transactions.authz.create_tx_msg_stake_authorization(chain: Chain, sender: Sender, fee: Fee, memo: str, account_address: str, bot_address: str, validator_address: str, denom: str, duration_in_seconds: int, max_tokens: Optional[str] = None) TxGeneratedBase[source]

Create a transaction with message for stake authorization.

evmos.transactions.authz.create_tx_msg_stake_revoke_authorization(chain: Chain, sender: Sender, fee: Fee, memo: str, account_address: str, bot_address: str) TxGeneratedBase[source]

Create a transaction with message for stake authorization revoke.

ERC20 transactions

evmos.transactions.erc20.create_tx_msg_convert_coin(chain: Chain, sender: Sender, fee: Fee, memo: str, denom: str, amount: str, receiver_hex_formatted: eth_typing.encoding.HexStr, sender_evmos_formatted: str) TxGenerated[source]

Create transaction with message for coin conversion.

evmos.transactions.erc20.create_tx_msg_convert_erc20(chain: Chain, sender: Sender, fee: Fee, memo: str, contract_address: str, amount: str, receiver_evmos_formatted: str, sender_hex_formatted: str) TxGenerated[source]

Create transaction with message for ERC20 conversion.

Revenue transactions

evmos.transactions.revenue.create_tx_msg_cancel_revenue(chain: Chain, sender: Sender, fee: Fee, memo: str, contract_address: str, deployer_address: str) TxGenerated[source]

Create transaction with message for revenue cancellation.

evmos.transactions.revenue.create_tx_msg_register_revenue(chain: Chain, sender: Sender, fee: Fee, memo: str, contract_address: str, deployer_address: str, withdrawer_address: str, nonces: Sequence[int]) TxGenerated[source]

Create transaction with message for revenue registration.

evmos.transactions.revenue.create_tx_msg_update_revenue(chain: Chain, sender: Sender, fee: Fee, memo: str, contract_address: str, deployer_address: str, withdrawer_address: str, nonces: Sequence[int]) TxGenerated[source]

Create transaction with message for revenue update.

Staking transactions

evmos.transactions.staking.create_tx_msg_begin_redelegate(chain: Chain, sender: Sender, fee: Fee, memo: str, account_address: str, validator_src_address: str, validator_dst_address: str, amount: str, denom: str) TxGenerated[source]

Create a transaction with redelegation beginning message.

evmos.transactions.staking.create_tx_msg_delegate(chain: Chain, sender: Sender, fee: Fee, memo: str, account_address: str, validator_address: str, amount: str, denom: str) TxGenerated[source]

Create a transaction with delegation message.

evmos.transactions.staking.create_tx_msg_multiple_withdraw_delegator_reward(chain: Chain, sender: Sender, fee: Fee, memo: str, account_address: str, validator_addresses: Sequence[str]) TxGenerated[source]

Create a transaction with message for delegator multiple rewards withdrawal.

evmos.transactions.staking.create_tx_msg_set_withdraw_address(chain: Chain, sender: Sender, fee: Fee, memo: str, delegator_address: str, withdraw_address: str) TxGenerated[source]

Create a transaction with message for withdrawal address setting.

evmos.transactions.staking.create_tx_msg_undelegate(chain: Chain, sender: Sender, fee: Fee, memo: str, account_address: str, validator_address: str, amount: str, denom: str) TxGenerated[source]

Create a transaction with undelegation message.

evmos.transactions.staking.create_tx_msg_withdraw_delegator_reward(chain: Chain, sender: Sender, fee: Fee, memo: str, account_address: str, validator_address: str) TxGenerated[source]

Create a transaction with message for delegator reward withdrawal.

evmos.transactions.staking.create_tx_msg_withdraw_validator_commission(chain: Chain, sender: Sender, fee: Fee, memo: str, validator_address: str) TxGenerated[source]

Create a transaction with message for validator commission withdrawal.

Validators transactions

evmos.transactions.validator.create_tx_msg_edit_validator(chain: Chain, sender: Sender, fee: Fee, memo: str, *, validator_address: str, moniker: Optional[str] = None, identity: Optional[str] = None, website: Optional[str] = None, security_contact: Optional[str] = None, details: Optional[str] = None, commission_rate: Optional[str] = None, min_self_delegation: Optional[str] = None) TxGenerated[source]

Create a transaction with validator editing message.