@gzeoneth/gov-tracker 0.4.0-beta.fb8713f → 0.5.0

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 +94 -7
  2. package/dist/abis-json.d.ts +2315 -0
  3. package/dist/abis-json.d.ts.map +1 -0
  4. package/dist/abis-json.js +3207 -0
  5. package/dist/abis-json.js.map +1 -0
  6. package/dist/abis.d.ts +12 -7
  7. package/dist/abis.d.ts.map +1 -1
  8. package/dist/abis.js +32 -1
  9. package/dist/abis.js.map +1 -1
  10. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  11. package/dist/calldata/parameter-decoder.js +19 -25
  12. package/dist/calldata/parameter-decoder.js.map +1 -1
  13. package/dist/cli/cli.js +73 -1
  14. package/dist/cli/cli.js.map +1 -1
  15. package/dist/cli/lib/cli.d.ts.map +1 -1
  16. package/dist/cli/lib/cli.js +3 -2
  17. package/dist/cli/lib/cli.js.map +1 -1
  18. package/dist/cli/lib/election-check.d.ts.map +1 -1
  19. package/dist/cli/lib/election-check.js +2 -1
  20. package/dist/cli/lib/election-check.js.map +1 -1
  21. package/dist/cli/tui/components/VotingStats.d.ts.map +1 -1
  22. package/dist/cli/tui/components/VotingStats.js +2 -1
  23. package/dist/cli/tui/components/VotingStats.js.map +1 -1
  24. package/dist/cli/tui/hooks/useNavigation.d.ts.map +1 -1
  25. package/dist/cli/tui/hooks/useNavigation.js +2 -3
  26. package/dist/cli/tui/hooks/useNavigation.js.map +1 -1
  27. package/dist/cli/tui/hooks/useProposals.js +2 -2
  28. package/dist/cli/tui/hooks/useProposals.js.map +1 -1
  29. package/dist/cli/tui/utils/index.d.ts +2 -2
  30. package/dist/cli/tui/utils/index.d.ts.map +1 -1
  31. package/dist/cli/tui/utils/index.js +5 -1
  32. package/dist/cli/tui/utils/index.js.map +1 -1
  33. package/dist/cli/tui/utils/navigation.d.ts +1 -0
  34. package/dist/cli/tui/utils/navigation.d.ts.map +1 -1
  35. package/dist/cli/tui/utils/navigation.js +4 -4
  36. package/dist/cli/tui/utils/navigation.js.map +1 -1
  37. package/dist/cli/tui/utils/stage-status.d.ts +4 -0
  38. package/dist/cli/tui/utils/stage-status.d.ts.map +1 -1
  39. package/dist/cli/tui/utils/stage-status.js +47 -1
  40. package/dist/cli/tui/utils/stage-status.js.map +1 -1
  41. package/dist/cli/tui/views/CalldataView.d.ts.map +1 -1
  42. package/dist/cli/tui/views/CalldataView.js +3 -2
  43. package/dist/cli/tui/views/CalldataView.js.map +1 -1
  44. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
  45. package/dist/cli/tui/views/ElectionView.js +4 -9
  46. package/dist/cli/tui/views/ElectionView.js.map +1 -1
  47. package/dist/constants.d.ts +43 -22
  48. package/dist/constants.d.ts.map +1 -1
  49. package/dist/constants.js +62 -17
  50. package/dist/constants.js.map +1 -1
  51. package/dist/data/bundled-cache.json +393 -20
  52. package/dist/data/delegate-cache.json +118014 -0
  53. package/dist/deduplication.d.ts.map +1 -1
  54. package/dist/deduplication.js +28 -51
  55. package/dist/deduplication.js.map +1 -1
  56. package/dist/delegates/cache.d.ts +44 -0
  57. package/dist/delegates/cache.d.ts.map +1 -0
  58. package/dist/delegates/cache.js +202 -0
  59. package/dist/delegates/cache.js.map +1 -0
  60. package/dist/delegates/index.d.ts +13 -0
  61. package/dist/delegates/index.d.ts.map +1 -0
  62. package/dist/delegates/index.js +32 -0
  63. package/dist/delegates/index.js.map +1 -0
  64. package/dist/delegates/indexer.d.ts +32 -0
  65. package/dist/delegates/indexer.d.ts.map +1 -0
  66. package/dist/delegates/indexer.js +191 -0
  67. package/dist/delegates/indexer.js.map +1 -0
  68. package/dist/delegates/queries.d.ts +30 -0
  69. package/dist/delegates/queries.d.ts.map +1 -0
  70. package/dist/delegates/queries.js +79 -0
  71. package/dist/delegates/queries.js.map +1 -0
  72. package/dist/discovery/governor-discovery.d.ts +21 -1
  73. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  74. package/dist/discovery/governor-discovery.js +46 -12
  75. package/dist/discovery/governor-discovery.js.map +1 -1
  76. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  77. package/dist/discovery/timelock-discovery.js +1 -2
  78. package/dist/discovery/timelock-discovery.js.map +1 -1
  79. package/dist/election/details.d.ts.map +1 -1
  80. package/dist/election/details.js +2 -2
  81. package/dist/election/details.js.map +1 -1
  82. package/dist/election/index.d.ts +3 -1
  83. package/dist/election/index.d.ts.map +1 -1
  84. package/dist/election/index.js +12 -1
  85. package/dist/election/index.js.map +1 -1
  86. package/dist/election/params.d.ts.map +1 -1
  87. package/dist/election/params.js +11 -16
  88. package/dist/election/params.js.map +1 -1
  89. package/dist/election/proposal-ids.js +2 -2
  90. package/dist/election/proposal-ids.js.map +1 -1
  91. package/dist/election/status.d.ts +28 -1
  92. package/dist/election/status.d.ts.map +1 -1
  93. package/dist/election/status.js +110 -3
  94. package/dist/election/status.js.map +1 -1
  95. package/dist/election/write.d.ts +132 -0
  96. package/dist/election/write.d.ts.map +1 -0
  97. package/dist/election/write.js +184 -0
  98. package/dist/election/write.js.map +1 -0
  99. package/dist/governance/index.d.ts +5 -0
  100. package/dist/governance/index.d.ts.map +1 -0
  101. package/dist/governance/index.js +28 -0
  102. package/dist/governance/index.js.map +1 -0
  103. package/dist/governance/read.d.ts +50 -0
  104. package/dist/governance/read.d.ts.map +1 -0
  105. package/dist/governance/read.js +194 -0
  106. package/dist/governance/read.js.map +1 -0
  107. package/dist/governance/write.d.ts +54 -0
  108. package/dist/governance/write.d.ts.map +1 -0
  109. package/dist/governance/write.js +132 -0
  110. package/dist/governance/write.js.map +1 -0
  111. package/dist/index.d.ts +40 -21
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/index.js +149 -13
  114. package/dist/index.js.map +1 -1
  115. package/dist/simulation/index.d.ts +4 -1
  116. package/dist/simulation/index.d.ts.map +1 -1
  117. package/dist/simulation/index.js +5 -1
  118. package/dist/simulation/index.js.map +1 -1
  119. package/dist/simulation/simulation-data.d.ts +31 -0
  120. package/dist/simulation/simulation-data.d.ts.map +1 -1
  121. package/dist/simulation/simulation-data.js +34 -0
  122. package/dist/simulation/simulation-data.js.map +1 -1
  123. package/dist/simulation/tenderly-payloads.d.ts +107 -0
  124. package/dist/simulation/tenderly-payloads.d.ts.map +1 -0
  125. package/dist/simulation/tenderly-payloads.js +103 -0
  126. package/dist/simulation/tenderly-payloads.js.map +1 -0
  127. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  128. package/dist/stages/l2-to-l1-message.js +40 -60
  129. package/dist/stages/l2-to-l1-message.js.map +1 -1
  130. package/dist/stages/proposal-queued.js.map +1 -1
  131. package/dist/stages/retryables.js.map +1 -1
  132. package/dist/stages/timelock.d.ts +41 -3
  133. package/dist/stages/timelock.d.ts.map +1 -1
  134. package/dist/stages/timelock.js +159 -48
  135. package/dist/stages/timelock.js.map +1 -1
  136. package/dist/stages/utils.d.ts +56 -1
  137. package/dist/stages/utils.d.ts.map +1 -1
  138. package/dist/stages/utils.js +144 -28
  139. package/dist/stages/utils.js.map +1 -1
  140. package/dist/tracker/bundled-cache.d.ts +136 -0
  141. package/dist/tracker/bundled-cache.d.ts.map +1 -0
  142. package/dist/tracker/bundled-cache.js +207 -0
  143. package/dist/tracker/bundled-cache.js.map +1 -0
  144. package/dist/tracker/checkpoint-helpers.d.ts +18 -0
  145. package/dist/tracker/checkpoint-helpers.d.ts.map +1 -1
  146. package/dist/tracker/checkpoint-helpers.js +37 -0
  147. package/dist/tracker/checkpoint-helpers.js.map +1 -1
  148. package/dist/tracker/discovery.d.ts +3 -0
  149. package/dist/tracker/discovery.d.ts.map +1 -1
  150. package/dist/tracker/discovery.js +3 -0
  151. package/dist/tracker/discovery.js.map +1 -1
  152. package/dist/tracker/pipeline.d.ts +3 -10
  153. package/dist/tracker/pipeline.d.ts.map +1 -1
  154. package/dist/tracker/pipeline.js +18 -32
  155. package/dist/tracker/pipeline.js.map +1 -1
  156. package/dist/tracker.d.ts +27 -4
  157. package/dist/tracker.d.ts.map +1 -1
  158. package/dist/tracker.js +47 -14
  159. package/dist/tracker.js.map +1 -1
  160. package/dist/types/config.d.ts +39 -3
  161. package/dist/types/config.d.ts.map +1 -1
  162. package/dist/types/delegates.d.ts +55 -0
  163. package/dist/types/delegates.d.ts.map +1 -0
  164. package/dist/types/delegates.js +9 -0
  165. package/dist/types/delegates.js.map +1 -0
  166. package/dist/types/election.d.ts +23 -0
  167. package/dist/types/election.d.ts.map +1 -1
  168. package/dist/types/index.d.ts +3 -2
  169. package/dist/types/index.d.ts.map +1 -1
  170. package/dist/types/index.js.map +1 -1
  171. package/dist/types/tracking.d.ts +2 -2
  172. package/dist/types/tracking.d.ts.map +1 -1
  173. package/dist/utils/chain.d.ts +5 -1
  174. package/dist/utils/chain.d.ts.map +1 -1
  175. package/dist/utils/chain.js +7 -0
  176. package/dist/utils/chain.js.map +1 -1
  177. package/dist/utils/formatters.d.ts +2 -6
  178. package/dist/utils/formatters.d.ts.map +1 -1
  179. package/dist/utils/formatters.js +9 -12
  180. package/dist/utils/formatters.js.map +1 -1
  181. package/dist/utils/logger.d.ts +2 -0
  182. package/dist/utils/logger.d.ts.map +1 -1
  183. package/dist/utils/logger.js +2 -0
  184. package/dist/utils/logger.js.map +1 -1
  185. package/dist/utils/rpc-utils.d.ts +0 -6
  186. package/dist/utils/rpc-utils.d.ts.map +1 -1
  187. package/dist/utils/rpc-utils.js +0 -9
  188. package/dist/utils/rpc-utils.js.map +1 -1
  189. package/dist/utils/stage-metadata.d.ts +19 -0
  190. package/dist/utils/stage-metadata.d.ts.map +1 -1
  191. package/dist/utils/stage-metadata.js +44 -0
  192. package/dist/utils/stage-metadata.js.map +1 -1
  193. package/dist/utils/timing.d.ts +2 -9
  194. package/dist/utils/timing.d.ts.map +1 -1
  195. package/dist/utils/timing.js +3 -20
  196. package/dist/utils/timing.js.map +1 -1
  197. package/package.json +7 -3
