@gzeoneth/gov-tracker 0.2.1-beta.682a255 → 0.2.1-beta.746bfec

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 (197) hide show
  1. package/README.md +126 -80
  2. package/dist/abis.d.ts +3 -0
  3. package/dist/abis.d.ts.map +1 -1
  4. package/dist/abis.js +30 -2
  5. package/dist/abis.js.map +1 -1
  6. package/dist/calldata/index.d.ts +1 -1
  7. package/dist/calldata/index.d.ts.map +1 -1
  8. package/dist/calldata/index.js.map +1 -1
  9. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  10. package/dist/calldata/parameter-decoder.js +8 -1
  11. package/dist/calldata/parameter-decoder.js.map +1 -1
  12. package/dist/calldata/signature-lookup.d.ts +17 -2
  13. package/dist/calldata/signature-lookup.d.ts.map +1 -1
  14. package/dist/calldata/signature-lookup.js +20 -2
  15. package/dist/calldata/signature-lookup.js.map +1 -1
  16. package/dist/cli/cli.d.ts +21 -0
  17. package/dist/cli/cli.d.ts.map +1 -0
  18. package/dist/cli/{monitor.js → cli.js} +315 -46
  19. package/dist/cli/cli.js.map +1 -0
  20. package/dist/cli/lib/cli.d.ts +54 -3
  21. package/dist/cli/lib/cli.d.ts.map +1 -1
  22. package/dist/cli/lib/cli.js +384 -75
  23. package/dist/cli/lib/cli.js.map +1 -1
  24. package/dist/cli/lib/concurrency.d.ts +20 -0
  25. package/dist/cli/lib/concurrency.d.ts.map +1 -0
  26. package/dist/cli/lib/concurrency.js +32 -0
  27. package/dist/cli/lib/concurrency.js.map +1 -0
  28. package/dist/cli/lib/json-state.d.ts +23 -0
  29. package/dist/cli/lib/json-state.d.ts.map +1 -1
  30. package/dist/cli/lib/json-state.js +51 -4
  31. package/dist/cli/lib/json-state.js.map +1 -1
  32. package/dist/constants.d.ts +39 -0
  33. package/dist/constants.d.ts.map +1 -1
  34. package/dist/constants.js +47 -1
  35. package/dist/constants.js.map +1 -1
  36. package/dist/data/bundled-cache.json +11807 -2559
  37. package/dist/deduplication.d.ts +132 -0
  38. package/dist/deduplication.d.ts.map +1 -0
  39. package/dist/deduplication.js +270 -0
  40. package/dist/deduplication.js.map +1 -0
  41. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  42. package/dist/discovery/governor-discovery.js +52 -36
  43. package/dist/discovery/governor-discovery.js.map +1 -1
  44. package/dist/discovery/timelock-discovery.d.ts +15 -6
  45. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  46. package/dist/discovery/timelock-discovery.js +27 -11
  47. package/dist/discovery/timelock-discovery.js.map +1 -1
  48. package/dist/election/contracts.d.ts +8 -0
  49. package/dist/election/contracts.d.ts.map +1 -0
  50. package/dist/election/contracts.js +28 -0
  51. package/dist/election/contracts.js.map +1 -0
  52. package/dist/election/details.d.ts +15 -0
  53. package/dist/election/details.d.ts.map +1 -0
  54. package/dist/election/details.js +157 -0
  55. package/dist/election/details.js.map +1 -0
  56. package/dist/election/index.d.ts +11 -0
  57. package/dist/election/index.d.ts.map +1 -0
  58. package/dist/election/index.js +48 -0
  59. package/dist/election/index.js.map +1 -0
  60. package/dist/election/params.d.ts +13 -0
  61. package/dist/election/params.d.ts.map +1 -0
  62. package/dist/election/params.js +93 -0
  63. package/dist/election/params.js.map +1 -0
  64. package/dist/election/participants.d.ts +6 -0
  65. package/dist/election/participants.d.ts.map +1 -0
  66. package/dist/election/participants.js +102 -0
  67. package/dist/election/participants.js.map +1 -0
  68. package/dist/election/prepare.d.ts +10 -0
  69. package/dist/election/prepare.d.ts.map +1 -0
  70. package/dist/election/prepare.js +52 -0
  71. package/dist/election/prepare.js.map +1 -0
  72. package/dist/election/proposal-ids.d.ts +18 -0
  73. package/dist/election/proposal-ids.d.ts.map +1 -0
  74. package/dist/election/proposal-ids.js +77 -0
  75. package/dist/election/proposal-ids.js.map +1 -0
  76. package/dist/election/status.d.ts +15 -0
  77. package/dist/election/status.d.ts.map +1 -0
  78. package/dist/election/status.js +102 -0
  79. package/dist/election/status.js.map +1 -0
  80. package/dist/election/tracking.d.ts +28 -0
  81. package/dist/election/tracking.d.ts.map +1 -0
  82. package/dist/election/tracking.js +412 -0
  83. package/dist/election/tracking.js.map +1 -0
  84. package/dist/index.d.ts +30 -7
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +94 -9
  87. package/dist/index.js.map +1 -1
  88. package/dist/stages/builder.d.ts +4 -0
  89. package/dist/stages/builder.d.ts.map +1 -1
  90. package/dist/stages/builder.js +7 -0
  91. package/dist/stages/builder.js.map +1 -1
  92. package/dist/stages/l2-to-l1-message.d.ts +8 -1
  93. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  94. package/dist/stages/l2-to-l1-message.js +79 -13
  95. package/dist/stages/l2-to-l1-message.js.map +1 -1
  96. package/dist/stages/proposal-created.d.ts +1 -0
  97. package/dist/stages/proposal-created.d.ts.map +1 -1
  98. package/dist/stages/proposal-created.js +1 -0
  99. package/dist/stages/proposal-created.js.map +1 -1
  100. package/dist/stages/proposal-queued.d.ts +1 -0
  101. package/dist/stages/proposal-queued.d.ts.map +1 -1
  102. package/dist/stages/proposal-queued.js +3 -1
  103. package/dist/stages/proposal-queued.js.map +1 -1
  104. package/dist/stages/retryables.js +2 -2
  105. package/dist/stages/retryables.js.map +1 -1
  106. package/dist/stages/timelock.d.ts +3 -1
  107. package/dist/stages/timelock.d.ts.map +1 -1
  108. package/dist/stages/timelock.js +10 -4
  109. package/dist/stages/timelock.js.map +1 -1
  110. package/dist/stages/utils.d.ts +7 -8
  111. package/dist/stages/utils.d.ts.map +1 -1
  112. package/dist/stages/utils.js +40 -27
  113. package/dist/stages/utils.js.map +1 -1
  114. package/dist/stages/voting.d.ts.map +1 -1
  115. package/dist/stages/voting.js +5 -4
  116. package/dist/stages/voting.js.map +1 -1
  117. package/dist/tracker/cache.d.ts +10 -6
  118. package/dist/tracker/cache.d.ts.map +1 -1
  119. package/dist/tracker/cache.js +39 -15
  120. package/dist/tracker/cache.js.map +1 -1
  121. package/dist/tracker/checkpoint-helpers.d.ts +63 -0
  122. package/dist/tracker/checkpoint-helpers.d.ts.map +1 -0
  123. package/dist/tracker/checkpoint-helpers.js +176 -0
  124. package/dist/tracker/checkpoint-helpers.js.map +1 -0
  125. package/dist/tracker/discovery.d.ts +40 -9
  126. package/dist/tracker/discovery.d.ts.map +1 -1
  127. package/dist/tracker/discovery.js +152 -15
  128. package/dist/tracker/discovery.js.map +1 -1
  129. package/dist/tracker/pipeline.d.ts.map +1 -1
  130. package/dist/tracker/pipeline.js +26 -11
  131. package/dist/tracker/pipeline.js.map +1 -1
  132. package/dist/tracker/query.d.ts +1 -0
  133. package/dist/tracker/query.d.ts.map +1 -1
  134. package/dist/tracker/query.js +14 -61
  135. package/dist/tracker/query.js.map +1 -1
  136. package/dist/tracker/state.d.ts +0 -10
  137. package/dist/tracker/state.d.ts.map +1 -1
  138. package/dist/tracker/state.js +1 -28
  139. package/dist/tracker/state.js.map +1 -1
  140. package/dist/tracker.d.ts +86 -4
  141. package/dist/tracker.d.ts.map +1 -1
  142. package/dist/tracker.js +311 -13
  143. package/dist/tracker.js.map +1 -1
  144. package/dist/types/config.d.ts +49 -0
  145. package/dist/types/config.d.ts.map +1 -1
  146. package/dist/types/core.d.ts +4 -2
  147. package/dist/types/core.d.ts.map +1 -1
  148. package/dist/types/election.d.ts +143 -0
  149. package/dist/types/election.d.ts.map +1 -1
  150. package/dist/types/index.d.ts +5 -7
  151. package/dist/types/index.d.ts.map +1 -1
  152. package/dist/types/index.js +2 -3
  153. package/dist/types/index.js.map +1 -1
  154. package/dist/types/stages.d.ts +79 -1
  155. package/dist/types/stages.d.ts.map +1 -1
  156. package/dist/types/stages.js.map +1 -1
  157. package/dist/types/tracking.d.ts +34 -4
  158. package/dist/types/tracking.d.ts.map +1 -1
  159. package/dist/utils/block-cache.d.ts +50 -0
  160. package/dist/utils/block-cache.d.ts.map +1 -0
  161. package/dist/utils/block-cache.js +80 -0
  162. package/dist/utils/block-cache.js.map +1 -0
  163. package/dist/utils/formatters.d.ts +91 -0
  164. package/dist/utils/formatters.d.ts.map +1 -0
  165. package/dist/utils/formatters.js +327 -0
  166. package/dist/utils/formatters.js.map +1 -0
  167. package/dist/utils/multicall.d.ts +52 -0
  168. package/dist/utils/multicall.d.ts.map +1 -0
  169. package/dist/utils/multicall.js +75 -0
  170. package/dist/utils/multicall.js.map +1 -0
  171. package/dist/utils/salt-computation.d.ts.map +1 -1
  172. package/dist/utils/salt-computation.js +33 -7
  173. package/dist/utils/salt-computation.js.map +1 -1
  174. package/dist/utils/sanitize.d.ts +28 -0
  175. package/dist/utils/sanitize.d.ts.map +1 -0
  176. package/dist/utils/sanitize.js +52 -0
  177. package/dist/utils/sanitize.js.map +1 -0
  178. package/dist/utils/stage-metadata.d.ts +0 -20
  179. package/dist/utils/stage-metadata.d.ts.map +1 -1
  180. package/dist/utils/stage-metadata.js +29 -44
  181. package/dist/utils/stage-metadata.js.map +1 -1
  182. package/dist/utils/timing.d.ts +13 -0
  183. package/dist/utils/timing.d.ts.map +1 -1
  184. package/dist/utils/timing.js +37 -1
  185. package/dist/utils/timing.js.map +1 -1
  186. package/package.json +25 -16
  187. package/dist/cli/monitor.d.ts +0 -3
  188. package/dist/cli/monitor.d.ts.map +0 -1
  189. package/dist/cli/monitor.js.map +0 -1
  190. package/dist/election.d.ts +0 -172
  191. package/dist/election.d.ts.map +0 -1
  192. package/dist/election.js +0 -467
  193. package/dist/election.js.map +0 -1
  194. package/dist/types/cross-chain.d.ts +0 -24
  195. package/dist/types/cross-chain.d.ts.map +0 -1
  196. package/dist/types/cross-chain.js +0 -6
  197. package/dist/types/cross-chain.js.map +0 -1
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * A lightweight, high-performance library for tracking Arbitrum DAO
6
6
  * governance proposal lifecycle stages.
