#[non_exhaustive]
pub enum WasmMsg {
    Execute {
        contract_addr: String,
        msg: Binary,
        funds: Vec<Coin>,
    },
    Instantiate {
        admin: Option<String>,
        code_id: u64,
        msg: Binary,
        funds: Vec<Coin>,
        label: String,
    },
    Migrate {
        contract_addr: String,
        new_code_id: u64,
        msg: Binary,
    },
    UpdateAdmin {
        contract_addr: String,
        admin: String,
    },
    ClearAdmin {
        contract_addr: String,
    },
}
Expand description

The message types of the wasm module.

See https://github.com/CosmWasm/wasmd/blob/v0.14.0/x/wasm/internal/types/tx.proto

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

Execute

Fields

contract_addr: String
msg: Binary

msg is the json-encoded ExecuteMsg struct (as raw Binary)

funds: Vec<Coin>

Dispatches a call to another contract at a known address (with known ABI).

This is translated to a MsgExecuteContract. sender is automatically filled with the current contract’s address.

Instantiate

Fields

admin: Option<String>
code_id: u64
msg: Binary

msg is the JSON-encoded InstantiateMsg struct (as raw Binary)

funds: Vec<Coin>
label: String

A human-readbale label for the contract

Instantiates a new contracts from previously uploaded Wasm code.

This is translated to a MsgInstantiateContract. sender is automatically filled with the current contract’s address.

Migrate

Fields

contract_addr: String
new_code_id: u64

the code_id of the new logic to place in the given contract

msg: Binary

msg is the json-encoded MigrateMsg struct that will be passed to the new code

Migrates a given contracts to use new wasm code. Passes a MigrateMsg to allow us to customize behavior.

Only the contract admin (as defined in wasmd), if any, is able to make this call.

This is translated to a MsgMigrateContract. sender is automatically filled with the current contract’s address.

UpdateAdmin

Fields

contract_addr: String
admin: String

Sets a new admin (for migrate) on the given contract. Fails if this contract is not currently admin of the target contract.

ClearAdmin

Fields

contract_addr: String

Clears the admin on the given contract, so no more migration possible. Fails if this contract is not currently admin of the target contract.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Converts to this type from the input type.

The name of the generated JSON Schema. Read more

Generates a JSON Schema for this type. Read more

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.