@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.
Files changed (210) hide show
  1. package/README.md +18 -10
  2. package/dist/calldata/decoder.d.ts.map +1 -1
  3. package/dist/calldata/decoder.js +33 -28
  4. package/dist/calldata/decoder.js.map +1 -1
  5. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  6. package/dist/calldata/parameter-decoder.js +19 -25
  7. package/dist/calldata/parameter-decoder.js.map +1 -1
  8. package/dist/calldata/retryable-ticket.d.ts +2 -2
  9. package/dist/calldata/retryable-ticket.d.ts.map +1 -1
  10. package/dist/calldata/retryable-ticket.js +17 -12
  11. package/dist/calldata/retryable-ticket.js.map +1 -1
  12. package/dist/calldata/signature-lookup.js +5 -4
  13. package/dist/calldata/signature-lookup.js.map +1 -1
  14. package/dist/cli/cli.js +41 -20
  15. package/dist/cli/cli.js.map +1 -1
  16. package/dist/cli/lib/cli.d.ts +4 -2
  17. package/dist/cli/lib/cli.d.ts.map +1 -1
  18. package/dist/cli/lib/cli.js +34 -18
  19. package/dist/cli/lib/cli.js.map +1 -1
  20. package/dist/cli/lib/election-check.d.ts.map +1 -1
  21. package/dist/cli/lib/election-check.js +2 -1
  22. package/dist/cli/lib/election-check.js.map +1 -1
  23. package/dist/cli/lib/json-state.js +1 -1
  24. package/dist/cli/lib/json-state.js.map +1 -1
  25. package/dist/cli/tui/components/StageProgress.js +1 -1
  26. package/dist/cli/tui/components/StageProgress.js.map +1 -1
  27. package/dist/cli/tui/components/StageRow.d.ts.map +1 -1
  28. package/dist/cli/tui/components/StageRow.js +15 -20
  29. package/dist/cli/tui/components/StageRow.js.map +1 -1
  30. package/dist/cli/tui/components/VotingStats.d.ts.map +1 -1
  31. package/dist/cli/tui/components/VotingStats.js +2 -1
  32. package/dist/cli/tui/components/VotingStats.js.map +1 -1
  33. package/dist/cli/tui/hooks/useCache.d.ts.map +1 -1
  34. package/dist/cli/tui/hooks/useCache.js +2 -1
  35. package/dist/cli/tui/hooks/useCache.js.map +1 -1
  36. package/dist/cli/tui/hooks/useElectionData.d.ts.map +1 -1
  37. package/dist/cli/tui/hooks/useElectionData.js +3 -2
  38. package/dist/cli/tui/hooks/useElectionData.js.map +1 -1
  39. package/dist/cli/tui/hooks/useNavigation.d.ts.map +1 -1
  40. package/dist/cli/tui/hooks/useNavigation.js +2 -3
  41. package/dist/cli/tui/hooks/useNavigation.js.map +1 -1
  42. package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -1
  43. package/dist/cli/tui/hooks/useProposals.js +26 -36
  44. package/dist/cli/tui/hooks/useProposals.js.map +1 -1
  45. package/dist/cli/tui/hooks/useStageCalldata.d.ts.map +1 -1
  46. package/dist/cli/tui/hooks/useStageCalldata.js +2 -1
  47. package/dist/cli/tui/hooks/useStageCalldata.js.map +1 -1
  48. package/dist/cli/tui/utils/index.d.ts +7 -7
  49. package/dist/cli/tui/utils/index.d.ts.map +1 -1
  50. package/dist/cli/tui/utils/index.js +18 -13
  51. package/dist/cli/tui/utils/index.js.map +1 -1
  52. package/dist/cli/tui/utils/markdown-parser.d.ts +5 -0
  53. package/dist/cli/tui/utils/markdown-parser.d.ts.map +1 -1
  54. package/dist/cli/tui/utils/markdown-parser.js +16 -0
  55. package/dist/cli/tui/utils/markdown-parser.js.map +1 -1
  56. package/dist/cli/tui/utils/navigation.d.ts +1 -0
  57. package/dist/cli/tui/utils/navigation.d.ts.map +1 -1
  58. package/dist/cli/tui/utils/navigation.js +9 -5
  59. package/dist/cli/tui/utils/navigation.js.map +1 -1
  60. package/dist/cli/tui/utils/proposal-detail-helpers.js +6 -6
  61. package/dist/cli/tui/utils/proposal-detail-helpers.js.map +1 -1
  62. package/dist/cli/tui/utils/stage-status.d.ts +4 -0
  63. package/dist/cli/tui/utils/stage-status.d.ts.map +1 -1
  64. package/dist/cli/tui/utils/stage-status.js +47 -1
  65. package/dist/cli/tui/utils/stage-status.js.map +1 -1
  66. package/dist/cli/tui/utils/time.d.ts +4 -4
  67. package/dist/cli/tui/utils/time.d.ts.map +1 -1
  68. package/dist/cli/tui/utils/time.js +13 -11
  69. package/dist/cli/tui/utils/time.js.map +1 -1
  70. package/dist/cli/tui/views/CalldataView.d.ts.map +1 -1
  71. package/dist/cli/tui/views/CalldataView.js +3 -2
  72. package/dist/cli/tui/views/CalldataView.js.map +1 -1
  73. package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -1
  74. package/dist/cli/tui/views/DescriptionView.js +4 -2
  75. package/dist/cli/tui/views/DescriptionView.js.map +1 -1
  76. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
  77. package/dist/cli/tui/views/ElectionView.js +4 -9
  78. package/dist/cli/tui/views/ElectionView.js.map +1 -1
  79. package/dist/constants.d.ts +11 -23
  80. package/dist/constants.d.ts.map +1 -1
  81. package/dist/constants.js +22 -20
  82. package/dist/constants.js.map +1 -1
  83. package/dist/deduplication.d.ts.map +1 -1
  84. package/dist/deduplication.js +34 -54
  85. package/dist/deduplication.js.map +1 -1
  86. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  87. package/dist/discovery/governor-discovery.js +7 -10
  88. package/dist/discovery/governor-discovery.js.map +1 -1
  89. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  90. package/dist/discovery/timelock-discovery.js +27 -30
  91. package/dist/discovery/timelock-discovery.js.map +1 -1
  92. package/dist/election/contracts.d.ts.map +1 -1
  93. package/dist/election/contracts.js +4 -1
  94. package/dist/election/contracts.js.map +1 -1
  95. package/dist/election/details.d.ts.map +1 -1
  96. package/dist/election/details.js +7 -3
  97. package/dist/election/details.js.map +1 -1
  98. package/dist/election/params.d.ts.map +1 -1
  99. package/dist/election/params.js +3 -12
  100. package/dist/election/params.js.map +1 -1
  101. package/dist/election/participants.d.ts.map +1 -1
  102. package/dist/election/participants.js +21 -26
  103. package/dist/election/participants.js.map +1 -1
  104. package/dist/election/proposal-ids.js +17 -20
  105. package/dist/election/proposal-ids.js.map +1 -1
  106. package/dist/election/status.d.ts.map +1 -1
  107. package/dist/election/status.js +6 -0
  108. package/dist/election/status.js.map +1 -1
  109. package/dist/index.d.ts +23 -13
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +37 -13
  112. package/dist/index.js.map +1 -1
  113. package/dist/simulation/index.d.ts +4 -1
  114. package/dist/simulation/index.d.ts.map +1 -1
  115. package/dist/simulation/index.js +5 -1
  116. package/dist/simulation/index.js.map +1 -1
  117. package/dist/simulation/simulation-data.d.ts +33 -2
  118. package/dist/simulation/simulation-data.d.ts.map +1 -1
  119. package/dist/simulation/simulation-data.js +68 -24
  120. package/dist/simulation/simulation-data.js.map +1 -1
  121. package/dist/simulation/tenderly-payloads.d.ts +107 -0
  122. package/dist/simulation/tenderly-payloads.d.ts.map +1 -0
  123. package/dist/simulation/tenderly-payloads.js +103 -0
  124. package/dist/simulation/tenderly-payloads.js.map +1 -0
  125. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  126. package/dist/stages/l2-to-l1-message.js +43 -63
  127. package/dist/stages/l2-to-l1-message.js.map +1 -1
  128. package/dist/stages/retryables.d.ts.map +1 -1
  129. package/dist/stages/retryables.js +10 -9
  130. package/dist/stages/retryables.js.map +1 -1
  131. package/dist/stages/timelock.d.ts +4 -2
  132. package/dist/stages/timelock.d.ts.map +1 -1
  133. package/dist/stages/timelock.js +45 -53
  134. package/dist/stages/timelock.js.map +1 -1
  135. package/dist/stages/utils.d.ts +56 -1
  136. package/dist/stages/utils.d.ts.map +1 -1
  137. package/dist/stages/utils.js +146 -30
  138. package/dist/stages/utils.js.map +1 -1
  139. package/dist/tracker/bundled-cache.d.ts +136 -0
  140. package/dist/tracker/bundled-cache.d.ts.map +1 -0
  141. package/dist/tracker/bundled-cache.js +207 -0
  142. package/dist/tracker/bundled-cache.js.map +1 -0
  143. package/dist/tracker/checkpoint-helpers.d.ts +20 -1
  144. package/dist/tracker/checkpoint-helpers.d.ts.map +1 -1
  145. package/dist/tracker/checkpoint-helpers.js +41 -7
  146. package/dist/tracker/checkpoint-helpers.js.map +1 -1
  147. package/dist/tracker/discovery.d.ts +3 -0
  148. package/dist/tracker/discovery.d.ts.map +1 -1
  149. package/dist/tracker/discovery.js +59 -34
  150. package/dist/tracker/discovery.js.map +1 -1
  151. package/dist/tracker/pipeline.d.ts +3 -10
  152. package/dist/tracker/pipeline.d.ts.map +1 -1
  153. package/dist/tracker/pipeline.js +18 -32
  154. package/dist/tracker/pipeline.js.map +1 -1
  155. package/dist/tracker/query.d.ts +1 -0
  156. package/dist/tracker/query.d.ts.map +1 -1
  157. package/dist/tracker/query.js +28 -36
  158. package/dist/tracker/query.js.map +1 -1
  159. package/dist/tracker/state.d.ts +3 -2
  160. package/dist/tracker/state.d.ts.map +1 -1
  161. package/dist/tracker/state.js +5 -4
  162. package/dist/tracker/state.js.map +1 -1
  163. package/dist/tracker.d.ts +33 -11
  164. package/dist/tracker.d.ts.map +1 -1
  165. package/dist/tracker.js +76 -43
  166. package/dist/tracker.js.map +1 -1
  167. package/dist/types/config.d.ts +39 -3
  168. package/dist/types/config.d.ts.map +1 -1
  169. package/dist/types/index.d.ts +1 -1
  170. package/dist/types/index.d.ts.map +1 -1
  171. package/dist/types/index.js.map +1 -1
  172. package/dist/types/simulation.d.ts +2 -2
  173. package/dist/types/simulation.d.ts.map +1 -1
  174. package/dist/utils/chain.d.ts +5 -1
  175. package/dist/utils/chain.d.ts.map +1 -1
  176. package/dist/utils/chain.js +7 -0
  177. package/dist/utils/chain.js.map +1 -1
  178. package/dist/utils/formatters.d.ts +2 -6
  179. package/dist/utils/formatters.d.ts.map +1 -1
  180. package/dist/utils/formatters.js +9 -12
  181. package/dist/utils/formatters.js.map +1 -1
  182. package/dist/utils/log-filters.js +1 -1
  183. package/dist/utils/log-filters.js.map +1 -1
  184. package/dist/utils/multicall.d.ts +0 -1
  185. package/dist/utils/multicall.d.ts.map +1 -1
  186. package/dist/utils/rpc-utils.d.ts +5 -0
  187. package/dist/utils/rpc-utils.d.ts.map +1 -1
  188. package/dist/utils/rpc-utils.js +9 -1
  189. package/dist/utils/rpc-utils.js.map +1 -1
  190. package/dist/utils/stage-metadata.d.ts +19 -0
  191. package/dist/utils/stage-metadata.d.ts.map +1 -1
  192. package/dist/utils/stage-metadata.js +44 -0
  193. package/dist/utils/stage-metadata.js.map +1 -1
  194. package/dist/utils/timing.d.ts +3 -10
  195. package/dist/utils/timing.d.ts.map +1 -1
  196. package/dist/utils/timing.js +9 -22
  197. package/dist/utils/timing.js.map +1 -1
  198. package/package.json +1 -1
  199. package/dist/cli/tui/utils/calldata-formatter.d.ts +0 -7
  200. package/dist/cli/tui/utils/calldata-formatter.d.ts.map +0 -1
  201. package/dist/cli/tui/utils/calldata-formatter.js +0 -14
  202. package/dist/cli/tui/utils/calldata-formatter.js.map +0 -1
  203. package/dist/cli/tui/utils/stage-formatter.d.ts +0 -7
  204. package/dist/cli/tui/utils/stage-formatter.d.ts.map +0 -1
  205. package/dist/cli/tui/utils/stage-formatter.js +0 -13
  206. package/dist/cli/tui/utils/stage-formatter.js.map +0 -1
  207. package/dist/cli/tui/utils/text.d.ts +0 -7
  208. package/dist/cli/tui/utils/text.d.ts.map +0 -1
  209. package/dist/cli/tui/utils/text.js +0 -12
  210. 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 { ethers } from "ethers";