7
7
  *
8
- * @example
8
+ * @example Basic usage (Node.js)
9
9
  * ```typescript
10
10
  * import { createTracker, findExecutableStage } from "@gzeoneth/gov-tracker";
11
11
  *
@@ -23,12 +23,31 @@
23
23
  * }
24
24
  * }
25
25
  * ```
26
+ *
27
+ * @example Browser usage with LocalStorageCache
28
+ * ```typescript
29
+ * import { createTracker, LocalStorageCache } from "@gzeoneth/gov-tracker";
30
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
31
+ *
32
+ * // Initialize cache with bundled data for faster first load
33
+ * const cache = new LocalStorageCache("arb-gov:");
34
+ * for (const [key, checkpoint] of Object.entries(bundledCache)) {
35
+ * await cache.set(key, checkpoint);
36
+ * }
37
+ *
38
+ * const tracker = createTracker({
39
+ * l2Provider: new ethers.providers.StaticJsonRpcProvider(ARB1_RPC),
40
+ * l1Provider: new ethers.providers.StaticJsonRpcProvider(ETH_RPC),
41
+ * cache, // Updates persist to localStorage
42
+ * });
43
+ * ```
26
44
  * @packageDocumentation
27
45
  */
28
46
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.decodeL1TimelockSchedule = exports.generateSecurityCouncilSalt = exports.saltFromDescription = exports.invalidateBlockInfoCache = exports.getL1BlockNumberFromL2 = exports.estimateTimestampFromBlock = exports.calculateRemainingSeconds = exports.calculateExpectedEta = exports.calculateEta = exports.checkVettingPeriod = exports.extractSecurityCouncilParamsForOperation = exports.extractSecurityCouncilParams = exports.isSecurityCouncilElectionProposal = exports.isSecurityCouncilOperation = exports.findCallScheduledByTxHash = exports.getTimelockState = exports.getTimelockOperationState = exports.isL1Timelock = exports.isKnownL2Timelock = exports.discoverProposalByTxHash = exports.getProposalState = exports.getTimelockAddress = exports.detectGovernorCapabilities = exports.isElectionProposal = exports.detectProposalType = exports.findStage = exports.isTimelockStage = exports.extractOperationId = exports.areAllStagesComplete = exports.getCurrentStage = exports.getTrackingStatusSummary = exports.needsAction = exports.findAllExecutableStages = exports.findExecutableStage = exports.buildDefaultTargets = exports.isElectionGovernor = exports.TIMELOCK_SELECTORS = exports.NETWORK_IDS = exports.CHUNK_SIZES = exports.DEFAULT_RPC_URLS = exports.CHAIN_IDS = exports.ADDRESSES = exports.isRetryable = exports.isL2Chain = exports.isKnownChain = exports.getStageData = exports.isStageType = exports.extractTimelockLink = exports.createTracker = exports.ProposalStageTracker = void 0;
30
- exports.prepareRetryableSimulation = exports.RETRYABLE_TICKET_MAGIC = exports.getRetryableChainName = exports.decodeRetryableTicket = exports.isRetryableTicketMagic = exports.getAddressLabel = exports.formatDecodedValue = exports.isLikelyCalldata = exports.parseParamTypes = exports.lookupLocalSignature = exports.lookupSignature = exports.decodeCalldataArray = exports.decodeCalldata = exports.prepareMemberElectionTrigger = exports.getElectionProposalParams = exports.getElectionProposalId = exports.trackElectionProposal = exports.hasVettingPeriod = exports.prepareElectionCreation = exports.checkElectionStatus = exports.isGasEstimationError = exports.getChainDisplayName = exports.chainToChainId = exports.chainIdToChain = exports.getChain = exports.isAddressIn = exports.addressEquals = exports.getTotalExpectedDuration = exports.formatStageTitle = exports.getActionableStages = exports.getAllStageMetadata = exports.getStageMetadata = exports.getStageTransactionUrl = exports.getTxUrl = exports.prepareGovernorQueue = exports.prepareRetryableStage = exports.prepareAllRetryables = exports.prepareRetryableRedemption = exports.getL2ToL1Messages = exports.prepareL2ToL1MessageStage = exports.prepareL2ToL1Message = exports.calculateBatchRetryableValues = exports.calculateRetryableExecutionValue = exports.prepareTimelockStage = exports.prepareTimelockBatch = exports.prepareTimelockOperation = exports.tryFindSalt = exports.computeAndValidateOperationHash = exports.validateSaltBatch = exports.validateSalt = void 0;
31
- exports.createTrackingState = exports.createCheckpoint = exports.getBundledCachePath = exports.MemoryCache = exports.LocalStorageCache = exports.FileCache = exports.extractAllSimulationsFromDecoded = exports.prepareCallSimulation = exports.prepareTimelockSimulation = void 0;
47
+ exports.saltFromDescription = exports.isStageStale = exports.invalidateBlockInfoCache = exports.getL1BlockNumberFromL2 = exports.estimateTimestampFromBlock = exports.calculateRemainingSeconds = exports.calculateExpectedEta = exports.calculateEta = exports.checkVettingPeriod = exports.extractSecurityCouncilParamsForOperation = exports.extractSecurityCouncilParams = exports.isSecurityCouncilElectionProposal = exports.isSecurityCouncilOperation = exports.findCallScheduledByTxHash = exports.getTimelockState = exports.getTimelockOperationState = exports.isL1Timelock = exports.isKnownL2Timelock = exports.discoverProposalByTxHash = exports.getProposalState = exports.getTimelockAddress = exports.detectGovernorCapabilities = exports.isElectionProposal = exports.detectProposalType = exports.findStage = exports.isConstitutional = exports.isTimelockStage = exports.extractOperationId = exports.areAllStagesComplete = exports.getCurrentStage = exports.getTrackingStatusSummary = exports.needsAction = exports.findAllExecutableStages = exports.findExecutableStage = exports.buildDefaultTargets = exports.isElectionGovernor = exports.TIMELOCK_SELECTORS = exports.NETWORK_IDS = exports.CHUNK_SIZES = exports.DEFAULT_RPC_URLS = exports.CHAIN_IDS = exports.ADDRESSES = exports.isRetryable = exports.isL2Chain = exports.isKnownChain = exports.getStageData = exports.isStageType = exports.extractTimelockLink = exports.createTracker = exports.ProposalStageTracker = void 0;
48
+ exports.checkElectionStatus = exports.getElectionCount = exports.toggleFoldKey = exports.getAllFoldableKeys = exports.filterVisibleLines = exports.formatDecodedCalldata = exports.getProposalIdDisplay = exports.getTxHash = exports.formatStageData = exports.CHAIN_TO_CHAIN_ID = exports.formatDate = exports.formatValue = exports.safeStringify = exports.truncate = exports.wrapText = exports.MAX_DESCRIPTION_LENGTH = exports.safeJsonParse = exports.sanitizeForDisplay = exports.truncateDescription = exports.isGasEstimationError = exports.getChainDisplayName = exports.chainToChainId = exports.chainIdToChain = exports.getChain = exports.isAddressIn = exports.addressEquals = exports.formatStageTitle = exports.getStageMetadata = exports.ELECTION_TIMING = exports.GOVERNANCE_START_BLOCKS = exports.getStageTransactionUrl = exports.getTxUrl = exports.prepareGovernorQueue = exports.prepareRetryableStage = exports.prepareAllRetryables = exports.prepareRetryableRedemption = exports.getL2ToL1Messages = exports.prepareL2ToL1MessageStage = exports.prepareL2ToL1Message = exports.calculateBatchRetryableValues = exports.calculateRetryableExecutionValue = exports.prepareTimelockStage = exports.prepareTimelockBatch = exports.prepareTimelockOperation = exports.tryFindSalt = exports.computeAndValidateOperationHash = exports.validateSaltBatch = exports.validateSalt = exports.decodeL1TimelockSchedule = exports.generateSecurityCouncilSalt = void 0;
49
+ exports.isCheckpointComplete = exports.createCheckpointMetadata = exports.createTrackingState = exports.createCheckpoint = exports.getBundledCachePath = exports.MemoryCache = exports.LocalStorageCache = exports.FileCache = exports.extractAllSimulationsFromDecoded = exports.prepareCallSimulation = exports.prepareTimelockSimulation = exports.prepareRetryableSimulation = exports.RETRYABLE_TICKET_MAGIC = exports.getRetryableChainName = exports.decodeRetryableTicket = exports.isRetryableTicketMagic = exports.getAddressLabel = exports.formatDecodedValue = exports.isLikelyCalldata = exports.parseParamTypes = exports.lookupLocalSignature = exports.lookupSignature = exports.decodeCalldataArray = exports.decodeCalldata = exports.autoLinkOrphanedCheckpoints = exports.findPotentialParent = exports.getDeduplicationStats = exports.getChildCheckpoints = exports.getChildToParentMap = exports.filterChildCheckpoints = exports.isChildCheckpoint = exports.getParentCheckpoint = exports.linkCheckpointToChild = exports.isSecurityCouncilTimelockOp = exports.getMemberElectionDetails = exports.getNomineeElectionDetails = exports.getExcludedNominees = exports.getNomineesWithVotes = exports.getContenders = exports.prepareMemberElectionExecution = exports.prepareMemberElectionTrigger = exports.prepareElectionCreation = exports.getMemberElectionProposalParams = exports.getElectionProposalParams = exports.getElectionProposalId = exports.getElectionIndexForProposalId = exports.trackIncompleteElections = exports.trackAllElections = exports.trackElectionProposal = exports.hasVettingPeriod = void 0;
50
+ exports.WATERMARKS_KEY = exports.TX_KEY_PREFIX = exports.ELECTION_KEY_PREFIX = exports.DEFAULT_ERROR_THRESHOLD = exports.parseElectionKey = exports.isDiscoveryKey = exports.isTxKey = exports.isElectionKey = exports.txHashCacheKey = exports.electionCacheKey = exports.computeCacheStats = exports.getCheckpointErrorCount = exports.isCheckpointErrored = void 0;
32
51
  // ============================================================================
