from __future__ import annotations
from typing import Final
from evmos.eip712.base import MsgInterface
MSG_CONVERT_COIN_TYPES: Final = {
'MsgValue': [
{'name': 'coin', 'type': 'TypeCoin'},
{'name': 'receiver', 'type': 'string'},
{'name': 'sender', 'type': 'string'},
],
'TypeCoin': [
{'name': 'denom', 'type': 'string'},
{'name': 'amount', 'type': 'string'},
],
}
"""Types for message for coin types conversion."""
[docs]def create_msg_convert_coin(
denom: str | int,
amount: str | int,
receiver: str,
sender: str,
) -> MsgInterface:
"""Create message for coin types conversion."""
return {
'type': 'evmos/MsgConvertCoin',
'value': {
'coin': {
'denom': str(denom),
'amount': str(amount),
},
'receiver': receiver,
'sender': sender,
},
}
MSG_CONVERT_ERC20_TYPES: Final = {
'MsgValue': [
{'name': 'contract_address', 'type': 'string'},
{'name': 'amount', 'type': 'string'},
{'name': 'receiver', 'type': 'string'},
{'name': 'sender', 'type': 'string'},
],
}
"""Types for message for ERC20 types conversion."""
[docs]def create_msg_convert_erc20(
contract_address: str,
amount: str,
receiver: str,
sender: str,
) -> MsgInterface:
"""Create message for ERC20 types conversion."""
return {
'type': 'evmos/MsgConvertERC20',
'value': {
'contract_address': contract_address,
'amount': amount,
'receiver': receiver,
'sender': sender,
},
}