Skip to content

Commit

Permalink
misc fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
milapsheth committed Sep 24, 2024
1 parent 53a003a commit 5cd9c9a
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 12 deletions.
2 changes: 1 addition & 1 deletion axelar-chains-config/info/devnet-amplifier.json
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@
"InterchainTokenService": {
"adminAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9",
"governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9",
"codeId": 664,
"codeId": 738,
"address": "axelar10jzzmv5m7da7dn2xsfac0yqe7zamy34uedx3e28laq0p6f3f8dzqp649fp"
},
"VotingVerifier": {
Expand Down
4 changes: 2 additions & 2 deletions common/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -409,14 +409,14 @@ async function getDomainSeparator(config, chain, options) {
return expectedDomainSeparator;
}

const getChainConfig = (config, chainName) => {
const getChainConfig = (config, chainName, options = {}) => {
if (chainName === 'none') {
return undefined;
}

const chainConfig = config.chains[chainName] || config[chainName];

if (!chainConfig) {
if (!options.skipCheck && !chainConfig) {
throw new Error(`Chain ${chainName} not found in config`);
}

Expand Down
20 changes: 12 additions & 8 deletions evm/gateway.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,10 @@ async function processCommand(config, chain, options) {
return;
}

const payload = options.payload || '0x';
let payload = options.payload || '0x';
if (!payload.startsWith('0x')) {
payload = '0x' + payload;
}

if (!payload) {
throw new Error('Missing GMP payload');
Expand Down Expand Up @@ -238,7 +241,7 @@ async function processCommand(config, chain, options) {

// eslint-disable-next-line no-fallthrough
case 'approveAndExecute': {
const payloadHash = payload.startsWith('0x') ? keccak256(arrayify(payload)) : id(payload);
const payloadHash = keccak256(arrayify(payload));

const commandID = options.commandID.startsWith('0x') ? options.commandID : id(parseInt(options.commandID).toString());

Expand Down Expand Up @@ -277,15 +280,16 @@ async function processCommand(config, chain, options) {

// eslint-disable-next-line no-duplicate-case,no-fallthrough
case 'approveAndExecute': {
const payloadHash = payload.startsWith('0x') ? keccak256(arrayify(payload)) : id(payload);
const payloadHash = keccak256(arrayify(payload));
const { sourceChain, sourceAddress } = options;

let commandID;
let commandId;

if (options.messageId) {
commandID = id(`${sourceChain}_${options.messageId}`);
// Derive commandId for Amplifier gateway
commandId = id(`${sourceChain}_${options.messageId}`);
} else {
commandID = options.commandID.startsWith('0x') ? options.commandID : id(parseInt(options.commandID).toString());
commandId = options.commandID.startsWith('0x') ? options.commandID : id(parseInt(options.commandID).toString());
}

if (!options.destination) {
Expand All @@ -297,7 +301,7 @@ async function processCommand(config, chain, options) {

if (
!(await gateway.isContractCallApproved(
commandID,
commandId,
sourceChain,
sourceAddress,
options.destination,
Expand All @@ -310,7 +314,7 @@ async function processCommand(config, chain, options) {

const appContract = new Contract(options.destination, IAxelarExecutable.abi, wallet);

const tx = await appContract.execute(commandID, sourceChain, sourceAddress, payload);
const tx = await appContract.execute(commandId, sourceChain, sourceAddress, payload);
printInfo('Execute tx', tx.hash);
await tx.wait(chain.confirmations);

Expand Down
2 changes: 1 addition & 1 deletion evm/its.js
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,7 @@ async function processCommand(config, chain, options) {
trustedChains = itsChains.map((chain) => chain.axelarId);
trustedAddresses = itsChains.map((_) => chain.contracts?.InterchainTokenService?.address);
} else {
const trustedChain = getChainConfig(config, options.trustedChain.toLowerCase()).axelarId;
const trustedChain = getChainConfig(config, options.trustedChain.toLowerCase(), { skipCheck: true })?.axelarId || options.trustedChain.toLowerCase();
const trustedAddress =
options.trustedAddress || getChainConfig(config, options.trustedChain.toLowerCase())?.contracts?.InterchainTokenService?.address;

Expand Down

0 comments on commit 5cd9c9a

Please sign in to comment.