Source code for evmos.transactions.erc20

from __future__ import annotations

from collections.abc import Mapping
from typing import Any

from eth_typing import HexStr

from evmos.eip712 import (
    MSG_CONVERT_COIN_TYPES,
    MSG_CONVERT_ERC20_TYPES,
    create_msg_convert_coin,
    create_msg_convert_erc20,
)
from evmos.proto import (
    MessageGenerated,
    MsgConvertCoin,
    MsgConvertErc20,
    create_msg_convert_coin as proto_msg_convert_coin,
    create_msg_convert_erc20 as proto_msg_convert_erc20,
)
from evmos.transactions.common import to_generated

# msgConvertCoin.ts


[docs] @to_generated(MSG_CONVERT_COIN_TYPES) def create_tx_msg_convert_coin( denom: str, amount: str, receiver_hex_formatted: HexStr, sender_evmos_formatted: str, ) -> tuple[Mapping[str, Any], MessageGenerated[MsgConvertCoin]]: """Create transaction with message for coin conversion.""" # EIP712 msg = create_msg_convert_coin( denom, amount, receiver_hex_formatted, sender_evmos_formatted, ) # Cosmos msg_cosmos = proto_msg_convert_coin( denom, amount, receiver_hex_formatted, sender_evmos_formatted, ) return msg, msg_cosmos
# msgConvertERC20.ts
[docs] @to_generated(MSG_CONVERT_ERC20_TYPES) def create_tx_msg_convert_erc20( contract_address: str, amount: str, receiver_evmos_formatted: str, sender_hex_formatted: str, ) -> tuple[Mapping[str, Any], MessageGenerated[MsgConvertErc20]]: """Create transaction with message for ERC20 conversion.""" # EIP712 msg = create_msg_convert_erc20( contract_address, amount, receiver_evmos_formatted, sender_hex_formatted, ) # Cosmos msg_cosmos = proto_msg_convert_erc20( contract_address, amount, receiver_evmos_formatted, sender_hex_formatted, ) return msg, msg_cosmos