feat(cosmwasm): support for deploying the axelarnet-gateway contract #1340
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: pull_request | |
jobs: | |
test: | |
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: Install | |
run: npm ci | |
- 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", | |
"contracts": { | |
"AxelarGasService": { | |
"collector": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" | |
}, | |
"InterchainGovernance": { | |
"minimumTimeDelay": 3600 | |
}, | |
"AxelarServiceGovernance": { | |
"minimumTimeDelay": 3600, | |
"multisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" | |
}, | |
"Multisig": { | |
"signers": [ | |
"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", | |
"0x70997970C51812dc3A010C7d01b50e0d17dc79C8", | |
"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC" | |
], | |
"threshold": 2 | |
} | |
} | |
} | |
} | |
}' > ./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: node evm/deploy-contract.js -c ConstAddressDeployer -m create -y | |
- name: Deploy Create3Deployer | |
run: node evm/deploy-contract.js -c Create3Deployer -m create2 -y | |
- name: Deploy AxelarAmplifierGateway | |
run: node evm/deploy-amplifier-gateway.js --deployMethod create3 -s "AxelarAmplifierGateway v5.8" --owner 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --keyID 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --domainSeparator 0x361b9fa2ae14de79d4b32164841b42ebc840b9d3ddb98cba1a45dc79a13214fc -y | |
- name: Deploy AxelarGateway | |
run: 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: node evm/gateway.js --action callContract --destinationChain test2 -y | |
- name: Deploy InterchainGovernance using create | |
run: node evm/deploy-contract.js -c InterchainGovernance -m create -y | |
- name: Deploy InterchainGovernance using create2 | |
run: node evm/deploy-contract.js -c InterchainGovernance -m create2 -y | |
- name: Deploy InterchainGovernance using create3 | |
run: node evm/deploy-contract.js -c InterchainGovernance -m create3 -y | |
- name: Transfer gateway governance | |
run: node evm/gateway.js --action transferGovernance -y | |
- name: Generate governance upgrade proposal | |
run: node evm/governance.js --targetContractName AxelarGateway --action upgrade --proposalAction schedule --date 2100-01-01T12:00:00 | |
- name: Deploy AxelarServiceGovernance using create3 | |
run: node evm/deploy-contract.js -c AxelarServiceGovernance -m create3 -y | |
- name: Deploy Multisig using create3 | |
run: node evm/deploy-contract.js -c Multisig -m create3 -y | |
- name: Deploy Operators using create3 | |
run: node evm/deploy-contract.js -c Operators -m create3 -y | |
- name: Deploy AxelarGasService using create2 | |
run: node evm/deploy-upgradable.js -c AxelarGasService -m create2 -y | |
- name: Deploy ITS using create2 | |
run: node evm/deploy-its.js -s "v1.0.0" -m create2 -y | |
- name: Deploy new ITS implementation | |
run: node evm/deploy-its.js -s "v1.1.0" -m create2 --reuseProxy -y | |
- name: Upgrade ITS using create2 | |
run: node evm/deploy-its.js -m create2 -u -y | |
- name: InterchainTokenFactory deploy interchain token on current chain | |
run: node evm/interchainTokenFactory.js --action deployInterchainToken --name "test" --symbol "TST" --decimals 18 --minter 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --salt "salt" -y | |
- name: InterchainTokenService deploy interchain token on current chain | |
run: node evm/its.js --action deployInterchainToken --name "test" --symbol "TST" --decimals 18 --minter 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266 --destinationChain '' --gasValue 0 --salt "salt" -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: 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: node evm/deploy-its.js -s "v1.0.0" -m create2 -y | |
- name: Redeploy ITS with gasOptions override via CLI | |
run: | | |
node evm/deploy-its.js -s "v1.0.0" -m create2 -y --gasOptions \ | |
'{"gasLimit": 9000000,"gasPriceAdjustment": 1.1}' |