var img = document.createElement('img'); img.src = "https://terradocs.matomo.cloud//piwik.php?idsite=4&rec=1&url=https://docs.enterprise.money" + location.pathname; img.style = "border:0"; img.alt = "tracker"; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(img,s);
Skip to main content

Proposal message templates

Message Templates

This page outlines messages that can be executed by Enterprise when creating an execute message proposal.

Bank messages​

The following section outlines the types of Bank messages that can be executed.

Send Message​

This message allows you to send native assets such as LUNA or IBC assets from the treasury to another address.

JSON
Copy

_13
{
_13
"bank": {
_13
"send": {
_13
"to_address": "<insert_destination_address>",
_13
"amount": [
_13
{
_13
"denom": "<insert_denom>",
_13
"amount": "<insert_amount>"
_13
}
_13
]
_13
}
_13
}
_13
}

Burn Message​

This message allows you to burn native assets such as LUNA or IBC assets from the treasury.

JSON
Copy

_12
{
_12
"bank": {
_12
"burn": {
_12
"amount": [
_12
{
_12
"denom": "<insert_denom>",
_12
"amount": "<insert_amount>"
_12
}
_12
]
_12
}
_12
}
_12
}

Send Message​

This message allows you to send native assets such as LUNA or IBC assets from the treasury to another address.

Burn Message​

This message allows you to burn native assets such as LUNA or IBC assets from the treasury.

JSON
CopyExpandClose

_13
{
_13
"bank": {
_13
"send": {
_13
"to_address": "<insert_destination_address>",
_13
"amount": [
_13
{
_13
"denom": "<insert_denom>",
_13
"amount": "<insert_amount>"
_13
}
_13
]
_13
}
_13
}
_13
}

Staking messages​

The following section outlines the types of Staking messages that can be executed.

Delegate Message​

This message allows you to LUNA from the treasury to a specific validator of choice.

JSON
Copy

_11
{
_11
"staking": {
_11
"delegate": {
_11
"amount":{
_11
"denom": "<insert_denom>",
_11
"amount": "<insert_amount>"
_11
},
_11
"validator": "<insert_validator_address>"
_11
}
_11
}
_11
}

Undelegate Message​

This message allows you to LUNA from the treasury to a specific validator of choice.

JSON
Copy

_11
{
_11
"staking": {
_11
"undelegate": {
_11
"amount": {
_11
"denom": "<insert_denom>",
_11
"amount": "<insert_amount>"
_11
},
_11
"validator": "<insert_validator_address>"
_11
}
_11
}
_11
}

Redelegate Message​

This message allows you to LUNA from the treasury to a specific validator of choice.

JSON
Copy

_12
{
_12
"staking": {
_12
"redelegate": {
_12
"amount":{
_12
"denom": "<insert_denom>",
_12
"amount": "<insert_amount>"
_12
},
_12
"src_validator": "<insert_src_validator_address>",
_12
"dst_validator": "<insert_dst_validator_address>",
_12
}
_12
}
_12
}

Delegate Message​

This message allows you to LUNA from the treasury to a specific validator of choice.

Undelegate Message​

This message allows you to LUNA from the treasury to a specific validator of choice.

Redelegate Message​

This message allows you to LUNA from the treasury to a specific validator of choice.

JSON
CopyExpandClose

_11
{
_11
"staking": {
_11
"delegate": {
_11
"amount":{
_11
"denom": "<insert_denom>",
_11
"amount": "<insert_amount>"
_11
},
_11
"validator": "<insert_validator_address>"
_11
}
_11
}
_11
}

Distribution messages​

The following section outlines the types of Distribution messages that can be executed.

Withdraw Delegator Reward Message​

This message allows you to withdraw the delegator rewards from staking.

JSON
Copy

_7
{
_7
"distribution": {
_7
"withdraw_delegator_reward": {
_7
"validator": "<insert_validator_address>",
_7
}
_7
}
_7
}

Set Withdraw Address Message​

This message allows you to set the address where the delegator rewards will be sent.

JSON
Copy

_7
{
_7
"distribution": {
_7
"set_withdraw_address": {
_7
"address": "<insert_address>",
_7
}
_7
}
_7
}

Withdraw Delegator Reward Message​

This message allows you to withdraw the delegator rewards from staking.

Set Withdraw Address Message​

This message allows you to set the address where the delegator rewards will be sent.

JSON
CopyExpandClose

_7
{
_7
"distribution": {
_7
"withdraw_delegator_reward": {
_7
"validator": "<insert_validator_address>",
_7
}
_7
}
_7
}

Wasm messages​

The following section outlines the types of wasm messages that can be executed. Wasm messages allow you to interact with contracts on-chain.

Execute Message​

This message allows you to execute generic wasm messages on-chain.

JSON
Copy

_15
{
_15
"wasm": {
_15
"execute": {
_15
"contract_addr": "<insert_contract_address>",
_15
"funds": [
_15
{
_15
"denom": "<insert_denom>",
_15
"amount": "<insert_amount>"
_15
}
_15
],
_15
"msg": "<insert_message>"
_15
_15
}
_15
}
_15
}

Instantiate Message​

This message allows the DAO to instantiate a new contract.

JSON
Copy

_17
{
_17
"wasm": {
_17
"instantiate": {
_17
"admin": "<insert_admin_address>", // Can be null
_17
"code_id" : <insert_code_id>,
_17
"funds": [
_17
{
_17
"denom": "<insert_denom>",
_17
"amount": "<insert_amount>"
_17
}
_17
],
_17
"label": "<insert_label>",
_17
"msg": "<insert_message>"
_17
_17
}
_17
}
_17
}

Migrate Message​

This message allows the DAO to migrate a contract.

JSON
Copy

_9
{
_9
"wasm": {
_9
"migrate": {
_9
"contract_addr": "<insert_contract_address>",
_9
"msg": "<insert_message>",
_9
"new_code_id": <insert_new_code_id>
_9
}
_9
}
_9
}

Update Contract Admin Message​

This message allows the DAO to update the admin of a contract.

JSON
Copy

_8
{
_8
"wasm": {
_8
"update_admin": {
_8
"contract_addr": "<insert_contract_address>",
_8
"admin": "<insert_admin_addr>"
_8
}
_8
}
_8
}

Clear Contract Admin Message​

This message allows the DAO to remove the admin of a contract.

JSON
Copy

_7
{
_7
"wasm": {
_7
"clear_admin": {
_7
"contract_addr": "<insert_contract_address>"
_7
}
_7
}
_7
}

Execute Message​

This message allows you to execute generic wasm messages on-chain.

Instantiate Message​

This message allows the DAO to instantiate a new contract.

Migrate Message​

This message allows the DAO to migrate a contract.

Update Contract Admin Message​

This message allows the DAO to update the admin of a contract.

Clear Contract Admin Message​

This message allows the DAO to remove the admin of a contract.

JSON
CopyExpandClose

_15
{
_15
"wasm": {
_15
"execute": {
_15
"contract_addr": "<insert_contract_address>",
_15
"funds": [
_15
{
_15
"denom": "<insert_denom>",
_15
"amount": "<insert_amount>"
_15
}
_15
],
_15
"msg": "<insert_message>"
_15
_15
}
_15
}
_15
}

Custom messages​

If you would like to send other messages from modules such as governance etc., you can leverage custom messages.

JSON
Copy

_3
{
_3
"custom": <insert_custom_message>
_3
}