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