Skip to content

Commit 35ed791

Browse files
authored
feat(contract manager): Add sequence number support to execute_vaas and print Entropy owner (#2692)
1 parent 7aebe7a commit 35ed791

File tree

2 files changed

+37
-7
lines changed

2 files changed

+37
-7
lines changed

contract_manager/scripts/execute_vaas.ts

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const parser = yargs(hideBin(process.argv))
1313
.usage(
1414
"Tries to execute all vaas on a vault.\n" +
1515
"Useful for batch upgrades.\n" +
16-
"Usage: $0 --vault <mainnet|devnet> --private-key <private-key> --offset <offset> [--dryrun]",
16+
"Usage: $0 --vault <mainnet|devnet> --private-key <private-key> (--offset <offset> | --sequence <sequence>) [--dryrun]",
1717
)
1818
.options({
1919
vault: {
@@ -25,14 +25,25 @@ const parser = yargs(hideBin(process.argv))
2525
"private-key": COMMON_DEPLOY_OPTIONS["private-key"],
2626
offset: {
2727
type: "number",
28-
demandOption: true,
2928
desc: "Offset to use from the last executed sequence number",
29+
conflicts: ["sequence"],
30+
},
31+
sequence: {
32+
type: "number",
33+
desc: "Specific sequence number to execute",
34+
conflicts: ["offset"],
3035
},
3136
dryrun: {
3237
type: "boolean",
3338
default: false,
3439
desc: "Whether to execute the VAAs or just print them",
3540
},
41+
})
42+
.check((argv) => {
43+
if (!argv.offset && !argv.sequence) {
44+
throw new Error("Either --offset or --sequence must be provided");
45+
}
46+
return true;
3647
});
3748

3849
async function main() {
@@ -54,14 +65,29 @@ async function main() {
5465
"Executing VAAs for emitter",
5566
(await vault.getEmitter()).toBase58(),
5667
);
57-
const lastSequenceNumber = await vault.getLastSequenceNumber();
58-
const startSequenceNumber = lastSequenceNumber - argv.offset;
68+
69+
let startSequenceNumber: number;
70+
let endSequenceNumber: number;
71+
72+
if (argv.sequence !== undefined) {
73+
startSequenceNumber = argv.sequence;
74+
endSequenceNumber = argv.sequence;
75+
} else if (argv.offset !== undefined) {
76+
const lastSequenceNumber = await vault.getLastSequenceNumber();
77+
startSequenceNumber = lastSequenceNumber - argv.offset;
78+
endSequenceNumber = lastSequenceNumber;
79+
} else {
80+
// this is unreachable but it makes the typescript linter happy.
81+
throw new Error("Either --offset or --sequence must be provided");
82+
}
83+
5984
console.log(
60-
`Going from sequence number ${startSequenceNumber} to ${lastSequenceNumber}`,
85+
`Going from sequence number ${startSequenceNumber} to ${endSequenceNumber}`,
6186
);
87+
6288
for (
6389
let seqNumber = startSequenceNumber;
64-
seqNumber <= lastSequenceNumber;
90+
seqNumber <= endSequenceNumber;
6591
seqNumber++
6692
) {
6793
const submittedWormholeMessage = new SubmittedWormholeMessage(

contract_manager/scripts/list_entropy_contracts.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ async function main() {
1818
const entries: {
1919
chain: string;
2020
contract: string;
21+
owner: string;
2122
provider: string;
2223
feeManager: string;
2324
balance: string;
@@ -42,10 +43,13 @@ async function main() {
4243
/* old deployments did not have this method */
4344
}
4445
const providerInfo = await contract.getProviderInfo(provider);
46+
const owner = await contract.getOwner();
47+
4548
entries.push({
4649
chain: contract.getChain().getId(),
4750
contract: contract.address,
48-
provider: providerInfo.uri,
51+
owner,
52+
provider,
4953
feeManager: providerInfo.feeManager,
5054
balance: Web3.utils.fromWei(balance),
5155
keeperBalance: Web3.utils.fromWei(keeperBalance),

0 commit comments

Comments
 (0)