@gzeoneth/gov-tracker 0.1.2 → 0.2.0-1
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 +3 -0
- package/dist/abis.d.ts +0 -32
- package/dist/abis.d.ts.map +1 -1
- package/dist/abis.js +17 -17
- package/dist/abis.js.map +1 -1
- package/dist/calldata/decoder.d.ts +12 -3
- package/dist/calldata/decoder.d.ts.map +1 -1
- package/dist/calldata/decoder.js +56 -9
- package/dist/calldata/decoder.js.map +1 -1
- package/dist/calldata/index.d.ts +4 -7
- package/dist/calldata/index.d.ts.map +1 -1
- package/dist/calldata/index.js +5 -19
- package/dist/calldata/index.js.map +1 -1
- package/dist/calldata/parameter-decoder.d.ts +11 -2
- package/dist/calldata/parameter-decoder.d.ts.map +1 -1
- package/dist/calldata/parameter-decoder.js +67 -8
- package/dist/calldata/parameter-decoder.js.map +1 -1
- package/dist/calldata/retryable-ticket.d.ts +1 -17
- package/dist/calldata/retryable-ticket.d.ts.map +1 -1
- package/dist/calldata/retryable-ticket.js +10 -17
- package/dist/calldata/retryable-ticket.js.map +1 -1
- package/dist/calldata/signature-lookup.d.ts +0 -11
- package/dist/calldata/signature-lookup.d.ts.map +1 -1
- package/dist/calldata/signature-lookup.js +0 -8
- package/dist/calldata/signature-lookup.js.map +1 -1
- package/dist/cli/lib/cli.d.ts +1 -3
- package/dist/cli/lib/cli.d.ts.map +1 -1
- package/dist/cli/lib/cli.js +12 -27
- package/dist/cli/lib/cli.js.map +1 -1
- package/dist/cli/lib/election-check.d.ts +2 -2
- package/dist/cli/lib/election-check.d.ts.map +1 -1
- package/dist/cli/lib/election-check.js.map +1 -1
- package/dist/cli/lib/json-state.d.ts +2 -29
- package/dist/cli/lib/json-state.d.ts.map +1 -1
- package/dist/cli/lib/json-state.js +12 -56
- package/dist/cli/lib/json-state.js.map +1 -1
- package/dist/cli/monitor.js +1 -2
- package/dist/cli/monitor.js.map +1 -1
- package/dist/constants.d.ts +41 -7
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +64 -4
- package/dist/constants.js.map +1 -1
- package/dist/discovery/timelock-discovery.js +1 -1
- package/dist/discovery/timelock-discovery.js.map +1 -1
- package/dist/election.d.ts.map +1 -1
- package/dist/election.js +7 -4
- package/dist/election.js.map +1 -1
- package/dist/index.d.ts +10 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -26
- package/dist/index.js.map +1 -1
- package/dist/simulation/index.d.ts +3 -4
- package/dist/simulation/index.d.ts.map +1 -1
- package/dist/simulation/index.js +3 -9
- package/dist/simulation/index.js.map +1 -1
- package/dist/simulation/simulation-data.d.ts +6 -31
- package/dist/simulation/simulation-data.d.ts.map +1 -1
- package/dist/simulation/simulation-data.js +25 -58
- package/dist/simulation/simulation-data.js.map +1 -1
- package/dist/stages/{stage-builder.d.ts → builder.d.ts} +14 -9
- package/dist/stages/builder.d.ts.map +1 -0
- package/dist/stages/{stage-builder.js → builder.js} +19 -5
- package/dist/stages/builder.js.map +1 -0
- package/dist/stages/l2-to-l1-message.d.ts +3 -3
- package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
- package/dist/stages/l2-to-l1-message.js +17 -17
- package/dist/stages/l2-to-l1-message.js.map +1 -1
- package/dist/stages/proposal-created.d.ts +2 -2
- package/dist/stages/proposal-created.d.ts.map +1 -1
- package/dist/stages/proposal-created.js +5 -5
- package/dist/stages/proposal-created.js.map +1 -1
- package/dist/stages/proposal-queued.d.ts +2 -2
- package/dist/stages/proposal-queued.d.ts.map +1 -1
- package/dist/stages/proposal-queued.js +11 -11
- package/dist/stages/proposal-queued.js.map +1 -1
- package/dist/stages/retryables.d.ts +7 -7
- package/dist/stages/retryables.d.ts.map +1 -1
- package/dist/stages/retryables.js +75 -61
- package/dist/stages/retryables.js.map +1 -1
- package/dist/stages/timelock.d.ts +3 -24
- package/dist/stages/timelock.d.ts.map +1 -1
- package/dist/stages/timelock.js +47 -39
- package/dist/stages/timelock.js.map +1 -1
- package/dist/stages/{base.d.ts → utils.d.ts} +78 -35
- package/dist/stages/utils.d.ts.map +1 -0
- package/dist/stages/{base.js → utils.js} +211 -63
- package/dist/stages/utils.js.map +1 -0
- package/dist/stages/voting.d.ts +2 -2
- package/dist/stages/voting.d.ts.map +1 -1
- package/dist/stages/voting.js +2 -2
- package/dist/stages/voting.js.map +1 -1
- package/dist/tracker/cache.d.ts +104 -0
- package/dist/tracker/cache.d.ts.map +1 -0
- package/dist/tracker/cache.js +287 -0
- package/dist/tracker/cache.js.map +1 -0
- package/dist/tracker/execute.js +9 -9
- package/dist/tracker/execute.js.map +1 -1
- package/dist/tracker/pipeline.d.ts +3 -32
- package/dist/tracker/pipeline.d.ts.map +1 -1
- package/dist/tracker/pipeline.js +40 -43
- package/dist/tracker/pipeline.js.map +1 -1
- package/dist/tracker/query.js +4 -4
- package/dist/tracker/query.js.map +1 -1
- package/dist/tracker/state.d.ts +88 -81
- package/dist/tracker/state.d.ts.map +1 -1
- package/dist/tracker/state.js +241 -264
- package/dist/tracker/state.js.map +1 -1
- package/dist/tracker.d.ts +4 -4
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +24 -22
- package/dist/tracker.js.map +1 -1
- package/dist/types/calldata.d.ts +4 -6
- package/dist/types/calldata.d.ts.map +1 -1
- package/dist/types/core.d.ts +36 -34
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +33 -0
- package/dist/types/core.js.map +1 -1
- package/dist/types/cross-chain.d.ts +5 -61
- package/dist/types/cross-chain.d.ts.map +1 -1
- package/dist/types/election.d.ts +3 -6
- package/dist/types/election.d.ts.map +1 -1
- package/dist/types/index.d.ts +7 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/simulation.d.ts +5 -7
- package/dist/types/simulation.d.ts.map +1 -1
- package/dist/types/stages.d.ts +50 -32
- package/dist/types/stages.d.ts.map +1 -1
- package/dist/types/stages.js +10 -1
- package/dist/types/stages.js.map +1 -1
- package/dist/types/tracking.d.ts +3 -30
- package/dist/types/tracking.d.ts.map +1 -1
- package/dist/utils/chain.d.ts +7 -3
- package/dist/utils/chain.d.ts.map +1 -1
- package/dist/utils/chain.js +13 -9
- package/dist/utils/chain.js.map +1 -1
- package/dist/utils/logger.d.ts +9 -3
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +53 -19
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/rpc-utils.d.ts +7 -8
- package/dist/utils/rpc-utils.d.ts.map +1 -1
- package/dist/utils/rpc-utils.js +20 -2
- package/dist/utils/rpc-utils.js.map +1 -1
- package/dist/utils/salt-computation.d.ts.map +1 -1
- package/dist/utils/salt-computation.js +2 -3
- package/dist/utils/salt-computation.js.map +1 -1
- package/dist/utils/stage-metadata.d.ts +2 -2
- package/dist/utils/stage-metadata.d.ts.map +1 -1
- package/dist/utils/stage-metadata.js +5 -5
- package/dist/utils/stage-metadata.js.map +1 -1
- package/package.json +9 -5
- package/dist/calldata/address-utils.d.ts +0 -23
- package/dist/calldata/address-utils.d.ts.map +0 -1
- package/dist/calldata/address-utils.js +0 -84
- package/dist/calldata/address-utils.js.map +0 -1
- package/dist/calldata/extraction.d.ts +0 -17
- package/dist/calldata/extraction.d.ts.map +0 -1
- package/dist/calldata/extraction.js +0 -56
- package/dist/calldata/extraction.js.map +0 -1
- package/dist/stages/base.d.ts.map +0 -1
- package/dist/stages/base.js.map +0 -1
- package/dist/stages/stage-builder.d.ts.map +0 -1
- package/dist/stages/stage-builder.js.map +0 -1
- package/dist/tracker/context.d.ts +0 -111
- package/dist/tracker/context.d.ts.map +0 -1
- package/dist/tracker/context.js +0 -264
- package/dist/tracker/context.js.map +0 -1
- package/dist/tracker/index.d.ts +0 -18
- package/dist/tracker/index.d.ts.map +0 -1
- package/dist/tracker/index.js +0 -70
- package/dist/tracker/index.js.map +0 -1
- package/dist/types.d.ts +0 -6
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -22
- package/dist/types.js.map +0 -1
- package/dist/utils/error-classification.d.ts +0 -13
- package/dist/utils/error-classification.d.ts.map +0 -1
- package/dist/utils/error-classification.js +0 -28
- package/dist/utils/error-classification.js.map +0 -1
- package/dist/utils/scoped-logger.d.ts +0 -43
- package/dist/utils/scoped-logger.d.ts.map +0 -1
- package/dist/utils/scoped-logger.js +0 -72
- package/dist/utils/scoped-logger.js.map +0 -1
- package/dist/utils/stage-helpers.d.ts +0 -51
- package/dist/utils/stage-helpers.d.ts.map +0 -1
- package/dist/utils/stage-helpers.js +0 -143
- package/dist/utils/stage-helpers.js.map +0 -1
- package/dist/utils/urls.d.ts +0 -28
- package/dist/utils/urls.d.ts.map +0 -1
- package/dist/utils/urls.js +0 -71
- package/dist/utils/urls.js.map +0 -1
|
@@ -15,16 +15,16 @@ exports.prepareRetryableRedemption = prepareRetryableRedemption;
|
|
|
15
15
|
exports.prepareAllRetryables = prepareAllRetryables;
|
|
16
16
|
exports.prepareRetryableStage = prepareRetryableStage;
|
|
17
17
|
const sdk_1 = require("@arbitrum/sdk");
|
|
18
|
+
const types_1 = require("../types");
|
|
19
|
+
const chain_1 = require("../utils/chain");
|
|
18
20
|
const logger_1 = require("../utils/logger");
|
|
19
21
|
const log = logger_1.loggers.retryables;
|
|
20
|
-
const chain_1 = require("../utils/chain");
|
|
21
22
|
const abis_1 = require("../abis");
|
|
22
23
|
const constants_1 = require("../constants");
|
|
23
|
-
const
|
|
24
|
-
const
|
|
24
|
+
const utils_1 = require("./utils");
|
|
25
|
+
const builder_1 = require("./builder");
|
|
25
26
|
const rpc_utils_1 = require("../utils/rpc-utils");
|
|
26
27
|
const log_filters_1 = require("../utils/log-filters");
|
|
27
|
-
const stage_helpers_1 = require("../utils/stage-helpers");
|
|
28
28
|
/**
|
|
29
29
|
* Detect ALL L2 chains that retryables target based on the delayed inboxes used,
|
|
30
30
|
* including the count of messages per chain.
|
|
@@ -47,14 +47,14 @@ async function detectAllRetryableTargetChains(l1TxHash, l1Provider) {
|
|
|
47
47
|
const targets = [];
|
|
48
48
|
if (arb1Count > 0) {
|
|
49
49
|
targets.push({
|
|
50
|
-
chain: "
|
|
50
|
+
chain: "arb1",
|
|
51
51
|
inboxAddress: constants_1.ADDRESSES.ARB1_DELAYED_INBOX,
|
|
52
52
|
messageCount: arb1Count,
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
if (novaCount > 0) {
|
|
56
56
|
targets.push({
|
|
57
|
-
chain: "
|
|
57
|
+
chain: "nova",
|
|
58
58
|
inboxAddress: constants_1.ADDRESSES.NOVA_DELAYED_INBOX,
|
|
59
59
|
messageCount: novaCount,
|
|
60
60
|
});
|
|
@@ -79,7 +79,7 @@ async function trackRetryables(l1ExecutionTxHash, l1Provider, options) {
|
|
|
79
79
|
// No retryables found
|
|
80
80
|
if (targetInfos.length === 0) {
|
|
81
81
|
return {
|
|
82
|
-
stage: new
|
|
82
|
+
stage: new builder_1.StageBuilder("RETRYABLE_EXECUTED", "arb1")
|
|
83
83
|
.skip("No retryable tickets in transaction")
|
|
84
84
|
.build(),
|
|
85
85
|
messages: [],
|
|
@@ -91,7 +91,7 @@ async function trackRetryables(l1ExecutionTxHash, l1Provider, options) {
|
|
|
91
91
|
const l1Receipt = await (0, rpc_utils_1.queryWithRetry)(() => l1Provider.getTransactionReceipt(l1ExecutionTxHash));
|
|
92
92
|
if (!l1Receipt) {
|
|
93
93
|
return {
|
|
94
|
-
stage: new
|
|
94
|
+
stage: new builder_1.StageBuilder("RETRYABLE_EXECUTED", "arb1")
|
|
95
95
|
.skip("L1 transaction receipt not found")
|
|
96
96
|
.build(),
|
|
97
97
|
messages: [],
|
|
@@ -99,16 +99,17 @@ async function trackRetryables(l1ExecutionTxHash, l1Provider, options) {
|
|
|
99
99
|
targetChains: [],
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
|
-
const l1Timestamp = await (0,
|
|
102
|
+
const l1Timestamp = await (0, utils_1.getBlockTimestamp)(l1Receipt.blockNumber, l1Provider);
|
|
103
103
|
// Collect results from all target chains
|
|
104
104
|
const allMessages = [];
|
|
105
|
-
const
|
|
106
|
-
const
|
|
105
|
+
const allRetryableCreationDetails = [];
|
|
106
|
+
const allRetryableRedemptionDetails = [];
|
|
107
107
|
const allTransactions = [
|
|
108
108
|
{
|
|
109
109
|
hash: l1ExecutionTxHash,
|
|
110
110
|
blockNumber: l1Receipt.blockNumber,
|
|
111
|
-
chain: "
|
|
111
|
+
chain: "ethereum",
|
|
112
|
+
chainId: 1,
|
|
112
113
|
timestamp: l1Timestamp,
|
|
113
114
|
logIndex: 0,
|
|
114
115
|
description: "L1 executed",
|
|
@@ -117,20 +118,23 @@ async function trackRetryables(l1ExecutionTxHash, l1Provider, options) {
|
|
|
117
118
|
let allRedeemed = true;
|
|
118
119
|
let anyFailed = false;
|
|
119
120
|
for (const { chain: targetChain, messageCount } of targetInfos) {
|
|
120
|
-
const provider = targetChain === "
|
|
121
|
-
const
|
|
121
|
+
const provider = targetChain === "nova" ? novaProvider : l2Provider;
|
|
122
|
+
const chainName = targetChain;
|
|
123
|
+
const chainId = (0, types_1.chainToChainId)(targetChain) ?? 42161;
|
|
122
124
|
// Handle missing provider
|
|
123
125
|
if (!provider) {
|
|
124
|
-
log("No provider for %s, marking %d tickets as PROVIDER_NOT_AVAILABLE",
|
|
126
|
+
log("No provider for %s, marking %d tickets as PROVIDER_NOT_AVAILABLE", chainName, messageCount);
|
|
125
127
|
for (let i = 0; i < messageCount; i++) {
|
|
126
|
-
|
|
127
|
-
index:
|
|
128
|
-
targetChain:
|
|
128
|
+
allRetryableCreationDetails.push({
|
|
129
|
+
index: allRetryableCreationDetails.length,
|
|
130
|
+
targetChain: chainName,
|
|
131
|
+
targetChainId: chainId,
|
|
129
132
|
l2TxHash: "unknown",
|
|
130
133
|
});
|
|
131
|
-
|
|
132
|
-
index:
|
|
133
|
-
targetChain:
|
|
134
|
+
allRetryableRedemptionDetails.push({
|
|
135
|
+
index: allRetryableRedemptionDetails.length,
|
|
136
|
+
targetChain: chainName,
|
|
137
|
+
targetChainId: chainId,
|
|
134
138
|
status: "PROVIDER_NOT_AVAILABLE",
|
|
135
139
|
l2TxHash: null,
|
|
136
140
|
});
|
|
@@ -144,19 +148,22 @@ async function trackRetryables(l1ExecutionTxHash, l1Provider, options) {
|
|
|
144
148
|
allMessages.push(...messages);
|
|
145
149
|
// Add creation details and transactions
|
|
146
150
|
for (const msg of messages) {
|
|
147
|
-
|
|
148
|
-
index:
|
|
149
|
-
targetChain:
|
|
151
|
+
allRetryableCreationDetails.push({
|
|
152
|
+
index: allRetryableCreationDetails.length,
|
|
153
|
+
targetChain: chainName,
|
|
154
|
+
targetChainId: chainId,
|
|
150
155
|
l2TxHash: msg.retryableCreationId,
|
|
151
156
|
});
|
|
152
157
|
allTransactions.push({
|
|
153
158
|
hash: msg.retryableCreationId,
|
|
154
159
|
blockNumber: 0,
|
|
155
|
-
chain:
|
|
160
|
+
chain: chainName,
|
|
161
|
+
chainId,
|
|
156
162
|
timestamp: l1Timestamp,
|
|
157
163
|
logIndex: allTransactions.length,
|
|
158
|
-
targetChain:
|
|
159
|
-
|
|
164
|
+
targetChain: chainName,
|
|
165
|
+
targetChainId: chainId,
|
|
166
|
+
description: `${chainName} created`,
|
|
160
167
|
});
|
|
161
168
|
}
|
|
162
169
|
const redeemResults = await Promise.all(messages.map((message, idx) => (0, rpc_utils_1.queryWithRetry)(() => message.getSuccessfulRedeem()).catch((err) => {
|
|
@@ -170,9 +177,10 @@ async function trackRetryables(l1ExecutionTxHash, l1Provider, options) {
|
|
|
170
177
|
if (isFetchError) {
|
|
171
178
|
// Fetch error - treat as inconclusive, don't mark as redeemed
|
|
172
179
|
allRedeemed = false;
|
|
173
|
-
|
|
174
|
-
index:
|
|
175
|
-
targetChain:
|
|
180
|
+
allRetryableRedemptionDetails.push({
|
|
181
|
+
index: allRetryableRedemptionDetails.length,
|
|
182
|
+
targetChain: chainName,
|
|
183
|
+
targetChainId: chainId,
|
|
176
184
|
status: "FETCH_ERROR",
|
|
177
185
|
l2TxHash: null,
|
|
178
186
|
});
|
|
@@ -187,15 +195,17 @@ async function trackRetryables(l1ExecutionTxHash, l1Provider, options) {
|
|
|
187
195
|
redeemResult.childTxReceipt) {
|
|
188
196
|
const { transactionHash, blockNumber } = redeemResult.childTxReceipt;
|
|
189
197
|
l2TxHash = transactionHash;
|
|
190
|
-
const timestamp = await (0,
|
|
198
|
+
const timestamp = await (0, utils_1.getBlockTimestamp)(blockNumber, provider);
|
|
191
199
|
allTransactions.push({
|
|
192
200
|
hash: transactionHash,
|
|
193
201
|
blockNumber,
|
|
194
|
-
chain:
|
|
202
|
+
chain: chainName,
|
|
203
|
+
chainId,
|
|
195
204
|
timestamp,
|
|
196
205
|
logIndex: allTransactions.length,
|
|
197
|
-
targetChain:
|
|
198
|
-
|
|
206
|
+
targetChain: chainName,
|
|
207
|
+
targetChainId: chainId,
|
|
208
|
+
description: `${chainName} redeemed`,
|
|
199
209
|
});
|
|
200
210
|
}
|
|
201
211
|
else if (status === sdk_1.ParentToChildMessageStatus.EXPIRED) {
|
|
@@ -205,34 +215,34 @@ async function trackRetryables(l1ExecutionTxHash, l1Provider, options) {
|
|
|
205
215
|
else if (status !== sdk_1.ParentToChildMessageStatus.REDEEMED) {
|
|
206
216
|
allRedeemed = false;
|
|
207
217
|
}
|
|
208
|
-
|
|
209
|
-
index:
|
|
210
|
-
targetChain:
|
|
218
|
+
allRetryableRedemptionDetails.push({
|
|
219
|
+
index: allRetryableRedemptionDetails.length,
|
|
220
|
+
targetChain: chainName,
|
|
221
|
+
targetChainId: chainId,
|
|
211
222
|
status: statusName,
|
|
212
223
|
l2TxHash,
|
|
213
224
|
});
|
|
214
225
|
}
|
|
215
226
|
}
|
|
216
|
-
// Collect unique target chains
|
|
217
|
-
|
|
218
|
-
const
|
|
219
|
-
...new Set(targetInfos.map((t) => (t.chain === "L2" ? "Arb1" : "Nova"))),
|
|
220
|
-
];
|
|
227
|
+
// Collect unique target chains
|
|
228
|
+
const targetChains = [...new Set(targetInfos.map((t) => t.chain))];
|
|
229
|
+
const targetChainIds = [...new Set(targetInfos.map((t) => (0, types_1.chainToChainId)(t.chain) ?? 42161))];
|
|
221
230
|
// Determine overall status and build stage using StageBuilder
|
|
222
|
-
// Note: chain is "
|
|
231
|
+
// Note: chain is "arb1" because retryable redemption executes on L2 chains (Arb1/Nova)
|
|
223
232
|
const status = anyFailed ? "FAILED" : allRedeemed ? "COMPLETED" : "READY";
|
|
224
|
-
const builder = new
|
|
233
|
+
const builder = new builder_1.StageBuilder("RETRYABLE_EXECUTED", "arb1")
|
|
225
234
|
.status(status)
|
|
226
235
|
.transactions(allTransactions)
|
|
227
236
|
.timing({ startedAt: l1Timestamp })
|
|
228
237
|
.data({
|
|
229
|
-
ticketCount:
|
|
238
|
+
ticketCount: allRetryableCreationDetails.length,
|
|
230
239
|
targetChains,
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
240
|
+
targetChainIds,
|
|
241
|
+
creationDetails: allRetryableCreationDetails,
|
|
242
|
+
redemptionDetails: allRetryableRedemptionDetails,
|
|
243
|
+
redeemedCount: allRetryableRedemptionDetails.filter((d) => d.status === "REDEEMED").length,
|
|
244
|
+
pendingCount: allRetryableRedemptionDetails.filter((d) => d.status === "FUNDS_DEPOSITED_ON_CHILD" || d.status === "NOT_YET_CREATED").length,
|
|
245
|
+
statuses: allRetryableRedemptionDetails.map((d) => d.status),
|
|
236
246
|
});
|
|
237
247
|
if (status === "READY") {
|
|
238
248
|
builder.executable(true).timing({ delaySeconds: constants_1.TIMING.RETRYABLE_LIFETIME_SECONDS });
|
|
@@ -247,7 +257,7 @@ async function trackRetryables(l1ExecutionTxHash, l1Provider, options) {
|
|
|
247
257
|
/**
|
|
248
258
|
* Prepare a retryable ticket for redemption.
|
|
249
259
|
*/
|
|
250
|
-
async function prepareRetryableRedemption(message,
|
|
260
|
+
async function prepareRetryableRedemption(message, l2Provider, options = {}) {
|
|
251
261
|
const ticketId = message.retryableCreationId;
|
|
252
262
|
log("Preparing retryable redemption for %s", ticketId);
|
|
253
263
|
const status = await (0, rpc_utils_1.queryWithRetry)(() => message.status());
|
|
@@ -255,15 +265,18 @@ async function prepareRetryableRedemption(message, targetChain = "L2", options =
|
|
|
255
265
|
// Skip status check if prepareCompleted=true for historical validation
|
|
256
266
|
if (!options.prepareCompleted) {
|
|
257
267
|
if (status === sdk_1.ParentToChildMessageStatus.REDEEMED) {
|
|
258
|
-
return (0,
|
|
268
|
+
return (0, utils_1.failPrepare)("Retryable already redeemed");
|
|
259
269
|
}
|
|
260
270
|
if (status === sdk_1.ParentToChildMessageStatus.EXPIRED) {
|
|
261
|
-
return (0,
|
|
271
|
+
return (0, utils_1.failPrepare)("Retryable ticket has expired");
|
|
262
272
|
}
|
|
263
273
|
if (status !== sdk_1.ParentToChildMessageStatus.FUNDS_DEPOSITED_ON_CHILD) {
|
|
264
|
-
return (0,
|
|
274
|
+
return (0, utils_1.failPrepare)(`Retryable not ready. Status: ${sdk_1.ParentToChildMessageStatus[status]}`);
|
|
265
275
|
}
|
|
266
276
|
}
|
|
277
|
+
// Get chain info from provider
|
|
278
|
+
const targetChain = await (0, chain_1.getChain)(l2Provider);
|
|
279
|
+
const targetChainId = await (0, chain_1.getChainId)(l2Provider);
|
|
267
280
|
const calldata = abis_1.arbRetryableInterface.encodeFunctionData("redeem", [ticketId]);
|
|
268
281
|
return {
|
|
269
282
|
success: true,
|
|
@@ -272,6 +285,7 @@ async function prepareRetryableRedemption(message, targetChain = "L2", options =
|
|
|
272
285
|
data: calldata,
|
|
273
286
|
value: "0",
|
|
274
287
|
chain: targetChain,
|
|
288
|
+
chainId: targetChainId,
|
|
275
289
|
description: `Redeem retryable ticket ${ticketId}`,
|
|
276
290
|
},
|
|
277
291
|
};
|
|
@@ -282,28 +296,28 @@ async function prepareRetryableRedemption(message, targetChain = "L2", options =
|
|
|
282
296
|
async function prepareAllRetryables(l1TxHash, l1Provider, l2Provider, options = {}) {
|
|
283
297
|
const receipt = await (0, rpc_utils_1.queryWithRetry)(() => l1Provider.getTransactionReceipt(l1TxHash));
|
|
284
298
|
if (!receipt)
|
|
285
|
-
return (0,
|
|
299
|
+
return (0, utils_1.bulkPrepareError)("L1 transaction receipt not found", "arb1");
|
|
286
300
|
const parentReceipt = new sdk_1.ParentTransactionReceipt(receipt);
|
|
287
301
|
const messages = await parentReceipt.getParentToChildMessages(l2Provider);
|
|
288
302
|
if (messages.length === 0)
|
|
289
|
-
return (0,
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
const
|
|
303
|
+
return (0, utils_1.bulkPrepareError)("No retryable tickets found", "arb1");
|
|
304
|
+
log("Preparing %d retryable tickets", messages.length);
|
|
305
|
+
const results = await Promise.all(messages.map((message) => prepareRetryableRedemption(message, l2Provider, options)));
|
|
306
|
+
const targetChain = await (0, chain_1.getChain)(l2Provider);
|
|
293
307
|
return { total: messages.length, results, targetChain };
|
|
294
308
|
}
|
|
295
309
|
/**
|
|
296
310
|
* Prepare retryable stage for execution
|
|
297
311
|
*/
|
|
298
312
|
async function prepareRetryableStage(stage, l1Provider, l2Provider, options = {}) {
|
|
299
|
-
const validationError = (0,
|
|
313
|
+
const validationError = (0, utils_1.validateStageForBulkPrepare)(stage, "arb1", {
|
|
300
314
|
prepareCompleted: options.prepareCompleted,
|
|
301
315
|
});
|
|
302
316
|
if (validationError)
|
|
303
317
|
return validationError;
|
|
304
318
|
const l1TxHash = stage.transactions[0]?.hash;
|
|
305
319
|
if (!l1TxHash)
|
|
306
|
-
return (0,
|
|
320
|
+
return (0, utils_1.bulkPrepareError)("L1 transaction hash not found", "arb1");
|
|
307
321
|
return prepareAllRetryables(l1TxHash, l1Provider, l2Provider, options);
|
|
308
322
|
}
|
|
309
323
|
//# sourceMappingURL=retryables.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retryables.js","sourceRoot":"","sources":["../../src/stages/retryables.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;
|
|
1
|
+
{"version":3,"file":"retryables.js","sourceRoot":"","sources":["../../src/stages/retryables.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,28 +6,7 @@
|
|
|
6
6
|
* L1-specific: Operation ID discovery from OutBox execution
|
|
7
7
|
*/
|
|
8
8
|
import { ethers, BigNumber } from "ethers";
|
|
9
|
-
import { TrackedStage,
|
|
10
|
-
/**
|
|
11
|
-
* Configuration for timelock tracking that differs between L1 and L2.
|
|
12
|
-
*/
|
|
13
|
-
export interface TimelockTrackingConfig {
|
|
14
|
-
chain: ChainType;
|
|
15
|
-
stageType: StageType;
|
|
16
|
-
blockTimeSeconds: number;
|
|
17
|
-
logPrefix: string;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Options for timelock stage tracking.
|
|
21
|
-
*/
|
|
22
|
-
export interface TrackTimelockOptions {
|
|
23
|
-
callScheduledData?: CallScheduledData;
|
|
24
|
-
cachedExecutionTxHash?: string;
|
|
25
|
-
/** Whether to check for Security Council enrichment (L2 only) */
|
|
26
|
-
checkSecurityCouncil?: boolean;
|
|
27
|
-
additionalPayload?: Record<string, unknown>;
|
|
28
|
-
/** All tracked stages (used for salt computation from other stages) */
|
|
29
|
-
allStages?: TrackedStage[];
|
|
30
|
-
}
|
|
9
|
+
import { TrackedStage, TimelockStageData, TimelockState, CallScheduledData, OperationState, PrepareResult, PrepareOptions, TimelockParams, TimelockBatchParams } from "../types";
|
|
31
10
|
/**
|
|
32
11
|
* Result from timelock stage tracking.
|
|
33
12
|
*/
|
|
@@ -84,11 +63,11 @@ export declare function calculateBatchRetryableValues(timelockAddress: string, t
|
|
|
84
63
|
/**
|
|
85
64
|
* Prepare a single timelock operation for execution.
|
|
86
65
|
*/
|
|
87
|
-
export declare function prepareTimelockOperation(timelockAddress: string, params: TimelockParams, operationId: string, stageData:
|
|
66
|
+
export declare function prepareTimelockOperation(timelockAddress: string, params: TimelockParams, operationId: string, stageData: TimelockStageData, provider: ethers.providers.Provider, options?: PrepareOptions): Promise<PrepareResult>;
|
|
88
67
|
/**
|
|
89
68
|
* Prepare a batch timelock operation for execution.
|
|
90
69
|
*/
|
|
91
|
-
export declare function prepareTimelockBatch(timelockAddress: string, params: TimelockBatchParams, operationId: string, stageData:
|
|
70
|
+
export declare function prepareTimelockBatch(timelockAddress: string, params: TimelockBatchParams, operationId: string, stageData: TimelockStageData, provider: ethers.providers.Provider, options?: PrepareOptions): Promise<PrepareResult>;
|
|
92
71
|
/**
|
|
93
72
|
* Prepare a timelock stage for execution (auto-detects single vs batch).
|
|
94
73
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timelock.d.ts","sourceRoot":"","sources":["../../src/stages/timelock.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"timelock.d.ts","sourceRoot":"","sources":["../../src/stages/timelock.ts"],"names":[],"mappings":"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"}
|