19
- import { createTracker, findExecutableStage, ADDRESSES } from "@gzeoneth/gov-tracker";
18
+ import { createTracker, findExecutableStage } from "@gzeoneth/gov-tracker";
20
19
 
21
- // Use StaticJsonRpcProvider for better performance
20
+ // Accepts RPC URLs directly (or ethers Provider objects)
22
21
  const tracker = createTracker({
23
- l2Provider: new ethers.providers.StaticJsonRpcProvider(process.env.ARB1_RPC),
24
- l1Provider: new ethers.providers.StaticJsonRpcProvider(process.env.ETH_RPC),
25
- novaProvider: new ethers.providers.StaticJsonRpcProvider(process.env.NOVA_RPC),
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;AA4GD;;;;;;;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"}
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"}
@@ -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
- // Determine L2 chain context for address labeling and nested decoding
132
- const l2ChainContext = retryable.chain === "nova" || retryable.chain === "arb1" ? retryable.chain : undefined;
133
- // Decode l2Calldata with L2 chain context only if chain is known
134
- let nestedL2Call;
135
- if (l2ChainContext && (0, parameter_decoder_1.isLikelyCalldata)(retryable.l2Calldata)) {
136
- nestedL2Call = await decodeCalldata(retryable.l2Calldata, retryable.l2Target, depth + 1, l2ChainContext);
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
- // Create retryable structure with decoded L2 call
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;AAoHD,kDAQC;AAyBD,4DA8CC;AA/SD,kDAA0B;AAG1B,yDAAqD;AACrD,2DAK6B;AAC7B,yDAAmF;AAEnF,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,sBAAsB,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB;;GAEG;AACH,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAE5C;;;;;;;;GAQG;AACI,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,aAAsB,EACtB,KAAK,GAAG,CAAC,EACT,eAAsB,MAAM;IAE5B,mCAAmC;IACnC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC3D,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE,QAAQ,IAAI,IAAI;YACrB,cAAc,EAAE,QAAQ;SACzB,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAErD,mBAAmB;IACnB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,kCAAe,EAAC,QAAQ,CAAC,CAAC;IAE9D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,KAAK,CAAC,oCAAoC,EAAE,QAAQ,CAAC,CAAC;QACtD,OAAO;YACL,QAAQ;YACR,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE,QAAQ;YACb,cAAc,EAAE,QAAQ;SACzB,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,2CAA2C;IAC3C,MAAM,YAAY,GAAG,QAAQ,KAAK,sBAAsB,CAAC;IACzD,MAAM,aAAa,GAAU,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IAEtE,oBAAoB;IACpB,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAEpE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,CAAC,qCAAqC,EAAE,SAAS,CAAC,CAAC;QACxD,OAAO;YACL,QAAQ;YACR,SAAS;YACT,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE,QAAQ;YACb,cAAc,EAAE,MAAM;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAEhD,qEAAqE;IACrE,IAAI,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAA,mCAAe,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,KAAK;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5C,CAAC;IAED,6CAA6C;IAC7C,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QACtB,MAAM,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAClF,CAAC;IAED,OAAO;QACL,QAAQ;QACR,SAAS;QACT,UAAU,EAAE,MAAM;QAClB,GAAG,EAAE,QAAQ;QACb,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE,aAAa;KAC9B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAChC,MAA0B,EAC1B,UAAqB,EACrB,YAAmB,EACnB,KAAa;IAEb,oEAAoE;IACpE,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IACrE,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,kCAAkC;IAClC,IAAI,gBAAoC,CAAC;IAEzC,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEtC,qEAAqE;QACrE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,uDAAuD;QACvD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACrD,MAAM,WAAW,GAAsB,EAAE,CAAC;YAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrD,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC;gBAE5D,mCAAmC;gBACnC,IAAI,MAAM,IAAI,IAAA,yCAAsB,EAAC,MAAM,CAAC,EAAE,CAAC;oBAC7C,MAAM,SAAS,GAAG,IAAA,wCAAqB,EAAC,SAAS,CAAC,CAAC;oBACnD,sEAAsE;oBACtE,MAAM,cAAc,GAClB,SAAS,CAAC,KAAK,KAAK,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBAEzF,iEAAiE;oBACjE,IAAI,YAAyC,CAAC;oBAC9C,IAAI,cAAc,IAAI,IAAA,oCAAgB,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC7D,YAAY,GAAG,MAAM,cAAc,CACjC,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,QAAQ,EAClB,KAAK,GAAG,CAAC,EACT,cAAc,CACf,CAAC;oBACJ,CAAC;oBAED,kDAAkD;oBAClD,MAAM,gBAAgB,GAAoB;wBACxC,QAAQ,EAAE,EAAE;wBACZ,SAAS,EAAE,IAAI;wBACf,WAAW,EAAE,IAAI;wBACjB,UAAU,EAAE;4BACV,IAAA,+BAAW,EAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;4BAC7E,IAAA,+BAAW,EAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;4BACjF,IAAA,+BAAW,EAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC;4BACpD,IAAA,+BAAW,EAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;4BACtD,IAAA,+BAAW,EAAC,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC;4BAC9D,IAAA,+BAAW,EAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;gCACvD,QAAQ,EAAE,CAAC,CAAC,YAAY;gCACxB,MAAM,EAAE,YAAY;6BACrB,CAAC;yBACH;wBACD,GAAG,EAAE,SAAS;wBACd,cAAc,EAAE,OAAO;wBACvB,WAAW,EAAE,SAAS,CAAC,KAAK;qBAC7B,CAAC;oBAEF,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACnC,SAAS;gBACX,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,IAAA,oCAAgB,EAAC,SAAS,CAAC,EAAE,CAAC;oBAChC,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;oBACrF,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;YAClC,CAAC;QACH,CAAC;QAED,gCAAgC;aAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,IAAA,oCAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,8CAA8C;gBAC9C,KAAK,CAAC,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,mBAAmB,CACvC,SAAmB,EACnB,OAAiB,EACjB,eAAsB,MAAM;IAE5B,OAAO,OAAO,CAAC,GAAG,CAChB,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CACtF,CAAC;AACJ,CAAC;AAiBD;;;;;;;GAOG;AACH,SAAgB,wBAAwB,CAAC,KAAmB;IAC1D,oFAAoF;IACpF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAuC,CAAC;IAC3D,MAAM,MAAM,GAAsB,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAE7E,oDAAoD;IACpD,yFAAyF;IACzF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAEjC,8EAA8E;QAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,SAAS,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;IACxF,CAAC;IAED,wDAAwD;IACxD,mFAAmF;IACnF,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC5C,8EAA8E;YAC9E,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,QAAQ,GACZ,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;YACtF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
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;AAgEtC;;;;;;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"}
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
- // Governors
23
- "0xf07DeD9dC292157749B6Fd268E37DF6EA38395B9": "Core Governor",
24
- "0x789fC99093B09aD01C34DC7251D0C89ce743e5a4": "Treasury Governor",
25
- "0x8a1cDA8dee421cD06023470608605934c16A05a0": "Nominee Election Governor",
26
- "0x467923B9AE90BDB36BA88eCA11604D45F13b712C": "Member Election Governor",
27
- // Timelocks
28
- "0x34d45e99f7D8c45ed05B5cA72D54bbD1fb3F98f0": "L2 Core Timelock",
29
- "0xbFc1FECa8B09A5c5D3EFfE7429eBE24b9c09EF58": "L2 Treasury Timelock",
30
- // Other contracts
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
- // Timelock
43
- "0xE6841D92B0C345144506576eC13ECf5103aC7f49": "L1 Timelock",
44
- // UpgradeExecutor
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":"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"}
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,CAiBxE"}
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
- const decoded = ethers_1.ethers.utils.defaultAbiCoder.decode(["address", "address", "uint256", "uint256", "uint256", "bytes"], bytes);
68
- const chain = detectChainFromInbox(decoded[0]);
69
- return {
70
- targetInbox: decoded[0],
71
- l2Target: decoded[1],
72
- l2Value: decoded[2].toString(),
73
- gasLimit: decoded[3].toString(),
74
- maxFeePerGas: decoded[4].toString(),
75
- l2Calldata: decoded[5],
76
- chain,
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,sDAiBC;AA5ED,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,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;IAEF,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC,CAAC;IAEzD,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC9B,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/B,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACnC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACtB,KAAK;KACN,CAAC;AACJ,CAAC"}
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":"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"}
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
- const pkg = JSON.parse(fs.readFileSync(candidate, "utf8"));
98
- return pkg.version || "unknown";
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, clear cache for this run by using a fresh start block
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
- ? parseInt(opts.startBlock, 10)
313
+ ? (0, cli_1.safeParseInt)(opts.startBlock, 0) || undefined // 0 becomes undefined
300
314
  : undefined;
301
- const blockLag = parseInt(opts.blockLag, 10);
302
- const maxAgeDays = parseInt(opts.maxAgeDays, 10);
303
- const intervalMs = parseInt(opts.interval, 10) * 1000;
304
- const concurrency = parseInt(opts.concurrency, 10);
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.message}`);
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(e.message);
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
- cachePath,
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
- // Use --force to bypass cache and re-track all elections
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 === 0 ? "First" : "Second";
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, { force: opts.force });
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:", error.message);
894
+ console.error("Election check failed:", (0, rpc_utils_1.getErrorMessage)(error));
874
895
  }
875
896
  }
876
- const intervalMs = parseInt(opts.interval, 10) * 1000;
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)