33
52
  // TIER 1: Core Public API
34
53
  // ============================================================================
@@ -64,6 +83,7 @@ Object.defineProperty(exports, "getCurrentStage", { enumerable: true, get: funct
64
83
  Object.defineProperty(exports, "areAllStagesComplete", { enumerable: true, get: function () { return utils_1.areAllStagesComplete; } });
65
84
  Object.defineProperty(exports, "extractOperationId", { enumerable: true, get: function () { return utils_1.extractOperationId; } });
66
85
  Object.defineProperty(exports, "isTimelockStage", { enumerable: true, get: function () { return utils_1.isTimelockStage; } });
86
+ Object.defineProperty(exports, "isConstitutional", { enumerable: true, get: function () { return utils_1.isConstitutional; } });
67
87
  Object.defineProperty(exports, "findStage", { enumerable: true, get: function () { return utils_1.findStage; } });
68
88
  // ============================================================================
69
89
  // TIER 2: Advanced API - Power user functions
@@ -98,6 +118,7 @@ Object.defineProperty(exports, "calculateRemainingSeconds", { enumerable: true,
98
118
  Object.defineProperty(exports, "estimateTimestampFromBlock", { enumerable: true, get: function () { return timing_1.estimateTimestampFromBlock; } });
99
119
  Object.defineProperty(exports, "getL1BlockNumberFromL2", { enumerable: true, get: function () { return timing_1.getL1BlockNumberFromL2; } });
100
120
  Object.defineProperty(exports, "invalidateBlockInfoCache", { enumerable: true, get: function () { return timing_1.invalidateBlockInfoCache; } });
121
+ Object.defineProperty(exports, "isStageStale", { enumerable: true, get: function () { return timing_1.isStageStale; } });
101
122
  // Salt utilities
102
123
  var salt_computation_1 = require("./utils/salt-computation");
103
124
  Object.defineProperty(exports, "saltFromDescription", { enumerable: true, get: function () { return salt_computation_1.saltFromDescription; } });
@@ -135,17 +156,16 @@ Object.defineProperty(exports, "prepareGovernorQueue", { enumerable: true, get:
135
156
  // ============================================================================
136
157
  // TIER 4: Framework Utilities
137
158
  // ============================================================================
138
- // URL generation
159
+ // URL generation and constants
139
160
  var constants_2 = require("./constants");
140
161
  Object.defineProperty(exports, "getTxUrl", { enumerable: true, get: function () { return constants_2.getTxUrl; } });
141
162
  Object.defineProperty(exports, "getStageTransactionUrl", { enumerable: true, get: function () { return constants_2.getStageTransactionUrl; } });
163
+ Object.defineProperty(exports, "GOVERNANCE_START_BLOCKS", { enumerable: true, get: function () { return constants_2.GOVERNANCE_START_BLOCKS; } });
164
+ Object.defineProperty(exports, "ELECTION_TIMING", { enumerable: true, get: function () { return constants_2.ELECTION_TIMING; } });
142
165
  // Stage metadata
143
166
  var stage_metadata_1 = require("./utils/stage-metadata");
144
167
  Object.defineProperty(exports, "getStageMetadata", { enumerable: true, get: function () { return stage_metadata_1.getStageMetadata; } });
145
- Object.defineProperty(exports, "getAllStageMetadata", { enumerable: true, get: function () { return stage_metadata_1.getAllStageMetadata; } });
146
- Object.defineProperty(exports, "getActionableStages", { enumerable: true, get: function () { return stage_metadata_1.getActionableStages; } });
147
168
  Object.defineProperty(exports, "formatStageTitle", { enumerable: true, get: function () { return stage_metadata_1.formatStageTitle; } });
148
- Object.defineProperty(exports, "getTotalExpectedDuration", { enumerable: true, get: function () { return stage_metadata_1.getTotalExpectedDuration; } });
149
169
  // Address utilities
150
170
  var chain_1 = require("./utils/chain");
151
171
  Object.defineProperty(exports, "addressEquals", { enumerable: true, get: function () { return chain_1.addressEquals; } });
@@ -158,17 +178,66 @@ Object.defineProperty(exports, "getChainDisplayName", { enumerable: true, get: f
158
178
  // Error classification
159
179
  var rpc_utils_1 = require("./utils/rpc-utils");
160
180
  Object.defineProperty(exports, "isGasEstimationError", { enumerable: true, get: function () { return rpc_utils_1.isGasEstimationError; } });
181
+ // Security utilities
182
+ var sanitize_1 = require("./utils/sanitize");
183
+ Object.defineProperty(exports, "truncateDescription", { enumerable: true, get: function () { return sanitize_1.truncateDescription; } });
184
+ Object.defineProperty(exports, "sanitizeForDisplay", { enumerable: true, get: function () { return sanitize_1.sanitizeForDisplay; } });
185
+ Object.defineProperty(exports, "safeJsonParse", { enumerable: true, get: function () { return sanitize_1.safeJsonParse; } });
186
+ Object.defineProperty(exports, "MAX_DESCRIPTION_LENGTH", { enumerable: true, get: function () { return sanitize_1.MAX_DESCRIPTION_LENGTH; } });
187
+ // Display formatting utilities
188
+ var formatters_1 = require("./utils/formatters");
189
+ Object.defineProperty(exports, "wrapText", { enumerable: true, get: function () { return formatters_1.wrapText; } });
190
+ Object.defineProperty(exports, "truncate", { enumerable: true, get: function () { return formatters_1.truncate; } });
191
+ Object.defineProperty(exports, "safeStringify", { enumerable: true, get: function () { return formatters_1.safeStringify; } });
192
+ Object.defineProperty(exports, "formatValue", { enumerable: true, get: function () { return formatters_1.formatValue; } });
193
+ Object.defineProperty(exports, "formatDate", { enumerable: true, get: function () { return formatters_1.formatDate; } });
194
+ Object.defineProperty(exports, "CHAIN_TO_CHAIN_ID", { enumerable: true, get: function () { return formatters_1.CHAIN_TO_CHAIN_ID; } });
195
+ Object.defineProperty(exports, "formatStageData", { enumerable: true, get: function () { return formatters_1.formatStageData; } });
196
+ Object.defineProperty(exports, "getTxHash", { enumerable: true, get: function () { return formatters_1.getTxHash; } });
197
+ Object.defineProperty(exports, "getProposalIdDisplay", { enumerable: true, get: function () { return formatters_1.getProposalIdDisplay; } });
198
+ Object.defineProperty(exports, "formatDecodedCalldata", { enumerable: true, get: function () { return formatters_1.formatDecodedCalldata; } });
199
+ Object.defineProperty(exports, "filterVisibleLines", { enumerable: true, get: function () { return formatters_1.filterVisibleLines; } });
200
+ Object.defineProperty(exports, "getAllFoldableKeys", { enumerable: true, get: function () { return formatters_1.getAllFoldableKeys; } });
201
+ Object.defineProperty(exports, "toggleFoldKey", { enumerable: true, get: function () { return formatters_1.toggleFoldKey; } });
161
202
  // ============================================================================
162
203
  // TIER 5: Election Tracking
163
204
  // ============================================================================
164
205
  var election_1 = require("./election");
206
+ // Election status
207
+ Object.defineProperty(exports, "getElectionCount", { enumerable: true, get: function () { return election_1.getElectionCount; } });
165
208
  Object.defineProperty(exports, "checkElectionStatus", { enumerable: true, get: function () { return election_1.checkElectionStatus; } });
166
- Object.defineProperty(exports, "prepareElectionCreation", { enumerable: true, get: function () { return election_1.prepareElectionCreation; } });
167
209
  Object.defineProperty(exports, "hasVettingPeriod", { enumerable: true, get: function () { return election_1.hasVettingPeriod; } });
210
+ // Election tracking
168
211
  Object.defineProperty(exports, "trackElectionProposal", { enumerable: true, get: function () { return election_1.trackElectionProposal; } });
212
+ Object.defineProperty(exports, "trackAllElections", { enumerable: true, get: function () { return election_1.trackAllElections; } });
213
+ Object.defineProperty(exports, "trackIncompleteElections", { enumerable: true, get: function () { return election_1.trackIncompleteElections; } });
214
+ Object.defineProperty(exports, "getElectionIndexForProposalId", { enumerable: true, get: function () { return election_1.getElectionIndexForProposalId; } });
215
+ // Election proposal IDs
169
216
  Object.defineProperty(exports, "getElectionProposalId", { enumerable: true, get: function () { return election_1.getElectionProposalId; } });
170
217
  Object.defineProperty(exports, "getElectionProposalParams", { enumerable: true, get: function () { return election_1.getElectionProposalParams; } });
218
+ Object.defineProperty(exports, "getMemberElectionProposalParams", { enumerable: true, get: function () { return election_1.getMemberElectionProposalParams; } });
219
+ // Election preparation
220
+ Object.defineProperty(exports, "prepareElectionCreation", { enumerable: true, get: function () { return election_1.prepareElectionCreation; } });
171
221
  Object.defineProperty(exports, "prepareMemberElectionTrigger", { enumerable: true, get: function () { return election_1.prepareMemberElectionTrigger; } });
222
+ Object.defineProperty(exports, "prepareMemberElectionExecution", { enumerable: true, get: function () { return election_1.prepareMemberElectionExecution; } });
223
+ // Detailed election tracking
224
+ Object.defineProperty(exports, "getContenders", { enumerable: true, get: function () { return election_1.getContenders; } });
225
+ Object.defineProperty(exports, "getNomineesWithVotes", { enumerable: true, get: function () { return election_1.getNomineesWithVotes; } });
226
+ Object.defineProperty(exports, "getExcludedNominees", { enumerable: true, get: function () { return election_1.getExcludedNominees; } });
227
+ Object.defineProperty(exports, "getNomineeElectionDetails", { enumerable: true, get: function () { return election_1.getNomineeElectionDetails; } });
228
+ Object.defineProperty(exports, "getMemberElectionDetails", { enumerable: true, get: function () { return election_1.getMemberElectionDetails; } });
229
+ // Checkpoint deduplication helpers
230
+ var deduplication_1 = require("./deduplication");
231
+ Object.defineProperty(exports, "isSecurityCouncilTimelockOp", { enumerable: true, get: function () { return deduplication_1.isSecurityCouncilTimelockOp; } });
232
+ Object.defineProperty(exports, "linkCheckpointToChild", { enumerable: true, get: function () { return deduplication_1.linkCheckpointToChild; } });
233
+ Object.defineProperty(exports, "getParentCheckpoint", { enumerable: true, get: function () { return deduplication_1.getParentCheckpoint; } });
234
+ Object.defineProperty(exports, "isChildCheckpoint", { enumerable: true, get: function () { return deduplication_1.isChildCheckpoint; } });
235
+ Object.defineProperty(exports, "filterChildCheckpoints", { enumerable: true, get: function () { return deduplication_1.filterChildCheckpoints; } });
236
+ Object.defineProperty(exports, "getChildToParentMap", { enumerable: true, get: function () { return deduplication_1.getChildToParentMap; } });
237
+ Object.defineProperty(exports, "getChildCheckpoints", { enumerable: true, get: function () { return deduplication_1.getChildCheckpoints; } });
238
+ Object.defineProperty(exports, "getDeduplicationStats", { enumerable: true, get: function () { return deduplication_1.getDeduplicationStats; } });
239
+ Object.defineProperty(exports, "findPotentialParent", { enumerable: true, get: function () { return deduplication_1.findPotentialParent; } });
240
+ Object.defineProperty(exports, "autoLinkOrphanedCheckpoints", { enumerable: true, get: function () { return deduplication_1.autoLinkOrphanedCheckpoints; } });
172
241
  // ============================================================================
173
242
  // TIER 6: Calldata Decoding
174
243
  // ============================================================================
@@ -212,4 +281,20 @@ Object.defineProperty(exports, "getBundledCachePath", { enumerable: true, get: f
212
281
  var state_1 = require("./tracker/state");
213
282
  Object.defineProperty(exports, "createCheckpoint", { enumerable: true, get: function () { return state_1.createCheckpoint; } });
214
283
  Object.defineProperty(exports, "createTrackingState", { enumerable: true, get: function () { return state_1.createTrackingState; } });
284
+ var checkpoint_helpers_1 = require("./tracker/checkpoint-helpers");
285
+ Object.defineProperty(exports, "createCheckpointMetadata", { enumerable: true, get: function () { return checkpoint_helpers_1.createCheckpointMetadata; } });
286
+ Object.defineProperty(exports, "isCheckpointComplete", { enumerable: true, get: function () { return checkpoint_helpers_1.isCheckpointComplete; } });
287
+ Object.defineProperty(exports, "isCheckpointErrored", { enumerable: true, get: function () { return checkpoint_helpers_1.isCheckpointErrored; } });
288
+ Object.defineProperty(exports, "getCheckpointErrorCount", { enumerable: true, get: function () { return checkpoint_helpers_1.getCheckpointErrorCount; } });
289
+ Object.defineProperty(exports, "computeCacheStats", { enumerable: true, get: function () { return checkpoint_helpers_1.computeCacheStats; } });
290
+ Object.defineProperty(exports, "electionCacheKey", { enumerable: true, get: function () { return checkpoint_helpers_1.electionCacheKey; } });
291
+ Object.defineProperty(exports, "txHashCacheKey", { enumerable: true, get: function () { return checkpoint_helpers_1.txHashCacheKey; } });
292
+ Object.defineProperty(exports, "isElectionKey", { enumerable: true, get: function () { return checkpoint_helpers_1.isElectionKey; } });
293
+ Object.defineProperty(exports, "isTxKey", { enumerable: true, get: function () { return checkpoint_helpers_1.isTxKey; } });
294
+ Object.defineProperty(exports, "isDiscoveryKey", { enumerable: true, get: function () { return checkpoint_helpers_1.isDiscoveryKey; } });
295
+ Object.defineProperty(exports, "parseElectionKey", { enumerable: true, get: function () { return checkpoint_helpers_1.parseElectionKey; } });
296
+ Object.defineProperty(exports, "DEFAULT_ERROR_THRESHOLD", { enumerable: true, get: function () { return checkpoint_helpers_1.DEFAULT_ERROR_THRESHOLD; } });
297
+ Object.defineProperty(exports, "ELECTION_KEY_PREFIX", { enumerable: true, get: function () { return checkpoint_helpers_1.ELECTION_KEY_PREFIX; } });
298
+ Object.defineProperty(exports, "TX_KEY_PREFIX", { enumerable: true, get: function () { return checkpoint_helpers_1.TX_KEY_PREFIX; } });
299
+ Object.defineProperty(exports, "WATERMARKS_KEY", { enumerable: true, get: function () { return checkpoint_helpers_1.WATERMARKS_KEY; } });
215
300
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,10 @@ export declare class StageBuilder<T extends StageType> {
41
41
  * Set executable flag directly
42
42
  */
43
43
  executable(value: boolean): this;
44
+ /**
45
+ * Mark stage as stale (READY but past expected completion time)
46
+ */
47
+ stale(isStale: boolean): this;
44
48
  /**
45
49
  * Build and return the final stage object.
46
50
  * The data field is cast to the full type - callers should ensure
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/stages/builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,EACL,OAAO,EAEP,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAiBlB,qBAAa,YAAY,CAAC,CAAC,SAAS,SAAS;IAC3C,OAAO,CAAC,MAAM,CAAkB;gBAEpB,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,WAA2B;IAatE;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAMjC;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAK1C;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAK1C;;OAEG;IACH,EAAE,CACA,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACjB,GACL,IAAI;IAWP;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO1B;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAK3C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKhC;;;;OAIG;IACH,KAAK,IAAI,iBAAiB,CAAC,CAAC,CAAC;CAQ9B"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/stages/builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,EACL,OAAO,EAEP,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAkBlB,qBAAa,YAAY,CAAC,CAAC,SAAS,SAAS;IAC3C,OAAO,CAAC,MAAM,CAAkB;gBAEpB,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,WAA2B;IAatE;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAMjC;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAK1C;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAK1C;;OAEG;IACH,EAAE,CACA,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACjB,GACL,IAAI;IAWP;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO1B;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAK3C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKhC;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAK7B;;;;OAIG;IACH,KAAK,IAAI,iBAAiB,CAAC,CAAC,CAAC;CAQ9B"}
@@ -83,6 +83,13 @@ class StageBuilder {
83
83
  this._stage.executable = value;
84
84
  return this;
85
85
  }
86
+ /**
87
+ * Mark stage as stale (READY but past expected completion time)
88
+ */
89
+ stale(isStale) {
90
+ this._stage.isStale = isStale;
91
+ return this;
92
+ }
86
93
  /**
87
94
  * Build and return the final stage object.
88
95
  * The data field is cast to the full type - callers should ensure
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/stages/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/stages/builder.ts"],"names":[],"mappings":"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"}
@@ -76,7 +76,9 @@ export interface L2ToL1MessageResult {
76
76
  * 1. The confirmation that the L2→L1 message was executed
77
77
  * 2. The CallScheduled event for the L1 timelock operation
78
78
  */
79
- export declare function trackL2ToL1Message(executionTxHash: string, l2Provider: ethers.providers.Provider, l1Provider: ethers.providers.Provider): Promise<L2ToL1MessageResult>;
79
+ export declare function trackL2ToL1Message(executionTxHash: string, l2Provider: ethers.providers.Provider, l1Provider: ethers.providers.Provider, options?: {
80
+ chunkSize?: number;
81
+ }): Promise<L2ToL1MessageResult>;
80
82
  /**
81
83
  * Options for preparing L2→L1 messages
82
84
  */
@@ -85,6 +87,11 @@ export interface OutboxPrepareOptions {
85
87
  prepareCompleted?: boolean;
86
88
  /** Outbox contract address (resolved automatically if not provided) */
87
89
  outboxAddress?: string;
90
+ /** Cached sendProps from tracking phase to avoid redundant getSendProps calls */
91
+ cachedSendProps?: {
92
+ sendRootSize: string;
93
+ sendRootHash: string;
94
+ };
88
95
  }
89
96
  /**
90
97
  * Prepare an L2→L1 message for execution on L1.
@@ -1 +1 @@
1
- {"version":3,"file":"l2-to-l1-message.d.ts","sourceRoot":"","sources":["../../src/stages/l2-to-l1-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAG3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,+BAA+B,EAAE,MAAM,0DAA0D,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAgB,MAAM,UAAU,CAAC;AAMxF,OAAO,EAKL,gBAAgB,EACjB,MAAM,SAAS,CAAC;AA+BjB;;;;;;;GAOG;AACH,wBAAsB,8BAA8B,CAClD,eAAe,EAAE,SAAS,EAC1B,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAmE5D;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAC3C,SAAS,EAAE,CAYb;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAC7C,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,kBAAkB,CACtC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GACpC,OAAO,CAAC,mBAAmB,CAAC,CAqM9B;AAID;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,+BAA+B,EACvC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,aAAa,CAAC,CAwDxB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GACpC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAQvC;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CAiC3B;AAGD,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"l2-to-l1-message.d.ts","sourceRoot":"","sources":["../../src/stages/l2-to-l1-message.ts"],"names":[],"mappings":"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"}
@@ -86,8 +86,8 @@ async function findOutboxExecutionTransaction(messagePosition, l2Provider, l1Pro
86
86
  fromBlock,
87
87
  toBlock,
88
88
  }, {
89
- chunkSize: options.chunkSize ?? 1000,
90
- delayBetweenChunks: 100,
89
+ chunkSize: options.chunkSize ?? constants_1.CHUNK_SIZES.L1,
90
+ delayBetweenChunks: constants_1.CHUNK_SIZES.DELAY_MS,
91
91
  earlyExitCheck: (chunkLogs) => {
92
92
  for (const log of chunkLogs) {
93
93
  try {
@@ -145,7 +145,7 @@ function getAllMessagePositionsFromReceipt(receipt) {
145
145
  * 1. The confirmation that the L2→L1 message was executed
146
146
  * 2. The CallScheduled event for the L1 timelock operation
147
147
  */
148
- async function trackL2ToL1Message(executionTxHash, l2Provider, l1Provider) {
148
+ async function trackL2ToL1Message(executionTxHash, l2Provider, l1Provider, options = {}) {
149
149
  const builder = new builder_1.StageBuilder("L2_TO_L1_MESSAGE", "arb1");
150
150
  if (!executionTxHash) {
151
151
  return {
@@ -177,7 +177,7 @@ async function trackL2ToL1Message(executionTxHash, l2Provider, l1Provider) {
177
177
  // Wrap receipt for Arbitrum SDK v4
178
178
  const childReceipt = new sdk_1.ChildTransactionReceipt(receipt);
179
179
  // Get L2→L1 messages from the receipt
180
- const messages = await childReceipt.getChildToParentMessages(l1Provider);
180
+ const messages = await (0, rpc_utils_1.queryWithRetry)(() => childReceipt.getChildToParentMessages(l1Provider));
181
181
  if (messages.length === 0) {
182
182
  // No L2→L1 messages - this path doesn't go through L1
183
183
  return {
@@ -208,9 +208,42 @@ async function trackL2ToL1Message(executionTxHash, l2Provider, l1Provider) {
208
208
  }
209
209
  // Check status of ALL messages - they may have different states
210
210
  const messageStatuses = [];
211
- for (const message of messages) {
211
+ // ============================================================================
212
+ // PERFORMANCE OPTIMIZATION: Cache sendProps from tracking for preparation phase
213
+ // ============================================================================
214
+ // The Arbitrum SDK's status() and getOutboxProof() both call getSendProps(),
215
+ // which performs expensive RPC calls (~3-4s each) to find the assertion
216
+ // containing this message. By extracting sendProps after status() and caching
217
+ // them in stage.data, we can inject them during preparation to skip redundant work.
218
+ //
219
+ // This is a HACK that accesses SDK private fields. Assumptions:
220
+ // 1. sendRootSize/sendRootHash are immutable once found - the Arbitrum rollup's
221
+ // sendCount is monotonically increasing, so once position < sendRootSize,
222
+ // this invariant holds forever
223
+ // 2. SDK internal field names (sendRootSize, sendRootHash, sendRootConfirmed)
224
+ // remain stable across SDK versions
225
+ // 3. The SDK's cache check: `if (this.sendRootConfirmed !== undefined)` continues
226
+ // to skip getSendProps when these fields are pre-populated
227
+ //
228
+ // If SDK internals change, this optimization will silently stop working (not break).
229
+ // ============================================================================
230
+ let cachedSendProps;
231
+ for (const [i, message] of messages.entries()) {
212
232
  const status = await (0, rpc_utils_1.queryWithRetry)(() => message.status(l2Provider));
213
233
  messageStatuses.push(status);
234
+ // Extract sendProps from first message after status() populates the SDK's internal cache
235
+ if (i === 0) {
236
+ // Use nitroReader when available (Nitro-style networks), otherwise the message itself
237
+ const reader = message.nitroReader ?? message;
238
+ const sendRootSize = reader.sendRootSize;
239
+ const sendRootHash = reader.sendRootHash;
240
+ if (sendRootSize && sendRootHash) {
241
+ cachedSendProps = {
242
+ sendRootSize: sendRootSize.toString(),
243
+ sendRootHash: sendRootHash,
244
+ };
245
+ }
246
+ }
214
247
  }
215
248
  const { blockNumber: currentL1Block, timestamp: currentTimestamp } = await (0, timing_1.getCurrentBlockInfo)(l1Provider);
216
249
  // Determine aggregate status: EXECUTED only if all executed, UNCONFIRMED if any unconfirmed,
@@ -231,6 +264,7 @@ async function trackL2ToL1Message(executionTxHash, l2Provider, l1Provider) {
231
264
  messageDetails,
232
265
  firstExecutableBlock,
233
266
  currentL1Block,
267
+ cachedSendProps, // Cached from status() call, reused in preparation to avoid redundant RPC
234
268
  });
235
269
  // Use firstExecutableBlock as L1 search start (already calculated above)
236
270
  const l1SearchFromBlock = firstExecutableBlock;
@@ -257,7 +291,7 @@ async function trackL2ToL1Message(executionTxHash, l2Provider, l1Provider) {
257
291
  logStage("WARNING: Finding OutBox execution for first message only (position=%s). " +
258
292
  "%d additional messages have separate OutBox executions that will not be tracked.", messagePosition.toString(), messages.length - 1);
259
293
  }
260
- outboxExecutionTx = await findOutboxExecutionTransaction(messagePosition, l2Provider, l1Provider, { fromBlock: l1SearchFromBlock });
294
+ outboxExecutionTx = await findOutboxExecutionTransaction(messagePosition, l2Provider, l1Provider, { fromBlock: l1SearchFromBlock, chunkSize: options.chunkSize });
261
295
  if (outboxExecutionTx) {
262
296
  const timestamp = await (0, utils_1.getBlockTimestamp)(outboxExecutionTx.blockNumber, l1Provider);
263
297
  builder
@@ -309,10 +343,40 @@ async function trackL2ToL1Message(executionTxHash, l2Provider, l1Provider) {
309
343
  */
310
344
  async function prepareL2ToL1Message(reader, l2Provider, options = {}) {
311
345
  logExecution("Preparing L2→L1 message execution");
312
- const status = await (0, rpc_utils_1.queryWithRetry)(() => reader.status(l2Provider));
313
- logExecution("Message status: %s", sdk_1.ChildToParentMessageStatus[status]);
314
- // Skip state check if prepareCompleted=true for historical validation
315
- if (!options.prepareCompleted) {
346
+ // ============================================================================
347
+ // PERFORMANCE OPTIMIZATION: Inject cached sendProps to skip redundant RPC calls
348
+ // ============================================================================
349
+ // This is a HACK that injects values into SDK private fields. The SDK's
350
+ // getOutboxProof() calls getSendProps() internally, which checks:
351
+ // `if (this.sendRootConfirmed !== undefined) return cached`
352
+ //
353
+ // By pre-populating these fields with values cached during tracking phase,
354
+ // we skip ~3-4 seconds of redundant RPC calls. This is safe because:
355
+ // - sendRootSize/sendRootHash are immutable once the message is included
356
+ // - We set sendRootConfirmed=true to trigger the SDK's cache hit path
357
+ //
358
+ // Why this matters for different paths:
359
+ // - READY stage (CONFIRMED message): Nice-to-have. Without hack, status() would
360
+ // populate the cache and getOutboxProof() would use it. Hack saves ~3-4s by
361
+ // skipping the status() call entirely.
362
+ // - PENDING stage (UNCONFIRMED message, --prepare-pending): ESSENTIAL. Without
363
+ // hack, status() sets sendRootConfirmed=undefined, so getOutboxProof() calls
364
+ // getSendProps() again (~3-4s wasted). Hack saves ~3-4s of duplicate work.
365
+ //
366
+ // See trackL2ToL1Message() for assumptions and risks of this approach.
367
+ // ============================================================================
368
+ if (options.cachedSendProps) {
369
+ const { sendRootSize, sendRootHash } = options.cachedSendProps;
370
+ reader.sendRootSize = ethers_1.BigNumber.from(sendRootSize);
371
+ reader.sendRootHash = sendRootHash;
372
+ reader.sendRootConfirmed = true;
373
+ logExecution("Using cached sendProps: size=%s", sendRootSize);
374
+ }
375
+ // Only check status if we need to validate (not in prepareCompleted mode)
376
+ // This avoids a redundant SDK call since getOutboxProof also calls getSendProps internally
377
+ if (!options.prepareCompleted && !options.cachedSendProps) {
378
+ const status = await (0, rpc_utils_1.queryWithRetry)(() => reader.status(l2Provider));
379
+ logExecution("Message status: %s", sdk_1.ChildToParentMessageStatus[status]);
316
380
  if (status === sdk_1.ChildToParentMessageStatus.EXECUTED) {
317
381
  return (0, utils_1.failPrepare)("Message already executed");
318
382
  }
@@ -320,7 +384,7 @@ async function prepareL2ToL1Message(reader, l2Provider, options = {}) {
320
384
  return (0, utils_1.failPrepare)(`Message not ready. Status: ${sdk_1.ChildToParentMessageStatus[status]}, expected: CONFIRMED`);
321
385
  }
322
386
  }
323
- // Get the outbox proof - this is the expensive part
387
+ // Get the outbox proof - with cached sendProps, this skips getSendProps and goes straight to proof generation
324
388
  logExecution("Generating outbox proof...");
325
389
  const proof = await reader.getOutboxProof(l2Provider);
326
390
  // Access event data from the Nitro reader
@@ -363,7 +427,7 @@ async function getL2ToL1Messages(l2TxHash, l2Provider, l1Provider) {
363
427
  return [];
364
428
  }
365
429
  const childReceipt = new sdk_1.ChildTransactionReceipt(receipt);
366
- return childReceipt.getChildToParentMessages(l1Provider);
430
+ return (0, rpc_utils_1.queryWithRetry)(() => childReceipt.getChildToParentMessages(l1Provider));
367
431
  }
368
432
  /**
369
433
  * Prepare all L2→L1 messages from a stage for execution.
@@ -389,8 +453,10 @@ async function prepareL2ToL1MessageStage(stage, l2Provider, l1Provider, options
389
453
  const network = await (0, sdk_1.getArbitrumNetwork)(l2Provider);
390
454
  outboxAddress = network.ethBridge.outbox;
391
455
  }
456
+ // Extract cached sendProps from stage data (populated during tracking phase)
457
+ const cachedSendProps = stageData.cachedSendProps;
392
458
  logExecution("Preparing %d L2→L1 messages", readers.length);
393
- const prepareOptions = { ...options, outboxAddress };
459
+ const prepareOptions = { ...options, outboxAddress, cachedSendProps };
394
460
  const results = await Promise.all(readers.map((reader) => prepareL2ToL1Message(reader.nitroReader, l2Provider, prepareOptions)));
395
461
  return { total: readers.length, results };
396
462
  }
@@ -1 +1 @@
1
- {"version":3,"file":"l2-to-l1-message.js","sourceRoot":"","sources":["../../src/stages/l2-to-l1-message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"l2-to-l1-message.js","sourceRoot":"","sources":["../../src/stages/l2-to-l1-message.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { ProposalData, TypedTrackedStage } from "../types";
13
13
  export declare function trackProposalCreated(governorAddress: string, proposalId: string, provider: ethers.providers.Provider, options?: {
14
14
  creationTxHash?: string;
15
15
  fromBlock?: number;
16
+ chunkSize?: number;
16
17
  }): Promise<{
17
18
  stage: TypedTrackedStage<"PROPOSAL_CREATED">;
18
19
  proposalData: ProposalData | null;
@@ -1 +1 @@
1
- {"version":3,"file":"proposal-created.d.ts","sourceRoot":"","sources":["../../src/stages/proposal-created.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAU3D;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,OAAO,GAAE;IACP,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC;IACT,KAAK,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAC7C,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC,CAAC,CAiDD"}
1
+ {"version":3,"file":"proposal-created.d.ts","sourceRoot":"","sources":["../../src/stages/proposal-created.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAU3D;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,OAAO,GAAE;IACP,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC;IACT,KAAK,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAC7C,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC,CAAC,CAkDD"}
@@ -30,6 +30,7 @@ async function trackProposalCreated(governorAddress, proposalId, provider, optio
30
30
  if (!proposalData) {
31
31
  proposalData = await (0, governor_discovery_1.findProposalCreatedEvent)(governorAddress, proposalId, provider, {
32
32
  startBlock: options.fromBlock ?? constants_1.GOVERNANCE_START_BLOCKS.L2,
33
+ chunkSize: options.chunkSize,
33
34
  });
34
35
  }
35
36
  if (proposalData) {
@@ -1 +1 @@
1
- {"version":3,"file":"proposal-created.js","sourceRoot":"","sources":["../../src/stages/proposal-created.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAkBH,oDA4DC;AA1ED,4CAAuD;AACvD,wEAIyC;AACzC,mCAA4C;AAC5C,uCAAyC;AAEzC;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CACxC,eAAuB,EACvB,UAAkB,EAClB,QAAmC,EACnC,UAGI,EAAE;IAKN,MAAM,OAAO,GAAG,IAAI,sBAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAE7D,uBAAuB;IACvB,MAAM,YAAY,GAAG,IAAA,uCAAkB,EAAC,eAAe,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IAE/B,4BAA4B;IAC5B,IAAI,YAAY,GAAwB,IAAI,CAAC;IAE7C,8CAA8C;IAC9C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,YAAY,GAAG,MAAM,IAAA,yCAAoB,EAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,MAAM,IAAA,6CAAwB,EAAC,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE;YACnF,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,mCAAuB,CAAC,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,yCAAyC;QACzC,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,IAAA,yBAAiB,EAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAEhF,OAAO;aACJ,MAAM,CAAC,WAAW,CAAC;aACnB,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC;aACzF,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;aAChC,IAAI,CAAC;YACJ,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE;YAC9C,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAC1C,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM;YACxC,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5C,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,SAAS,EAAE,YAAY,CAAC,SAAS;SAClC,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACN,yDAAyD;QACzD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"proposal-created.js","sourceRoot":"","sources":["../../src/stages/proposal-created.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAkBH,oDA8DC;AA5ED,4CAAuD;AACvD,wEAIyC;AACzC,mCAA4C;AAC5C,uCAAyC;AAEzC;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CACxC,eAAuB,EACvB,UAAkB,EAClB,QAAmC,EACnC,UAII,EAAE;IAKN,MAAM,OAAO,GAAG,IAAI,sBAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAE7D,uBAAuB;IACvB,MAAM,YAAY,GAAG,IAAA,uCAAkB,EAAC,eAAe,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IAE/B,4BAA4B;IAC5B,IAAI,YAAY,GAAwB,IAAI,CAAC;IAE7C,8CAA8C;IAC9C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,YAAY,GAAG,MAAM,IAAA,yCAAoB,EAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,MAAM,IAAA,6CAAwB,EAAC,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE;YACnF,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,mCAAuB,CAAC,EAAE;YAC3D,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,yCAAyC;QACzC,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,IAAA,yBAAiB,EAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAEhF,OAAO;aACJ,MAAM,CAAC,WAAW,CAAC;aACnB,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC;aACzF,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;aAChC,IAAI,CAAC;YACJ,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE;YAC9C,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAC1C,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM;YACxC,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5C,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,SAAS,EAAE,YAAY,CAAC,SAAS;SAClC,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACN,yDAAyD;QACzD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC;AAClD,CAAC"}
@@ -17,6 +17,7 @@ fromBlock: number, options?: {
17
17
  toBlock?: number;
18
18
  /** Voting end block - enables forward search optimization (queuing happens right after voting ends) */
19
19
  votingEndBlock?: number;
20
+ chunkSize?: number;
20
21
  }): Promise<{
21
22
  stage: TypedTrackedStage<"PROPOSAL_QUEUED">;
22
23
  timelockAddress?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"proposal-queued.d.ts","sourceRoot":"","sources":["../../src/stages/proposal-queued.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAoB/E;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;AACnC,sDAAsD;AACtD,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uGAAuG;IACvG,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,OAAO,CAAC;IACT,KAAK,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACzC,CAAC,CAsED;AAID,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC,aAAa,CAAC,CA8CxB"}
1
+ {"version":3,"file":"proposal-queued.d.ts","sourceRoot":"","sources":["../../src/stages/proposal-queued.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAqB/E;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;AACnC,sDAAsD;AACtD,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uGAAuG;IACvG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC;IACT,KAAK,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACzC,CAAC,CAuED;AAID,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC,aAAa,CAAC,CA8CxB"}
@@ -14,6 +14,7 @@ const abis_1 = require("../abis");
14
14
  const security_council_1 = require("../discovery/security-council");
15
15
  const logger_1 = require("../utils/logger");
16
16
  const governor_discovery_1 = require("../discovery/governor-discovery");
17
+ const rpc_utils_1 = require("../utils/rpc-utils");
17
18
  const timelock_discovery_1 = require("../discovery/timelock-discovery");
18
19
  const utils_1 = require("./utils");
19
20
  const builder_1 = require("./builder");
@@ -45,6 +46,7 @@ fromBlock, options = {}) {
45
46
  startBlock: searchStart,
46
47
  endBlock: options.toBlock,
47
48
  direction: useForwardSearch ? "forward" : "backward",
49
+ chunkSize: options.chunkSize,
48
50
  });
49
51
  if (!queueEvent) {
50
52
  // Succeeded but not yet queued - ready for execution
@@ -92,7 +94,7 @@ fromBlock, options = {}) {
92
94
  async function prepareGovernorQueue(governorAddress, proposalId, params, provider) {
93
95
  logExecution("Preparing governor queue for proposal %s", proposalId);
94
96
  const governor = new ethers_1.ethers.Contract(governorAddress, abis_1.GOVERNOR_ABI, provider);
95
- const state = await governor.state(proposalId);
97
+ const state = await (0, rpc_utils_1.queryWithRetry)(() => governor.state(proposalId));
96
98
  const stateName = constants_1.PROPOSAL_STATE_MAP[state] ?? `Unknown(${state})`;
97
99
  logExecution("Proposal state: %s", stateName);
98
100
  // Already queued