Skip to content

fix(sui): fixes encoding of link coin params #4892

fix(sui): fixes encoding of link coin params

fix(sui): fixes encoding of link coin params #4892

Workflow file for this run

name: Test Evm
on: pull_request
jobs:
check-relevant-changes:
name: Check for Relevant Changes
runs-on: blacksmith-2vcpu-ubuntu-2204
outputs:
run_tests: ${{ steps.filter.outputs.evm == 'true' || steps.filter.outputs.common == 'true' || steps.filter.outputs.github == 'true' }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
evm:
- 'evm/**'
common:
- 'common/**'
github:
- '.github/workflows/test-evm.yaml'
- name: Summarize Changes
run: |
echo "Changes in evm: ${{ steps.filter.outputs.evm }}"
echo "Changes in common: ${{ steps.filter.outputs.common }}"
echo "Changes in github: ${{ steps.filter.outputs.github }}"
test-evm:
name: Test Evm
needs: check-relevant-changes
if: ${{ needs.check-relevant-changes.outputs.run_tests == 'true' }}
runs-on: blacksmith-2vcpu-ubuntu-2204
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Node.js
uses: useblacksmith/setup-node@v5
with:
node-version: 18.x
cache: 'npm'
- name: Add node_modules/.bin to PATH
run: echo "$(pwd)/node_modules/.bin" >> $GITHUB_PATH
- name: Install
run: npm ci
- name: Build
run: npm run build
- name: Spin up Hardhat Network
run: npx hardhat node &
- name: Prepare local.json
run: |
echo '{
"chains": {
"test": {
"name": "Test",
"id": "test",
"axelarId": "test",
"chainId": 31337,
"rpc": "http://127.0.0.1:8545",
"tokenSymbol": "TEST",
"chainType": "evm",
"contracts": {
"AxelarGasService": {
"collector": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
},
"InterchainGovernance": {
"minimumTimeDelay": 3600
},
"AxelarServiceGovernance": {
"minimumTimeDelay": 3600,
"multisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
},
"Multisig": {
"signers": [
"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
"0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC"
],
"threshold": 2
}
}
}
},
"axelar": {
"contracts": {
"InterchainTokenService": {
"address": "axelar157hl7gpuknjmhtac2qnphuazv2yerfagva7lsu9vuj2pgn32z22qa26dk4"
}
},
"axelarId": "axelar"
}
}' > ./axelar-chains-config/info/local.json
# Create .env file with default hardhat private key that's prefunded
- name: Prepare .env
run: |
echo 'PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80' >> .env
echo 'ENV=local' >> .env
echo 'CHAINS=test' >> .env
- name: Display local.json
run: cat ./axelar-chains-config/info/local.json
- name: Deploy ConstAddressDeployer
run: ts-node evm/deploy-contract.js -c ConstAddressDeployer -m create -y
- name: Deploy Create3Deployer
run: ts-node evm/deploy-contract.js -c Create3Deployer -m create2 -y
- name: Deploy AxelarAmplifierGateway
run: ts-node evm/deploy-amplifier-gateway.js --deployMethod create3 -s "AxelarAmplifierGateway v5.8" --owner 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --keyID 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --domainSeparator 0x361b9fa2ae14de79d4b32164841b42ebc840b9d3ddb98cba1a45dc79a13214fc -y
- name: Deploy AxelarGateway
run: ts-node evm/deploy-gateway-v6.2.x.js --deployMethod create3 -s "AxelarGateway v6.2" --governance 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --mintLimiter 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --keyID 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 -y
- name: Call Method on Gateway
run: ts-node evm/gateway.js --action callContract --destinationChain test2 -y
- name: Deploy InterchainGovernance using create
run: ts-node evm/deploy-contract.js -c InterchainGovernance -m create -y
- name: Deploy InterchainGovernance using create2
run: ts-node evm/deploy-contract.js -c InterchainGovernance -m create2 -y
- name: Deploy InterchainGovernance using create3
run: ts-node evm/deploy-contract.js -c InterchainGovernance -m create3 -y
- name: Transfer gateway governance
run: ts-node evm/gateway.js --action transferGovernance -y
- name: Generate governance upgrade proposal
run: ts-node evm/governance.js --targetContractName AxelarGateway --action upgrade --proposalAction schedule --date 2100-01-01T12:00:00
- name: Deploy AxelarServiceGovernance using create3
run: ts-node evm/deploy-contract.js -c AxelarServiceGovernance -m create3 -y
- name: Deploy Multisig using create3
run: ts-node evm/deploy-contract.js -c Multisig -m create3 -y
- name: Deploy Operators using create3
run: ts-node evm/deploy-contract.js -c Operators -m create3 -y
- name: Deploy AxelarGasService using create2
run: ts-node evm/deploy-upgradable.js -c AxelarGasService -m create2 -y
- name: Deploy ITS using create2
run: ts-node evm/deploy-its.js -s "v1.0.0" -m create2 -y
- name: Deploy new ITS implementation
run: ts-node evm/deploy-its.js -s "v1.1.0" -m create2 --reuseProxy -y
- name: Upgrade ITS using create2
run: ts-node evm/deploy-its.js -m create2 -u -y
- name: InterchainTokenService set trusted chain
run: ts-node evm/its.js set-trusted-chains remote -y
- name: InterchainTokenService is trusted chain
run: ts-node evm/its.js is-trusted-chain remote -y
- name: InterchainTokenFactory deploy interchain token on current chain
run: ts-node evm/interchainTokenFactory.js --action deployInterchainToken --name "test" --symbol "TST" --decimals 18 --minter 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --salt "salt" -y
- name: InterchainTokenFactory deploy interchain token to destination chain
run: ts-node evm/interchainTokenFactory.js --action deployRemoteInterchainToken --destinationChain remote --salt "salt" -y
# Note that tokenAddress is hardcoded since it's derivation must always be the same
- name: InterchainTokenService register token metadata
run: ts-node evm/its.js register-token-metadata 0x49c06259B42540a025A73a32eF2Fd183c0FDB1D2 -y
- name: InterchainTokenFactory register custom token
run: ts-node evm/interchainTokenFactory.js --action registerCustomToken --tokenAddress 0x49c06259B42540a025A73a32eF2Fd183c0FDB1D2 --tokenManagerType 4 --operator 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --salt "salt" -y
- name: Transfer mintership of token to token manager
run: ts-node evm/its.js transfer-mintership 0x49c06259B42540a025A73a32eF2Fd183c0FDB1D2 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 -y
- name: InterchainTokenFactory link token
run: ts-node evm/interchainTokenFactory.js --action linkToken --destinationChain remote --destinationTokenAddress "0x1234" --tokenManagerType 4 --linkParams "0x5678" --salt "salt" -y
# Note that tokenId is hardcoded since it's derivation must always be the same
- name: InterchainTokenService interchain transfer to destination chain
run: ts-node evm/its.js interchain-transfer remote 0x88a9d17b8f4e6e4aaceb3c8f53d54eedb144276f1dd2b9f2d17de784aa090be7 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 1 0 -y
# Note that tokenId is hardcoded since it's derivation must always be the same
- name: InterchainTokenService set flow limit
run: ts-node evm/its.js set-flow-limits 0x88a9d17b8f4e6e4aaceb3c8f53d54eedb144276f1dd2b9f2d17de784aa090be7 123 -y
# Note that tokenId is hardcoded since it's derivation must always be the same
- name: InterchainTokenService get flow limit
run: ts-node evm/its.js flow-limit 0x88a9d17b8f4e6e4aaceb3c8f53d54eedb144276f1dd2b9f2d17de784aa090be7 -y
- name: Add gasOptions to local.json
run: |
jq '.chains.test += {"gasOptions": {"gasLimit": 8000000}} | .chains.test.contracts.AxelarGateway += {"gasOptions": {"gasLimit": 8000000}}' ./axelar-chains-config/info/local.json > temp.json && mv temp.json ./axelar-chains-config/info/local.json
- name: Redeploy AxelarGateway with gasOptions
run: ts-node evm/deploy-gateway-v6.2.x.js -m create3 -s "AxelarGateway v6.2" --governance 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --mintLimiter 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --keyID 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 -y
- name: Redeploy ITS with gasOptions in Chain Config
run: ts-node evm/deploy-its.js -s "v1.0.0" -m create2 -y
- name: Redeploy ITS with gasOptions override via CLI
run: |
ts-node evm/deploy-its.js -s "v1.0.0" -m create2 -y --gasOptions \
'{"gasLimit": 9000000,"gasPriceAdjustment": 1.1}'
- name: InterchainTokenService remove trusted chain
run: node evm/its.js remove-trusted-chains all -y