@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
|
@@ -4,15 +4,11 @@
|
|
|
4
4
|
* Types for simulation data preparation that clients can use
|
|
5
5
|
* to call Tenderly API themselves.
|
|
6
6
|
*/
|
|
7
|
-
import type {
|
|
7
|
+
import type { Chain, ChainId } from "./core";
|
|
8
8
|
/**
|
|
9
9
|
* Type of simulation
|
|
10
10
|
*/
|
|
11
11
|
export type SimulationType = "retryable" | "timelock" | "call";
|
|
12
|
-
/**
|
|
13
|
-
* Chain type for simulation targeting
|
|
14
|
-
*/
|
|
15
|
-
export type SimulationChainType = "L1" | "Arb1" | "Nova" | "unknown";
|
|
16
12
|
/**
|
|
17
13
|
* Base simulation data shared by all simulation types
|
|
18
14
|
*/
|
|
@@ -36,7 +32,8 @@ export interface BaseSimulationData {
|
|
|
36
32
|
export interface RetryableSimulationData extends BaseSimulationData {
|
|
37
33
|
type: "retryable";
|
|
38
34
|
/** Target L2 chain */
|
|
39
|
-
l2Chain:
|
|
35
|
+
l2Chain: Chain;
|
|
36
|
+
l2ChainId: ChainId;
|
|
40
37
|
/** Original L2 target from retryable ticket */
|
|
41
38
|
l2Target: string;
|
|
42
39
|
/** Original L2 calldata */
|
|
@@ -77,7 +74,8 @@ export interface TimelockSimulationData extends BaseSimulationData {
|
|
|
77
74
|
export interface CallSimulationData extends BaseSimulationData {
|
|
78
75
|
type: "call";
|
|
79
76
|
/** Target chain */
|
|
80
|
-
chain:
|
|
77
|
+
chain: Chain;
|
|
78
|
+
chainId: ChainId;
|
|
81
79
|
/** Target contract */
|
|
82
80
|
target: string;
|
|
83
81
|
/** Call calldata */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../src/types/simulation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../src/types/simulation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,IAAI,EAAE,cAAc,CAAC;IAErB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAElB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IAEX,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IAEd,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,IAAI,EAAE,WAAW,CAAC;IAElB,sBAAsB;IACtB,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IAEnB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IAEjB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,IAAI,EAAE,UAAU,CAAC;IAEjB,gCAAgC;IAChC,eAAe,EAAE,MAAM,CAAC;IAExB,sCAAsC;IACtC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,sCAAsC;IACtC,eAAe,EAAE,MAAM,CAAC;IAExB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IAEpB,+BAA+B;IAC/B,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,oCAAoC;IACpC,eAAe,EAAE;QACf,yDAAyD;QACzD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAElC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,IAAI,EAAE,MAAM,CAAC;IAEb,mBAAmB;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IAEjB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IAEf,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,kBAAkB,CAAC;AAEnG;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,UAAU,EAAE,cAAc,CAAC;IAE3B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IAEd,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
package/dist/types/stages.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Stage data types and TrackedStage definitions
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { Chain, ChainId, L2Chain, StageType, StageStatus, StageTransaction, StageTiming } from "./core";
|
|
5
5
|
import { SerializedCallScheduledData } from "./timelock";
|
|
6
|
-
import {
|
|
6
|
+
import { RetryableCreationDetail, RetryableRedemptionDetail } from "./cross-chain";
|
|
7
7
|
/**
|
|
8
8
|
* Base stage data with common fields
|
|
9
9
|
*/
|
|
@@ -13,6 +13,7 @@ export interface BaseStageData {
|
|
|
13
13
|
note?: string;
|
|
14
14
|
message?: string;
|
|
15
15
|
fastPath?: boolean;
|
|
16
|
+
isElection?: boolean;
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
19
|
* Data for PROPOSAL_CREATED stage
|
|
@@ -50,6 +51,7 @@ export interface VotingActiveData extends BaseStageData {
|
|
|
50
51
|
hasVettingPeriod?: boolean;
|
|
51
52
|
vettingDeadline?: string;
|
|
52
53
|
isVettingActive?: boolean;
|
|
54
|
+
waitingForVetting?: boolean;
|
|
53
55
|
proposalState?: string;
|
|
54
56
|
startBlock?: string;
|
|
55
57
|
currentBlock?: string;
|
|
@@ -96,10 +98,6 @@ export interface TimelockStageData extends BaseTimelockData {
|
|
|
96
98
|
/** Whether operation uses scheduleBatch (true) or schedule (false) */
|
|
97
99
|
isBatchOperation?: boolean;
|
|
98
100
|
}
|
|
99
|
-
/** Data for L2 timelock stages */
|
|
100
|
-
export type L2TimelockData = TimelockStageData;
|
|
101
|
-
/** Data for L1 timelock stages */
|
|
102
|
-
export type L1TimelockData = TimelockStageData;
|
|
103
101
|
/**
|
|
104
102
|
* Data for L2_TO_L1_MESSAGE stage
|
|
105
103
|
*/
|
|
@@ -124,12 +122,11 @@ export interface L2ToL1MessageStageData extends BaseStageData {
|
|
|
124
122
|
*/
|
|
125
123
|
export interface RetryableStageData extends BaseStageData {
|
|
126
124
|
ticketCount?: number;
|
|
127
|
-
/** All target chains for retryables (can be both
|
|
128
|
-
targetChains?:
|
|
125
|
+
/** All target chains for retryables (can be both arb1 and nova) */
|
|
126
|
+
targetChains?: L2Chain[];
|
|
127
|
+
targetChainIds?: ChainId[];
|
|
129
128
|
l2TxHash?: string;
|
|
130
129
|
l1Block?: number;
|
|
131
|
-
tickets?: RetryableTicketInfo[];
|
|
132
|
-
redemptions?: RetryableRedemptionInfo[];
|
|
133
130
|
creationDetails?: RetryableCreationDetail[];
|
|
134
131
|
redemptionDetails?: RetryableRedemptionDetail[];
|
|
135
132
|
statuses?: string[];
|
|
@@ -148,46 +145,67 @@ export interface StageDataMap {
|
|
|
148
145
|
PROPOSAL_CREATED: ProposalCreatedData;
|
|
149
146
|
VOTING_ACTIVE: VotingActiveData;
|
|
150
147
|
PROPOSAL_QUEUED: ProposalQueuedData;
|
|
151
|
-
L2_TIMELOCK:
|
|
148
|
+
L2_TIMELOCK: TimelockStageData;
|
|
152
149
|
L2_TO_L1_MESSAGE: L2ToL1MessageStageData;
|
|
153
|
-
L1_TIMELOCK:
|
|
150
|
+
L1_TIMELOCK: TimelockStageData;
|
|
154
151
|
RETRYABLE_EXECUTED: RetryableStageData;
|
|
155
152
|
}
|
|
156
153
|
/**
|
|
157
|
-
*
|
|
158
|
-
*/
|
|
159
|
-
export type TrackedStageData = Partial<ProposalCreatedData & VotingActiveData & ProposalQueuedData & L2TimelockData & L2ToL1MessageStageData & RetryableStageData> & BaseStageData & {
|
|
160
|
-
isElection?: boolean;
|
|
161
|
-
waitingForVetting?: boolean;
|
|
162
|
-
proposalState?: string;
|
|
163
|
-
currentL1Block?: number;
|
|
164
|
-
};
|
|
165
|
-
/**
|
|
166
|
-
* A tracked stage in the lifecycle
|
|
154
|
+
* Common fields shared by all TrackedStage variants
|
|
167
155
|
*/
|
|
168
|
-
|
|
169
|
-
type: StageType;
|
|
156
|
+
interface TrackedStageBase {
|
|
170
157
|
status: StageStatus;
|
|
171
|
-
chain:
|
|
158
|
+
chain: Chain;
|
|
159
|
+
chainId: ChainId;
|
|
172
160
|
transactions: StageTransaction[];
|
|
173
|
-
data: TrackedStageData;
|
|
174
161
|
timing?: StageTiming;
|
|
175
162
|
executable?: boolean;
|
|
176
163
|
error?: string;
|
|
177
164
|
}
|
|
178
165
|
/**
|
|
179
|
-
*
|
|
166
|
+
* Mapped type generating a discriminated union of all stage types.
|
|
167
|
+
* Each variant has properly typed `data` field based on `type`.
|
|
180
168
|
*/
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
169
|
+
type TrackedStageVariants = {
|
|
170
|
+
[K in StageType]: TrackedStageBase & {
|
|
171
|
+
type: K;
|
|
172
|
+
data: StageDataMap[K];
|
|
173
|
+
};
|
|
184
174
|
};
|
|
185
175
|
/**
|
|
186
|
-
*
|
|
176
|
+
* A tracked stage in the lifecycle.
|
|
177
|
+
*
|
|
178
|
+
* This is a discriminated union - TypeScript automatically narrows `data`
|
|
179
|
+
* when you check `type`:
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* if (stage.type === "PROPOSAL_CREATED") {
|
|
183
|
+
* console.log(stage.data.proposer); // ✓ TypeScript knows this exists
|
|
184
|
+
* }
|
|
185
|
+
*/
|
|
186
|
+
export type TrackedStage = TrackedStageVariants[StageType];
|
|
187
|
+
/**
|
|
188
|
+
* Type-safe tracked stage for a specific stage type.
|
|
189
|
+
* Use this when you need to declare a variable for a known stage type.
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* const votingStage: TypedTrackedStage<"VOTING_ACTIVE"> = stage;
|
|
193
|
+
*/
|
|
194
|
+
export type TypedTrackedStage<T extends StageType> = TrackedStageVariants[T];
|
|
195
|
+
/**
|
|
196
|
+
* Type guard to check if a stage is of a specific type.
|
|
197
|
+
* When used in conditionals, narrows the stage to TypedTrackedStage<T>.
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* if (isStageType(stage, "PROPOSAL_CREATED")) {
|
|
201
|
+
* // stage.data is now properly typed as ProposalCreatedData
|
|
202
|
+
* console.log(stage.data.proposer);
|
|
203
|
+
* }
|
|
187
204
|
*/
|
|
188
|
-
export declare function isStageType<T extends StageType>(stage: TrackedStage, type: T):
|
|
205
|
+
export declare function isStageType<T extends StageType>(stage: TrackedStage, type: T): stage is TypedTrackedStage<T>;
|
|
189
206
|
/**
|
|
190
207
|
* Safely get typed stage data, returning null if types don't match
|
|
191
208
|
*/
|
|
192
209
|
export declare function getStageData<T extends StageType>(stage: TrackedStage, expectedType: T): StageDataMap[T] | null;
|
|
210
|
+
export {};
|
|
193
211
|
//# sourceMappingURL=stages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../src/types/stages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../src/types/stages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,WAAW,EACZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,2BAA2B,EAAE,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iFAAiF;IAEjF,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC5C,iBAAiB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,aAAa,EAAE,gBAAgB,CAAC;IAChC,eAAe,EAAE,kBAAkB,CAAC;IACpC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED;;GAEG;AACH,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,KAAK,oBAAoB,GAAG;KACzB,CAAC,IAAI,SAAS,GAAG,gBAAgB,GAAG;QACnC,IAAI,EAAE,CAAC,CAAC;QACR,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;KACvB;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAE7E;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAC7C,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,CAAC,GACN,KAAK,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAE/B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAC9C,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,CAAC,GACd,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAOxB"}
|
package/dist/types/stages.js
CHANGED
|
@@ -6,7 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.isStageType = isStageType;
|
|
7
7
|
exports.getStageData = getStageData;
|
|
8
8
|
/**
|
|
9
|
-
* Type guard to check if a stage is of a specific type
|
|
9
|
+
* Type guard to check if a stage is of a specific type.
|
|
10
|
+
* When used in conditionals, narrows the stage to TypedTrackedStage<T>.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* if (isStageType(stage, "PROPOSAL_CREATED")) {
|
|
14
|
+
* // stage.data is now properly typed as ProposalCreatedData
|
|
15
|
+
* console.log(stage.data.proposer);
|
|
16
|
+
* }
|
|
10
17
|
*/
|
|
11
18
|
function isStageType(stage, type) {
|
|
12
19
|
return stage.type === type;
|
|
@@ -18,6 +25,8 @@ function getStageData(stage, expectedType) {
|
|
|
18
25
|
if (stage.type !== expectedType) {
|
|
19
26
|
return null;
|
|
20
27
|
}
|
|
28
|
+
// TypeScript's narrowing doesn't propagate through generic constraints,
|
|
29
|
+
// but we've verified the type match above
|
|
21
30
|
return stage.data;
|
|
22
31
|
}
|
|
23
32
|
//# sourceMappingURL=stages.js.map
|
package/dist/types/stages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../src/types/stages.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../src/types/stages.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA+NH,kCAKC;AAKD,oCAUC;AA9BD;;;;;;;;;GASG;AACH,SAAgB,WAAW,CACzB,KAAmB,EACnB,IAAO;IAEP,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,KAAmB,EACnB,YAAe;IAEf,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,wEAAwE;IACxE,0CAA0C;IAC1C,OAAO,KAAK,CAAC,IAAuB,CAAC;AACvC,CAAC"}
|
package/dist/types/tracking.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tracking context, results, checkpoint, and execution types
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import { ChainType, StageType } from "./core";
|
|
4
|
+
import { Chain, ChainId, StageType } from "./core";
|
|
6
5
|
import { TrackedStage } from "./stages";
|
|
7
6
|
import { CallScheduledData } from "./timelock";
|
|
8
7
|
import { ProposalType, ProposalData, ProposalState } from "./governor";
|
|
@@ -28,7 +27,8 @@ export interface PreparedTransaction {
|
|
|
28
27
|
to: string;
|
|
29
28
|
data: string;
|
|
30
29
|
value: string;
|
|
31
|
-
chain:
|
|
30
|
+
chain: Chain;
|
|
31
|
+
chainId: ChainId;
|
|
32
32
|
description: string;
|
|
33
33
|
operationId?: string;
|
|
34
34
|
hashValidation?: {
|
|
@@ -36,14 +36,6 @@ export interface PreparedTransaction {
|
|
|
36
36
|
error?: string;
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
export interface ExecutionResult {
|
|
40
|
-
success: boolean;
|
|
41
|
-
txHash: string;
|
|
42
|
-
blockNumber: number;
|
|
43
|
-
gasUsed: BigNumber;
|
|
44
|
-
error?: string;
|
|
45
|
-
prepared?: PreparedTransaction;
|
|
46
|
-
}
|
|
47
39
|
/**
|
|
48
40
|
* Input for tracking from a governor proposal
|
|
49
41
|
*/
|
|
@@ -73,21 +65,6 @@ export interface DiscoveryTrackingInput {
|
|
|
73
65
|
* Union type for all tracking entry points
|
|
74
66
|
*/
|
|
75
67
|
export type TrackingInput = GovernorTrackingInput | TimelockTrackingInput | DiscoveryTrackingInput;
|
|
76
|
-
/**
|
|
77
|
-
* Common context for stage tracking operations
|
|
78
|
-
*/
|
|
79
|
-
export interface StageTrackingContext {
|
|
80
|
-
fromBlock?: number;
|
|
81
|
-
toBlock?: number;
|
|
82
|
-
direction?: "forward" | "backward";
|
|
83
|
-
cachedData?: {
|
|
84
|
-
txHash?: string;
|
|
85
|
-
operationId?: string;
|
|
86
|
-
callScheduledData?: CallScheduledData | CallScheduledData[];
|
|
87
|
-
executionTxHash?: string;
|
|
88
|
-
};
|
|
89
|
-
checkpoint?: TrackingCheckpoint;
|
|
90
|
-
}
|
|
91
68
|
/**
|
|
92
69
|
* Hints for the next stage in the pipeline
|
|
93
70
|
*/
|
|
@@ -107,10 +84,6 @@ export interface StageTrackResult {
|
|
|
107
84
|
stage: TrackedStage;
|
|
108
85
|
hints: NextStageHints;
|
|
109
86
|
}
|
|
110
|
-
/**
|
|
111
|
-
* Extend StageTrackResult with additional stage-specific data
|
|
112
|
-
*/
|
|
113
|
-
export type StageTrackResultWith<TExtra> = StageTrackResult & TExtra;
|
|
114
87
|
/**
|
|
115
88
|
* Discovery target keys (shared between watermarks and targets)
|
|
116
89
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking.d.ts","sourceRoot":"","sources":["../../src/types/tracking.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tracking.d.ts","sourceRoot":"","sources":["../../src/types/tracking.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAIzD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,GAChD;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAID;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,YAAY,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,sBAAsB,CAAC;AAEnG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,cAAc,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,wBAAwB,GACxB,2BAA2B,GAC3B,yBAAyB,GACzB,wBAAwB,GACxB,0BAA0B,GAC1B,6BAA6B,CAAC;AAElC,0DAA0D;AAC1D,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;AAExE,sCAAsC;AACtC,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,aAAa,CAAC;IACrB,kBAAkB,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,kBAAkB,EAAE;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,UAAU,EAAE;QACV,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;QACjC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
package/dist/utils/chain.d.ts
CHANGED
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
* Chain and address utilities
|
|
3
3
|
*/
|
|
4
4
|
import { ethers } from "ethers";
|
|
5
|
-
import {
|
|
5
|
+
import { Chain, ChainId } from "../types";
|
|
6
6
|
/**
|
|
7
|
-
* Get chain
|
|
7
|
+
* Get chain name from provider network.
|
|
8
8
|
*/
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function getChain(provider: ethers.providers.Provider): Promise<Chain>;
|
|
10
|
+
/**
|
|
11
|
+
* Get chain ID from provider network.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getChainId(provider: ethers.providers.Provider): Promise<ChainId>;
|
|
10
14
|
/**
|
|
11
15
|
* Case-insensitive address comparison.
|
|
12
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/utils/chain.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/utils/chain.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAkB,MAAM,UAAU,CAAC;AAE1D;;GAEG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAGlF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAGlF"}
|
package/dist/utils/chain.js
CHANGED
|
@@ -3,20 +3,24 @@
|
|
|
3
3
|
* Chain and address utilities
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.getChain = getChain;
|
|
7
|
+
exports.getChainId = getChainId;
|
|
7
8
|
exports.addressEquals = addressEquals;
|
|
8
9
|
exports.isAddressIn = isAddressIn;
|
|
9
|
-
const
|
|
10
|
+
const types_1 = require("../types");
|
|
10
11
|
/**
|
|
11
|
-
* Get chain
|
|
12
|
+
* Get chain name from provider network.
|
|
12
13
|
*/
|
|
13
|
-
async function
|
|
14
|
+
async function getChain(provider) {
|
|
14
15
|
const network = await provider.getNetwork();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
return (0, types_1.chainIdToChain)(network.chainId);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Get chain ID from provider network.
|
|
20
|
+
*/
|
|
21
|
+
async function getChainId(provider) {
|
|
22
|
+
const network = await provider.getNetwork();
|
|
23
|
+
return network.chainId;
|
|
20
24
|
}
|
|
21
25
|
/**
|
|
22
26
|
* Case-insensitive address comparison.
|
package/dist/utils/chain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/utils/chain.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/utils/chain.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAQH,4BAGC;AAKD,gCAGC;AAKD,sCAEC;AAKD,kCAGC;AA/BD,oCAA0D;AAE1D;;GAEG;AACI,KAAK,UAAU,QAAQ,CAAC,QAAmC;IAChE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC5C,OAAO,IAAA,sBAAc,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,QAAmC;IAClE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC5C,OAAO,OAAO,CAAC,OAAO,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,CAAS,EAAE,CAAS;IAChD,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,OAAe,EAAE,SAA4B;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;AAC/D,CAAC"}
|
package/dist/utils/logger.d.ts
CHANGED
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* 2. Scoped loggers - for code that runs concurrently (auto-prefix with scope)
|
|
7
7
|
*
|
|
8
8
|
* Usage:
|
|
9
|
-
* import { loggers } from "../utils/logger";
|
|
10
|
-
* import { withScope } from "../utils/scoped-logger";
|
|
9
|
+
* import { loggers, withScope } from "../utils/logger";
|
|
11
10
|
*
|
|
12
11
|
* // Regular logging
|
|
13
12
|
* loggers.tracker("message %s", value);
|
|
@@ -17,7 +16,14 @@
|
|
|
17
16
|
* loggers.discovery("discovering..."); // [core-gov] discovering...
|
|
18
17
|
* });
|
|
19
18
|
*/
|
|
20
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Run a function within a logging scope.
|
|
21
|
+
* All scopedLog calls within this function (and nested calls) will
|
|
22
|
+
* automatically include the scope prefix.
|
|
23
|
+
*
|
|
24
|
+
* Scopes can be nested - inner scopes override outer scopes.
|
|
25
|
+
*/
|
|
26
|
+
export declare function withScope<T>(prefix: string, fn: () => T): T;
|
|
21
27
|
/**
|
|
22
28
|
* Pre-configured debug loggers for common namespaces.
|
|
23
29
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAsBH;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE3D;AAuBD;;;;;GAKG;AACH,eAAO,MAAM,OAAO;4BApByB,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI;8BAAnC,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI;6BAAnC,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI;wBAAnC,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI;+BAAnC,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI;8BAAnC,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI;6BAAnC,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI;;iCAAnC,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI;+BAAnC,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI;uCAAnC,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI;;CAkCtE,CAAC"}
|
package/dist/utils/logger.js
CHANGED
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
* 2. Scoped loggers - for code that runs concurrently (auto-prefix with scope)
|
|
8
8
|
*
|
|
9
9
|
* Usage:
|
|
10
|
-
* import { loggers } from "../utils/logger";
|
|
11
|
-
* import { withScope } from "../utils/scoped-logger";
|
|
10
|
+
* import { loggers, withScope } from "../utils/logger";
|
|
12
11
|
*
|
|
13
12
|
* // Regular logging
|
|
14
13
|
* loggers.tracker("message %s", value);
|
|
@@ -18,14 +17,49 @@
|
|
|
18
17
|
* loggers.discovery("discovering..."); // [core-gov] discovering...
|
|
19
18
|
* });
|
|
20
19
|
*/
|
|
20
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
21
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
22
|
+
};
|
|
21
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.loggers =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
exports.loggers = void 0;
|
|
25
|
+
exports.withScope = withScope;
|
|
26
|
+
const async_hooks_1 = require("async_hooks");
|
|
27
|
+
const debug_1 = __importDefault(require("debug"));
|
|
28
|
+
const scopeStorage = new async_hooks_1.AsyncLocalStorage();
|
|
29
|
+
/**
|
|
30
|
+
* Get current scope prefix, or empty string if not in a scope.
|
|
31
|
+
*/
|
|
32
|
+
function getCurrentScope() {
|
|
33
|
+
return scopeStorage.getStore()?.prefix ?? "";
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Run a function within a logging scope.
|
|
37
|
+
* All scopedLog calls within this function (and nested calls) will
|
|
38
|
+
* automatically include the scope prefix.
|
|
39
|
+
*
|
|
40
|
+
* Scopes can be nested - inner scopes override outer scopes.
|
|
41
|
+
*/
|
|
42
|
+
function withScope(prefix, fn) {
|
|
43
|
+
return scopeStorage.run({ prefix }, fn);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Create a scoped debug logger.
|
|
47
|
+
* Returns a function that automatically prepends the current scope.
|
|
48
|
+
*
|
|
49
|
+
* Unlike regular debug loggers, the scope is dynamically determined
|
|
50
|
+
* at call time using AsyncLocalStorage.
|
|
51
|
+
*/
|
|
52
|
+
function scopedLog(namespace) {
|
|
53
|
+
const baseLog = (0, debug_1.default)(namespace);
|
|
54
|
+
return (fmt, ...args) => {
|
|
55
|
+
const scope = getCurrentScope();
|
|
56
|
+
const prefix = scope ? `[${scope}] ` : "";
|
|
57
|
+
baseLog(prefix + fmt, ...args);
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// ============================================================================
|
|
61
|
+
// Pre-configured Loggers
|
|
62
|
+
// ============================================================================
|
|
29
63
|
/**
|
|
30
64
|
* Pre-configured debug loggers for common namespaces.
|
|
31
65
|
*
|
|
@@ -34,17 +68,17 @@ Object.defineProperty(exports, "scopedLog", { enumerable: true, get: function ()
|
|
|
34
68
|
*/
|
|
35
69
|
exports.loggers = {
|
|
36
70
|
// Scoped loggers - auto-prefix with current scope (tracker ID, governor name, etc.)
|
|
37
|
-
tracker:
|
|
38
|
-
execution:
|
|
39
|
-
election:
|
|
40
|
-
rpc:
|
|
41
|
-
retryables:
|
|
42
|
-
discovery:
|
|
43
|
-
pipeline:
|
|
71
|
+
tracker: scopedLog("gov-tracker:tracker"),
|
|
72
|
+
execution: scopedLog("gov-tracker:execution"),
|
|
73
|
+
election: scopedLog("gov-tracker:election"),
|
|
74
|
+
rpc: scopedLog("gov-tracker:rpc"),
|
|
75
|
+
retryables: scopedLog("gov-tracker:retryables"),
|
|
76
|
+
discovery: scopedLog("gov-tracker:discovery"),
|
|
77
|
+
pipeline: scopedLog("gov-tracker:pipeline"),
|
|
44
78
|
stage: {
|
|
45
|
-
timelock:
|
|
46
|
-
l2ToL1:
|
|
47
|
-
proposalQueued:
|
|
79
|
+
timelock: scopedLog("gov-tracker:stage:timelock"),
|
|
80
|
+
l2ToL1: scopedLog("gov-tracker:stage:l2-to-l1-message"),
|
|
81
|
+
proposalQueued: scopedLog("gov-tracker:stage:proposal-queued"),
|
|
48
82
|
},
|
|
49
83
|
};
|
|
50
84
|
//# sourceMappingURL=logger.js.map
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;AA6BH,8BAEC;AA7BD,6CAAgD;AAChD,kDAAgC;AAUhC,MAAM,YAAY,GAAG,IAAI,+BAAiB,EAAY,CAAC;AAEvD;;GAEG;AACH,SAAS,eAAe;IACtB,OAAO,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CAAI,MAAc,EAAE,EAAW;IACtD,OAAO,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,SAAiB;IAClC,MAAM,OAAO,GAAG,IAAA,eAAW,EAAC,SAAS,CAAC,CAAC;IAEvC,OAAO,CAAC,GAAW,EAAE,GAAG,IAAe,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;;GAKG;AACU,QAAA,OAAO,GAAG;IACrB,oFAAoF;IACpF,OAAO,EAAE,SAAS,CAAC,qBAAqB,CAAC;IACzC,SAAS,EAAE,SAAS,CAAC,uBAAuB,CAAC;IAC7C,QAAQ,EAAE,SAAS,CAAC,sBAAsB,CAAC;IAC3C,GAAG,EAAE,SAAS,CAAC,iBAAiB,CAAC;IACjC,UAAU,EAAE,SAAS,CAAC,wBAAwB,CAAC;IAC/C,SAAS,EAAE,SAAS,CAAC,uBAAuB,CAAC;IAC7C,QAAQ,EAAE,SAAS,CAAC,sBAAsB,CAAC;IAC3C,KAAK,EAAE;QACL,QAAQ,EAAE,SAAS,CAAC,4BAA4B,CAAC;QACjD,MAAM,EAAE,SAAS,CAAC,oCAAoC,CAAC;QACvD,cAAc,EAAE,SAAS,CAAC,mCAAmC,CAAC;KAC/D;CACO,CAAC"}
|
|
@@ -6,18 +6,17 @@ import { RetryConfig } from "../types";
|
|
|
6
6
|
* Delay for specified milliseconds
|
|
7
7
|
*/
|
|
8
8
|
export declare function delay(ms: number): Promise<void>;
|
|
9
|
-
/**
|
|
10
|
-
* Error type for RPC failures
|
|
11
|
-
*/
|
|
12
|
-
export declare class RpcError extends Error {
|
|
13
|
-
readonly code?: string | undefined;
|
|
14
|
-
readonly cause?: Error | undefined;
|
|
15
|
-
constructor(message: string, code?: string | undefined, cause?: Error | undefined);
|
|
16
|
-
}
|
|
17
9
|
/**
|
|
18
10
|
* Check if an error is retryable
|
|
19
11
|
*/
|
|
20
12
|
export declare function isRetryableError(error: unknown): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Check if an error is a gas estimation error.
|
|
15
|
+
* Gas estimation errors should not count against consecutive error tracking
|
|
16
|
+
* because they are often temporary (insufficient funds, contract state changes, etc.)
|
|
17
|
+
* and should be retried in the next run.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isGasEstimationError(error: unknown): boolean;
|
|
21
20
|
/**
|
|
22
21
|
* Query with retry and exponential backoff
|
|
23
22
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-utils.d.ts","sourceRoot":"","sources":["../../src/utils/rpc-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMvC;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;
|
|
1
|
+
{"version":3,"file":"rpc-utils.d.ts","sourceRoot":"","sources":["../../src/utils/rpc-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMvC;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAgBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAyCxD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAe5D;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,MAAM,GAAE,WAAkC,GACzC,OAAO,CAAC,CAAC,CAAC,CAsCZ"}
|
package/dist/utils/rpc-utils.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* RPC utilities with retry logic and rate limiting
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RpcError = void 0;
|
|
7
6
|
exports.delay = delay;
|
|
8
7
|
exports.isRetryableError = isRetryableError;
|
|
8
|
+
exports.isGasEstimationError = isGasEstimationError;
|
|
9
9
|
exports.queryWithRetry = queryWithRetry;
|
|
10
10
|
const constants_1 = require("../constants");
|
|
11
11
|
const logger_1 = require("./logger");
|
|
@@ -27,7 +27,6 @@ class RpcError extends Error {
|
|
|
27
27
|
this.name = "RpcError";
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
exports.RpcError = RpcError;
|
|
31
30
|
/**
|
|
32
31
|
* Check if an error is retryable
|
|
33
32
|
*/
|
|
@@ -62,6 +61,25 @@ function isRetryableError(error) {
|
|
|
62
61
|
}
|
|
63
62
|
return false;
|
|
64
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Check if an error is a gas estimation error.
|
|
66
|
+
* Gas estimation errors should not count against consecutive error tracking
|
|
67
|
+
* because they are often temporary (insufficient funds, contract state changes, etc.)
|
|
68
|
+
* and should be retried in the next run.
|
|
69
|
+
*/
|
|
70
|
+
function isGasEstimationError(error) {
|
|
71
|
+
const message = error instanceof Error ? error.message.toLowerCase() : String(error).toLowerCase();
|
|
72
|
+
return (message.includes("gas required exceeds") ||
|
|
73
|
+
message.includes("execution reverted") ||
|
|
74
|
+
message.includes("out of gas") ||
|
|
75
|
+
message.includes("intrinsic gas too low") ||
|
|
76
|
+
message.includes("insufficient funds for gas") ||
|
|
77
|
+
message.includes("cannot estimate gas") ||
|
|
78
|
+
message.includes("gas estimation") ||
|
|
79
|
+
message.includes("transaction may fail") ||
|
|
80
|
+
message.includes("gas limit") ||
|
|
81
|
+
message.includes("revert"));
|
|
82
|
+
}
|
|
65
83
|
/**
|
|
66
84
|
* Query with retry and exponential backoff
|
|
67
85
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-utils.js","sourceRoot":"","sources":["../../src/utils/rpc-utils.ts"],"names":[],"mappings":";AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"rpc-utils.js","sourceRoot":"","sources":["../../src/utils/rpc-utils.ts"],"names":[],"mappings":"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"}
|