@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.
- package/README.md +126 -80
- package/dist/abis.d.ts +3 -0
- package/dist/abis.d.ts.map +1 -1
- package/dist/abis.js +30 -2
- package/dist/abis.js.map +1 -1
- package/dist/calldata/index.d.ts +1 -1
- package/dist/calldata/index.d.ts.map +1 -1
- package/dist/calldata/index.js.map +1 -1
- package/dist/calldata/parameter-decoder.d.ts.map +1 -1
- package/dist/calldata/parameter-decoder.js +8 -1
- package/dist/calldata/parameter-decoder.js.map +1 -1
- package/dist/calldata/signature-lookup.d.ts +17 -2
- package/dist/calldata/signature-lookup.d.ts.map +1 -1
- package/dist/calldata/signature-lookup.js +20 -2
- package/dist/calldata/signature-lookup.js.map +1 -1
- package/dist/cli/cli.d.ts +21 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/{monitor.js → cli.js} +315 -46
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/lib/cli.d.ts +54 -3
- package/dist/cli/lib/cli.d.ts.map +1 -1
- package/dist/cli/lib/cli.js +384 -75
- package/dist/cli/lib/cli.js.map +1 -1
- package/dist/cli/lib/concurrency.d.ts +20 -0
- package/dist/cli/lib/concurrency.d.ts.map +1 -0
- package/dist/cli/lib/concurrency.js +32 -0
- package/dist/cli/lib/concurrency.js.map +1 -0
- package/dist/cli/lib/json-state.d.ts +23 -0
- package/dist/cli/lib/json-state.d.ts.map +1 -1
- package/dist/cli/lib/json-state.js +51 -4
- package/dist/cli/lib/json-state.js.map +1 -1
- package/dist/constants.d.ts +39 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +47 -1
- package/dist/constants.js.map +1 -1
- package/dist/data/bundled-cache.json +11807 -2559
- package/dist/deduplication.d.ts +132 -0
- package/dist/deduplication.d.ts.map +1 -0
- package/dist/deduplication.js +270 -0
- package/dist/deduplication.js.map +1 -0
- package/dist/discovery/governor-discovery.d.ts.map +1 -1
- package/dist/discovery/governor-discovery.js +52 -36
- package/dist/discovery/governor-discovery.js.map +1 -1
- package/dist/discovery/timelock-discovery.d.ts +15 -6
- package/dist/discovery/timelock-discovery.d.ts.map +1 -1
- package/dist/discovery/timelock-discovery.js +27 -11
- package/dist/discovery/timelock-discovery.js.map +1 -1
- package/dist/election/contracts.d.ts +8 -0
- package/dist/election/contracts.d.ts.map +1 -0
- package/dist/election/contracts.js +28 -0
- package/dist/election/contracts.js.map +1 -0
- package/dist/election/details.d.ts +15 -0
- package/dist/election/details.d.ts.map +1 -0
- package/dist/election/details.js +157 -0
- package/dist/election/details.js.map +1 -0
- package/dist/election/index.d.ts +11 -0
- package/dist/election/index.d.ts.map +1 -0
- package/dist/election/index.js +48 -0
- package/dist/election/index.js.map +1 -0
- package/dist/election/params.d.ts +13 -0
- package/dist/election/params.d.ts.map +1 -0
- package/dist/election/params.js +93 -0
- package/dist/election/params.js.map +1 -0
- package/dist/election/participants.d.ts +6 -0
- package/dist/election/participants.d.ts.map +1 -0
- package/dist/election/participants.js +102 -0
- package/dist/election/participants.js.map +1 -0
- package/dist/election/prepare.d.ts +10 -0
- package/dist/election/prepare.d.ts.map +1 -0
- package/dist/election/prepare.js +52 -0
- package/dist/election/prepare.js.map +1 -0
- package/dist/election/proposal-ids.d.ts +18 -0
- package/dist/election/proposal-ids.d.ts.map +1 -0
- package/dist/election/proposal-ids.js +77 -0
- package/dist/election/proposal-ids.js.map +1 -0
- package/dist/election/status.d.ts +15 -0
- package/dist/election/status.d.ts.map +1 -0
- package/dist/election/status.js +102 -0
- package/dist/election/status.js.map +1 -0
- package/dist/election/tracking.d.ts +28 -0
- package/dist/election/tracking.d.ts.map +1 -0
- package/dist/election/tracking.js +412 -0
- package/dist/election/tracking.js.map +1 -0
- package/dist/index.d.ts +30 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +94 -9
- package/dist/index.js.map +1 -1
- package/dist/stages/builder.d.ts +4 -0
- package/dist/stages/builder.d.ts.map +1 -1
- package/dist/stages/builder.js +7 -0
- package/dist/stages/builder.js.map +1 -1
- package/dist/stages/l2-to-l1-message.d.ts +8 -1
- package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
- package/dist/stages/l2-to-l1-message.js +79 -13
- package/dist/stages/l2-to-l1-message.js.map +1 -1
- package/dist/stages/proposal-created.d.ts +1 -0
- package/dist/stages/proposal-created.d.ts.map +1 -1
- package/dist/stages/proposal-created.js +1 -0
- package/dist/stages/proposal-created.js.map +1 -1
- package/dist/stages/proposal-queued.d.ts +1 -0
- package/dist/stages/proposal-queued.d.ts.map +1 -1
- package/dist/stages/proposal-queued.js +3 -1
- package/dist/stages/proposal-queued.js.map +1 -1
- package/dist/stages/retryables.js +2 -2
- package/dist/stages/retryables.js.map +1 -1
- package/dist/stages/timelock.d.ts +3 -1
- package/dist/stages/timelock.d.ts.map +1 -1
- package/dist/stages/timelock.js +10 -4
- package/dist/stages/timelock.js.map +1 -1
- package/dist/stages/utils.d.ts +7 -8
- package/dist/stages/utils.d.ts.map +1 -1
- package/dist/stages/utils.js +40 -27
- package/dist/stages/utils.js.map +1 -1
- package/dist/stages/voting.d.ts.map +1 -1
- package/dist/stages/voting.js +5 -4
- package/dist/stages/voting.js.map +1 -1
- package/dist/tracker/cache.d.ts +10 -6
- package/dist/tracker/cache.d.ts.map +1 -1
- package/dist/tracker/cache.js +39 -15
- package/dist/tracker/cache.js.map +1 -1
- package/dist/tracker/checkpoint-helpers.d.ts +63 -0
- package/dist/tracker/checkpoint-helpers.d.ts.map +1 -0
- package/dist/tracker/checkpoint-helpers.js +176 -0
- package/dist/tracker/checkpoint-helpers.js.map +1 -0
- package/dist/tracker/discovery.d.ts +40 -9
- package/dist/tracker/discovery.d.ts.map +1 -1
- package/dist/tracker/discovery.js +152 -15
- package/dist/tracker/discovery.js.map +1 -1
- package/dist/tracker/pipeline.d.ts.map +1 -1
- package/dist/tracker/pipeline.js +26 -11
- package/dist/tracker/pipeline.js.map +1 -1
- package/dist/tracker/query.d.ts +1 -0
- package/dist/tracker/query.d.ts.map +1 -1
- package/dist/tracker/query.js +14 -61
- package/dist/tracker/query.js.map +1 -1
- package/dist/tracker/state.d.ts +0 -10
- package/dist/tracker/state.d.ts.map +1 -1
- package/dist/tracker/state.js +1 -28
- package/dist/tracker/state.js.map +1 -1
- package/dist/tracker.d.ts +86 -4
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +311 -13
- package/dist/tracker.js.map +1 -1
- package/dist/types/config.d.ts +49 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/core.d.ts +4 -2
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/election.d.ts +143 -0
- package/dist/types/election.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/stages.d.ts +79 -1
- package/dist/types/stages.d.ts.map +1 -1
- package/dist/types/stages.js.map +1 -1
- package/dist/types/tracking.d.ts +34 -4
- package/dist/types/tracking.d.ts.map +1 -1
- package/dist/utils/block-cache.d.ts +50 -0
- package/dist/utils/block-cache.d.ts.map +1 -0
- package/dist/utils/block-cache.js +80 -0
- package/dist/utils/block-cache.js.map +1 -0
- package/dist/utils/formatters.d.ts +91 -0
- package/dist/utils/formatters.d.ts.map +1 -0
- package/dist/utils/formatters.js +327 -0
- package/dist/utils/formatters.js.map +1 -0
- package/dist/utils/multicall.d.ts +52 -0
- package/dist/utils/multicall.d.ts.map +1 -0
- package/dist/utils/multicall.js +75 -0
- package/dist/utils/multicall.js.map +1 -0
- package/dist/utils/salt-computation.d.ts.map +1 -1
- package/dist/utils/salt-computation.js +33 -7
- package/dist/utils/salt-computation.js.map +1 -1
- package/dist/utils/sanitize.d.ts +28 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +52 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/dist/utils/stage-metadata.d.ts +0 -20
- package/dist/utils/stage-metadata.d.ts.map +1 -1
- package/dist/utils/stage-metadata.js +29 -44
- package/dist/utils/stage-metadata.js.map +1 -1
- package/dist/utils/timing.d.ts +13 -0
- package/dist/utils/timing.d.ts.map +1 -1
- package/dist/utils/timing.js +37 -1
- package/dist/utils/timing.js.map +1 -1
- package/package.json +25 -16
- package/dist/cli/monitor.d.ts +0 -3
- package/dist/cli/monitor.d.ts.map +0 -1
- package/dist/cli/monitor.js.map +0 -1
- package/dist/election.d.ts +0 -172
- package/dist/election.d.ts.map +0 -1
- package/dist/election.js +0 -467
- package/dist/election.js.map +0 -1
- package/dist/types/cross-chain.d.ts +0 -24
- package/dist/types/cross-chain.d.ts.map +0 -1
- package/dist/types/cross-chain.js +0 -6
- 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.
|
|
30
|
-
exports.
|
|
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":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/stages/builder.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/stages/builder.js
CHANGED
|
@@ -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":";AAAA;;;;GAIG;;;AAEH,oCAUkB;
|
|
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
|
|
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,
|
|
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 ??
|
|
90
|
-
delayBetweenChunks:
|
|
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
|
-
|
|
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
|
-
|
|
313
|
-
|
|
314
|
-
//
|
|
315
|
-
|
|
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
|
|
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,
|
|
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,
|
|
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;
|
|
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
|