Skip to Content

CosmWasm Precompile

Address: 0x0000000000000000000000000000000000001002

This precompile serves as an interface to the CosmWasm module, enabling EVM based clients and smart contracts to interact with CosmWasm contracts directly.

Functions

Transactions

  • instantiate: Instantiates a new CosmWasm contract

Payable: Any Sei amounts used to instantiate must be sent to the contract directly. Use the coins field for other params.

/// Instantiates a new CosmWasm contract. /// @param codeID The codeID of the contract. /// @param admin The Sei address of the account to be set as contract admin. /// @param msg The msg to send for instantiation. The format is specified by the contract code. /// @param label Any labels to include for the new contract. /// @param coins Any non-sei denominations that the contract requires for instantiation. /// @return The contract address and associated data. function instantiate( uint64 codeID, string memory admin, bytes memory msg, string memory label, bytes memory coins ) payable external returns (string memory contractAddr, bytes memory data);
  • execute: Sends a message to a CosmWasm contract for execution

Payable: Any Sei amounts required for contract execution must be sent to the contract directly. Use the coins field for other params.

/// Executes some message on a CosmWasm contract. /// @param contractAddress The Sei address of the contract to execute. /// @param msg The msg to send for execution. The format is specified by the contract code. /// @param coins Any non-sei denominations that the contract requires for execution. /// @return The execution response from the CosmWasm contract. function execute( string memory contractAddress, bytes memory msg, bytes memory coins ) payable external returns (bytes memory response);
  • execute_batch: Sends a messages to a CosmWasm contract for execution

Payable: Any Sei amounts required for contract execution must be sent to the contract directly. Use the coins field for other params.

struct ExecuteMsg { string contractAddress; bytes msg; bytes coins; } /// Executes collection of messages on a CosmWasm contract. /// @param executeMsgs The Sei address of the contract to execute. /// @return The execution responses collection from the CosmWasm contract. function execute_batch( ExecuteMsg[] memory executeMsgs ) payable external returns (bytes[] memory responses);

Queries

  • query: Queries a CosmWasm contract state
    /// Queries a CosmWasm contract. /// @param contractAddress The Sei address of the contract to query. /// @param req The query request object. The format is specified by the contract code. /// @return The response from the CosmWasm contract. function query( string memory contractAddress, bytes memory req ) external view returns (bytes memory response)
View the CosmWasm precompile source code and the contract ABI here.
Last updated on