From 48c7e44798e4975c440c3533b81c3b2a6f2013fc Mon Sep 17 00:00:00 2001 From: ledanghuy1811 Date: Thu, 27 Feb 2025 14:36:52 +0700 Subject: [PATCH 1/4] feat: update deps evm module --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 540c25ec8..295a3cc85 100644 --- a/go.mod +++ b/go.mod @@ -299,7 +299,7 @@ replace ( github.com/ethereum/go-ethereum => github.com/oraichain/go-ethereum v0.0.0-20240919025041-184f816b9d65 - github.com/evmos/ethermint => github.com/oraichain/ethermint-cosmos-0.50 v0.0.0-20241112074159-1d969f3946ea + github.com/evmos/ethermint => github.com/oraichain/ethermint-cosmos-0.50 v0.0.0-20250227073221-242283aa6f1b // Fix upstream GHSA-h395-qcrw-5vmq vulnerability. // See: https://github.com/cosmos/cosmos-sdk/issues/10409 github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.8.1 diff --git a/go.sum b/go.sum index 88b9639e3..9472acaa2 100644 --- a/go.sum +++ b/go.sum @@ -953,8 +953,8 @@ github.com/oraichain/cometbft v0.38.6-0.20250207043129-6ccdb4a201d3 h1:Rj7XV6xqH github.com/oraichain/cometbft v0.38.6-0.20250207043129-6ccdb4a201d3/go.mod h1:5l0SkgeLRXi6bBfQuevXjKqML1jjfJJlvI1Ulp02/o4= github.com/oraichain/cosmos-sdk v0.50.5-0.20241115211416-da07f8fc9695 h1:S4IswHlEqqKRNx1nJorAbm3KoELAQqVcOqrOKgidfyQ= github.com/oraichain/cosmos-sdk v0.50.5-0.20241115211416-da07f8fc9695/go.mod h1:6Eesrx3ZE7vxBZWpK++30H+Uc7Q4ahQWCL7JKU/LEdU= -github.com/oraichain/ethermint-cosmos-0.50 v0.0.0-20241112074159-1d969f3946ea h1:KmcratbKNYsEpFDCMUlQ1jHWan/0tooTSKBKZczSJDM= -github.com/oraichain/ethermint-cosmos-0.50 v0.0.0-20241112074159-1d969f3946ea/go.mod h1:Qo/mdpsOXOcwIe/QfF//cnJDliBnZMDeNOSfPxgyX3I= +github.com/oraichain/ethermint-cosmos-0.50 v0.0.0-20250227073221-242283aa6f1b h1:L23vy1XYxR0/P8GUou7CDSEIj5Ka9YSVnlWU7THtfiY= +github.com/oraichain/ethermint-cosmos-0.50 v0.0.0-20250227073221-242283aa6f1b/go.mod h1:Qo/mdpsOXOcwIe/QfF//cnJDliBnZMDeNOSfPxgyX3I= github.com/oraichain/go-ethereum v0.0.0-20240919025041-184f816b9d65 h1:oumbt8qiUC1AAt9MgHHnn/deseV5oYdg3T/PoYqsGeM= github.com/oraichain/go-ethereum v0.0.0-20240919025041-184f816b9d65/go.mod h1:/6CsT5Ceen2WPLI/oCA3xMcZ5sWMF/D46SjM/ayY0Oo= github.com/oraichain/ibc-go-fork/modules/capability v0.0.0-20241202080239-8bdb6f914705 h1:K/PQ2Ca4UrrT3+zzwa9Ifjf+Q6Hkteh34pfqF1sTLJM= From 6b3c6e984f13d5ce0dfba06122e4b4476c0e1c58 Mon Sep 17 00:00:00 2001 From: ledanghuy1811 Date: Thu, 27 Feb 2025 15:09:56 +0700 Subject: [PATCH 2/4] feat: tmp add test --- scripts/e2e-upgrade.sh | 60 +++++++++++++------------- scripts/json/clock-proposal.json | 2 +- scripts/json/proposal.json | 2 +- scripts/multinode-local-testnet.sh | 26 ++++++++--- scripts/test_clock_counter_contract.sh | 6 +-- 5 files changed, 55 insertions(+), 41 deletions(-) diff --git a/scripts/e2e-upgrade.sh b/scripts/e2e-upgrade.sh index a504929fd..eec5c68d7 100755 --- a/scripts/e2e-upgrade.sh +++ b/scripts/e2e-upgrade.sh @@ -4,10 +4,10 @@ set -eu # setup the network using the old binary -OLD_VERSION=${OLD_VERSION:-"v0.50.4"} +OLD_VERSION=${OLD_VERSION:-"v0.50.5"} WASM_PATH=${WASM_PATH:-"$PWD/scripts/wasm_file/oraiswap-token.wasm"} ARGS="--chain-id testing -y --keyring-backend test --gas auto --gas-adjustment 1.5" -NEW_VERSION=${NEW_VERSION:-"v0.50.5"} +NEW_VERSION=${NEW_VERSION:-"v0.50.6"} VALIDATOR_HOME=${VALIDATOR_HOME:-"$HOME/.oraid/validator1"} MIGRATE_MSG=${MIGRATE_MSG:-'{}'} EXECUTE_MSG=${EXECUTE_MSG:-'{"ping":{}}'} @@ -36,6 +36,8 @@ cd $current_dir # setup local network sh $PWD/scripts/multinode-local-testnet.sh +sleep 5 + # create new upgrade proposal UPGRADE_HEIGHT=${UPGRADE_HEIGHT:-35} @@ -119,39 +121,39 @@ if ! [[ $evm_denom =~ "aorai" ]]; then exit 1 fi -sh $PWD/scripts/test_clock_counter_contract.sh -# v0.42.1 tests +# sh $PWD/scripts/test_clock_counter_contract.sh +# # v0.42.1 tests # USER=validator1 USER2=validator2 WASM_PATH="$PWD/scripts/wasm_file/counter_high_gas_cost.wasm" sh $PWD/scripts/tests-0.42.1/test-gasless.sh -NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-tokenfactory.sh -NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-tokenfactory-bindings.sh -NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-evm-cosmos-mapping.sh -NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-evm-cosmos-mapping-complex.sh +# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-tokenfactory.sh +# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-tokenfactory-bindings.sh +# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-evm-cosmos-mapping.sh +# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-evm-cosmos-mapping-complex.sh -# v0.42.2 tests -NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.2/test-multi-sig.sh +# # v0.42.2 tests +# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.2/test-multi-sig.sh -# v0.42.3 tests -NODE_HOME=$VALIDATOR_HOME sh $PWD/scripts/tests-0.42.3/test-commit-timeout.sh +# # v0.42.3 tests +# NODE_HOME=$VALIDATOR_HOME sh $PWD/scripts/tests-0.42.3/test-commit-timeout.sh -# v0.42.4 tests -NODE_HOME=$VALIDATOR_HOME sh $PWD/scripts/tests-0.42.4/test-cw-stargate-staking-query.sh -NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.4/test-cw20-erc20.sh -NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.4/test-globalfee.sh +# # v0.42.4 tests +# NODE_HOME=$VALIDATOR_HOME sh $PWD/scripts/tests-0.42.4/test-cw-stargate-staking-query.sh +# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.4/test-cw20-erc20.sh +# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.4/test-globalfee.sh -# v0.50.1 tests -bash $PWD/scripts/tests-0.50.1/test-mint-params.sh -bash $PWD/scripts/tests-0.50.1/test-gov-params.sh +# # v0.50.1 tests +# bash $PWD/scripts/tests-0.50.1/test-mint-params.sh +# bash $PWD/scripts/tests-0.50.1/test-gov-params.sh -# v0.50.2 tests -NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.50.2/test-set-metadata-tokenfactory.sh -NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.50.2/test-param-change-proposal-tokenfactory.sh +# # v0.50.2 tests +# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.50.2/test-set-metadata-tokenfactory.sh +# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.50.2/test-param-change-proposal-tokenfactory.sh -# v0.50.3 tests -NODE_HOME=$VALIDATOR_HOME USER=validator1 FUND=1000orai sh $PWD/scripts/tests-0.50.3/test-tokenfactory-metadata-binding.sh -USER=validator1 USER2=validator2 sh $PWD/scripts/tests-0.50.3/test-gasless.sh +# # v0.50.3 tests +# NODE_HOME=$VALIDATOR_HOME USER=validator1 FUND=1000orai sh $PWD/scripts/tests-0.50.3/test-tokenfactory-metadata-binding.sh +# USER=validator1 USER2=validator2 sh $PWD/scripts/tests-0.50.3/test-gasless.sh -# v0.50.4 tests -NODE_HOME=$VALIDATOR_HOME USER=validator1 FUND=1000orai sh $PWD/scripts/tests-0.50.4/test-tokenfactory-force-transfer.sh +# # v0.50.4 tests +# NODE_HOME=$VALIDATOR_HOME USER=validator1 FUND=1000orai sh $PWD/scripts/tests-0.50.4/test-tokenfactory-force-transfer.sh -echo "Tests Passed!!" -bash scripts/clean-multinode-local-testnet.sh +# echo "Tests Passed!!" +# bash scripts/clean-multinode-local-testnet.sh diff --git a/scripts/json/clock-proposal.json b/scripts/json/clock-proposal.json index b4666ed5d..885fe9e10 100644 --- a/scripts/json/clock-proposal.json +++ b/scripts/json/clock-proposal.json @@ -5,7 +5,7 @@ "authority": "orai10d07y265gmmuvt4z0w9aw880jnsr700jf39xhq", "params": { "contract_addresses": [ - "orai14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9savsjyw" + "" ], "contract_gas_limit": "10000000" } diff --git a/scripts/json/proposal.json b/scripts/json/proposal.json index c8bac164d..1a080b507 100644 --- a/scripts/json/proposal.json +++ b/scripts/json/proposal.json @@ -4,7 +4,7 @@ "@type": "/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade", "authority": "orai10d07y265gmmuvt4z0w9aw880jnsr700jf39xhq", "plan": { - "name": "v0.50.5", + "name": "v0.50.6", "time": "0001-01-01T00:00:00Z", "height": "35", "info": "upgrade info", diff --git a/scripts/multinode-local-testnet.sh b/scripts/multinode-local-testnet.sh index 8d52683bd..8145e21f2 100755 --- a/scripts/multinode-local-testnet.sh +++ b/scripts/multinode-local-testnet.sh @@ -31,8 +31,8 @@ oraid keys add validator1 $ARGS --home $VALIDATOR1_HOME >$HIDE_LOGS oraid keys add validator2 $ARGS --home $VALIDATOR2_HOME >$HIDE_LOGS oraid keys add validator3 $ARGS --home $VALIDATOR3_HOME >$HIDE_LOGS -update_genesis () { - cat $VALIDATOR1_HOME/config/genesis.json | jq "$1" > $VALIDATOR1_HOME/config/tmp_genesis.json && mv $VALIDATOR1_HOME/config/tmp_genesis.json $VALIDATOR1_HOME/config/genesis.json +update_genesis() { + cat $VALIDATOR1_HOME/config/genesis.json | jq "$1" >$VALIDATOR1_HOME/config/tmp_genesis.json && mv $VALIDATOR1_HOME/config/tmp_genesis.json $VALIDATOR1_HOME/config/genesis.json } # change staking denom to orai @@ -173,7 +173,7 @@ sleep 1 oraid tx bank send $VALIDATOR1_ADDRESS $VALIDATOR3_ADDRESS 5000000000orai --home $VALIDATOR1_HOME $TX_SEND_ARGS >$HIDE_LOGS # send test orai to a test account sleep 1 -oraid tx bank send $VALIDATOR1_ADDRESS orai1kzkf6gttxqar9yrkxfe34ye4vg5v4m588ew7c9 5000000000orai --home $VALIDATOR1_HOME $TX_SEND_ARGS > $HIDE_LOGS +oraid tx bank send $VALIDATOR1_ADDRESS orai1kzkf6gttxqar9yrkxfe34ye4vg5v4m588ew7c9 5000000000orai --home $VALIDATOR1_HOME $TX_SEND_ARGS >$HIDE_LOGS echo "Waiting 1 second to create two new validators..." sleep 1 @@ -181,10 +181,10 @@ sleep 1 validator='{"pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"xj740yWkYQbJCNkof2m7hQWpyaO6eFQ8qvGmYrtsqjQ="},"amount":"500000000orai","moniker":"validator3","identity":"","website":"","security":"","details":"","commission-rate":"0.1","commission-max-rate":"0.2","commission-max-change-rate":"0.05","min-self-delegation":"500000000"}' validator_info_temp_path=$PWD/scripts/json/validator.json -echo $validator > $validator_info_temp_path +echo $validator >$validator_info_temp_path -update_validator () { - cat $validator_info_temp_path | jq "$1" > $PWD/scripts/json/temp_validator.json && mv $PWD/scripts/json/temp_validator.json $validator_info_temp_path +update_validator() { + cat $validator_info_temp_path | jq "$1" >$PWD/scripts/json/temp_validator.json && mv $PWD/scripts/json/temp_validator.json $validator_info_temp_path } VALIDATOR2_PUBKEY=$(oraid tendermint show-validator --home $VALIDATOR2_HOME | jq -r '.key') @@ -200,7 +200,19 @@ oraid tx staking create-validator $PWD/scripts/json/validator.json --from valida update_validator ".pubkey[\"key\"]=\"$VALIDATOR3_PUBKEY\"" update_validator '.moniker="validator3"' update_validator '.amount="500000000orai"' -oraid tx staking create-validator $PWD/scripts/json/validator.json --from validator3 --home $VALIDATOR3_HOME $TX_SEND_ARGS > $HIDE_LOGS +oraid tx staking create-validator $PWD/scripts/json/validator.json --from validator3 --home $VALIDATOR3_HOME $TX_SEND_ARGS >$HIDE_LOGS + +pkill oraid + +# disable max-txs evm mempool +sed -i -e "s%^max-txs *=.*%max-txs = 0%; " $VALIDATOR1_APP_TOML +sed -i -e "s%^max-txs *=.*%max-txs = 0%; " $VALIDATOR2_APP_TOML +sed -i -e "s%^max-txs *=.*%max-txs = 0%; " $VALIDATOR3_APP_TOML + +# start all three validators +screen -S validator1 -d -m oraid start --home $VALIDATOR1_HOME +screen -S validator2 -d -m oraid start --home $VALIDATOR2_HOME +screen -S validator3 -d -m oraid start --home $VALIDATOR3_HOME echo "All 3 Validators are up and running!" # cleanup validator.json diff --git a/scripts/test_clock_counter_contract.sh b/scripts/test_clock_counter_contract.sh index 939d98997..c6b29680c 100755 --- a/scripts/test_clock_counter_contract.sh +++ b/scripts/test_clock_counter_contract.sh @@ -3,7 +3,7 @@ # sh $PWD/scripts/multinode-local-testnet.sh # cw-clock-example.wasm source code: https://github.com/oraichain/cw-plus.git -set -eu +set -ux WASM_PATH=${WASM_PATH:-"$PWD/scripts/wasm_file/cw-clock-example.wasm"} ARGS="--chain-id testing -y --keyring-backend test --gas auto --gas-adjustment 1.5 -b sync" @@ -21,7 +21,7 @@ CLOCK_PROPOSAL_FILE=${CLOCK_PROPOSAL_FILE:-"$PWD/scripts/json/clock-proposal.jso store_ret=$(oraid tx wasm store $WASM_PATH $VALIDATOR1_ARGS $ARGS --output json) store_txhash=$(echo $store_ret | jq -r '.txhash') # need to sleep 1s for tx already in block -sleep 2 +sleep 5 # need to use temp.json since there's a weird error: jq: parse error: Invalid string: control characters from U+0000 through U+001F must be escaped at line 1, column 72291 # probably because of weird characters from the raw code bytes oraid query tx $store_txhash --output json > temp.json @@ -29,7 +29,7 @@ code_id=$(cat temp.json | jq -r '.events[4].attributes[] | select(.key | contain rm temp.json oraid tx wasm instantiate $code_id '{}' --label 'cw clock contract' $VALIDATOR1_ARGS --admin $(oraid keys show validator1 --keyring-backend test --home $HOME/.oraid/validator1 -a) $ARGS > $HIDE_LOGS # need to sleep 1s for tx already in block -sleep 2 +sleep 5 contract_address=$(oraid query wasm list-contract-by-code $code_id --output json | jq -r '.contracts | last') echo "cw-clock contract address: $contract_address, $CONTRACT_GAS_LIMIT, $TITLE, $INITIAL_DEPOSIT, $DESCRIPTION" From a9b187be05dac72f679af347f25515a445b3f805 Mon Sep 17 00:00:00 2001 From: ledanghuy1811 Date: Thu, 27 Feb 2025 16:16:35 +0700 Subject: [PATCH 3/4] feat: update e2e test --- scripts/e2e-upgrade.sh | 72 +++++++++++++++--------------- scripts/json/clock-proposal.json | 2 +- scripts/multinode-local-testnet.sh | 1 - 3 files changed, 37 insertions(+), 38 deletions(-) diff --git a/scripts/e2e-upgrade.sh b/scripts/e2e-upgrade.sh index eec5c68d7..3c64fa325 100755 --- a/scripts/e2e-upgrade.sh +++ b/scripts/e2e-upgrade.sh @@ -121,39 +121,39 @@ if ! [[ $evm_denom =~ "aorai" ]]; then exit 1 fi -# sh $PWD/scripts/test_clock_counter_contract.sh -# # v0.42.1 tests -# USER=validator1 USER2=validator2 WASM_PATH="$PWD/scripts/wasm_file/counter_high_gas_cost.wasm" sh $PWD/scripts/tests-0.42.1/test-gasless.sh -# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-tokenfactory.sh -# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-tokenfactory-bindings.sh -# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-evm-cosmos-mapping.sh -# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-evm-cosmos-mapping-complex.sh - -# # v0.42.2 tests -# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.2/test-multi-sig.sh - -# # v0.42.3 tests -# NODE_HOME=$VALIDATOR_HOME sh $PWD/scripts/tests-0.42.3/test-commit-timeout.sh - -# # v0.42.4 tests -# NODE_HOME=$VALIDATOR_HOME sh $PWD/scripts/tests-0.42.4/test-cw-stargate-staking-query.sh -# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.4/test-cw20-erc20.sh -# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.4/test-globalfee.sh - -# # v0.50.1 tests -# bash $PWD/scripts/tests-0.50.1/test-mint-params.sh -# bash $PWD/scripts/tests-0.50.1/test-gov-params.sh - -# # v0.50.2 tests -# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.50.2/test-set-metadata-tokenfactory.sh -# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.50.2/test-param-change-proposal-tokenfactory.sh - -# # v0.50.3 tests -# NODE_HOME=$VALIDATOR_HOME USER=validator1 FUND=1000orai sh $PWD/scripts/tests-0.50.3/test-tokenfactory-metadata-binding.sh -# USER=validator1 USER2=validator2 sh $PWD/scripts/tests-0.50.3/test-gasless.sh - -# # v0.50.4 tests -# NODE_HOME=$VALIDATOR_HOME USER=validator1 FUND=1000orai sh $PWD/scripts/tests-0.50.4/test-tokenfactory-force-transfer.sh - -# echo "Tests Passed!!" -# bash scripts/clean-multinode-local-testnet.sh +sh $PWD/scripts/test_clock_counter_contract.sh +# v0.42.1 tests +USER=validator1 USER2=validator2 WASM_PATH="$PWD/scripts/wasm_file/counter_high_gas_cost.wasm" sh $PWD/scripts/tests-0.42.1/test-gasless.sh +NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-tokenfactory.sh +NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-tokenfactory-bindings.sh +NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-evm-cosmos-mapping.sh +NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.1/test-evm-cosmos-mapping-complex.sh + +# v0.42.2 tests +NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.2/test-multi-sig.sh + +# v0.42.3 tests +NODE_HOME=$VALIDATOR_HOME sh $PWD/scripts/tests-0.42.3/test-commit-timeout.sh + +# v0.42.4 tests +NODE_HOME=$VALIDATOR_HOME sh $PWD/scripts/tests-0.42.4/test-cw-stargate-staking-query.sh +NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.4/test-cw20-erc20.sh +NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.4/test-globalfee.sh + +# v0.50.1 tests +bash $PWD/scripts/tests-0.50.1/test-mint-params.sh +bash $PWD/scripts/tests-0.50.1/test-gov-params.sh + +# v0.50.2 tests +NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.50.2/test-set-metadata-tokenfactory.sh +NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.50.2/test-param-change-proposal-tokenfactory.sh + +# v0.50.3 tests +NODE_HOME=$VALIDATOR_HOME USER=validator1 FUND=1000orai sh $PWD/scripts/tests-0.50.3/test-tokenfactory-metadata-binding.sh +USER=validator1 USER2=validator2 sh $PWD/scripts/tests-0.50.3/test-gasless.sh + +# v0.50.4 tests +NODE_HOME=$VALIDATOR_HOME USER=validator1 FUND=1000orai sh $PWD/scripts/tests-0.50.4/test-tokenfactory-force-transfer.sh + +echo "Tests Passed!!" +bash scripts/clean-multinode-local-testnet.sh diff --git a/scripts/json/clock-proposal.json b/scripts/json/clock-proposal.json index 885fe9e10..b4666ed5d 100644 --- a/scripts/json/clock-proposal.json +++ b/scripts/json/clock-proposal.json @@ -5,7 +5,7 @@ "authority": "orai10d07y265gmmuvt4z0w9aw880jnsr700jf39xhq", "params": { "contract_addresses": [ - "" + "orai14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9savsjyw" ], "contract_gas_limit": "10000000" } diff --git a/scripts/multinode-local-testnet.sh b/scripts/multinode-local-testnet.sh index 8145e21f2..3ef307f19 100755 --- a/scripts/multinode-local-testnet.sh +++ b/scripts/multinode-local-testnet.sh @@ -205,7 +205,6 @@ oraid tx staking create-validator $PWD/scripts/json/validator.json --from valida pkill oraid # disable max-txs evm mempool -sed -i -e "s%^max-txs *=.*%max-txs = 0%; " $VALIDATOR1_APP_TOML sed -i -e "s%^max-txs *=.*%max-txs = 0%; " $VALIDATOR2_APP_TOML sed -i -e "s%^max-txs *=.*%max-txs = 0%; " $VALIDATOR3_APP_TOML From 11f2f4b8846370efcd3423412de07e03c18677df Mon Sep 17 00:00:00 2001 From: ledanghuy1811 Date: Thu, 27 Feb 2025 16:45:54 +0700 Subject: [PATCH 4/4] feat: add v0.50.6 tests case and update e2e-upgrade test --- scripts/e2e-upgrade.sh | 5 +- .../test-cw20-erc30-not-mint-aorai.sh | 94 +++++++++++++++++++ 2 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 scripts/tests-0.50.6/test-cw20-erc30-not-mint-aorai.sh diff --git a/scripts/e2e-upgrade.sh b/scripts/e2e-upgrade.sh index 3c64fa325..9b38f0aeb 100755 --- a/scripts/e2e-upgrade.sh +++ b/scripts/e2e-upgrade.sh @@ -137,7 +137,7 @@ NODE_HOME=$VALIDATOR_HOME sh $PWD/scripts/tests-0.42.3/test-commit-timeout.sh # v0.42.4 tests NODE_HOME=$VALIDATOR_HOME sh $PWD/scripts/tests-0.42.4/test-cw-stargate-staking-query.sh -NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.4/test-cw20-erc20.sh +# NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.4/test-cw20-erc20.sh NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.42.4/test-globalfee.sh # v0.50.1 tests @@ -155,5 +155,8 @@ USER=validator1 USER2=validator2 sh $PWD/scripts/tests-0.50.3/test-gasless.sh # v0.50.4 tests NODE_HOME=$VALIDATOR_HOME USER=validator1 FUND=1000orai sh $PWD/scripts/tests-0.50.4/test-tokenfactory-force-transfer.sh +# v0.50.6 tests +NODE_HOME=$VALIDATOR_HOME USER=validator1 sh $PWD/scripts/tests-0.50.6/test-cw20-erc30-not-mint-aorai.sh + echo "Tests Passed!!" bash scripts/clean-multinode-local-testnet.sh diff --git a/scripts/tests-0.50.6/test-cw20-erc30-not-mint-aorai.sh b/scripts/tests-0.50.6/test-cw20-erc30-not-mint-aorai.sh new file mode 100644 index 000000000..57a6a4002 --- /dev/null +++ b/scripts/tests-0.50.6/test-cw20-erc30-not-mint-aorai.sh @@ -0,0 +1,94 @@ +#!/bin/bash +# Before running this script, you must setup local network: +# sh $PWD/scripts/multinode-local-testnet.sh +# oraiswap-token.wasm source code: https://github.com/oraichain/oraiswap.git + +set -eu + +# hard-coded test private key. DO NOT USE!! +PRIVATE_KEY_ETH=${PRIVATE_KEY_ETH:-"021646C7F742C743E60CC460C56242738A3951667E71C803929CB84B6FA4B0D6"} +PRIVATE_KEY_EVM_ADDRESS=${PRIVATE_KEY_EVM_ADDRESS:-"0xB0ac9d216b303a32907632731a93356228CAEE87"} +current_dir=$PWD +WASM_PATH=${WASM_PATH:-"$PWD/scripts/wasm_file/oraiswap-token.wasm"} +ARGS="--chain-id testing -y --keyring-backend test --gas auto --gas-adjustment 1.5 -b sync" +VALIDATOR1_ARGS=${VALIDATOR1_ARGS:-"--from validator1 --home $HOME/.oraid/validator1"} + +HIDE_LOGS="/dev/null" + +store_ret=$(oraid tx wasm store $WASM_PATH $VALIDATOR1_ARGS $ARGS --output json) +store_txhash=$(echo $store_ret | jq -r '.txhash') +# need to sleep 1s for tx already in block +sleep 2 +code_id=$(oraid query tx $store_txhash --output json | jq -r '.events[4].attributes[] | select(.key | contains("code_id")).value') + +# 2 addresses that map with the hard-coded private key above +INSTANTIATE_MSG='{"name":"OraichainToken","symbol":"ORAI","decimals":6,"initial_balances":[{"amount":"1000000000","address":"orai1kzkf6gttxqar9yrkxfe34ye4vg5v4m588ew7c9"},{"amount":"1000000000","address":"orai1hgscrqcd2kmju4t5akujeugwrfev7uxv66lnuu"}]}' +oraid tx wasm instantiate $code_id $INSTANTIATE_MSG --label 'cw20 ORAI' $VALIDATOR1_ARGS --admin $(oraid keys show validator1 --keyring-backend test --home $HOME/.oraid/validator1 -a) $ARGS >$HIDE_LOGS +# need to sleep 1s for tx already in block +sleep 2 +contract_address=$(oraid query wasm list-contract-by-code $code_id --output json | jq -r '.contracts | last') +echo "cw-stargate-staking-query contract address: $contract_address" + +# clone or pull latest repo +if [ -d "$PWD/../evm-bridge-proxy" ]; then + cd ../evm-bridge-proxy + git pull origin master +else + git clone https://github.com/oraichain/evm-bridge-proxy.git ../evm-bridge-proxy + cd ../evm-bridge-proxy +fi + +# prepare env and chain +yarn && yarn compile +echo "PRIVATE_KEY=$PRIVATE_KEY_ETH" >.env + +# before deploying erc20, we need to fund the private key's address first +oraid tx bank send $USER orai1kzkf6gttxqar9yrkxfe34ye4vg5v4m588ew7c9 100000orai $VALIDATOR1_ARGS $ARGS >$HIDE_LOGS +sleep 2 # wait for tx + +# deploy cw20erc20 contract +output=$(CW20_ADDRESS=$contract_address yarn hardhat run scripts/cw20erc20-deploy.ts --network testing) +# collect only the contract address part +contract_addr=$(echo "$output" | grep -oE '0x[0-9a-fA-F]+') +echo "ERC20 contract addr: $contract_addr" + +# validate +contract_addr_len=${#contract_addr} +if [ $contract_addr_len -ne 42 ]; then + echo "Couldn't deploy ERC20 contract. CW20-ERC20 Not Mint Aorai Test Failed" +fi + +# try querying balance of owner -> get balance of from cosmwasm contract +output=$(ERC20_ADDRESS=$contract_addr yarn hardhat run scripts/cw20erc20-query-balance-of.ts --network testing) +balance_of=$(echo "$output" | awk '/^[0-9]+$/ { print $1 }') +if ! [ $balance_of == "1000000000" ]; then + echo "Could not query balance of CW20ERC20 address. CW20-ERC20 Not Mint Aorai Test Failed" + exit 1 +fi + +aorai_balance=$(oraid query bank balance orai1kzkf6gttxqar9yrkxfe34ye4vg5v4m588ew7c9 aorai --output json | jq '.balance.amount') +if [ $aorai_balance >0]; then + echo "Aorai Minted. CW20-ERC20 Not Mint Aorai Test Failed" + exit 1 +fi + +# try querying decimals -> get decimals from cosmwasm contract +orai_balance_before_transfer=$(oraid query bank balance orai1kzkf6gttxqar9yrkxfe34ye4vg5v4m588ew7c9 orai --output json | jq '.balance.amount') +ERC20_ADDRESS=$contract_addr yarn hardhat run scripts/cw20erc20-transfer.ts --network testing +orai_balance_after_transfer=$(oraid query bank balance orai1kzkf6gttxqar9yrkxfe34ye4vg5v4m588ew7c9 orai --output json | jq '.balance.amount') + +# try querying balance of owner after transfer -> should drop +output=$(ERC20_ADDRESS=$contract_addr yarn hardhat run scripts/cw20erc20-query-balance-of.ts --network testing) +balance_of=$(echo "$output" | awk '/^[0-9]+$/ { print $1 }') +if [ $balance_of == "1000000000" ]; then + echo "Could not transfer CW20 token from ERC20 contract. CW20-ERC20 Test Failed" + exit 1 +fi + +if [ $orai_balance_before_transfer == $orai_balance_after_transfer ]; then + echo "Could not transfer native ORAI token from ERC20 contract. CW20-ERC20 Test Failed" + exit 1 +fi + +echo "CW20-ERC20 Test Passed" +cd $current_dir