github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/dev/wasm/cw4-stake/cw4-stake.sh (about) 1 #!/bin/bash 2 set -o errexit -o nounset -o pipefail 3 4 CHAIN_ID="fbc-67" 5 NODE="http://localhost:26657" 6 QUERY_EXTRA="--node=$NODE" 7 TX_EXTRA_UNBLOCKED="--fees 0.01okt --gas 3000000 --chain-id=$CHAIN_ID --node $NODE -b async -y" 8 TX_EXTRA="--fees 0.01okt --gas 3000000 --chain-id=$CHAIN_ID --node $NODE -b block -y" 9 captain=$(fbchaincli keys show captain -a) 10 11 12 # claim cw20 from ce4-stake 13 totalAmount="100000000" 14 transferAmount="100" 15 16 res=$(fbchaincli tx wasm store ../cw20-base/artifacts/cw20_base.wasm --from captain $TX_EXTRA) 17 cw20_code_id=$(echo "$res" | jq '.logs[0].events[1].attributes[0].value' | sed 's/\"//g') 18 19 res=$(fbchaincli tx wasm instantiate "$cw20_code_id" '{"decimals":10,"initial_balances":[{"address":"'"$captain"'","amount":"'$totalAmount'"}],"name":"my test token", "symbol":"mtt"}' --label test1 --admin "$captain" --from captain $TX_EXTRA) 20 cw20contractAddr=$(echo "$res" | jq '.logs[0].events[0].attributes[0].value' | sed 's/\"//g') 21 echo "cw20 contract address: $cw20contractAddr" 22 23 res=$(fbchaincli tx wasm store ../cw4-stake/artifacts/cw4_stake.wasm --from $captain $TX_EXTRA) 24 code_id=$(echo "$res" | jq '.logs[0].events[1].attributes[0].value' | sed 's/\"//g') 25 res=$(fbchaincli tx wasm instantiate "$code_id" '{"denom":{"cw20":"'$cw20contractAddr'"},"min_bond":"50","tokens_per_weight":"10","unbonding_period":{"height":0}}' --label test1 --admin $captain --from captain $TX_EXTRA) 26 contractAddr=$(echo "$res" | jq '.logs[0].events[0].attributes[0].value' | sed 's/\"//g') 27 echo "cw4-stake contract address: $contractAddr" 28 29 res=$(fbchaincli tx wasm execute "$cw20contractAddr" '{"send":{"amount":"'$transferAmount'","contract":"'$contractAddr'","msg":"eyJib25kIjp7fX0="}}' --from captain $TX_EXTRA) # msg={"bond":{}} 30 echo $res | jq 31 32 res=$(fbchaincli tx wasm execute "$contractAddr" '{"unbond":{"tokens":"'$transferAmount'"}}' --from captain $TX_EXTRA) 33 echo $res | jq 34 35 res=$(fbchaincli tx wasm execute "$contractAddr" '{"claim":{}}' --from captain $TX_EXTRA) 36 echo $res | jq 37 38 39 40 # claim okt from cw4-stake 41 res=$(fbchaincli tx wasm store ../cw4-stake/artifacts/cw4_stake.wasm --from $captain $TX_EXTRA) 42 code_id=$(echo "$res" | jq '.logs[0].events[1].attributes[0].value' | sed 's/\"//g') 43 # native token must be "okt", not "OKT" or tokens with other names 44 res=$(fbchaincli tx wasm instantiate "$code_id" '{"denom":{"native":"okt"},"min_bond":"50","tokens_per_weight":"5","unbonding_period":{"height":0}}' --label test1 --admin $captain --from captain $TX_EXTRA) 45 contractAddr=$(echo "$res" | jq '.logs[0].events[0].attributes[0].value' | sed 's/\"//g') 46 echo "cw4-stake contract address: $contractAddr" 47 48 res=$(fbchaincli query wasm contract-state smart "$contractAddr" '{"staked":{"address":"'$captain'"}}' $QUERY_EXTRA) 49 echo $res | jq 50 51 res=$(fbchaincli tx wasm execute "$contractAddr" '{"bond":{}}' --amount=10okt --from captain $TX_EXTRA) 52 echo $res | jq 53 54 res=$(fbchaincli query wasm contract-state smart "$contractAddr" '{"staked":{"address":"'$captain'"}}' $QUERY_EXTRA) 55 echo $res | jq 56 57 res=$(fbchaincli query wasm contract-state smart "$contractAddr" '{"member":{"addr":"'$captain'"}}' $QUERY_EXTRA) 58 echo $res | jq 59 60 res=$(fbchaincli tx wasm execute "$contractAddr" '{"unbond":{"tokens":"10000000000000000000"}}' --from captain $TX_EXTRA) 61 echo $res | jq 62 63 res=$(fbchaincli tx wasm execute "$contractAddr" '{"claim":{}}' --from captain $TX_EXTRA) 64 echo $res | jq