package/dist/index.js CHANGED
@@ -5,13 +5,14 @@
5
5
  * A lightweight, high-performance library for tracking Arbitrum DAO
6
6
  * governance proposal lifecycle stages.
7
7
  *
8
- * @example Basic usage (Node.js)
8
+ * @example Basic usage with RPC URLs
9
9
  * ```typescript
10
10
  * import { createTracker, findExecutableStage } from "@gzeoneth/gov-tracker";
11
11
  *
12
+ * // Accepts RPC URLs directly (creates providers internally)
12
13
  * const tracker = createTracker({
13
- * l2Provider: new ethers.providers.StaticJsonRpcProvider(ARB1_RPC),
14
- * l1Provider: new ethers.providers.StaticJsonRpcProvider(ETH_RPC),
14
+ * l2Provider: "https://arb1.arbitrum.io/rpc",
15
+ * l1Provider: "https://eth.llamarpc.com",
15
16
  * });
16
17
  *
17
18
  * const results = await tracker.trackByTxHash(proposalCreationTxHash);
@@ -26,9 +27,13 @@
26
27
  *
27
28
  * @example Browser usage with LocalStorageCache
28
29
  * ```typescript
29
- * import { createTracker, LocalStorageCache } from "@gzeoneth/gov-tracker";
30
+ * import { createTracker, LocalStorageCache, extractProposals } from "@gzeoneth/gov-tracker";
30
31
  * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
31
32
  *
33
+ * // Extract typed data from bundled cache
34
+ * const proposals = extractProposals(bundledCache);
35
+ * console.log(`Loaded ${proposals.length} proposals from cache`);
36
+ *
32
37
  * // Initialize cache with bundled data for faster first load
33
38
  * const cache = new LocalStorageCache("arb-gov:");
34
39
  * for (const [key, checkpoint] of Object.entries(bundledCache)) {
@@ -36,18 +41,20 @@
36
41
  * }
37
42
  *
38
43
  * const tracker = createTracker({
39
- * l2Provider: new ethers.providers.StaticJsonRpcProvider(ARB1_RPC),
40
- * l1Provider: new ethers.providers.StaticJsonRpcProvider(ETH_RPC),
44
+ * l2Provider: "https://arb1.arbitrum.io/rpc",
45
+ * l1Provider: "https://eth.llamarpc.com",
41
46
  * cache, // Updates persist to localStorage
42
47
  * });
