diff --git a/contract_manager/scripts/execute_vaas.ts b/contract_manager/scripts/execute_vaas.ts index f289a300a6..afa7bda105 100644 --- a/contract_manager/scripts/execute_vaas.ts +++ b/contract_manager/scripts/execute_vaas.ts @@ -13,7 +13,7 @@ const parser = yargs(hideBin(process.argv)) .usage( "Tries to execute all vaas on a vault.\n" + "Useful for batch upgrades.\n" + - "Usage: $0 --vault --private-key --offset [--dryrun]", + "Usage: $0 --vault --private-key (--offset | --sequence ) [--dryrun]", ) .options({ vault: { @@ -25,14 +25,25 @@ const parser = yargs(hideBin(process.argv)) "private-key": COMMON_DEPLOY_OPTIONS["private-key"], offset: { type: "number", - demandOption: true, desc: "Offset to use from the last executed sequence number", + conflicts: ["sequence"], + }, + sequence: { + type: "number", + desc: "Specific sequence number to execute", + conflicts: ["offset"], }, dryrun: { type: "boolean", default: false, desc: "Whether to execute the VAAs or just print them", }, + }) + .check((argv) => { + if (!argv.offset && !argv.sequence) { + throw new Error("Either --offset or --sequence must be provided"); + } + return true; }); async function main() { @@ -54,14 +65,29 @@ async function main() { "Executing VAAs for emitter", (await vault.getEmitter()).toBase58(), ); - const lastSequenceNumber = await vault.getLastSequenceNumber(); - const startSequenceNumber = lastSequenceNumber - argv.offset; + + let startSequenceNumber: number; + let endSequenceNumber: number; + + if (argv.sequence !== undefined) { + startSequenceNumber = argv.sequence; + endSequenceNumber = argv.sequence; + } else if (argv.offset !== undefined) { + const lastSequenceNumber = await vault.getLastSequenceNumber(); + startSequenceNumber = lastSequenceNumber - argv.offset; + endSequenceNumber = lastSequenceNumber; + } else { + // this is unreachable but it makes the typescript linter happy. + throw new Error("Either --offset or --sequence must be provided"); + } + console.log( - `Going from sequence number ${startSequenceNumber} to ${lastSequenceNumber}`, + `Going from sequence number ${startSequenceNumber} to ${endSequenceNumber}`, ); + for ( let seqNumber = startSequenceNumber; - seqNumber <= lastSequenceNumber; + seqNumber <= endSequenceNumber; seqNumber++ ) { const submittedWormholeMessage = new SubmittedWormholeMessage( diff --git a/contract_manager/scripts/list_entropy_contracts.ts b/contract_manager/scripts/list_entropy_contracts.ts index 1b03b2e844..f64d4ccfd9 100644 --- a/contract_manager/scripts/list_entropy_contracts.ts +++ b/contract_manager/scripts/list_entropy_contracts.ts @@ -18,6 +18,7 @@ async function main() { const entries: { chain: string; contract: string; + owner: string; provider: string; feeManager: string; balance: string; @@ -42,10 +43,13 @@ async function main() { /* old deployments did not have this method */ } const providerInfo = await contract.getProviderInfo(provider); + const owner = await contract.getOwner(); + entries.push({ chain: contract.getChain().getId(), contract: contract.address, - provider: providerInfo.uri, + owner, + provider, feeManager: providerInfo.feeManager, balance: Web3.utils.fromWei(balance), keeperBalance: Web3.utils.fromWei(keeperBalance),