@gzeoneth/gov-tracker 0.4.0-beta.757932 → 0.4.0-beta.8ed5f35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -10
- package/dist/calldata/decoder.d.ts.map +1 -1
- package/dist/calldata/decoder.js +33 -28
- package/dist/calldata/decoder.js.map +1 -1
- package/dist/calldata/parameter-decoder.d.ts.map +1 -1
- package/dist/calldata/parameter-decoder.js +19 -25
- package/dist/calldata/parameter-decoder.js.map +1 -1
- package/dist/calldata/retryable-ticket.d.ts +2 -2
- package/dist/calldata/retryable-ticket.d.ts.map +1 -1
- package/dist/calldata/retryable-ticket.js +17 -12
- package/dist/calldata/retryable-ticket.js.map +1 -1
- package/dist/calldata/signature-lookup.js +5 -4
- package/dist/calldata/signature-lookup.js.map +1 -1
- package/dist/cli/cli.js +41 -20
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/lib/cli.d.ts +4 -2
- package/dist/cli/lib/cli.d.ts.map +1 -1
- package/dist/cli/lib/cli.js +34 -18
- package/dist/cli/lib/cli.js.map +1 -1
- package/dist/cli/lib/election-check.d.ts.map +1 -1
- package/dist/cli/lib/election-check.js +2 -1
- package/dist/cli/lib/election-check.js.map +1 -1
- package/dist/cli/lib/json-state.js +1 -1
- package/dist/cli/lib/json-state.js.map +1 -1
- package/dist/cli/tui/components/StageProgress.js +1 -1
- package/dist/cli/tui/components/StageProgress.js.map +1 -1
- package/dist/cli/tui/components/StageRow.d.ts.map +1 -1
- package/dist/cli/tui/components/StageRow.js +15 -20
- package/dist/cli/tui/components/StageRow.js.map +1 -1
- package/dist/cli/tui/components/VotingStats.d.ts.map +1 -1
- package/dist/cli/tui/components/VotingStats.js +2 -1
- package/dist/cli/tui/components/VotingStats.js.map +1 -1
- package/dist/cli/tui/hooks/useCache.d.ts.map +1 -1
- package/dist/cli/tui/hooks/useCache.js +2 -1
- package/dist/cli/tui/hooks/useCache.js.map +1 -1
- package/dist/cli/tui/hooks/useElectionData.d.ts.map +1 -1
- package/dist/cli/tui/hooks/useElectionData.js +3 -2
- package/dist/cli/tui/hooks/useElectionData.js.map +1 -1
- package/dist/cli/tui/hooks/useNavigation.d.ts.map +1 -1
- package/dist/cli/tui/hooks/useNavigation.js +2 -3
- package/dist/cli/tui/hooks/useNavigation.js.map +1 -1
- package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -1
- package/dist/cli/tui/hooks/useProposals.js +26 -36
- package/dist/cli/tui/hooks/useProposals.js.map +1 -1
- package/dist/cli/tui/hooks/useStageCalldata.d.ts.map +1 -1
- package/dist/cli/tui/hooks/useStageCalldata.js +2 -1
- package/dist/cli/tui/hooks/useStageCalldata.js.map +1 -1
- package/dist/cli/tui/utils/index.d.ts +7 -7
- package/dist/cli/tui/utils/index.d.ts.map +1 -1
- package/dist/cli/tui/utils/index.js +18 -13
- package/dist/cli/tui/utils/index.js.map +1 -1
- package/dist/cli/tui/utils/markdown-parser.d.ts +5 -0
- package/dist/cli/tui/utils/markdown-parser.d.ts.map +1 -1
- package/dist/cli/tui/utils/markdown-parser.js +16 -0
- package/dist/cli/tui/utils/markdown-parser.js.map +1 -1
- package/dist/cli/tui/utils/navigation.d.ts +1 -0
- package/dist/cli/tui/utils/navigation.d.ts.map +1 -1
- package/dist/cli/tui/utils/navigation.js +9 -5
- package/dist/cli/tui/utils/navigation.js.map +1 -1
- package/dist/cli/tui/utils/proposal-detail-helpers.js +6 -6
- package/dist/cli/tui/utils/proposal-detail-helpers.js.map +1 -1
- package/dist/cli/tui/utils/stage-status.d.ts +4 -0
- package/dist/cli/tui/utils/stage-status.d.ts.map +1 -1
- package/dist/cli/tui/utils/stage-status.js +47 -1
- package/dist/cli/tui/utils/stage-status.js.map +1 -1
- package/dist/cli/tui/utils/time.d.ts +4 -4
- package/dist/cli/tui/utils/time.d.ts.map +1 -1
- package/dist/cli/tui/utils/time.js +13 -11
- package/dist/cli/tui/utils/time.js.map +1 -1
- package/dist/cli/tui/views/CalldataView.d.ts.map +1 -1
- package/dist/cli/tui/views/CalldataView.js +3 -2
- package/dist/cli/tui/views/CalldataView.js.map +1 -1
- package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -1
- package/dist/cli/tui/views/DescriptionView.js +4 -2
- package/dist/cli/tui/views/DescriptionView.js.map +1 -1
- package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
- package/dist/cli/tui/views/ElectionView.js +4 -9
- package/dist/cli/tui/views/ElectionView.js.map +1 -1
- package/dist/constants.d.ts +11 -23
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +22 -20
- package/dist/constants.js.map +1 -1
- package/dist/deduplication.d.ts.map +1 -1
- package/dist/deduplication.js +34 -54
- package/dist/deduplication.js.map +1 -1
- package/dist/discovery/governor-discovery.d.ts.map +1 -1
- package/dist/discovery/governor-discovery.js +7 -10
- package/dist/discovery/governor-discovery.js.map +1 -1
- package/dist/discovery/timelock-discovery.d.ts.map +1 -1
- package/dist/discovery/timelock-discovery.js +27 -30
- package/dist/discovery/timelock-discovery.js.map +1 -1
- package/dist/election/contracts.d.ts.map +1 -1
- package/dist/election/contracts.js +4 -1
- package/dist/election/contracts.js.map +1 -1
- package/dist/election/details.d.ts.map +1 -1
- package/dist/election/details.js +7 -3
- package/dist/election/details.js.map +1 -1
- package/dist/election/params.d.ts.map +1 -1
- package/dist/election/params.js +3 -12
- package/dist/election/params.js.map +1 -1
- package/dist/election/participants.d.ts.map +1 -1
- package/dist/election/participants.js +21 -26
- package/dist/election/participants.js.map +1 -1
- package/dist/election/proposal-ids.js +17 -20
- package/dist/election/proposal-ids.js.map +1 -1
- package/dist/election/status.d.ts.map +1 -1
- package/dist/election/status.js +6 -0
- package/dist/election/status.js.map +1 -1
- package/dist/index.d.ts +23 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -13
- package/dist/index.js.map +1 -1
- package/dist/simulation/index.d.ts +4 -1
- package/dist/simulation/index.d.ts.map +1 -1
- package/dist/simulation/index.js +5 -1
- package/dist/simulation/index.js.map +1 -1
- package/dist/simulation/simulation-data.d.ts +33 -2
- package/dist/simulation/simulation-data.d.ts.map +1 -1
- package/dist/simulation/simulation-data.js +68 -24
- package/dist/simulation/simulation-data.js.map +1 -1
- package/dist/simulation/tenderly-payloads.d.ts +107 -0
- package/dist/simulation/tenderly-payloads.d.ts.map +1 -0
- package/dist/simulation/tenderly-payloads.js +103 -0
- package/dist/simulation/tenderly-payloads.js.map +1 -0
- package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
- package/dist/stages/l2-to-l1-message.js +43 -63
- package/dist/stages/l2-to-l1-message.js.map +1 -1
- package/dist/stages/retryables.d.ts.map +1 -1
- package/dist/stages/retryables.js +10 -9
- package/dist/stages/retryables.js.map +1 -1
- package/dist/stages/timelock.d.ts +4 -2
- package/dist/stages/timelock.d.ts.map +1 -1
- package/dist/stages/timelock.js +45 -53
- package/dist/stages/timelock.js.map +1 -1
- package/dist/stages/utils.d.ts +56 -1
- package/dist/stages/utils.d.ts.map +1 -1
- package/dist/stages/utils.js +146 -30
- package/dist/stages/utils.js.map +1 -1
- package/dist/tracker/bundled-cache.d.ts +136 -0
- package/dist/tracker/bundled-cache.d.ts.map +1 -0
- package/dist/tracker/bundled-cache.js +207 -0
- package/dist/tracker/bundled-cache.js.map +1 -0
- package/dist/tracker/checkpoint-helpers.d.ts +20 -1
- package/dist/tracker/checkpoint-helpers.d.ts.map +1 -1
- package/dist/tracker/checkpoint-helpers.js +41 -7
- package/dist/tracker/checkpoint-helpers.js.map +1 -1
- package/dist/tracker/discovery.d.ts +3 -0
- package/dist/tracker/discovery.d.ts.map +1 -1
- package/dist/tracker/discovery.js +59 -34
- package/dist/tracker/discovery.js.map +1 -1
- package/dist/tracker/pipeline.d.ts +3 -10
- package/dist/tracker/pipeline.d.ts.map +1 -1
- package/dist/tracker/pipeline.js +18 -32
- package/dist/tracker/pipeline.js.map +1 -1
- package/dist/tracker/query.d.ts +1 -0
- package/dist/tracker/query.d.ts.map +1 -1
- package/dist/tracker/query.js +28 -36
- package/dist/tracker/query.js.map +1 -1
- package/dist/tracker/state.d.ts +3 -2
- package/dist/tracker/state.d.ts.map +1 -1
- package/dist/tracker/state.js +5 -4
- package/dist/tracker/state.js.map +1 -1
- package/dist/tracker.d.ts +33 -11
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +76 -43
- package/dist/tracker.js.map +1 -1
- package/dist/types/config.d.ts +39 -3
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/simulation.d.ts +2 -2
- package/dist/types/simulation.d.ts.map +1 -1
- package/dist/utils/chain.d.ts +5 -1
- package/dist/utils/chain.d.ts.map +1 -1
- package/dist/utils/chain.js +7 -0
- package/dist/utils/chain.js.map +1 -1
- package/dist/utils/formatters.d.ts +2 -6
- package/dist/utils/formatters.d.ts.map +1 -1
- package/dist/utils/formatters.js +9 -12
- package/dist/utils/formatters.js.map +1 -1
- package/dist/utils/log-filters.js +1 -1
- package/dist/utils/log-filters.js.map +1 -1
- package/dist/utils/multicall.d.ts +0 -1
- package/dist/utils/multicall.d.ts.map +1 -1
- package/dist/utils/rpc-utils.d.ts +5 -0
- package/dist/utils/rpc-utils.d.ts.map +1 -1
- package/dist/utils/rpc-utils.js +9 -1
- package/dist/utils/rpc-utils.js.map +1 -1
- package/dist/utils/stage-metadata.d.ts +19 -0
- package/dist/utils/stage-metadata.d.ts.map +1 -1
- package/dist/utils/stage-metadata.js +44 -0
- package/dist/utils/stage-metadata.js.map +1 -1
- package/dist/utils/timing.d.ts +3 -10
- package/dist/utils/timing.d.ts.map +1 -1
- package/dist/utils/timing.js +9 -22
- package/dist/utils/timing.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/tui/utils/calldata-formatter.d.ts +0 -7
- package/dist/cli/tui/utils/calldata-formatter.d.ts.map +0 -1
- package/dist/cli/tui/utils/calldata-formatter.js +0 -14
- package/dist/cli/tui/utils/calldata-formatter.js.map +0 -1
- package/dist/cli/tui/utils/stage-formatter.d.ts +0 -7
- package/dist/cli/tui/utils/stage-formatter.d.ts.map +0 -1
- package/dist/cli/tui/utils/stage-formatter.js +0 -13
- package/dist/cli/tui/utils/stage-formatter.js.map +0 -1
- package/dist/cli/tui/utils/text.d.ts +0 -7
- package/dist/cli/tui/utils/text.d.ts.map +0 -1
- package/dist/cli/tui/utils/text.js +0 -12
- package/dist/cli/tui/utils/text.js.map +0 -1
package/README.md
CHANGED
|
@@ -15,26 +15,22 @@ yarn add @gzeoneth/gov-tracker ethers@^5.8.0
|
|
|
15
15
|
## Quick Start
|
|
16
16
|
|
|
17
17
|
```typescript
|
|
18
|
-
import {
|
|
19
|
-
import { createTracker, findExecutableStage, ADDRESSES } from "@gzeoneth/gov-tracker";
|
|
18
|
+
import { createTracker, findExecutableStage } from "@gzeoneth/gov-tracker";
|
|
20
19
|
|
|
21
|
-
//
|
|
20
|
+
// Accepts RPC URLs directly (or ethers Provider objects)
|
|
22
21
|
const tracker = createTracker({
|
|
23
|
-
l2Provider:
|
|
24
|
-
l1Provider:
|
|
25
|
-
novaProvider:
|
|
22
|
+
l2Provider: process.env.ARB1_RPC, // URL string or Provider
|
|
23
|
+
l1Provider: process.env.ETH_RPC,
|
|
24
|
+
novaProvider: process.env.NOVA_RPC,
|
|
26
25
|
cachePath: "./gov-tracker-cache.json",
|
|
27
26
|
});
|
|
28
27
|
|
|
29
|
-
// Track from transaction hash
|
|
28
|
+
// Track from transaction hash (auto-detects proposal type)
|
|
30
29
|
const results = await tracker.trackByTxHash("0x...");
|
|
31
30
|
for (const stage of results[0].stages) {
|
|
32
31
|
console.log(`${stage.type}: ${stage.status}`);
|
|
33
32
|
}
|
|
34
33
|
|
|
35
|
-
// Or track from governor
|
|
36
|
-
const result = await tracker.trackFromGovernor(ADDRESSES.CONSTITUTIONAL_GOVERNOR, proposalId);
|
|
37
|
-
|
|
38
34
|
// Execute ready stages
|
|
39
35
|
const readyStage = findExecutableStage(results[0].stages);
|
|
40
36
|
if (readyStage) {
|
|
@@ -177,6 +173,18 @@ PRIVATE_KEY=0x... # For execution
|
|
|
177
173
|
|
|
178
174
|
The CLI warns when using default public RPCs. For production, set these environment variables.
|
|
179
175
|
|
|
176
|
+
### RPC Provider Recommendations
|
|
177
|
+
|
|
178
|
+
For reliable operation, especially during election tracking which makes many RPC calls:
|
|
179
|
+
|
|
180
|
+
| Chain | Recommended Providers |
|
|
181
|
+
|-------|----------------------|
|
|
182
|
+
| Ethereum | [Alchemy](https://www.alchemy.com/), [Infura](https://infura.io/), [ethereum.publicnode.com](https://ethereum.publicnode.com/) |
|
|
183
|
+
| Arbitrum One | [Alchemy](https://www.alchemy.com/), [arb1.arbitrum.io/rpc](https://arb1.arbitrum.io/rpc), [arbitrum.publicnode.com](https://arbitrum.publicnode.com/) |
|
|
184
|
+
| Arbitrum Nova | [nova.arbitrum.io/rpc](https://nova.arbitrum.io/rpc) |
|
|
185
|
+
|
|
186
|
+
**Note:** Some public RPCs like `cloudflare-eth.com` may return `-32603` internal errors during high load. If you experience intermittent failures, try switching to a dedicated provider.
|
|
187
|
+
|
|
180
188
|
## Security & Privacy
|
|
181
189
|
|
|
182
190
|
**External API Lookups**: When decoding calldata, unknown function selectors are looked up via [4byte.directory](https://www.4byte.directory/). To disable:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/calldata/decoder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAsBlE;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,EACtB,KAAK,SAAI,EACT,YAAY,GAAE,KAAc,GAC3B,OAAO,CAAC,eAAe,CAAC,CAsE1B;
|
|
1
|
+
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/calldata/decoder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAsBlE;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,EACtB,KAAK,SAAI,EACT,YAAY,GAAE,KAAc,GAC3B,OAAO,CAAC,eAAe,CAAC,CAsE1B;AAiHD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,YAAY,GAAE,KAAc,GAC3B,OAAO,CAAC,eAAe,EAAE,CAAC,CAI5B;AAiBD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,CA8C/E"}
|
package/dist/calldata/decoder.js
CHANGED
|
@@ -128,35 +128,40 @@ async function processNestedParams(params, rawDecoded, chainContext, depth) {
|
|
|
128
128
|
// Check for retryable ticket magic
|
|
129
129
|
if (target && (0, retryable_ticket_1.isRetryableTicketMagic)(target)) {
|
|
130
130
|
const retryable = (0, retryable_ticket_1.decodeRetryableTicket)(bytesItem);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
131
|
+
if (retryable) {
|
|
132
|
+
// Determine L2 chain context for address labeling and nested decoding
|
|
133
|
+
const l2ChainContext = retryable.chain === "nova" || retryable.chain === "arb1"
|
|
134
|
+
? retryable.chain
|
|
135
|
+
: undefined;
|
|
136
|
+
// Decode l2Calldata with L2 chain context only if chain is known
|
|
137
|
+
let nestedL2Call;
|
|
138
|
+
if (l2ChainContext && (0, parameter_decoder_1.isLikelyCalldata)(retryable.l2Calldata)) {
|
|
139
|
+
nestedL2Call = await decodeCalldata(retryable.l2Calldata, retryable.l2Target, depth + 1, l2ChainContext);
|
|
140
|
+
}
|
|
141
|
+
// Create retryable structure with decoded L2 call
|
|
142
|
+
const retryableDecoded = {
|
|
143
|
+
selector: "",
|
|
144
|
+
signature: null,
|
|
145
|
+
isRetryable: true,
|
|
146
|
+
parameters: [
|
|
147
|
+
(0, parameter_decoder_1.createParam)("inbox", "address", retryable.targetInbox, { chain: "ethereum" }),
|
|
148
|
+
(0, parameter_decoder_1.createParam)("l2Target", "address", retryable.l2Target, { chain: l2ChainContext }),
|
|
149
|
+
(0, parameter_decoder_1.createParam)("l2Value", "uint256", retryable.l2Value),
|
|
150
|
+
(0, parameter_decoder_1.createParam)("gasLimit", "uint256", retryable.gasLimit),
|
|
151
|
+
(0, parameter_decoder_1.createParam)("maxFeePerGas", "uint256", retryable.maxFeePerGas),
|
|
152
|
+
(0, parameter_decoder_1.createParam)("l2Calldata", "bytes", retryable.l2Calldata, {
|
|
153
|
+
isNested: !!nestedL2Call,
|
|
154
|
+
nested: nestedL2Call,
|
|
155
|
+
}),
|
|
156
|
+
],
|
|
157
|
+
raw: bytesItem,
|
|
158
|
+
decodingSource: "local",
|
|
159
|
+
targetChain: retryable.chain,
|
|
160
|
+
};
|
|
161
|
+
nestedArray.push(retryableDecoded);
|
|
162
|
+
continue;
|
|
137
163
|
}
|
|
138
|
-
//
|
|
139
|
-
const retryableDecoded = {
|
|
140
|
-
selector: "",
|
|
141
|
-
signature: null,
|
|
142
|
-
isRetryable: true,
|
|
143
|
-
parameters: [
|
|
144
|
-
(0, parameter_decoder_1.createParam)("inbox", "address", retryable.targetInbox, { chain: "ethereum" }),
|
|
145
|
-
(0, parameter_decoder_1.createParam)("l2Target", "address", retryable.l2Target, { chain: l2ChainContext }),
|
|
146
|
-
(0, parameter_decoder_1.createParam)("l2Value", "uint256", retryable.l2Value),
|
|
147
|
-
(0, parameter_decoder_1.createParam)("gasLimit", "uint256", retryable.gasLimit),
|
|
148
|
-
(0, parameter_decoder_1.createParam)("maxFeePerGas", "uint256", retryable.maxFeePerGas),
|
|
149
|
-
(0, parameter_decoder_1.createParam)("l2Calldata", "bytes", retryable.l2Calldata, {
|
|
150
|
-
isNested: !!nestedL2Call,
|
|
151
|
-
nested: nestedL2Call,
|
|
152
|
-
}),
|
|
153
|
-
],
|
|
154
|
-
raw: bytesItem,
|
|
155
|
-
decodingSource: "local",
|
|
156
|
-
targetChain: retryable.chain,
|
|
157
|
-
};
|
|
158
|
-
nestedArray.push(retryableDecoded);
|
|
159
|
-
continue;
|
|
164
|
+
// Fall through to normal calldata decoding if retryable decode fails
|
|
160
165
|
}
|
|
161
166
|
// Normal calldata decoding
|
|
162
167
|
if ((0, parameter_decoder_1.isLikelyCalldata)(bytesItem)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/calldata/decoder.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;AAmCH,wCA2EC;
|
|
1
|
+
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/calldata/decoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-decoder.d.ts","sourceRoot":"","sources":["../../src/calldata/parameter-decoder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"parameter-decoder.d.ts","sourceRoot":"","sources":["../../src/calldata/parameter-decoder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAoDtC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG7F;AAED;;GAEG;AACH,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,kBAAuB,GAC/B,gBAAgB,CAgBlB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAmCvE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,KAAK,GAClB;IAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;CAAE,GAAG,IAAI,CAuDrE"}
|
|
@@ -14,43 +14,37 @@ exports.isLikelyCalldata = isLikelyCalldata;
|
|
|
14
14
|
exports.formatDecodedValue = formatDecodedValue;
|
|
15
15
|
exports.decodeParameters = decodeParameters;
|
|
16
16
|
const ethers_1 = require("ethers");
|
|
17
|
+
const constants_1 = require("../constants");
|
|
18
|
+
const A = constants_1.ADDRESSES;
|
|
17
19
|
/**
|
|
18
|
-
* Known addresses registry organized by chain
|
|
20
|
+
* Known addresses registry organized by chain.
|
|
21
|
+
* Addresses shared with constants.ts are referenced via ADDRESSES to avoid duplication.
|
|
19
22
|
*/
|
|
20
23
|
const KNOWN_ADDRESSES = {
|
|
21
24
|
arb1: {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
[A.CONSTITUTIONAL_GOVERNOR]: "Core Governor",
|
|
26
|
+
[A.NON_CONSTITUTIONAL_GOVERNOR]: "Treasury Governor",
|
|
27
|
+
[A.ELECTION_NOMINEE_GOVERNOR]: "Nominee Election Governor",
|
|
28
|
+
[A.ELECTION_MEMBER_GOVERNOR]: "Member Election Governor",
|
|
29
|
+
[A.L2_CONSTITUTIONAL_TIMELOCK]: "L2 Core Timelock",
|
|
30
|
+
[A.L2_NON_CONSTITUTIONAL_TIMELOCK]: "L2 Treasury Timelock",
|
|
31
|
+
[A.SECURITY_COUNCIL_MANAGER]: "Security Council Manager",
|
|
32
|
+
[A.ARB_SYS]: "ArbSys",
|
|
33
|
+
[A.ARB_RETRYABLE_TX]: "ArbRetryableTx",
|
|
31
34
|
"0x912CE59144191C1204E64559FE8253a0e49E6548": "ARB Token",
|
|
32
35
|
"0xCF57572261c7c2BCF21ffD220ea7d1a27D40A827": "Arb1 UpgradeExecutor",
|
|
33
|
-
"0xD509E5f5aEe2A205F554f36E8a7d56094494eDFC": "Security Council Manager",
|
|
34
|
-
// Precompiles
|
|
35
|
-
"0x0000000000000000000000000000000000000064": "ArbSys",
|
|
36
|
-
"0x000000000000000000000000000000000000006E": "ArbRetryableTx",
|
|
37
36
|
},
|
|
38
37
|
nova: {
|
|
39
38
|
"0x86a02dD71363c440b21F4c0E5B2Ad01Ffe1A7482": "Nova UpgradeExecutor",
|
|
40
39
|
},
|
|
41
40
|
ethereum: {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
[A.L1_TIMELOCK]: "L1 Timelock",
|
|
42
|
+
[A.ARB1_DELAYED_INBOX]: "Arb1 Delayed Inbox",
|
|
43
|
+
[A.NOVA_DELAYED_INBOX]: "Nova Delayed Inbox",
|
|
44
|
+
[A.RETRYABLE_TICKET_MAGIC]: "Retryable Ticket Magic",
|
|
45
|
+
[A.ARB1_OUTBOX]: "Arb1 Outbox",
|
|
46
|
+
[A.NOVA_OUTBOX]: "Nova Outbox",
|
|
45
47
|
"0x3ffFbAdAF827559da092217e474760E2b2c3CeDd": "L1 UpgradeExecutor",
|
|
46
|
-
// Delayed Inboxes
|
|
47
|
-
"0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f": "Arb1 Delayed Inbox",
|
|
48
|
-
"0xc4448b71118c9071Bcb9734A0EAc55D18A153949": "Nova Delayed Inbox",
|
|
49
|
-
// Special addresses
|
|
50
|
-
"0xa723C008e76E379c55599D2E4d93879BeaFDa79C": "Retryable Ticket Magic",
|
|
51
|
-
// Outboxes
|
|
52
|
-
"0x0B9857ae2D4A3DBe74ffE1d7DF045bb7F96E4840": "Arb1 Outbox",
|
|
53
|
-
"0xD4B80C3D7240325D18E645B49e6535A3Bf95cc58": "Nova Outbox",
|
|
54
48
|
},
|
|
55
49
|
};
|
|
56
50
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-decoder.js","sourceRoot":"","sources":["../../src/calldata/parameter-decoder.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;
|
|
1
|
+
{"version":3,"file":"parameter-decoder.js","sourceRoot":"","sources":["../../src/calldata/parameter-decoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export declare function getRetryableChainName(chain: "arb1" | "nova" | "unknown"
|
|
|
26
26
|
* (address inbox, address l2Target, uint256 l2Value, uint256 gasLimit, uint256 maxFeePerGas, bytes l2Calldata)
|
|
27
27
|
*
|
|
28
28
|
* @param bytes - ABI-encoded retryable ticket bytes
|
|
29
|
-
* @returns Decoded retryable ticket data
|
|
29
|
+
* @returns Decoded retryable ticket data, or null if decoding fails
|
|
30
30
|
*/
|
|
31
|
-
export declare function decodeRetryableTicket(bytes: string): RetryableTicketData;
|
|
31
|
+
export declare function decodeRetryableTicket(bytes: string): RetryableTicketData | null;
|
|
32
32
|
//# sourceMappingURL=retryable-ticket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retryable-ticket.d.ts","sourceRoot":"","sources":["../../src/calldata/retryable-ticket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,eAAO,MAAM,sBAAsB,QAAiD,CAAC;AAIrF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D;AAgBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAShF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"retryable-ticket.d.ts","sourceRoot":"","sources":["../../src/calldata/retryable-ticket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,eAAO,MAAM,sBAAsB,QAAiD,CAAC;AAIrF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D;AAgBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAShF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAqB/E"}
|
|
@@ -61,19 +61,24 @@ function getRetryableChainName(chain) {
|
|
|
61
61
|
* (address inbox, address l2Target, uint256 l2Value, uint256 gasLimit, uint256 maxFeePerGas, bytes l2Calldata)
|
|
62
62
|
*
|
|
63
63
|
* @param bytes - ABI-encoded retryable ticket bytes
|
|
64
|
-
* @returns Decoded retryable ticket data
|
|
64
|
+
* @returns Decoded retryable ticket data, or null if decoding fails
|
|
65
65
|
*/
|
|
66
66
|
function decodeRetryableTicket(bytes) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
67
|
+
try {
|
|
68
|
+
const decoded = ethers_1.ethers.utils.defaultAbiCoder.decode(["address", "address", "uint256", "uint256", "uint256", "bytes"], bytes);
|
|
69
|
+
const chain = detectChainFromInbox(decoded[0]);
|
|
70
|
+
return {
|
|
71
|
+
targetInbox: decoded[0],
|
|
72
|
+
l2Target: decoded[1],
|
|
73
|
+
l2Value: decoded[2].toString(),
|
|
74
|
+
gasLimit: decoded[3].toString(),
|
|
75
|
+
maxFeePerGas: decoded[4].toString(),
|
|
76
|
+
l2Calldata: decoded[5],
|
|
77
|
+
chain,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
78
83
|
}
|
|
79
84
|
//# sourceMappingURL=retryable-ticket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retryable-ticket.js","sourceRoot":"","sources":["../../src/calldata/retryable-ticket.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAiBH,wDAEC;AAsBD,sDASC;AAWD,
|
|
1
|
+
{"version":3,"file":"retryable-ticket.js","sourceRoot":"","sources":["../../src/calldata/retryable-ticket.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAiBH,wDAEC;AAsBD,sDASC;AAWD,sDAqBC;AAhFD,mCAAgC;AAEhC,4CAAyC;AAEzC,qCAAqC;AACxB,QAAA,sBAAsB,GAAG,qBAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;AACrF,MAAM,kBAAkB,GAAG,qBAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;AACtE,MAAM,kBAAkB,GAAG,qBAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;AAEtE;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,MAAc;IACnD,OAAO,MAAM,CAAC,WAAW,EAAE,KAAK,8BAAsB,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,YAAoB;IAChD,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IAE9C,IAAI,UAAU,KAAK,kBAAkB;QAAE,OAAO,MAAM,CAAC;IACrD,IAAI,UAAU,KAAK,kBAAkB;QAAE,OAAO,MAAM,CAAC;IACrD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,KAAkC;IACtE,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,YAAY,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CAAC,KAAa;IACjD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CACjD,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAChE,KAAK,CACN,CAAC;QAEF,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC,CAAC;QAEzD,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YACvB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YACpB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC9B,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC/B,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YACtB,KAAK;SACN,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -97,12 +97,11 @@ async function lookup4byteDirectory(selector) {
|
|
|
97
97
|
if (signatureCache.has(normalizedSelector)) {
|
|
98
98
|
return signatureCache.get(normalizedSelector) ?? null;
|
|
99
99
|
}
|
|
100
|
+
const controller = new AbortController();
|
|
101
|
+
const timeoutId = setTimeout(() => controller.abort(), API_TIMEOUT_MS);
|
|
100
102
|
try {
|
|
101
|
-
const controller = new AbortController();
|
|
102
|
-
const timeoutId = setTimeout(() => controller.abort(), API_TIMEOUT_MS);
|
|
103
103
|
const url = `https://www.4byte.directory/api/v1/signatures/?hex_signature=${normalizedSelector}`;
|
|
104
104
|
const response = await fetch(url, { signal: controller.signal });
|
|
105
|
-
clearTimeout(timeoutId);
|
|
106
105
|
if (!response.ok) {
|
|
107
106
|
debug("4byte.directory API error: %d", response.status);
|
|
108
107
|
signatureCache.set(normalizedSelector, null);
|
|
@@ -110,7 +109,6 @@ async function lookup4byteDirectory(selector) {
|
|
|
110
109
|
}
|
|
111
110
|
const data = (await response.json());
|
|
112
111
|
if (data.results && data.results.length > 0) {
|
|
113
|
-
// Return the first (most common) signature
|
|
114
112
|
const signature = data.results[0].text_signature;
|
|
115
113
|
signatureCache.set(normalizedSelector, signature);
|
|
116
114
|
debug("4byte.directory found: %s -> %s", normalizedSelector, signature);
|
|
@@ -124,6 +122,9 @@ async function lookup4byteDirectory(selector) {
|
|
|
124
122
|
signatureCache.set(normalizedSelector, null);
|
|
125
123
|
return null;
|
|
126
124
|
}
|
|
125
|
+
finally {
|
|
126
|
+
clearTimeout(timeoutId);
|
|
127
|
+
}
|
|
127
128
|
}
|
|
128
129
|
/**
|
|
129
130
|
* Look up function signature from all sources
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-lookup.js","sourceRoot":"","sources":["../../src/calldata/signature-lookup.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;AAkFH,oDAGC;AA0ED,0CAyBC;AAtLD,kDAA0B;AAE1B,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,sBAAsB,CAAC,CAAC;AAE5C;;;GAGG;AACH,SAAS,qBAAqB;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,gBAAgB,GAA2B;IAC/C,sBAAsB;IACtB,YAAY,EAAE,yDAAyD;IACvE,YAAY,EAAE,oEAAoE;IAClF,YAAY,EAAE,gDAAgD;IAC9D,YAAY,EAAE,2DAA2D;IACzE,YAAY,EAAE,iBAAiB;IAC/B,YAAY,EAAE,sDAAsD;IACpE,YAAY,EAAE,iEAAiE;IAE/E,wBAAwB;IACxB,YAAY,EAAE,2BAA2B;IAEzC,kBAAkB;IAClB,YAAY,EAAE,wBAAwB;IACtC,YAAY,EAAE,4BAA4B;IAE1C,QAAQ;IACR,YAAY,EAAE,2BAA2B;IACzC,YAAY,EAAE,0BAA0B;IACxC,YAAY,EAAE,uCAAuC;IACrD,YAAY,EAAE,oBAAoB;IAClC,YAAY,EAAE,4BAA4B;IAE1C,iBAAiB;IACjB,YAAY,EAAE,oBAAoB;IAClC,YAAY,EAAE,iCAAiC;IAC/C,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,0BAA0B;IAExC,YAAY;IACZ,YAAY,EAAE,mBAAmB;IACjC,YAAY,EAAE,4BAA4B;IAC1C,YAAY,EAAE,qBAAqB;IACnC,YAAY,EAAE,SAAS;IAEvB,WAAW;IACX,YAAY,EAAE,6CAA6C;IAC3D,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,yBAAyB;IACvC,YAAY,EAAE,0CAA0C;IAExD,mBAAmB;IACnB,YAAY,EAAE,oCAAoC;IAClD,YAAY,EAAE,WAAW;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;AAExD;;GAEG;AACH,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,QAAgB;IACnD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAClD,OAAO,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IAClD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAElD,sBAAsB;IACtB,IAAI,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC3C,OAAO,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;IACxD,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"signature-lookup.js","sourceRoot":"","sources":["../../src/calldata/signature-lookup.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/cli.js
CHANGED
|
@@ -94,13 +94,21 @@ function getPackageVersion() {
|
|
|
94
94
|
];
|
|
95
95
|
for (const candidate of candidates) {
|
|
96
96
|
if (fs.existsSync(candidate)) {
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
try {
|
|
98
|
+
const pkg = JSON.parse(fs.readFileSync(candidate, "utf8"));
|
|
99
|
+
return pkg.version || "unknown";
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.error(`Failed to parse package.json at ${candidate}: ${(0, rpc_utils_1.getErrorMessage)(error)}`);
|
|
103
|
+
return "unknown";
|
|
104
|
+
}
|
|
99
105
|
}
|
|
100
106
|
}
|
|
101
107
|
return "unknown";
|
|
102
108
|
}
|
|
103
109
|
const index_1 = require("../index");
|
|
110
|
+
const rpc_utils_1 = require("../utils/rpc-utils");
|
|
111
|
+
const formatters_1 = require("../utils/formatters");
|
|
104
112
|
const json_state_1 = require("./lib/json-state");
|
|
105
113
|
const election_check_1 = require("./lib/election-check");
|
|
106
114
|
const cli_1 = require("./lib/cli");
|
|
@@ -227,7 +235,7 @@ function getDefaultCachePath() {
|
|
|
227
235
|
}
|
|
228
236
|
catch (err) {
|
|
229
237
|
// Non-fatal: just start with empty cache
|
|
230
|
-
console.warn(`Warning: Could not copy bundled cache: ${err}`);
|
|
238
|
+
console.warn(`Warning: Could not copy bundled cache: ${(0, rpc_utils_1.getErrorMessage)(err)}`);
|
|
231
239
|
}
|
|
232
240
|
}
|
|
233
241
|
}
|
|
@@ -285,6 +293,12 @@ runCmd
|
|
|
285
293
|
// --no-cache disables cache entirely; use autoFlush: false for batch writes
|
|
286
294
|
const cachePath = opts.noCache ? undefined : opts.cache;
|
|
287
295
|
const cache = cachePath ? new index_1.FileCache(cachePath, { autoFlush: false }) : undefined;
|
|
296
|
+
// If --force is specified, clear cache at start to ensure fresh tracking
|
|
297
|
+
// This is cleaner than passing force flags through - all tracking methods
|
|
298
|
+
// work normally with the cache, which starts empty
|
|
299
|
+
if (opts.force && cache) {
|
|
300
|
+
await cache.clear();
|
|
301
|
+
}
|
|
288
302
|
const tracker = (0, index_1.createTracker)({
|
|
289
303
|
...providers,
|
|
290
304
|
cache,
|
|
@@ -292,16 +306,16 @@ runCmd
|
|
|
292
306
|
onProgress: createProgressCallback(),
|
|
293
307
|
});
|
|
294
308
|
const signer = opts.write ? (0, cli_1.createSigner)(opts.privateKey) : null;
|
|
295
|
-
// If --force is specified,
|
|
309
|
+
// If --force is specified, start from block 0; otherwise use provided startBlock
|
|
296
310
|
const startBlock = opts.force
|
|
297
311
|
? 0 // Force re-discovery from the beginning
|
|
298
312
|
: opts.startBlock
|
|
299
|
-
?
|
|
313
|
+
? (0, cli_1.safeParseInt)(opts.startBlock, 0) || undefined // 0 becomes undefined
|
|
300
314
|
: undefined;
|
|
301
|
-
const blockLag =
|
|
302
|
-
const maxAgeDays =
|
|
303
|
-
const intervalMs =
|
|
304
|
-
const concurrency =
|
|
315
|
+
const blockLag = (0, cli_1.safeParseInt)(opts.blockLag, cli_1.DEFAULT_BLOCK_LAG);
|
|
316
|
+
const maxAgeDays = (0, cli_1.safeParseInt)(opts.maxAgeDays, 60);
|
|
317
|
+
const intervalMs = (0, cli_1.safeParseInt)(opts.interval, 60) * 1000;
|
|
318
|
+
const concurrency = (0, cli_1.safeParseInt)(opts.concurrency, 1);
|
|
305
319
|
const gasSettings = (0, cli_1.parseGasSettings)(opts);
|
|
306
320
|
// Build discovery targets from --track-* flags
|
|
307
321
|
// If any --track-* flag is specified, only track those; otherwise track all
|
|
@@ -363,7 +377,6 @@ runCmd
|
|
|
363
377
|
concurrency,
|
|
364
378
|
targets: discoveryTargets,
|
|
365
379
|
electionsOnly,
|
|
366
|
-
forceElections: opts.force,
|
|
367
380
|
onTrack: async (r) => {
|
|
368
381
|
// Skip showing complete elections
|
|
369
382
|
if (r.result?.isElection && r.result?.isComplete) {
|
|
@@ -448,7 +461,7 @@ runCmd
|
|
|
448
461
|
}
|
|
449
462
|
}
|
|
450
463
|
catch (error) {
|
|
451
|
-
console.error(`[ELECTION] Check failed: ${error
|
|
464
|
+
console.error(`[ELECTION] Check failed: ${(0, rpc_utils_1.getErrorMessage)(error)}`);
|
|
452
465
|
}
|
|
453
466
|
}
|
|
454
467
|
}
|
|
@@ -650,7 +663,7 @@ trackCmd
|
|
|
650
663
|
}
|
|
651
664
|
}
|
|
652
665
|
catch (e) {
|
|
653
|
-
console.error(
|
|
666
|
+
console.error((0, rpc_utils_1.getErrorMessage)(e));
|
|
654
667
|
process.exit(1);
|
|
655
668
|
}
|
|
656
669
|
});
|
|
@@ -703,24 +716,28 @@ electionCmd
|
|
|
703
716
|
const signer = opts.write ? (0, cli_1.createSigner)(opts.privateKey) : null;
|
|
704
717
|
// Create tracker with cache (unless --no-cache)
|
|
705
718
|
const cachePath = opts.noCache ? undefined : opts.cache;
|
|
719
|
+
const cache = cachePath ? new index_1.FileCache(cachePath) : undefined;
|
|
720
|
+
// If --force is specified, clear cache at start to ensure fresh tracking
|
|
721
|
+
if (opts.force && cache) {
|
|
722
|
+
await cache.clear();
|
|
723
|
+
}
|
|
706
724
|
const tracker = (0, index_1.createTracker)({
|
|
707
725
|
...providers,
|
|
708
|
-
|
|
726
|
+
cache,
|
|
709
727
|
});
|
|
710
728
|
// Import election tracking functions for detailed queries
|
|
711
729
|
const { getNomineeElectionDetails, getMemberElectionDetails, prepareMemberElectionTrigger, prepareMemberElectionExecution, } = await Promise.resolve().then(() => __importStar(require("../index")));
|
|
712
730
|
// --list: Show all elections (uses cached data for completed elections)
|
|
713
731
|
if (opts.list) {
|
|
714
732
|
console.log("Fetching all elections...\n");
|
|
715
|
-
|
|
716
|
-
const elections = await tracker.trackAllElections({ force: opts.force });
|
|
733
|
+
const elections = await tracker.trackAllElections();
|
|
717
734
|
if (elections.length === 0) {
|
|
718
735
|
console.log("No elections found.");
|
|
719
736
|
return;
|
|
720
737
|
}
|
|
721
738
|
console.log(`=== Security Council Elections (${elections.length} total) ===\n`);
|
|
722
739
|
for (const election of elections) {
|
|
723
|
-
const cohortName = election.cohort
|
|
740
|
+
const cohortName = (0, formatters_1.getCohortName)(election.cohort);
|
|
724
741
|
console.log(`Election #${election.electionIndex}`);
|
|
725
742
|
console.log(` Phase: ${election.phase}`);
|
|
726
743
|
console.log(` Cohort: ${cohortName} (${election.cohort})`);
|
|
@@ -741,11 +758,15 @@ electionCmd
|
|
|
741
758
|
}
|
|
742
759
|
return;
|
|
743
760
|
}
|
|
744
|
-
// --track <index>: Track specific election (uses cache unless --force)
|
|
761
|
+
// --track <index>: Track specific election (uses cache unless --force cleared it)
|
|
745
762
|
if (opts.track !== undefined) {
|
|
746
763
|
const electionIndex = parseInt(opts.track, 10);
|
|
764
|
+
if (isNaN(electionIndex) || electionIndex < 0) {
|
|
765
|
+
console.error(`Invalid election index: ${opts.track}`);
|
|
766
|
+
process.exit(1);
|
|
767
|
+
}
|
|
747
768
|
console.log(`Tracking election #${electionIndex}...\n`);
|
|
748
|
-
const election = await tracker.trackElection(electionIndex
|
|
769
|
+
const election = await tracker.trackElection(electionIndex);
|
|
749
770
|
// Use shared formatter for consistent output with stages
|
|
750
771
|
console.log((0, cli_1.formatElectionResult)(election));
|
|
751
772
|
// Show detailed info if requested
|
|
@@ -870,10 +891,10 @@ electionCmd
|
|
|
870
891
|
}
|
|
871
892
|
}
|
|
872
893
|
catch (error) {
|
|
873
|
-
console.error("Election check failed:",
|
|
894
|
+
console.error("Election check failed:", (0, rpc_utils_1.getErrorMessage)(error));
|
|
874
895
|
}
|
|
875
896
|
}
|
|
876
|
-
const intervalMs =
|
|
897
|
+
const intervalMs = (0, cli_1.safeParseInt)(opts.interval, 60) * 1000;
|
|
877
898
|
if (opts.loop) {
|
|
878
899
|
console.log(`Running in loop mode, checking every ${opts.interval} seconds...`);
|
|
879
900
|
if (opts.healthCheckUrl)
|