43
48
  * ```
44
49
  * @packageDocumentation
45
50
  */
46
51
  Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.getL1BlockNumberFromL2 = exports.estimateTimestampFromBlock = exports.calculateRemainingSeconds = exports.calculateExpectedEta = exports.calculateEta = exports.isScOperationSuperseded = exports.getHighestScNonce = exports.checkVettingPeriod = exports.extractAllSecurityCouncilParams = 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.getElectionCount = 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 = exports.saltFromDescription = exports.isStageStale = exports.invalidateBlockInfoCache = void 0;
49
- exports.proposalStateToStageStatus = exports.getElectionContext = 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.serializeMemberDetails = exports.serializeNomineeDetails = 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.hasVettingPeriod = exports.checkElectionStatus = void 0;
50
- exports.WATERMARKS_KEY = exports.TX_KEY_PREFIX = exports.ELECTION_KEY_PREFIX = exports.DEFAULT_ERROR_THRESHOLD = exports.parseTimelockOpKey = exports.parseElectionKey = exports.isDiscoveryKey = exports.isTimelockOpKey = exports.isTxKey = exports.isElectionKey = exports.timelockOpCacheKey = exports.txHashCacheKey = exports.electionCacheKey = exports.computeCacheStats = exports.getCheckpointErrorCount = exports.isCheckpointErrored = exports.isCheckpointComplete = exports.createCheckpointMetadata = void 0;
52
+ exports.getLifecyclePhase = exports.getTrackingStatusSummary = exports.needsAction = exports.findAllExecutableStages = exports.findExecutableStage = exports.timelockWriteAbi = exports.timelockReadAbi = exports.memberElectionGovernorWriteAbi = exports.memberElectionGovernorReadAbi = exports.nomineeElectionGovernorWriteAbi = exports.nomineeElectionGovernorReadAbi = exports.governorWriteAbi = exports.governorReadAbi = exports.erc20VotesAbi = exports.memberElectionGovernorAbi = exports.nomineeElectionGovernorAbi = exports.inboxAbi = exports.securityCouncilManagerAbi = exports.timelockAbi = exports.governorWithVetterAbi = exports.governorAbi = exports.ERC20_VOTES_ABI = exports.SECURITY_COUNCIL_MANAGER_ABI = exports.MEMBER_ELECTION_GOVERNOR_ABI = exports.NOMINEE_ELECTION_GOVERNOR_ABI = exports.TIMELOCK_ABI = exports.GOVERNOR_WITH_VETTER_ABI = exports.GOVERNOR_ABI = exports.MAINNET_ELECTION_CONFIG = exports.isProposalState = exports.PROPOSAL_STATE_LABEL = exports.PROPOSAL_STATE_MAP = exports.PROPOSAL_STATE = exports.VOTE_SUPPORT = 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;
53
+ exports.prepareTimelockExecuteCalldata = exports.prepareExecuteTimelock = exports.prepareTimelockStage = exports.prepareTimelockBatch = exports.prepareTimelockOperation = exports.tryFindSalt = exports.computeAndValidateOperationHash = exports.validateSaltBatch = exports.validateSalt = exports.hashOperationBatch = exports.hashOperation = exports.decodeL1TimelockSchedule = exports.generateSecurityCouncilSalt = exports.saltFromDescription = exports.isStageStale = exports.invalidateBlockInfoCache = exports.getL1BlockNumberFromL2 = exports.estimateTimestampFromBlock = exports.calculateRemainingSeconds = exports.calculateExpectedEta = exports.calculateEta = exports.isScOperationSuperseded = exports.getHighestScNonce = exports.checkVettingPeriod = exports.extractAllSecurityCouncilParams = exports.extractSecurityCouncilParamsForOperation = exports.extractSecurityCouncilParams = exports.isSecurityCouncilElectionProposal = exports.isSecurityCouncilOperation = exports.findCallScheduledByTxHash = exports.getTimelockState = exports.getTimelockOperationState = exports.isL1Timelock = exports.isKnownL2Timelock = exports.queryProposalCreatedEvents = exports.discoverProposalByTxHash = exports.getProposalState = exports.getTimelockAddress = exports.detectGovernorCapabilities = exports.isElectionProposal = exports.detectProposalType = exports.splitStages = exports.normalizeTimeline = exports.mergeStages = exports.findStage = exports.isConstitutional = exports.isTimelockStage = exports.extractOperationId = exports.areAllStagesComplete = exports.getCurrentStage = void 0;
54
+ exports.getAllElectionStatuses = exports.getElectionStatus = exports.determineElectionPhase = exports.hasVettingPeriod = exports.checkElectionStatus = exports.getElectionCount = exports.filterVisibleLines = exports.formatDecodedCalldata = exports.getProposalIdDisplay = exports.getTxHash = exports.formatStageData = exports.formatDate = exports.formatValue = exports.safeStringify = exports.truncate = exports.wrapText = exports.MAX_DESCRIPTION_LENGTH = exports.safeJsonParse = exports.sanitizeForDisplay = exports.truncateDescription = exports.queryWithRetry = exports.getErrorMessage = exports.isRetryableError = exports.isPermanentError = exports.isGasEstimationError = exports.getChainDisplayName = exports.chainToChainId = exports.chainIdToChain = exports.compareBigNumbers = exports.getChain = exports.isAddressIn = exports.addressEquals = exports.ALL_STAGE_TYPES = exports.getAllStageMetadata = 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.prepareTimelockBatchCalldata = void 0;
55
+ exports.autoLinkOrphanedCheckpoints = exports.findPotentialParent = exports.getDeduplicationStats = exports.getChildCheckpoints = exports.getChildToParentMap = exports.filterChildCheckpoints = exports.isChildCheckpoint = exports.getParentCheckpoint = exports.linkCheckpointToChild = exports.isSecurityCouncilTimelockOp = exports.readGovernorName = exports.readIsContender = exports.readVotesUsed = exports.readElectionCount = exports.readMemberElectionState = exports.readNomineeElectionState = exports.readDelegate = exports.readCurrentVotingPower = exports.readHasVoted = exports.readGetVotes = exports.readVotingPower = exports.readQuorum = exports.readProposalDeadline = exports.readProposalSnapshot = exports.readProposalVotes = exports.readProposalState = exports.prepareCastVoteWithReasonAndParams = exports.prepareCastVoteWithReason = exports.prepareCastVote = exports.prepareMemberElectionVote = exports.prepareNomineeElectionVote = exports.prepareContenderRegistration = exports.prepareAddContender = exports.getAddContenderTypedData = exports.decodeElectionVoteParams = exports.encodeElectionVoteParams = exports.serializeMemberDetails = exports.serializeNomineeDetails = exports.getMemberElectionDetails = exports.getNomineeElectionDetails = exports.getExcludedNominees = exports.getNomineesWithVotes = exports.getContenders = exports.prepareMemberElectionExecution = exports.prepareMemberElectionTrigger = exports.prepareElectionCreation = exports.getMemberElectionProposalParams = exports.getElectionProposalParams = exports.getElectionProposalId = exports.getElectionIndexForProposalId = void 0;
56
+ exports.DEFAULT_ERROR_THRESHOLD = exports.trimFromStage = exports.parseTimelockOpKey = exports.parseElectionKey = exports.isDiscoveryKey = exports.isTimelockOpKey = exports.isTxKey = exports.isElectionKey = exports.timelockOpCacheKey = exports.txHashCacheKey = exports.electionCacheKey = exports.computeCacheStats = exports.getCheckpointErrorCount = exports.isCheckpointErrored = exports.isCheckpointComplete = exports.createCheckpointMetadata = exports.proposalStateToStageStatus = exports.getElectionContext = exports.createTrackingState = exports.createCheckpoint = exports.getVotingDataFromStages = exports.getWatermarksFromCache = exports.extractTimelockLinkFromStages = exports.extractOperationIds = exports.extractElections = exports.extractTimelockOps = exports.extractProposals = exports.getBundledCachePath = exports.MemoryCache = exports.LocalStorageCache = exports.FileCache = exports.buildTenderlyEncodeStatesRequest = exports.buildTenderlySimRequest = exports.extractSimulationsByActionIndex = 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 = void 0;
57
+ exports.DEFAULT_MIN_VOTING_POWER = exports.EXCLUDED_DELEGATE_ADDRESSES = exports.DELEGATE_START_BLOCK = exports.buildDelegateCache = exports.queryDelegateVotingPowers = exports.queryDelegatesNotVoted = exports.filterDelegatesByAddress = exports.filterDelegatesByMinPower = exports.getDelegateRankInfo = exports.getTopDelegates = exports.DELEGATE_CACHE_VERSION = exports.serializeDelegateCache = exports.validateDelegateCache = exports.getDelegateCacheStats = exports.extractDelegates = exports.getBundledDelegateCachePath = exports.loadBundledDelegateCache = exports.loadWatermarks = exports.WATERMARKS_KEY = exports.TX_KEY_PREFIX = exports.ELECTION_KEY_PREFIX = void 0;
51
58
  // ============================================================================
52
59
  // TIER 1: Core Public API
53
60
  // ============================================================================
@@ -73,18 +80,58 @@ Object.defineProperty(exports, "NETWORK_IDS", { enumerable: true, get: function
73
80
  Object.defineProperty(exports, "TIMELOCK_SELECTORS", { enumerable: true, get: function () { return constants_1.TIMELOCK_SELECTORS; } });
74
81
  Object.defineProperty(exports, "isElectionGovernor", { enumerable: true, get: function () { return constants_1.isElectionGovernor; } });
75
82
  Object.defineProperty(exports, "buildDefaultTargets", { enumerable: true, get: function () { return constants_1.buildDefaultTargets; } });
83
+ Object.defineProperty(exports, "VOTE_SUPPORT", { enumerable: true, get: function () { return constants_1.VOTE_SUPPORT; } });
84
+ Object.defineProperty(exports, "PROPOSAL_STATE", { enumerable: true, get: function () { return constants_1.PROPOSAL_STATE; } });
85
+ Object.defineProperty(exports, "PROPOSAL_STATE_MAP", { enumerable: true, get: function () { return constants_1.PROPOSAL_STATE_MAP; } });
86
+ Object.defineProperty(exports, "PROPOSAL_STATE_LABEL", { enumerable: true, get: function () { return constants_1.PROPOSAL_STATE_LABEL; } });
87
+ Object.defineProperty(exports, "isProposalState", { enumerable: true, get: function () { return constants_1.isProposalState; } });
88
+ Object.defineProperty(exports, "MAINNET_ELECTION_CONFIG", { enumerable: true, get: function () { return constants_1.MAINNET_ELECTION_CONFIG; } });
89
+ // ABIs — human-readable format (ethers v5 compatible, `as const` for abitype)
90
+ var abis_1 = require("./abis");
91
+ Object.defineProperty(exports, "GOVERNOR_ABI", { enumerable: true, get: function () { return abis_1.GOVERNOR_ABI; } });
92
+ Object.defineProperty(exports, "GOVERNOR_WITH_VETTER_ABI", { enumerable: true, get: function () { return abis_1.GOVERNOR_WITH_VETTER_ABI; } });
93
+ Object.defineProperty(exports, "TIMELOCK_ABI", { enumerable: true, get: function () { return abis_1.TIMELOCK_ABI; } });
94
+ Object.defineProperty(exports, "NOMINEE_ELECTION_GOVERNOR_ABI", { enumerable: true, get: function () { return abis_1.NOMINEE_ELECTION_GOVERNOR_ABI; } });
95
+ Object.defineProperty(exports, "MEMBER_ELECTION_GOVERNOR_ABI", { enumerable: true, get: function () { return abis_1.MEMBER_ELECTION_GOVERNOR_ABI; } });
96
+ Object.defineProperty(exports, "SECURITY_COUNCIL_MANAGER_ABI", { enumerable: true, get: function () { return abis_1.SECURITY_COUNCIL_MANAGER_ABI; } });
97
+ Object.defineProperty(exports, "ERC20_VOTES_ABI", { enumerable: true, get: function () { return abis_1.ERC20_VOTES_ABI; } });
98
+ // ABIs — JSON format for wagmi/viem (full useReadContract/useWriteContract type inference)
99
+ var abis_json_1 = require("./abis-json");
100
+ // Full ABIs
101
+ Object.defineProperty(exports, "governorAbi", { enumerable: true, get: function () { return abis_json_1.governorAbi; } });
102
+ Object.defineProperty(exports, "governorWithVetterAbi", { enumerable: true, get: function () { return abis_json_1.governorWithVetterAbi; } });
103
+ Object.defineProperty(exports, "timelockAbi", { enumerable: true, get: function () { return abis_json_1.timelockAbi; } });
104
+ Object.defineProperty(exports, "securityCouncilManagerAbi", { enumerable: true, get: function () { return abis_json_1.securityCouncilManagerAbi; } });
105
+ Object.defineProperty(exports, "inboxAbi", { enumerable: true, get: function () { return abis_json_1.inboxAbi; } });
106
+ Object.defineProperty(exports, "nomineeElectionGovernorAbi", { enumerable: true, get: function () { return abis_json_1.nomineeElectionGovernorAbi; } });
107
+ Object.defineProperty(exports, "memberElectionGovernorAbi", { enumerable: true, get: function () { return abis_json_1.memberElectionGovernorAbi; } });
108
+ Object.defineProperty(exports, "erc20VotesAbi", { enumerable: true, get: function () { return abis_json_1.erc20VotesAbi; } });
109
+ // Curated read/write subsets (use when full ABI exceeds viem type inference limits)
110
+ Object.defineProperty(exports, "governorReadAbi", { enumerable: true, get: function () { return abis_json_1.governorReadAbi; } });
111
+ Object.defineProperty(exports, "governorWriteAbi", { enumerable: true, get: function () { return abis_json_1.governorWriteAbi; } });
112
+ Object.defineProperty(exports, "nomineeElectionGovernorReadAbi", { enumerable: true, get: function () { return abis_json_1.nomineeElectionGovernorReadAbi; } });
113
+ Object.defineProperty(exports, "nomineeElectionGovernorWriteAbi", { enumerable: true, get: function () { return abis_json_1.nomineeElectionGovernorWriteAbi; } });
114
+ Object.defineProperty(exports, "memberElectionGovernorReadAbi", { enumerable: true, get: function () { return abis_json_1.memberElectionGovernorReadAbi; } });
115
+ Object.defineProperty(exports, "memberElectionGovernorWriteAbi", { enumerable: true, get: function () { return abis_json_1.memberElectionGovernorWriteAbi; } });
116
+ Object.defineProperty(exports, "timelockReadAbi", { enumerable: true, get: function () { return abis_json_1.timelockReadAbi; } });
117
+ Object.defineProperty(exports, "timelockWriteAbi", { enumerable: true, get: function () { return abis_json_1.timelockWriteAbi; } });
76
118
  // Stage utilities
77
119
  var utils_1 = require("./stages/utils");
78
120
  Object.defineProperty(exports, "findExecutableStage", { enumerable: true, get: function () { return utils_1.findExecutableStage; } });
79
121
  Object.defineProperty(exports, "findAllExecutableStages", { enumerable: true, get: function () { return utils_1.findAllExecutableStages; } });
80
122
  Object.defineProperty(exports, "needsAction", { enumerable: true, get: function () { return utils_1.needsAction; } });
81
123
  Object.defineProperty(exports, "getTrackingStatusSummary", { enumerable: true, get: function () { return utils_1.getTrackingStatusSummary; } });
124
+ Object.defineProperty(exports, "getLifecyclePhase", { enumerable: true, get: function () { return utils_1.getLifecyclePhase; } });
82
125
  Object.defineProperty(exports, "getCurrentStage", { enumerable: true, get: function () { return utils_1.getCurrentStage; } });
83
126
  Object.defineProperty(exports, "areAllStagesComplete", { enumerable: true, get: function () { return utils_1.areAllStagesComplete; } });
84
127
  Object.defineProperty(exports, "extractOperationId", { enumerable: true, get: function () { return utils_1.extractOperationId; } });
85
128
  Object.defineProperty(exports, "isTimelockStage", { enumerable: true, get: function () { return utils_1.isTimelockStage; } });
86
129
  Object.defineProperty(exports, "isConstitutional", { enumerable: true, get: function () { return utils_1.isConstitutional; } });
87
130
  Object.defineProperty(exports, "findStage", { enumerable: true, get: function () { return utils_1.findStage; } });
131
+ // Stage merging utilities
132
+ Object.defineProperty(exports, "mergeStages", { enumerable: true, get: function () { return utils_1.mergeStages; } });
133
+ Object.defineProperty(exports, "normalizeTimeline", { enumerable: true, get: function () { return utils_1.normalizeTimeline; } });
134
+ Object.defineProperty(exports, "splitStages", { enumerable: true, get: function () { return utils_1.splitStages; } });
88
135
  // ============================================================================
89
136
  // TIER 2: Advanced API - Power user functions
90
137
  // ============================================================================
@@ -96,6 +143,7 @@ Object.defineProperty(exports, "detectGovernorCapabilities", { enumerable: true,
96
143
  Object.defineProperty(exports, "getTimelockAddress", { enumerable: true, get: function () { return governor_discovery_1.getTimelockAddress; } });
97
144
  Object.defineProperty(exports, "getProposalState", { enumerable: true, get: function () { return governor_discovery_1.getProposalState; } });
98
145
  Object.defineProperty(exports, "discoverProposalByTxHash", { enumerable: true, get: function () { return governor_discovery_1.discoverProposalByTxHash; } });
146
+ Object.defineProperty(exports, "queryProposalCreatedEvents", { enumerable: true, get: function () { return governor_discovery_1.queryProposalCreatedEvents; } });
99
147
  // Timelock introspection
100
148
  var timelock_discovery_1 = require("./discovery/timelock-discovery");
101
149
  Object.defineProperty(exports, "isKnownL2Timelock", { enumerable: true, get: function () { return timelock_discovery_1.isKnownL2Timelock; } });
@@ -130,6 +178,8 @@ Object.defineProperty(exports, "generateSecurityCouncilSalt", { enumerable: true
130
178
  Object.defineProperty(exports, "decodeL1TimelockSchedule", { enumerable: true, get: function () { return salt_computation_1.decodeL1TimelockSchedule; } });
131
179
  // Operation ID utilities
132
180
  var operation_id_1 = require("./utils/operation-id");
181
+ Object.defineProperty(exports, "hashOperation", { enumerable: true, get: function () { return operation_id_1.hashOperation; } });
182
+ Object.defineProperty(exports, "hashOperationBatch", { enumerable: true, get: function () { return operation_id_1.hashOperationBatch; } });
133
183
  Object.defineProperty(exports, "validateSalt", { enumerable: true, get: function () { return operation_id_1.validateSalt; } });
134
184
  Object.defineProperty(exports, "validateSaltBatch", { enumerable: true, get: function () { return operation_id_1.validateSaltBatch; } });
135
185
  Object.defineProperty(exports, "computeAndValidateOperationHash", { enumerable: true, get: function () { return operation_id_1.computeAndValidateOperationHash; } });
@@ -142,6 +192,9 @@ var timelock_1 = require("./stages/timelock");
142
192
  Object.defineProperty(exports, "prepareTimelockOperation", { enumerable: true, get: function () { return timelock_1.prepareTimelockOperation; } });
143
193
  Object.defineProperty(exports, "prepareTimelockBatch", { enumerable: true, get: function () { return timelock_1.prepareTimelockBatch; } });
144
194
  Object.defineProperty(exports, "prepareTimelockStage", { enumerable: true, get: function () { return timelock_1.prepareTimelockStage; } });
195
+ Object.defineProperty(exports, "prepareExecuteTimelock", { enumerable: true, get: function () { return timelock_1.prepareExecuteTimelock; } });
196
+ Object.defineProperty(exports, "prepareTimelockExecuteCalldata", { enumerable: true, get: function () { return timelock_1.prepareTimelockExecuteCalldata; } });
197
+ Object.defineProperty(exports, "prepareTimelockBatchCalldata", { enumerable: true, get: function () { return timelock_1.prepareTimelockBatchCalldata; } });
145
198
  Object.defineProperty(exports, "calculateRetryableExecutionValue", { enumerable: true, get: function () { return timelock_1.calculateRetryableExecutionValue; } });
146
199
  Object.defineProperty(exports, "calculateBatchRetryableValues", { enumerable: true, get: function () { return timelock_1.calculateBatchRetryableValues; } });
147
200
  // L2→L1 message preparation
@@ -170,18 +223,25 @@ Object.defineProperty(exports, "ELECTION_TIMING", { enumerable: true, get: funct
170
223
  var stage_metadata_1 = require("./utils/stage-metadata");
171
224
  Object.defineProperty(exports, "getStageMetadata", { enumerable: true, get: function () { return stage_metadata_1.getStageMetadata; } });
172
225
  Object.defineProperty(exports, "formatStageTitle", { enumerable: true, get: function () { return stage_metadata_1.formatStageTitle; } });
173
- // Address utilities
226
+ Object.defineProperty(exports, "getAllStageMetadata", { enumerable: true, get: function () { return stage_metadata_1.getAllStageMetadata; } });
227
+ Object.defineProperty(exports, "ALL_STAGE_TYPES", { enumerable: true, get: function () { return stage_metadata_1.ALL_STAGE_TYPES; } });
228
+ // Chain and address utilities
174
229
  var chain_1 = require("./utils/chain");
175
230
  Object.defineProperty(exports, "addressEquals", { enumerable: true, get: function () { return chain_1.addressEquals; } });
176
231
  Object.defineProperty(exports, "isAddressIn", { enumerable: true, get: function () { return chain_1.isAddressIn; } });
177
232
  Object.defineProperty(exports, "getChain", { enumerable: true, get: function () { return chain_1.getChain; } });
233
+ Object.defineProperty(exports, "compareBigNumbers", { enumerable: true, get: function () { return chain_1.compareBigNumbers; } });
178
234
  var types_2 = require("./types");
179
235
  Object.defineProperty(exports, "chainIdToChain", { enumerable: true, get: function () { return types_2.chainIdToChain; } });
180
236
  Object.defineProperty(exports, "chainToChainId", { enumerable: true, get: function () { return types_2.chainToChainId; } });
181
237
  Object.defineProperty(exports, "getChainDisplayName", { enumerable: true, get: function () { return types_2.getChainDisplayName; } });
182
- // Error classification
238
+ // Error classification and RPC utilities
183
239
  var rpc_utils_1 = require("./utils/rpc-utils");
184
240
  Object.defineProperty(exports, "isGasEstimationError", { enumerable: true, get: function () { return rpc_utils_1.isGasEstimationError; } });
241
+ Object.defineProperty(exports, "isPermanentError", { enumerable: true, get: function () { return rpc_utils_1.isPermanentError; } });
242
+ Object.defineProperty(exports, "isRetryableError", { enumerable: true, get: function () { return rpc_utils_1.isRetryableError; } });
243
+ Object.defineProperty(exports, "getErrorMessage", { enumerable: true, get: function () { return rpc_utils_1.getErrorMessage; } });
244
+ Object.defineProperty(exports, "queryWithRetry", { enumerable: true, get: function () { return rpc_utils_1.queryWithRetry; } });
185
245
  // Security utilities
186
246
  var sanitize_1 = require("./utils/sanitize");
187
247
  Object.defineProperty(exports, "truncateDescription", { enumerable: true, get: function () { return sanitize_1.truncateDescription; } });
@@ -195,7 +255,6 @@ Object.defineProperty(exports, "truncate", { enumerable: true, get: function ()
195
255
  Object.defineProperty(exports, "safeStringify", { enumerable: true, get: function () { return formatters_1.safeStringify; } });
196
256
  Object.defineProperty(exports, "formatValue", { enumerable: true, get: function () { return formatters_1.formatValue; } });
197
257
  Object.defineProperty(exports, "formatDate", { enumerable: true, get: function () { return formatters_1.formatDate; } });
198
- Object.defineProperty(exports, "CHAIN_TO_CHAIN_ID", { enumerable: true, get: function () { return formatters_1.CHAIN_TO_CHAIN_ID; } });
199
258
  Object.defineProperty(exports, "formatStageData", { enumerable: true, get: function () { return formatters_1.formatStageData; } });
200
259
  Object.defineProperty(exports, "getTxHash", { enumerable: true, get: function () { return formatters_1.getTxHash; } });
201
260
  Object.defineProperty(exports, "getProposalIdDisplay", { enumerable: true, get: function () { return formatters_1.getProposalIdDisplay; } });
@@ -209,6 +268,9 @@ var election_1 = require("./election");
209
268
  Object.defineProperty(exports, "getElectionCount", { enumerable: true, get: function () { return election_1.getElectionCount; } });
210
269
  Object.defineProperty(exports, "checkElectionStatus", { enumerable: true, get: function () { return election_1.checkElectionStatus; } });
211
270
  Object.defineProperty(exports, "hasVettingPeriod", { enumerable: true, get: function () { return election_1.hasVettingPeriod; } });
271
+ Object.defineProperty(exports, "determineElectionPhase", { enumerable: true, get: function () { return election_1.determineElectionPhase; } });
272
+ Object.defineProperty(exports, "getElectionStatus", { enumerable: true, get: function () { return election_1.getElectionStatus; } });
273
+ Object.defineProperty(exports, "getAllElectionStatuses", { enumerable: true, get: function () { return election_1.getAllElectionStatuses; } });
212
274
  // Election tracking utilities
213
275
  Object.defineProperty(exports, "getElectionIndexForProposalId", { enumerable: true, get: function () { return election_1.getElectionIndexForProposalId; } });
214
276
  // Election proposal IDs
@@ -228,6 +290,38 @@ Object.defineProperty(exports, "getMemberElectionDetails", { enumerable: true, g
228
290
  // Election details serialization
229
291
  Object.defineProperty(exports, "serializeNomineeDetails", { enumerable: true, get: function () { return election_1.serializeNomineeDetails; } });
230
292
  Object.defineProperty(exports, "serializeMemberDetails", { enumerable: true, get: function () { return election_1.serializeMemberDetails; } });
293
+ // Election write actions (prepare-only)
294
+ Object.defineProperty(exports, "encodeElectionVoteParams", { enumerable: true, get: function () { return election_1.encodeElectionVoteParams; } });
295
+ Object.defineProperty(exports, "decodeElectionVoteParams", { enumerable: true, get: function () { return election_1.decodeElectionVoteParams; } });
296
+ Object.defineProperty(exports, "getAddContenderTypedData", { enumerable: true, get: function () { return election_1.getAddContenderTypedData; } });
297
+ Object.defineProperty(exports, "prepareAddContender", { enumerable: true, get: function () { return election_1.prepareAddContender; } });
298
+ Object.defineProperty(exports, "prepareContenderRegistration", { enumerable: true, get: function () { return election_1.prepareContenderRegistration; } });
299
+ Object.defineProperty(exports, "prepareNomineeElectionVote", { enumerable: true, get: function () { return election_1.prepareNomineeElectionVote; } });
300
+ Object.defineProperty(exports, "prepareMemberElectionVote", { enumerable: true, get: function () { return election_1.prepareMemberElectionVote; } });
301
+ // ============================================================================
302
+ // TIER 5b: Governance Write Actions
303
+ // ============================================================================
304
+ var governance_1 = require("./governance");
305
+ Object.defineProperty(exports, "prepareCastVote", { enumerable: true, get: function () { return governance_1.prepareCastVote; } });
306
+ Object.defineProperty(exports, "prepareCastVoteWithReason", { enumerable: true, get: function () { return governance_1.prepareCastVoteWithReason; } });
307
+ Object.defineProperty(exports, "prepareCastVoteWithReasonAndParams", { enumerable: true, get: function () { return governance_1.prepareCastVoteWithReasonAndParams; } });
308
+ // Read helpers (wagmi useReadContract / useReadContracts compatible)
309
+ Object.defineProperty(exports, "readProposalState", { enumerable: true, get: function () { return governance_1.readProposalState; } });
310
+ Object.defineProperty(exports, "readProposalVotes", { enumerable: true, get: function () { return governance_1.readProposalVotes; } });
311
+ Object.defineProperty(exports, "readProposalSnapshot", { enumerable: true, get: function () { return governance_1.readProposalSnapshot; } });
312
+ Object.defineProperty(exports, "readProposalDeadline", { enumerable: true, get: function () { return governance_1.readProposalDeadline; } });
313
+ Object.defineProperty(exports, "readQuorum", { enumerable: true, get: function () { return governance_1.readQuorum; } });
314
+ Object.defineProperty(exports, "readVotingPower", { enumerable: true, get: function () { return governance_1.readVotingPower; } });
315
+ Object.defineProperty(exports, "readGetVotes", { enumerable: true, get: function () { return governance_1.readGetVotes; } });
316
+ Object.defineProperty(exports, "readHasVoted", { enumerable: true, get: function () { return governance_1.readHasVoted; } });
317
+ Object.defineProperty(exports, "readCurrentVotingPower", { enumerable: true, get: function () { return governance_1.readCurrentVotingPower; } });
318
+ Object.defineProperty(exports, "readDelegate", { enumerable: true, get: function () { return governance_1.readDelegate; } });
319
+ Object.defineProperty(exports, "readNomineeElectionState", { enumerable: true, get: function () { return governance_1.readNomineeElectionState; } });
320
+ Object.defineProperty(exports, "readMemberElectionState", { enumerable: true, get: function () { return governance_1.readMemberElectionState; } });
321
+ Object.defineProperty(exports, "readElectionCount", { enumerable: true, get: function () { return governance_1.readElectionCount; } });
322
+ Object.defineProperty(exports, "readVotesUsed", { enumerable: true, get: function () { return governance_1.readVotesUsed; } });
323
+ Object.defineProperty(exports, "readIsContender", { enumerable: true, get: function () { return governance_1.readIsContender; } });
324
+ Object.defineProperty(exports, "readGovernorName", { enumerable: true, get: function () { return governance_1.readGovernorName; } });
231
325
  // Checkpoint deduplication helpers
232
326
  var deduplication_1 = require("./deduplication");
233
327
  Object.defineProperty(exports, "isSecurityCouncilTimelockOp", { enumerable: true, get: function () { return deduplication_1.isSecurityCouncilTimelockOp; } });
@@ -269,6 +363,10 @@ Object.defineProperty(exports, "prepareRetryableSimulation", { enumerable: true,
269
363
  Object.defineProperty(exports, "prepareTimelockSimulation", { enumerable: true, get: function () { return simulation_1.prepareTimelockSimulation; } });
270
364
  Object.defineProperty(exports, "prepareCallSimulation", { enumerable: true, get: function () { return simulation_1.prepareCallSimulation; } });
271
365
  Object.defineProperty(exports, "extractAllSimulationsFromDecoded", { enumerable: true, get: function () { return simulation_1.extractAllSimulationsFromDecoded; } });
366
+ Object.defineProperty(exports, "extractSimulationsByActionIndex", { enumerable: true, get: function () { return simulation_1.extractSimulationsByActionIndex; } });
367
+ // Tenderly payload builders (dependency-free)
368
+ Object.defineProperty(exports, "buildTenderlySimRequest", { enumerable: true, get: function () { return simulation_1.buildTenderlySimRequest; } });
369
+ Object.defineProperty(exports, "buildTenderlyEncodeStatesRequest", { enumerable: true, get: function () { return simulation_1.buildTenderlyEncodeStatesRequest; } });
272
370
  // ============================================================================
273
371
  // TIER 8: Cache Implementations
274
372
  // ============================================================================
@@ -277,6 +375,15 @@ Object.defineProperty(exports, "FileCache", { enumerable: true, get: function ()
277
375
  Object.defineProperty(exports, "LocalStorageCache", { enumerable: true, get: function () { return cache_1.LocalStorageCache; } });
278
376
  Object.defineProperty(exports, "MemoryCache", { enumerable: true, get: function () { return cache_1.MemoryCache; } });
279
377
  Object.defineProperty(exports, "getBundledCachePath", { enumerable: true, get: function () { return cache_1.getBundledCachePath; } });
378
+ // Bundled cache extraction utilities
379
+ var bundled_cache_1 = require("./tracker/bundled-cache");
380
+ Object.defineProperty(exports, "extractProposals", { enumerable: true, get: function () { return bundled_cache_1.extractProposals; } });
381
+ Object.defineProperty(exports, "extractTimelockOps", { enumerable: true, get: function () { return bundled_cache_1.extractTimelockOps; } });
382
+ Object.defineProperty(exports, "extractElections", { enumerable: true, get: function () { return bundled_cache_1.extractElections; } });
383
+ Object.defineProperty(exports, "extractOperationIds", { enumerable: true, get: function () { return bundled_cache_1.extractOperationIds; } });
384
+ Object.defineProperty(exports, "extractTimelockLinkFromStages", { enumerable: true, get: function () { return bundled_cache_1.extractTimelockLinkFromStages; } });
385
+ Object.defineProperty(exports, "getWatermarksFromCache", { enumerable: true, get: function () { return bundled_cache_1.getWatermarksFromCache; } });
386
+ Object.defineProperty(exports, "getVotingDataFromStages", { enumerable: true, get: function () { return bundled_cache_1.getVotingDataFromStages; } });
280
387
  // ============================================================================
281
388
  // TIER 9: Internal Utilities (for testing)
282
389
  // ============================================================================
@@ -301,9 +408,38 @@ Object.defineProperty(exports, "isTimelockOpKey", { enumerable: true, get: funct
301
408
  Object.defineProperty(exports, "isDiscoveryKey", { enumerable: true, get: function () { return checkpoint_helpers_1.isDiscoveryKey; } });
302
409
  Object.defineProperty(exports, "parseElectionKey", { enumerable: true, get: function () { return checkpoint_helpers_1.parseElectionKey; } });
303
410
  Object.defineProperty(exports, "parseTimelockOpKey", { enumerable: true, get: function () { return checkpoint_helpers_1.parseTimelockOpKey; } });
411
+ Object.defineProperty(exports, "trimFromStage", { enumerable: true, get: function () { return checkpoint_helpers_1.trimFromStage; } });
304
412
  Object.defineProperty(exports, "DEFAULT_ERROR_THRESHOLD", { enumerable: true, get: function () { return checkpoint_helpers_1.DEFAULT_ERROR_THRESHOLD; } });
305
413
  Object.defineProperty(exports, "ELECTION_KEY_PREFIX", { enumerable: true, get: function () { return checkpoint_helpers_1.ELECTION_KEY_PREFIX; } });
306
414
  Object.defineProperty(exports, "TX_KEY_PREFIX", { enumerable: true, get: function () { return checkpoint_helpers_1.TX_KEY_PREFIX; } });
307
415
  var discovery_1 = require("./tracker/discovery");
308
416
  Object.defineProperty(exports, "WATERMARKS_KEY", { enumerable: true, get: function () { return discovery_1.WATERMARKS_KEY; } });
417
+ Object.defineProperty(exports, "loadWatermarks", { enumerable: true, get: function () { return discovery_1.loadWatermarks; } });
418
+ // ============================================================================
419
+ // TIER 10: Delegate Indexing & Query
420
+ // ============================================================================
421
+ var delegates_1 = require("./delegates");
422
+ // Cache access (sync)
423
+ Object.defineProperty(exports, "loadBundledDelegateCache", { enumerable: true, get: function () { return delegates_1.loadBundledDelegateCache; } });
424
+ Object.defineProperty(exports, "getBundledDelegateCachePath", { enumerable: true, get: function () { return delegates_1.getBundledDelegateCachePath; } });
425
+ Object.defineProperty(exports, "extractDelegates", { enumerable: true, get: function () { return delegates_1.extractDelegates; } });
426
+ Object.defineProperty(exports, "getDelegateCacheStats", { enumerable: true, get: function () { return delegates_1.getDelegateCacheStats; } });
427
+ Object.defineProperty(exports, "validateDelegateCache", { enumerable: true, get: function () { return delegates_1.validateDelegateCache; } });
428
+ Object.defineProperty(exports, "serializeDelegateCache", { enumerable: true, get: function () { return delegates_1.serializeDelegateCache; } });
429
+ Object.defineProperty(exports, "DELEGATE_CACHE_VERSION", { enumerable: true, get: function () { return delegates_1.DELEGATE_CACHE_VERSION; } });
430
+ // Query helpers (sync)
431
+ Object.defineProperty(exports, "getTopDelegates", { enumerable: true, get: function () { return delegates_1.getTopDelegates; } });
432
+ Object.defineProperty(exports, "getDelegateRankInfo", { enumerable: true, get: function () { return delegates_1.getDelegateRankInfo; } });
433
+ Object.defineProperty(exports, "filterDelegatesByMinPower", { enumerable: true, get: function () { return delegates_1.filterDelegatesByMinPower; } });
434
+ Object.defineProperty(exports, "filterDelegatesByAddress", { enumerable: true, get: function () { return delegates_1.filterDelegatesByAddress; } });
435
+ // Live queries (async)
436
+ Object.defineProperty(exports, "queryDelegatesNotVoted", { enumerable: true, get: function () { return delegates_1.queryDelegatesNotVoted; } });
437
+ Object.defineProperty(exports, "queryDelegateVotingPowers", { enumerable: true, get: function () { return delegates_1.queryDelegateVotingPowers; } });
438
+ // Indexer
439
+ Object.defineProperty(exports, "buildDelegateCache", { enumerable: true, get: function () { return delegates_1.buildDelegateCache; } });
440
+ // Delegate constants
441
+ var constants_3 = require("./constants");
442
+ Object.defineProperty(exports, "DELEGATE_START_BLOCK", { enumerable: true, get: function () { return constants_3.DELEGATE_START_BLOCK; } });
443
+ Object.defineProperty(exports, "EXCLUDED_DELEGATE_ADDRESSES", { enumerable: true, get: function () { return constants_3.EXCLUDED_DELEGATE_ADDRESSES; } });
444
+ Object.defineProperty(exports, "DEFAULT_MIN_VOTING_POWER", { enumerable: true, get: function () { return constants_3.DEFAULT_MIN_VOTING_POWER; } });
309
445
  //# 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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"}
@@ -3,5 +3,8 @@
3
3
  *
4
4
  * Re-exports simulation data preparation functions for Tenderly API usage.
5
5
  */
6
- export { prepareRetryableSimulation, prepareTimelockSimulation, prepareCallSimulation, extractAllSimulationsFromDecoded, } from "./simulation-data";
6
+ export { prepareRetryableSimulation, prepareTimelockSimulation, prepareCallSimulation, extractAllSimulationsFromDecoded, extractSimulationsByActionIndex, } from "./simulation-data";
7
+ export type { IndexedSimulation } from "./simulation-data";
8
+ export { buildTenderlySimRequest, buildTenderlyEncodeStatesRequest } from "./tenderly-payloads";
9
+ export type { TenderlySimRequest, TenderlyEncodeStatesRequest } from "./tenderly-payloads";
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAChG,YAAY,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC"}
@@ -5,10 +5,14 @@
5
5
  * Re-exports simulation data preparation functions for Tenderly API usage.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.extractAllSimulationsFromDecoded = exports.prepareCallSimulation = exports.prepareTimelockSimulation = exports.prepareRetryableSimulation = void 0;
8
+ exports.buildTenderlyEncodeStatesRequest = exports.buildTenderlySimRequest = exports.extractSimulationsByActionIndex = exports.extractAllSimulationsFromDecoded = exports.prepareCallSimulation = exports.prepareTimelockSimulation = exports.prepareRetryableSimulation = void 0;
9
9
  var simulation_data_1 = require("./simulation-data");
10
10
  Object.defineProperty(exports, "prepareRetryableSimulation", { enumerable: true, get: function () { return simulation_data_1.prepareRetryableSimulation; } });
11
11
  Object.defineProperty(exports, "prepareTimelockSimulation", { enumerable: true, get: function () { return simulation_data_1.prepareTimelockSimulation; } });
12
12
  Object.defineProperty(exports, "prepareCallSimulation", { enumerable: true, get: function () { return simulation_data_1.prepareCallSimulation; } });
13
13
  Object.defineProperty(exports, "extractAllSimulationsFromDecoded", { enumerable: true, get: function () { return simulation_data_1.extractAllSimulationsFromDecoded; } });
14
+ Object.defineProperty(exports, "extractSimulationsByActionIndex", { enumerable: true, get: function () { return simulation_data_1.extractSimulationsByActionIndex; } });
15
+ var tenderly_payloads_1 = require("./tenderly-payloads");
16
+ Object.defineProperty(exports, "buildTenderlySimRequest", { enumerable: true, get: function () { return tenderly_payloads_1.buildTenderlySimRequest; } });
17
+ Object.defineProperty(exports, "buildTenderlyEncodeStatesRequest", { enumerable: true, get: function () { return tenderly_payloads_1.buildTenderlyEncodeStatesRequest; } });
14
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/simulation/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qDAK2B;AAJzB,6HAAA,0BAA0B,OAAA;AAC1B,4HAAA,yBAAyB,OAAA;AACzB,wHAAA,qBAAqB,OAAA;AACrB,mIAAA,gCAAgC,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/simulation/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qDAM2B;AALzB,6HAAA,0BAA0B,OAAA;AAC1B,4HAAA,yBAAyB,OAAA;AACzB,wHAAA,qBAAqB,OAAA;AACrB,mIAAA,gCAAgC,OAAA;AAChC,kIAAA,+BAA+B,OAAA;AAIjC,yDAAgG;AAAvF,4HAAA,uBAAuB,OAAA;AAAE,qIAAA,gCAAgC,OAAA"}
@@ -50,4 +50,35 @@ export declare function prepareCallSimulation(target: string, calldata: string,
50
50
  * @returns Array of extracted simulations
51
51
  */
52
52
  export declare function extractAllSimulationsFromDecoded(decoded: DecodedCalldata, chainContext?: Chain): ExtractedSimulation[];
53
+ /**
54
+ * Simulation data with action index tracking.
55
+ * Extends ExtractedSimulation with the proposal action index.
56
+ */
57
+ export interface IndexedSimulation extends ExtractedSimulation {
58
+ /** Index of the proposal action this simulation came from (0-based) */
59
+ actionIndex: number;
60
+ }
61
+ /**
62
+ * Extract simulations from decoded proposal actions with action index tracking.
63
+ *
64
+ * This is a convenience wrapper for UI builders that need to map simulations
65
+ * back to their source proposal action. Each returned simulation includes
66
+ * the actionIndex indicating which proposal action it originated from.
67
+ *
68
+ * @param decodedActions - Array of decoded calldata from proposal actions
69
+ * @param chain - Chain context for simulation preparation
70
+ * @returns Array of simulations with action index tracking
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * const decodedActions = await Promise.all(
75
+ * calldatas.map((cd, i) => decodeCalldata(cd, targets[i], 0, "arb1"))
76
+ * );
77
+ * const indexed = extractSimulationsByActionIndex(decodedActions, "arb1");
78
+ *
79
+ * // Group by action for UI display
80
+ * const byAction = Map.groupBy(indexed, s => s.actionIndex);
81
+ * ```
82
+ */
83
+ export declare function extractSimulationsByActionIndex(decodedActions: DecodedCalldata[], chain?: Chain): IndexedSimulation[];
53
84
  //# sourceMappingURL=simulation-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"simulation-data.d.ts","sourceRoot":"","sources":["../../src/simulation/simulation-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAkB,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAY7B;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,uBAAuB,CAkBzB;AAmFD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,MAAM,EACvB,qBAAqB,EAAE,MAAM,EAC7B,KAAK,GAAE,KAAkB,GACxB,sBAAsB,GAAG,IAAI,CAiC/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,kBAAkB,CA0BpB;AAwGD;;;;;;;;;;;GAWG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,eAAe,EACxB,YAAY,GAAE,KAAc,GAC3B,mBAAmB,EAAE,CA0CvB"}
