# Wasmd deploy, instantiate and query contract
#### Setup environment
First source the cliffnet network configuration in the shell:
```shell
$ source <(curl -sSL https://raw.githubusercontent.com/CosmWasm/testnets/master/cliffnet-1/defaults.env)
```
Add wallets
```shell
$ wasmd keys add wallet
```
~~~md
name: wallet
type: local
address: wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c
pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AjfncoFpjzZ4DlXh9NKOpY0Lc4fgdsUlDaAR/5Kf1ey7"}'
mnemonic: ""
**Important** write this mnemonic phrase in a safe place.
~~~
```shell
$ wasmd keys add wallet2
```
~~~md
name: wallet2
type: local
address: wasm1a006uek86c2salfjs2lcl42wnameyppjj4g377
pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A1574WKcuRbqNjQBiPJ35pN+J7vsCqWZQC8PD7vtdXpL"}'
mnemonic: ""
**Important** write this mnemonic phrase in a safe place.
~~~
##### Add amount to wallet from faucet
> If `jq` in not already installed, then run `brew install jq`
```shell
$ JSON=$(jq -n --arg addr $(wasmd keys show -a wallet) '{"denom":"upebble","address":$addr}') && curl -X POST --header "Content-Type: application/json" --data "$JSON" https://faucet.cliffnet.cosmwasm.com/credit
```
~~~md
ok%
~~~
```shell
$ JSON=$(jq -n --arg addr $(wasmd keys show -a wallet2) '{"denom":"upebble","address":$addr}') && curl -X POST --header "Content-Type: application/json" --data "$JSON" https://faucet.cliffnet.cosmwasm.com/credit
```
~~~md
ok%
~~~
##### Add env variables
```shell
$ export NODE=(--node $RPC)
$ export TXFLAG=($NODE --chain-id $CHAIN_ID --gas-prices 0.025upebble --gas auto --gas-adjustment 1.3)
```
Check if everything is configured well
```shell
$ wasmd query bank total $NODE
```
#### Compile and optimize contract
```shell
$ cd BL-contracts/
```
Make sure you have already generated optimized compiled contract in `artifacts` folder with
```shell=
docker run --rm -v "$(pwd)":/code \
--mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
cosmwasm/workspace-optimizer:0.12.6
```
#### Upload the smart contract to the testnet
```shell
$ RES=$(wasmd tx wasm store artifacts/bl_market.wasm --from wallet $TXFLAG -y --output json -b block)
```
~~~md
gas estimate: 3433755
~~~
```shell
$ CODE_ID=$(echo $RES | jq -r '.logs[0].events[-1].attributes[0].value')
$ echo $CODE_ID
```
~~~md
1493
~~~
```shell
$ wasmd query wasm list-contract-by-code $CODE_ID $NODE --output json
```
~~~md
{"pagination":{}}
~~~
#### Initialize smart contract
##### Set InstantiateMsg parameters
```shell
$ INIT='{"config":{"owner":"wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c","ptoken_code_id":1492,"close_factor":"1.3","protocol_admin": "wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c","protocol_rewards_collector_address": "wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c"}}'
```
##### Send InstantiateMsg to smart contract
```shell
$ wasmd tx wasm instantiate $CODE_ID "$INIT" --from wallet --label "test" --admin "wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c" $TXFLAG -y
```
~~~md
gas estimate: 212261
logs: []
raw_log: '[]'
txhash: F0E3F110AFC3BE95C25F694AB1A029264394B73D2589793C5D0F8F9310DECB75
~~~
##### Query state
```shell
$ wasmd query wasm list-contract-by-code $CODE_ID $NODE --output json
```
~~~md
{"contracts":["wasm1upm6hqmjes8g6632kcem9nxru9wuq050pntctel07cstse94khlqv9p6rd"],"pagination":{}}
~~~
##### Get contract address
```shell
$ CONTRACT=$(wasmd query wasm list-contract-by-code $CODE_ID $NODE --output json | jq -r '.contracts[-1]')
$ echo $CONTRACT
```
~~~md
wasm1upm6hqmjes8g6632kcem9nxru9wuq050pntctel07cstse94khlqv9p6rd
~~~
##### Query using contract address
```shell
$ wasmd query wasm contract $CONTRACT $NODE
```
~~~md
address: wasm108kzuqh29q9gnn9rmcjgyeznhjk9xp6hf6f594tv7cadxm6de2yq8aczj8
contract_info:
admin: wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c
code_id: "1487"
creator: wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c
label: BL market repay
~~~
```shell
$ wasmd query wasm contract-state all $CONTRACT $NODE
```
~~~md
models:
- key: 636F6E666967
value: eyJvd25lciI6Indhc20xMjB6Zng5OHBrM2ZkNDY5aHBzNHJnZjBxdWU0bGdyYXowMjAzNWMiLCJjbG9zZV9mYWN0b3IiOiIxLjMiLCJwdG9rZW5fY29kZV9pZCI6MTQ4MSwicHJvdG9jb2xfYWRtaW4iOiJ3YXNtMTIwemZ4OThwazNmZDQ2OWhwczRyZ2YwcXVlNGxncmF6MDIwMzVjIiwicHJvdG9jb2xfcmV3YXJkc19jb2xsZWN0b3JfYWRkcmVzcyI6Indhc20xMjB6Zng5OHBrM2ZkNDY5aHBzNHJnZjBxdWU0bGdyYXowMjAzNWMifQ==
- key: 636F6E74726163745F696E666F
value: eyJjb250cmFjdCI6ImNyYXRlcy5pbzpibF9tYXJrZXQiLCJ2ZXJzaW9uIjoiMC4xLjAifQ==
- key: 676C6F62616C5F7374617465
value: eyJtYXJrZXRfY291bnQiOjB9
pagination: {}
~~~
```shell
$ wasmd query wasm contract-state raw $CONTRACT 636F6E74726163745F696E666F $NODE --hex
```
~~~md
data: eyJjb250cmFjdCI6ImNyYXRlcy5pbzpibF9tYXJrZXQiLCJ2ZXJzaW9uIjoiMC4xLjAifQ==
~~~
```shell
$ wasmd query wasm contract-state all $CONTRACT $NODE --output "json" | jq -r '.models[0].value' | base64 -d
```
~~~md
{"owner":"wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c","close_factor":"1.3","ptoken_code_id":1481,"protocol_admin":"wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c","protocol_rewards_collector_address":"wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c"}%
~~~
#### Send QueryMsg to smart contract
```shell
$ wasmd query wasm contract-state smart $CONTRACT '{"get_config": {}}' $NODE
```
~~~md
data:
close_factor: "1.3"
market_count: 0
owner: wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c
ptoken_code_id: 1481
~~~
#### Execute Update Config
##### Set ExecuteMsg parameters
```shell
$ UPDATE_CONFIG='{"update_config":{"config":{"owner":"wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c","cw20_code_id":1293,"close_factor":"1.2"}}}'
```
##### Send ExecuteMsg to smart contract
```shell
$ wasmd tx wasm execute $CONTRACT "$UPDATE_CONFIG" --from wallet $TXFLAG -y
```
~~~md
gas estimate: 149730
logs: []
raw_log: '[]'
txhash: 9B55D4B7655CF76BCC7DAC7D53994841DE9553BDDC87D485122C2994D2606E3D
~~~
##### Query for the update
```shell
$ wasmd query wasm contract-state smart $CONTRACT '{"get_config": {}}' $NODE
```
~~~md
data:
close_factor: "1.3"
market_count: 0
owner: wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c
ptoken_code_id: 1347
~~~
#### Execute Init Asset
```shell
$ INIT_ASSET='{"init_asset":{"asset":{"native":{"denom":"upebble"}},"asset_params":{"initial_borrow_rate":"0.01","reserve_factor":"0.01","max_loan_to_value":"0.4","liquidation_threshold":"0.5","liquidation_bonus":"0.15","interest_rate_model_params":{"linear":{"base":"0.02","optimal_utilization_rate":"0.8","slope_1":"0.07","slope_2":"3.0"}},"active":true,"deposit_enabled":true,"borrow_enabled":true},"asset_symbol":"UPB"}}'
$ wasmd tx wasm execute $CONTRACT "$INIT_ASSET" --from wallet $TXFLAG -y
```
~~~md
gas estimate: 484823
logs: []
raw_log: '[]'
txhash: BC64E2B6279DFEDBA032D7053D926093A0DCF8502374FA100AB53EB0EE3D1CE0
~~~
##### Check contract state
```shell
$ wasmd query wasm contract-state all $CONTRACT $NODE --output "json" | jq -r '.models[0].value' | base64 -d
```
~~~md
{"index":0,"ptoken_address":"wasm1f8wwvs7sl3zemdw50m2g3hncvdj6tcn6army4unqc5x8ujyfktfqud5u5t","asset_type":"native","max_loan_to_value":"0.4","liquidation_threshold":"0.5","liquidation_bonus":"0.15","reserve_factor":"0.01","interest_rate_model":{"linear":{"params":{"optimal_utilization_rate":"0.8","base":"0.02","slope_1":"0.07","slope_2":"3"}}},"borrow_index":"1","liquidity_index":"1","borrow_rate":"0.01","liquidity_rate":"0","indexes_last_updated":1655820422,"debt_total_scaled":"0","active":true,"deposit_enabled":true,"borrow_enabled":true}%
~~~
##### QueryMsg for market state
```shell
$ QUERY_MARKET='{"get_market":{"asset":{"native":{"denom":"upebble"}}}}'
$ wasmd query wasm contract-state smart $CONTRACT "$QUERY_MARKET" $NODE
```
~~~md
data:
active: true
asset_type: native
borrow_enabled: true
borrow_index: "1"
borrow_rate: "0.01"
debt_total_scaled: "0"
deposit_enabled: true
index: 0
indexes_last_updated: 1.655820422e+09
interest_rate_model:
linear:
params:
base: "0.02"
optimal_utilization_rate: "0.8"
slope_1: "0.07"
slope_2: "3"
liquidation_bonus: "0.15"
liquidation_threshold: "0.5"
liquidity_index: "1"
liquidity_rate: "0"
max_loan_to_value: "0.4"
ptoken_address: wasm1f8wwvs7sl3zemdw50m2g3hncvdj6tcn6army4unqc5x8ujyfktfqud5u5t
reserve_factor: "0.01"
~~~
##### QueryMsg for pToken state
```shell
$ PTOKEN_CONTRACT="wasm1f8wwvs7sl3zemdw50m2g3hncvdj6tcn6army4unqc5x8ujyfktfqud5u5t"
$ wasmd query wasm contract-state all $PTOKEN_CONTRACT $NODE --output "json" | jq -r '.models[3].value' | base64 -d
```
~~~md
{"name":"BL UPB Liquidity Token","symbol":"pUPB","decimals":6,"total_supply":"0","mint":{"minter":"wasm108kzuqh29q9gnn9rmcjgyeznhjk9xp6hf6f594tv7cadxm6de2yq8aczj8","cap":null}}%
~~~
#### Execute deposit native asset
```shell
$ DEPOSIT_NATIVE='{"deposit_native":{"denom":"upebble","on_behalf_of":null}}'
$ wasmd tx wasm execute $CONTRACT "$DEPOSIT_NATIVE" --from wallet $TXFLAG -y --amount 1000upebble
```
~~~md
gas estimate: 308106
logs: []
raw_log: '[]'
txhash: A04E9CC7A28E02CF31F673B5B969ECEC707581E51377B3526174FE4E56798BCA
~~~
##### QueryMsg for user state
```shell
$ QUERY_USER='{"get_user_collateral":{"user_address":"wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c"}}'
$ wasmd query wasm contract-state smart $CONTRACT "$QUERY_USER" $NODE
```
~~~md
data:
collateral:
- asset_label: upebble
asset_reference:
- 117
- 112
- 101
- 98
- 98
- 108
- 101
asset_type: native
denom: upebble
enabled: true
~~~
##### Check balance
```shell
$ WALLET=$( wasmd keys show -a wallet | tee /dev/tty | tail -1 | tr -d '\r' )
```
~~~md
wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c
~~~
```shell
$ BALANCE_OF_WALLET=$( jq -n --arg address $WALLET '{ "balance": { "address": $address } }' | tee /dev/tty )
```
~~~md
{
"balance": {
"address": "wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c"
}
}
~~~
```shell
$ wasmd query wasm contract-state smart $PTOKEN_CONTRACT "$BALANCE_OF_WALLET" $NODE
```
~~~md
data:
balance: "1000000000"
~~~
#### Execute withdraw native asset
```shell
$ WITHDRAW_PARAMS='{"withdraw":{"asset":{"native":{"denom":"upebble"}},"amount":"100","recipient":null}}'
$ wasmd tx wasm execute $CONTRACT "$WITHDRAW_PARAMS" --from wallet $TXFLAG -y
```
~~~md
gas estimate: 387045
logs: []
raw_log: '[]'
txhash: 624D498EDF0CF318CBDEE81746757EE62DF5FB7B54271AC7221F3F3B9B64CBB0
~~~
##### Check balance again
```shell
$ wasmd query wasm contract-state smart $PTOKEN_CONTRACT "$BALANCE_OF_WALLET" $NODE
```
~~~md
data:
balance: "900000000"
~~~
#### Execute cw20 Init Asset
```shell
$ INIT_ASSET='{"init_asset":{"asset":{"cw20":{"contract_addr":"wasm17r53vvjedjycurxr3l4qfuchwxgdk0qlz2d0gvzvffj76weejmeqkj38ld"}},"asset_params":{"initial_borrow_rate":"0.01","reserve_factor":"0.01","max_loan_to_value":"0.4","liquidation_threshold":"0.5","liquidation_bonus":"0.15","interest_rate_model_params":{"linear":{"base":"0.02","optimal_utilization_rate":"0.8","slope_1":"0.07","slope_2":"3.0"}},"active":true,"deposit_enabled":true,"borrow_enabled":true},"asset_symbol":"BTOK"}}'
$ wasmd tx wasm execute $CONTRACT "$INIT_ASSET" --from wallet $TXFLAG -y
```
~~~md
gas estimate: 518928
logs: []
raw_log: '[]'
txhash: 182F6B972E8DD0EC72F649F17ED4C9BCAA3631824E883A6FB714EAD5C6E07E9E
~~~
#### Execute deposit cw20 asset
[Base64 encoding](https://www.base64encode.org/) of following need to be sent as `msg`:
~~~md
{
"deposit_cw20": {
"on_behalf_of": "wasm1a006uek86c2salfjs2lcl42wnameyppjj4g377"
}
}
~~~
```shell
$ TRANSFER_TO_CONTRACT=$( jq -n --arg recipient $CONTRACT '{"send":{"contract":$recipient,"amount":"1000","msg":"ewogICJkZXBvc2l0X2N3MjAiOiB7CiAgICAib25fYmVoYWxmX29mIjogIndhc20xYTAwNnVlazg2YzJzYWxmanMybGNsNDJ3bmFtZXlwcGpqNGczNzciCiAgfQp9"}}' | tee /dev/tty )
```
~~~md
{
"send": {
"contract": "wasm1upm6hqmjes8g6632kcem9nxru9wuq050pntctel07cstse94khlqv9p6rd",
"amount": "1000",
"msg": "ewogICJkZXBvc2l0X2N3MjAiOiB7CiAgICAib25fYmVoYWxmX29mIjogIndhc20xMjB6Zng5OHBrM2ZkNDY5aHBzNHJnZjBxdWU0bGdyYXowMjAzNWMiCiAgfQp9"
}
}
~~~
##### Execute the transfer from cw20 contract:
```shell
$ wasmd tx wasm execute $CW_CONTRACT "$TRANSFER_TO_CONTRACT" --from wallet2 $TXFLAG
```
~~~md
gas estimate: 483822
{"body":{"messages":[{"@type":"/cosmwasm.wasm.v1.MsgExecuteContract","sender":"wasm1a006uek86c2salfjs2lcl42wnameyppjj4g377","contract":"wasm17r53vvjedjycurxr3l4qfuchwxgdk0qlz2d0gvzvffj76weejmeqkj38ld","msg":{"send":{"contract":"wasm1upm6hqmjes8g6632kcem9nxru9wuq050pntctel07cstse94khlqv9p6rd","amount":"1000","msg":"ewogICJkZXBvc2l0X2N3MjAiOiB7CiAgICAib25fYmVoYWxmX29mIjogIndhc20xYTAwNnVlazg2YzJzYWxmanMybGNsNDJ3bmFtZXlwcGpqNGczNzciCiAgfQp9"}},"funds":[]}],"memo":"","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[],"fee":{"amount":[{"denom":"upebble","amount":"12096"}],"gas_limit":"483822","payer":"","granter":""}},"signatures":[]}
confirm transaction before signing and broadcasting [y/N]: y
logs: []
raw_log: '[]'
txhash: F7850BA9266E6BD41E876F65E1897D0BB7B2BDF0208BA72CB456CEE2B128726F
~~~
##### Get markets list
```shell
$ QUERY_MARKET_LIST='{"get_markets_list":{}}'
$ wasmd query wasm contract-state smart $CONTRACT "$QUERY_MARKET_LIST" $NODE
```
~~~md
data:
markets_list:
- asset_label: upebble
asset_reference:
- 117
- 112
- 101
- 98
- 98
- 108
- 101
asset_type: native
cw20_token_address: wasm1f8wwvs7sl3zemdw50m2g3hncvdj6tcn6army4unqc5x8ujyfktfqud5u5t
denom: upebble
- asset_label: usd
asset_reference:
- 117
- 115
- 100
asset_type: native
cw20_token_address: wasm1mx6pr2e54j9a8d5dx56at395mqn02xhkqgd53tv58fyad33h83kqcgfygx
denom: usd
- asset_label: wasm17r53vvjedjycurxr3l4qfuchwxgdk0qlz2d0gvzvffj76weejmeqkj38ld
asset_reference:
- 119
- 97
- 115
- 109
- 49
- 55
- 114
- 53
- 51
- 118
- 118
- 106
- 101
- 100
- 106
- 121
- 99
- 117
- 114
- 120
- 114
- 51
- 108
- 52
- 113
- 102
- 117
- 99
- 104
- 119
- 120
- 103
- 100
- 107
- 48
- 113
- 108
- 122
- 50
- 100
- 48
- 103
- 118
- 122
- 118
- 102
- 102
- 106
- 55
- 54
- 119
- 101
- 101
- 106
- 109
- 101
- 113
- 107
- 106
- 51
- 56
- 108
- 100
asset_type: cw20
cw20_token_address: wasm1zyswl863p7vk0rcqvxpq4e4d8uhpffs00vc32glacjp63frqm68qzm3zya
denom: BTOK
~~~
```shell
$ QUERY_MARKET='{"get_market":{"asset":{"cw20":{"contract_addr":"wasm17r53vvjedjycurxr3l4qfuchwxgdk0qlz2d0gvzvffj76weejmeqkj38ld"}}}}'
$ wasmd query wasm contract-state smart $CONTRACT "$QUERY_MARKET" $NODE
```
~~~md
data:
active: true
asset_type: cw20
borrow_enabled: true
borrow_index: "1"
borrow_rate: "0.01"
debt_total_scaled: "0"
deposit_enabled: true
index: 2
indexes_last_updated: 1.655823571e+09
interest_rate_model:
linear:
params:
base: "0.02"
optimal_utilization_rate: "0.8"
slope_1: "0.07"
slope_2: "3"
liquidation_bonus: "0.15"
liquidation_threshold: "0.5"
liquidity_index: "1"
liquidity_rate: "0"
max_loan_to_value: "0.4"
ptoken_address: wasm1zyswl863p7vk0rcqvxpq4e4d8uhpffs00vc32glacjp63frqm68qzm3zya
reserve_factor: "0.01"
~~~
##### Check balance
```shell
$ WALLET2=$( wasmd keys show -a wallet2 | tee /dev/tty | tail -1 | tr -d '\r' )
$ BALANCE_OF_WALLET2=$( jq -n --arg address $WALLET2 '{ "balance": { "address": $address } }' | tee /dev/tty )
$ PTOKEN_CONTRACT="wasm1zyswl863p7vk0rcqvxpq4e4d8uhpffs00vc32glacjp63frqm68qzm3zya"
$ wasmd query wasm contract-state smart $PTOKEN_CONTRACT "$BALANCE_OF_WALLET2" $NODE
```
~~~md
data:
balance: "1000000000"
~~~
#### Execute withdraw cw20 asset
```shell
$ WITHDRAW_PARAMS='{"withdraw":{"asset":{"cw20":{"contract_addr":"wasm17r53vvjedjycurxr3l4qfuchwxgdk0qlz2d0gvzvffj76weejmeqkj38ld"}},"amount":"10","recipient":"wasm1a006uek86c2salfjs2lcl42wnameyppjj4g377"}}'
$ wasmd tx wasm execute $CONTRACT "$WITHDRAW_PARAMS" --from wallet2 $TXFLAG -y
```
~~~md
gas estimate: 387045
logs: []
raw_log: '[]'
txhash: 624D498EDF0CF318CBDEE81746757EE62DF5FB7B54271AC7221F3F3B9B64CBB0
~~~
##### Check balance again
```shell
$ wasmd query wasm contract-state smart $PTOKEN_CONTRACT "$BALANCE_OF_WALLET2" $NODE
```
~~~md
data:
balance: "990000000"
~~~
#### Execute Borrow cw20 asset
```shell
$ BORROW='{"borrow":{"asset":{"cw20":{"contract_addr":"wasm17r53vvjedjycurxr3l4qfuchwxgdk0qlz2d0gvzvffj76weejmeqkj38ld"}},"amount":"10","recipient":"wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c"}}'
$ wasmd tx wasm execute $CONTRACT "$BORROW" --from wallet $TXFLAG -y
```
~~~md
gas estimate: 476793
logs: []
raw_log: '[]'
txhash: 6C6175D9EB54C1AEFA73ADECC4DA9E0C47FD12A92A7A635738EE539553718D8D
~~~
#### Execute Repay cw20 asset
[Base64 encoding](https://www.base64encode.org/) of following need to be sent as `msg`:
~~~md
{
"repay_cw20": {
"on_behalf_of": "wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c"
}
}
~~~
```shell
$ REPAY_TO_CONTRACT=$( jq -n --arg recipient $CONTRACT '{"send":{"contract":$recipient,"amount":"10","msg":"ewogICJyZXBheV9jdzIwIjogewogICAgIm9uX2JlaGFsZl9vZiI6ICJ3YXNtMTIwemZ4OThwazNmZDQ2OWhwczRyZ2YwcXVlNGxncmF6MDIwMzVjIgogIH0KfQ=="}}' | tee /dev/tty )
```
~~~md
{
"send": {
"contract": "wasm1upm6hqmjes8g6632kcem9nxru9wuq050pntctel07cstse94khlqv9p6rd",
"amount": "10",
"msg": "ewogICJyZXBheV9jdzIwIjogewogICAgIm9uX2JlaGFsZl9vZiI6ICJ3YXNtMTIwemZ4OThwazNmZDQ2OWhwczRyZ2YwcXVlNGxncmF6MDIwMzVjIgogIH0KfQ=="
}
}
~~~
##### Execute the transfer from cw20 contract:
```shell
$ wasmd tx wasm execute $CW_CONTRACT "$REPAY_TO_CONTRACT" --from wallet $TXFLAG
```
~~~md
gas estimate: 377166
{"body":{"messages":[{"@type":"/cosmwasm.wasm.v1.MsgExecuteContract","sender":"wasm120zfx98pk3fd469hps4rgf0que4lgraz02035c","contract":"wasm17r53vvjedjycurxr3l4qfuchwxgdk0qlz2d0gvzvffj76weejmeqkj38ld","msg":{"send":{"contract":"wasm1upm6hqmjes8g6632kcem9nxru9wuq050pntctel07cstse94khlqv9p6rd","amount":"10","msg":"ewogICJyZXBheV9jdzIwIjogewogICAgIm9uX2JlaGFsZl9vZiI6ICJ3YXNtMTIwemZ4OThwazNmZDQ2OWhwczRyZ2YwcXVlNGxncmF6MDIwMzVjIgogIH0KfQ=="}},"funds":[]}],"memo":"","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[],"fee":{"amount":[{"denom":"upebble","amount":"9430"}],"gas_limit":"377166","payer":"","granter":""}},"signatures":[]}
confirm transaction before signing and broadcasting [y/N]: y
logs: []
raw_log: '[]'
txhash: 878099627B0F11421986B68190B85AD641E6AE267C822D7AA3092FB3C467A0B2
~~~