Skip to content

Commit

Permalink
Merge branch 'main' into feat/sui-pause
Browse files Browse the repository at this point in the history
  • Loading branch information
milapsheth authored Feb 7, 2025
2 parents 604f6ca + f2870e3 commit 0243f56
Showing 1 changed file with 44 additions and 1 deletion.
45 changes: 44 additions & 1 deletion evm/gateway.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ const {
getEVMBatch,
getEVMAddresses,
isValidAddress,
validateParameters,
wasEventEmitted,
mainProcessor,
printError,
Expand Down Expand Up @@ -316,6 +317,45 @@ async function processCommand(config, chain, options) {
break;
}

case 'isContractCallApproved': {
const { commandId, destination, payloadHash, sourceChain, sourceAddress } = options;

validateParameters({
isNonEmptyString: { commandId, payloadHash, sourceChain, sourceAddress },
isAddress: { destination },
});

const isApproved = await gateway.isContractCallApproved(commandId, sourceChain, sourceAddress, destination, payloadHash);

if (isApproved) {
printInfo('Contract call was approved at the gateway');
} else {
printWarn('Contract call was not approved at the gateway');
}

break;
}

case 'isMessageApproved': {
const { messageId, destination, payloadHash, sourceChain, sourceAddress } = options;
const commandId = id(`${sourceChain}_${messageId}`);

validateParameters({
isNonEmptyString: { commandId, payloadHash, sourceChain, sourceAddress },
isAddress: { destination },
});

const isApproved = await gateway.isContractCallApproved(commandId, sourceChain, sourceAddress, destination, payloadHash);

if (isApproved) {
printInfo('Message was approved at the gateway');
} else {
printWarn('Message was not approved at the gateway');
}

break;
}

case 'transferGovernance': {
const newGovernance = options.destination || chain.contracts.InterchainGovernance?.address;

Expand Down Expand Up @@ -491,6 +531,8 @@ if (require.main === module) {
'approve',
'execute',
'approveAndExecute',
'isContractCallApproved',
'isMessageApproved',
'transferGovernance',
'governance',
'mintLimiter',
Expand All @@ -504,7 +546,8 @@ if (require.main === module) {
.makeOptionMandatory(true),
);

program.addOption(new Option('--payload <payload>', 'gmp payload'));
program.addOption(new Option('--payload <payload>', 'GMP payload'));
program.addOption(new Option('--payloadHash <payloadHash>', 'GMP payload hash'));
program.addOption(new Option('--commandID <commandID>', 'execute command ID'));
program.addOption(new Option('--messageId <messageId>', 'GMP call message ID'));
program.addOption(new Option('--sourceChain <sourceChain>', 'GMP source chain'));
Expand Down

0 comments on commit 0243f56

Please sign in to comment.