1
+ {"version":3,"file":"simulation-data.d.ts","sourceRoot":"","sources":["../../src/simulation/simulation-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAkB,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAY7B;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,uBAAuB,CAkBzB;AAmFD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,MAAM,EACvB,qBAAqB,EAAE,MAAM,EAC7B,KAAK,GAAE,KAAkB,GACxB,sBAAsB,GAAG,IAAI,CAiC/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,kBAAkB,CA0BpB;AAwGD;;;;;;;;;;;GAWG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,eAAe,EACxB,YAAY,GAAE,KAAc,GAC3B,mBAAmB,EAAE,CA0CvB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,eAAe,EAAE,EACjC,KAAK,GAAE,KAAc,GACpB,iBAAiB,EAAE,CAarB"}
@@ -10,6 +10,7 @@ exports.prepareRetryableSimulation = prepareRetryableSimulation;
10
10
  exports.prepareTimelockSimulation = prepareTimelockSimulation;
11
11
  exports.prepareCallSimulation = prepareCallSimulation;
12
12
  exports.extractAllSimulationsFromDecoded = extractAllSimulationsFromDecoded;
13
+ exports.extractSimulationsByActionIndex = extractSimulationsByActionIndex;
13
14
  const ethers_1 = require("ethers");
14
15
  const address_1 = require("@arbitrum/sdk/dist/lib/dataEntities/address");
15
16
  const types_1 = require("../types");
@@ -303,4 +304,37 @@ function extractAllSimulationsFromDecoded(decoded, chainContext = "arb1") {
303
304
  }
304
305
  return simulations;
305
306
  }
