GitHub: ICosmos
Overview
The ICosmos
interface defines a set of functions for interacting with the Cosmos blockchain from an Ethereum Virtual Machine (EVM) environment. It includes functions for address conversion, querying, and executing Cosmos messages.
Constants
COSMOS_ADDRESS
The address of the Cosmos
precompile contract.
COSMOS_CONTRACT
The instance of the ICosmos contract.
Functions
is_blocked_address
Checks if an address is blocked by the Cosmos SDK bank module.
Parameters
Name | Type | Description |
---|
account | address | The address to check |
Returns
Type | Description |
---|
bool | true if the address is blocked, false otherwise |
is_module_address
Checks if an address is a Cosmos SDK module account.
Parameters
Name | Type | Description |
---|
account | address | The address to check |
Returns
Type | Description |
---|
bool | true if the address is a module account, false otherwise |
to_cosmos_address
Converts an EVM hex format address to a Cosmos bech32 format address.
Parameters
Name | Type | Description |
---|
evm_address | address | The EVM address to convert |
Returns
Type | Description |
---|
string memory | The corresponding Cosmos address |
to_evm_address
Convert a Cosmos bech32 format address to an EVM hex format address.
Parameters
Name | Type | Description |
---|
cosmos_address | string memory | The Cosmos address to convert |
Returns
Type | Description |
---|
address | The corresponding EVM address |
to_denom
Converts an ERC20 address to a Cosmos coin denom.
Parameters
Name | Type | Description |
---|
erc20_address | address | The ERC20 address to convert |
Returns
Type | Description |
---|
string memory | The corresponding Cosmos denom |
to_erc20
Converts a Cosmos coin denom to an ERC20 address.
Parameters
Name | Type | Description |
---|
denom | string memory | The Cosmos denom to convert |
Returns
Type | Description |
---|
address | The corresponding ERC20 address |
execute_cosmos
Records a Cosmos message to be executed after the current message execution. The message should be in JSON string format.
Parameters
Name | Type | Description |
---|
msg | string memory | The Cosmos message in JSON format |
Returns
Type | Description |
---|
bool | Dummy return value |
query_cosmos
Queries a whitelisted Cosmos SDK query.
Parameters
Name | Type | Description |
---|
path | string memory | The query path |
req | string memory | The query request in JSON format |
Returns
Type | Description |
---|
string memory | The query result in JSON format |