307
+ /**
308
+ * Extract simulations from decoded proposal actions with action index tracking.
309
+ *
310
+ * This is a convenience wrapper for UI builders that need to map simulations
311
+ * back to their source proposal action. Each returned simulation includes
312
+ * the actionIndex indicating which proposal action it originated from.
313
+ *
314
+ * @param decodedActions - Array of decoded calldata from proposal actions
315
+ * @param chain - Chain context for simulation preparation
316
+ * @returns Array of simulations with action index tracking
317
+ *
318
+ * @example
319
+ * ```typescript
320
+ * const decodedActions = await Promise.all(
321
+ * calldatas.map((cd, i) => decodeCalldata(cd, targets[i], 0, "arb1"))
322
+ * );
323
+ * const indexed = extractSimulationsByActionIndex(decodedActions, "arb1");
324
+ *
325
+ * // Group by action for UI display
326
+ * const byAction = Map.groupBy(indexed, s => s.actionIndex);
327
+ * ```
328
+ */
329
+ function extractSimulationsByActionIndex(decodedActions, chain = "arb1") {
330
+ const results = [];
331
+ for (let actionIndex = 0; actionIndex < decodedActions.length; actionIndex++) {
332
+ const decoded = decodedActions[actionIndex];
333
+ const sims = extractAllSimulationsFromDecoded(decoded, chain);
334
+ for (const sim of sims) {
335
+ results.push({ ...sim, actionIndex });
336
+ }
337
+ }
338
+ return results;
339
+ }
306
340
  //# sourceMappingURL=simulation-data.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"simulation-data.js","sourceRoot":"","sources":["../../src/simulation/simulation-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulation-data.js","sourceRoot":"","sources":["../../src/simulation/simulation-data.ts"],"names":[],"mappings":"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"}