@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salt-computation.d.ts","sourceRoot":"","sources":["../../src/utils/salt-computation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC,MAAM,CAAC,CASjB;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEN;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"salt-computation.d.ts","sourceRoot":"","sources":["../../src/utils/salt-computation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC,MAAM,CAAC,CASjB;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEN;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CA0B7F;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE;IACT,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACpD,EACD,SAAS,CAAC,EAAE,YAAY,EAAE,EAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GACnC,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAiBA"}
|
|
@@ -46,10 +46,9 @@ async function generateSecurityCouncilSalt(members, nonce, provider) {
|
|
|
46
46
|
* @returns Decoded schedule parameters or null if not a timelock schedule call
|
|
47
47
|
*/
|
|
48
48
|
function decodeL1TimelockSchedule(l2ToL1TxData) {
|
|
49
|
-
const timelockInterface = new ethers_1.ethers.utils.Interface(abis_1.TIMELOCK_ABI);
|
|
50
49
|
// Try to decode as scheduleBatch first
|
|
51
50
|
try {
|
|
52
|
-
const batch = timelockInterface.decodeFunctionData("scheduleBatch", l2ToL1TxData);
|
|
51
|
+
const batch = abis_1.timelockInterface.decodeFunctionData("scheduleBatch", l2ToL1TxData);
|
|
53
52
|
return {
|
|
54
53
|
type: "batch",
|
|
55
54
|
targets: batch[0],
|
|
@@ -62,7 +61,7 @@ function decodeL1TimelockSchedule(l2ToL1TxData) {
|
|
|
62
61
|
}
|
|
63
62
|
catch {
|
|
64
63
|
// Not a batch, try single schedule
|
|
65
|
-
const single = timelockInterface.decodeFunctionData("schedule", l2ToL1TxData);
|
|
64
|
+
const single = abis_1.timelockInterface.decodeFunctionData("schedule", l2ToL1TxData);
|
|
66
65
|
return {
|
|
67
66
|
type: "single",
|
|
68
67
|
target: single[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salt-computation.js","sourceRoot":"","sources":["../../src/utils/salt-computation.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAcH,kDAEC;AASD,kEAaC;AAkCD,
|
|
1
|
+
{"version":3,"file":"salt-computation.js","sourceRoot":"","sources":["../../src/utils/salt-computation.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides titles, descriptions, and timing info for governance stages.
|
|
5
5
|
*/
|
|
6
|
-
import type { StageType, ProposalType } from "../types";
|
|
6
|
+
import type { StageType, ProposalType, Chain } from "../types";
|
|
7
7
|
/**
|
|
8
8
|
* Metadata for a governance stage
|
|
9
9
|
*/
|
|
@@ -13,7 +13,7 @@ export interface StageMetadata {
|
|
|
13
13
|
/** Longer description of what happens in this stage */
|
|
14
14
|
description: string;
|
|
15
15
|
/** Which chain this stage occurs on */
|
|
16
|
-
chain:
|
|
16
|
+
chain: Chain | "CROSS_CHAIN";
|
|
17
17
|
/** Estimated duration in days (may vary by governor type) */
|
|
18
18
|
estimatedDays: number;
|
|
19
19
|
/** Whether this stage requires user action to proceed */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-metadata.d.ts","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"stage-metadata.d.ts","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,KAAK,EAAE,KAAK,GAAG,aAAa,CAAC;IAC7B,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,cAAc,EAAE,OAAO,CAAC;CACzB;AA+DD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,aAAa,CAAC,EAAE,YAAY,GAC3B,aAAa,CAQf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAiBjG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,EAAE,CAIjD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD"}
|
|
@@ -15,25 +15,25 @@ const BASE_METADATA = {
|
|
|
15
15
|
PROPOSAL_CREATED: {
|
|
16
16
|
title: "Proposal Created",
|
|
17
17
|
description: "Proposal submitted on-chain and awaiting voting period to begin",
|
|
18
|
-
chain: "
|
|
18
|
+
chain: "arb1",
|
|
19
19
|
requiresAction: false,
|
|
20
20
|
},
|
|
21
21
|
VOTING_ACTIVE: {
|
|
22
22
|
title: "Voting Active",
|
|
23
23
|
description: "Token holders are voting on the proposal",
|
|
24
|
-
chain: "
|
|
24
|
+
chain: "arb1",
|
|
25
25
|
requiresAction: false,
|
|
26
26
|
},
|
|
27
27
|
PROPOSAL_QUEUED: {
|
|
28
28
|
title: "Proposal Queued",
|
|
29
29
|
description: "Voting succeeded, proposal queued in L2 timelock",
|
|
30
|
-
chain: "
|
|
30
|
+
chain: "arb1",
|
|
31
31
|
requiresAction: false,
|
|
32
32
|
},
|
|
33
33
|
L2_TIMELOCK: {
|
|
34
34
|
title: "L2 Timelock",
|
|
35
35
|
description: "L2 timelock delay and execution. Status: PENDING (waiting for delay), READY (can execute), COMPLETED (executed)",
|
|
36
|
-
chain: "
|
|
36
|
+
chain: "arb1",
|
|
37
37
|
requiresAction: true,
|
|
38
38
|
},
|
|
39
39
|
L2_TO_L1_MESSAGE: {
|
|
@@ -45,7 +45,7 @@ const BASE_METADATA = {
|
|
|
45
45
|
L1_TIMELOCK: {
|
|
46
46
|
title: "L1 Timelock",
|
|
47
47
|
description: "L1 timelock delay and execution. Status: PENDING (waiting for delay), READY (can execute), COMPLETED (executed)",
|
|
48
|
-
chain: "
|
|
48
|
+
chain: "ethereum",
|
|
49
49
|
requiresAction: true,
|
|
50
50
|
},
|
|
51
51
|
RETRYABLE_EXECUTED: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-metadata.js","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA4FH,4CAWC;AAaD,kDAiBC;AAKD,kDAIC;AAUD,4CAEC;AAKD,4DAEC;AA9JD,4CAA8D;AAkB9D,MAAM,aAAa,GAA4D;IAC7E,gBAAgB,EAAE;QAChB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,iEAAiE;QAC9E,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"stage-metadata.js","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gzeoneth/gov-tracker",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.0-1",
|
|
4
4
|
"description": "Lightweight, high-performance library for tracking Arbitrum DAO governance proposal lifecycle stages",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "gzeoneth",
|
|
@@ -22,14 +22,16 @@
|
|
|
22
22
|
"scripts": {
|
|
23
23
|
"build": "tsc",
|
|
24
24
|
"test": "NO_RPC=1 vitest run",
|
|
25
|
-
"test:monitor": "vitest run test/monitor.test.ts",
|
|
26
25
|
"test:integration": "vitest run test/integration.test.ts test/tracker.test.ts test/retryables.test.ts",
|
|
27
26
|
"test:fork": "vitest run --config vitest.config.fork.mts",
|
|
27
|
+
"test:fork:coverage": "vitest run --config vitest.config.fork.mts --coverage",
|
|
28
28
|
"test:all": "vitest run",
|
|
29
29
|
"test:coverage": "NO_RPC=1 vitest run --coverage",
|
|
30
30
|
"test:coverage:all": "vitest run --coverage",
|
|
31
|
-
"
|
|
32
|
-
"lint
|
|
31
|
+
"typecheck": "tsc -p tsconfig.typecheck.json",
|
|
32
|
+
"lint": "eslint --quiet",
|
|
33
|
+
"lint:fix": "eslint --fix",
|
|
34
|
+
"check:unused": "knip",
|
|
33
35
|
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
34
36
|
"format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
35
37
|
"prepublishOnly": "yarn lint && yarn format:check && yarn build",
|
|
@@ -55,6 +57,7 @@
|
|
|
55
57
|
"p-limit": "3"
|
|
56
58
|
},
|
|
57
59
|
"devDependencies": {
|
|
60
|
+
"@eslint/js": "^9.39.2",
|
|
58
61
|
"@types/debug": "^4.1.12",
|
|
59
62
|
"@types/node": "^20.0.0",
|
|
60
63
|
"@typescript-eslint/eslint-plugin": "^8.51.0",
|
|
@@ -63,6 +66,7 @@
|
|
|
63
66
|
"eslint": "^9.39.2",
|
|
64
67
|
"husky": "^9.1.7",
|
|
65
68
|
"jiti": "^2.6.1",
|
|
69
|
+
"knip": "^5.80.0",
|
|
66
70
|
"lint-staged": "^16.2.7",
|
|
67
71
|
"prettier": "^3.7.4",
|
|
68
72
|
"ts-node": "^10.9.2",
|
|
@@ -72,4 +76,4 @@
|
|
|
72
76
|
"engines": {
|
|
73
77
|
"node": ">=18.0.0"
|
|
74
78
|
}
|
|
75
|
-
}
|
|
79
|
+
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Address Utilities
|
|
3
|
-
*
|
|
4
|
-
* Chain-aware address labeling for known governance contracts.
|
|
5
|
-
*/
|
|
6
|
-
import type { KnownAddress } from "../types/calldata";
|
|
7
|
-
import { ChainContext } from "../types";
|
|
8
|
-
/**
|
|
9
|
-
* Get known address label
|
|
10
|
-
*
|
|
11
|
-
* @param address - Contract address
|
|
12
|
-
* @param chain - Chain context (or undefined for unknown chains)
|
|
13
|
-
* @returns Label if known, undefined otherwise
|
|
14
|
-
*/
|
|
15
|
-
export declare function getAddressLabel(address: string, chain: ChainContext | undefined): string | undefined;
|
|
16
|
-
/**
|
|
17
|
-
* Get all known addresses for a chain
|
|
18
|
-
*
|
|
19
|
-
* @param chain - Chain context
|
|
20
|
-
* @returns Array of known address entries
|
|
21
|
-
*/
|
|
22
|
-
export declare function getKnownAddresses(chain: ChainContext): KnownAddress[];
|
|
23
|
-
//# sourceMappingURL=address-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"address-utils.d.ts","sourceRoot":"","sources":["../../src/calldata/address-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAiDxC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,YAAY,GAAG,SAAS,GAC9B,MAAM,GAAG,SAAS,CAcpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,CASrE"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Address Utilities
|
|
4
|
-
*
|
|
5
|
-
* Chain-aware address labeling for known governance contracts.
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.getAddressLabel = getAddressLabel;
|
|
9
|
-
exports.getKnownAddresses = getKnownAddresses;
|
|
10
|
-
/**
|
|
11
|
-
* Known addresses registry organized by chain
|
|
12
|
-
*/
|
|
13
|
-
const KNOWN_ADDRESSES = {
|
|
14
|
-
arb1: {
|
|
15
|
-
// Governors
|
|
16
|
-
"0xf07DeD9dC292157749B6Fd268E37DF6EA38395B9": "Core Governor",
|
|
17
|
-
"0x789fC99093B09aD01C34DC7251D0C89ce743e5a4": "Treasury Governor",
|
|
18
|
-
"0x8a1cDA8dee421cD06023470608605934c16A05a0": "Nominee Election Governor",
|
|
19
|
-
"0x467923B9AE90BDB36BA88eCA11604D45F13b712C": "Member Election Governor",
|
|
20
|
-
// Timelocks
|
|
21
|
-
"0x34d45e99f7D8c45ed05B5cA72D54bbD1fb3F98f0": "L2 Core Timelock",
|
|
22
|
-
"0xbFc1FECa8B09A5c5D3EFfE7429eBE24b9c09EF58": "L2 Treasury Timelock",
|
|
23
|
-
// Other contracts
|
|
24
|
-
"0x912CE59144191C1204E64559FE8253a0e49E6548": "ARB Token",
|
|
25
|
-
"0xCF57572261c7c2BCF21ffD220ea7d1a27D40A827": "Arb1 UpgradeExecutor",
|
|
26
|
-
"0xD509E5f5aEe2A205F554f36E8a7d56094494eDFC": "Security Council Manager",
|
|
27
|
-
// Precompiles
|
|
28
|
-
"0x0000000000000000000000000000000000000064": "ArbSys",
|
|
29
|
-
"0x000000000000000000000000000000000000006E": "ArbRetryableTx",
|
|
30
|
-
},
|
|
31
|
-
nova: {
|
|
32
|
-
"0x86a02dD71363c440b21F4c0E5B2Ad01Ffe1A7482": "Nova UpgradeExecutor",
|
|
33
|
-
},
|
|
34
|
-
ethereum: {
|
|
35
|
-
// Timelock
|
|
36
|
-
"0xE6841D92B0C345144506576eC13ECf5103aC7f49": "L1 Timelock",
|
|
37
|
-
// UpgradeExecutor
|
|
38
|
-
"0x3ffFbAdAF827559da092217e474760E2b2c3CeDd": "L1 UpgradeExecutor",
|
|
39
|
-
// Delayed Inboxes
|
|
40
|
-
"0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f": "Arb1 Delayed Inbox",
|
|
41
|
-
"0xc4448b71118c9071Bcb9734A0EAc55D18A153949": "Nova Delayed Inbox",
|
|
42
|
-
// Special addresses
|
|
43
|
-
"0xa723C008e76E379c55599D2E4d93879BeaFDa79C": "Retryable Ticket Magic",
|
|
44
|
-
// Outboxes
|
|
45
|
-
"0x0B9857ae2D4A3DBe74ffE1d7DF045bb7F96E4840": "Arb1 Outbox",
|
|
46
|
-
"0xD4B80C3D7240325D18E645B49e6535A3Bf95cc58": "Nova Outbox",
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Get known address label
|
|
51
|
-
*
|
|
52
|
-
* @param address - Contract address
|
|
53
|
-
* @param chain - Chain context (or undefined for unknown chains)
|
|
54
|
-
* @returns Label if known, undefined otherwise
|
|
55
|
-
*/
|
|
56
|
-
function getAddressLabel(address, chain) {
|
|
57
|
-
if (!chain)
|
|
58
|
-
return undefined;
|
|
59
|
-
const chainAddresses = KNOWN_ADDRESSES[chain];
|
|
60
|
-
const lowerAddress = address.toLowerCase();
|
|
61
|
-
for (const [addr, label] of Object.entries(chainAddresses)) {
|
|
62
|
-
if (addr.toLowerCase() === lowerAddress) {
|
|
63
|
-
return label;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return undefined;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Get all known addresses for a chain
|
|
70
|
-
*
|
|
71
|
-
* @param chain - Chain context
|
|
72
|
-
* @returns Array of known address entries
|
|
73
|
-
*/
|
|
74
|
-
function getKnownAddresses(chain) {
|
|
75
|
-
const chainAddresses = KNOWN_ADDRESSES[chain];
|
|
76
|
-
if (!chainAddresses)
|
|
77
|
-
return [];
|
|
78
|
-
return Object.entries(chainAddresses).map(([address, label]) => ({
|
|
79
|
-
address,
|
|
80
|
-
label,
|
|
81
|
-
chain,
|
|
82
|
-
}));
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=address-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"address-utils.js","sourceRoot":"","sources":["../../src/calldata/address-utils.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA2DH,0CAiBC;AAQD,8CASC;AAxFD;;GAEG;AACH,MAAM,eAAe,GAAiD;IACpE,IAAI,EAAE;QACJ,YAAY;QACZ,4CAA4C,EAAE,eAAe;QAC7D,4CAA4C,EAAE,mBAAmB;QACjE,4CAA4C,EAAE,2BAA2B;QACzE,4CAA4C,EAAE,0BAA0B;QAExE,YAAY;QACZ,4CAA4C,EAAE,kBAAkB;QAChE,4CAA4C,EAAE,sBAAsB;QAEpE,kBAAkB;QAClB,4CAA4C,EAAE,WAAW;QACzD,4CAA4C,EAAE,sBAAsB;QACpE,4CAA4C,EAAE,0BAA0B;QAExE,cAAc;QACd,4CAA4C,EAAE,QAAQ;QACtD,4CAA4C,EAAE,gBAAgB;KAC/D;IACD,IAAI,EAAE;QACJ,4CAA4C,EAAE,sBAAsB;KACrE;IACD,QAAQ,EAAE;QACR,WAAW;QACX,4CAA4C,EAAE,aAAa;QAE3D,kBAAkB;QAClB,4CAA4C,EAAE,oBAAoB;QAElE,kBAAkB;QAClB,4CAA4C,EAAE,oBAAoB;QAClE,4CAA4C,EAAE,oBAAoB;QAElE,oBAAoB;QACpB,4CAA4C,EAAE,wBAAwB;QAEtE,WAAW;QACX,4CAA4C,EAAE,aAAa;QAC3D,4CAA4C,EAAE,aAAa;KAC5D;CACF,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,OAAe,EACf,KAA+B;IAE/B,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3D,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,KAAmB;IACnD,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE/B,OAAO,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO;QACP,KAAK;QACL,KAAK;KACN,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Calldata Extraction Module
|
|
3
|
-
*
|
|
4
|
-
* Utilities for extracting raw calldata, execution targets, and ETH values
|
|
5
|
-
* from different types of tracked stages (Proposal, Timelock, etc.).
|
|
6
|
-
*/
|
|
7
|
-
import { TrackedStage, ExtractedCalldata } from "../types";
|
|
8
|
-
/**
|
|
9
|
-
* Extract calldata, targets, and values from a tracked stage.
|
|
10
|
-
* Handles different data structures for Proposals vs Timelock operations.
|
|
11
|
-
* Ensures all returned arrays have the same length.
|
|
12
|
-
*
|
|
13
|
-
* @param stage The tracked stage to inspect
|
|
14
|
-
* @returns Object containing aligned arrays of calldatas, targets, and values
|
|
15
|
-
*/
|
|
16
|
-
export declare function extractCalldataFromStage(stage: TrackedStage): ExtractedCalldata;
|
|
17
|
-
//# sourceMappingURL=extraction.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../src/calldata/extraction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAoB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,CA4C/E"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Calldata Extraction Module
|
|
4
|
-
*
|
|
5
|
-
* Utilities for extracting raw calldata, execution targets, and ETH values
|
|
6
|
-
* from different types of tracked stages (Proposal, Timelock, etc.).
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.extractCalldataFromStage = extractCalldataFromStage;
|
|
10
|
-
/**
|
|
11
|
-
* Extract calldata, targets, and values from a tracked stage.
|
|
12
|
-
* Handles different data structures for Proposals vs Timelock operations.
|
|
13
|
-
* Ensures all returned arrays have the same length.
|
|
14
|
-
*
|
|
15
|
-
* @param stage The tracked stage to inspect
|
|
16
|
-
* @returns Object containing aligned arrays of calldatas, targets, and values
|
|
17
|
-
*/
|
|
18
|
-
function extractCalldataFromStage(stage) {
|
|
19
|
-
const data = stage.data;
|
|
20
|
-
const result = { calldatas: [], targets: [], values: [] };
|
|
21
|
-
// 1. Check for explicit calldatas array (Proposals)
|
|
22
|
-
// ProposalCreatedData and ProposalQueuedData use plural 'calldatas', 'targets', 'values'
|
|
23
|
-
if (data.calldatas && data.calldatas.length > 0) {
|
|
24
|
-
const count = data.calldatas.length;
|
|
25
|
-
const targets = data.targets || [];
|
|
26
|
-
const values = data.values || [];
|
|
27
|
-
// Strict length checks - these are part of the logic to ensure data integrity
|
|
28
|
-
if (targets.length !== count) {
|
|
29
|
-
throw new Error(`Mismatch in targets length: expected ${count}, got ${targets.length}`);
|
|
30
|
-
}
|
|
31
|
-
if (values.length !== count) {
|
|
32
|
-
throw new Error(`Mismatch in values length: expected ${count}, got ${values.length}`);
|
|
33
|
-
}
|
|
34
|
-
for (let i = 0; i < count; i++) {
|
|
35
|
-
result.calldatas.push(data.calldatas[i]);
|
|
36
|
-
result.targets.push(targets[i]);
|
|
37
|
-
result.values.push(values[i]);
|
|
38
|
-
}
|
|
39
|
-
return result;
|
|
40
|
-
}
|
|
41
|
-
// 2. Check for Timelock scheduled data (L1/L2 Timelock)
|
|
42
|
-
// Timelock stages usually have `callScheduledData` array containing the operations
|
|
43
|
-
if (data.callScheduledData) {
|
|
44
|
-
for (const scheduled of data.callScheduledData) {
|
|
45
|
-
// scheduled.data and scheduled.target are strictly typed in CallScheduledData
|
|
46
|
-
result.calldatas.push(scheduled.data);
|
|
47
|
-
result.targets.push(scheduled.target);
|
|
48
|
-
result.values.push(scheduled.value || "0");
|
|
49
|
-
}
|
|
50
|
-
if (result.calldatas.length > 0) {
|
|
51
|
-
return result;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return result;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=extraction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extraction.js","sourceRoot":"","sources":["../../src/calldata/extraction.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAYH,4DA4CC;AApDD;;;;;;;GAOG;AACH,SAAgB,wBAAwB,CAAC,KAAmB;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAwB,CAAC;IAC5C,MAAM,MAAM,GAAsB,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAE7E,oDAAoD;IACpD,yFAAyF;IACzF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAEjC,8EAA8E;QAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,SAAS,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wDAAwD;IACxD,mFAAmF;IACnF,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/C,8EAA8E;YAC9E,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/stages/base.ts"],"names":[],"mappings":"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"}
|
package/dist/stages/base.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/stages/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stage-builder.d.ts","sourceRoot":"","sources":["../../src/stages/stage-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAe;gBAEjB,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAE,WAA2B;IAWlF;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAMjC;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAKlC;;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,SAAS,EAChB,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,eAAe,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;KACjB,GACL,IAAI;IAUP;;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,IAAI,YAAY;CAGtB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stage-builder.js","sourceRoot":"","sources":["../../src/stages/stage-builder.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAaH,MAAa,YAAY;IAGvB,YAAY,IAAe,EAAE,KAAgB,EAAE,SAAsB,aAAa;QAChF,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI;YACJ,MAAM;YACN,KAAK;YACL,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,KAAK;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAmB;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAsB;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAA4B;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,EAAE,CACA,IAAY,EACZ,WAAmB,EACnB,KAAgB,EAChB,UAKI,EAAE;QAEN,MAAM,EAAE,GAAqB,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAC1D,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACtE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,EAAE,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC5E,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,MAAc;QACjB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,GAAuB;QAClC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,KAAc;QACvB,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AA9FD,oCA8FC"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TrackingContext - Functional state management for pipeline tracking
|
|
3
|
-
*
|
|
4
|
-
* This module provides a purely functional approach to tracking context:
|
|
5
|
-
* - TrackingContext interface defines the immutable state shape
|
|
6
|
-
* - Pure functions transform state and derive values
|
|
7
|
-
* - No classes, no mutation, no hidden state
|
|
8
|
-
*
|
|
9
|
-
* Benefits:
|
|
10
|
-
* - Easy testing: just create plain objects
|
|
11
|
-
* - Transparent: can log/inspect full state anytime
|
|
12
|
-
* - Predictable: same input → same output
|
|
13
|
-
* - Composable: mix and match functions freely
|
|
14
|
-
* - Debuggable: save/restore state snapshots
|
|
15
|
-
*/
|
|
16
|
-
import { ethers } from "ethers";
|
|
17
|
-
import { TrackedStage, TrackingCheckpoint, TrackingInput, StageType, CallScheduledData, ProposalData, ProposalType, ProposalState, OnProgressCallback, ChunkingConfig } from "../types";
|
|
18
|
-
/**
|
|
19
|
-
* Providers for multi-chain operations
|
|
20
|
-
*/
|
|
21
|
-
export interface Providers {
|
|
22
|
-
readonly l2: ethers.providers.Provider;
|
|
23
|
-
readonly l1: ethers.providers.Provider;
|
|
24
|
-
readonly nova: ethers.providers.Provider;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Options for creating a TrackingContext
|
|
28
|
-
*/
|
|
29
|
-
export interface CreateTrackingContextOptions {
|
|
30
|
-
providers: Providers;
|
|
31
|
-
input: TrackingInput;
|
|
32
|
-
onProgress?: OnProgressCallback;
|
|
33
|
-
chunkingConfig?: ChunkingConfig;
|
|
34
|
-
checkpoint?: TrackingCheckpoint;
|
|
35
|
-
cacheKey?: string;
|
|
36
|
-
/** Bootstrap data for timelock-only tracking */
|
|
37
|
-
callScheduledData?: CallScheduledData[];
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* TrackingContext - Immutable state for pipeline tracking
|
|
41
|
-
*
|
|
42
|
-
* All values are derived from stages. This interface represents
|
|
43
|
-
* a snapshot of the pipeline at a point in time.
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```typescript
|
|
47
|
-
* let ctx = createTrackingContext({ providers, input });
|
|
48
|
-
* ctx = await addStage(ctx, proposalCreatedStage);
|
|
49
|
-
* const opId = getOperationId(ctx);
|
|
50
|
-
* ```
|
|
51
|
-
*/
|
|
52
|
-
export interface TrackingContext {
|
|
53
|
-
readonly providers: Providers;
|
|
54
|
-
readonly chunkingConfig: ChunkingConfig;
|
|
55
|
-
readonly onProgress?: OnProgressCallback;
|
|
56
|
-
readonly cacheKey?: string;
|
|
57
|
-
readonly input: TrackingInput;
|
|
58
|
-
readonly callScheduledData?: CallScheduledData[];
|
|
59
|
-
readonly stages: TrackedStage[];
|
|
60
|
-
readonly stageIndex: number;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Create a new TrackingContext.
|
|
64
|
-
*/
|
|
65
|
-
export declare function createTrackingContext(options: CreateTrackingContextOptions): TrackingContext;
|
|
66
|
-
/**
|
|
67
|
-
* Add or update a stage. Returns new context.
|
|
68
|
-
*/
|
|
69
|
-
export declare function addStage(ctx: TrackingContext, stage: TrackedStage): Promise<TrackingContext>;
|
|
70
|
-
/** Check if a stage is completed (COMPLETED or SKIPPED). */
|
|
71
|
-
export declare function isStageCompleted(ctx: TrackingContext, type: StageType): boolean;
|
|
72
|
-
/** Get a completed stage for zero-RPC resume. */
|
|
73
|
-
export declare function getCompletedStage(ctx: TrackingContext, type: StageType): TrackedStage | undefined;
|
|
74
|
-
/** Get a cached stage (any status). */
|
|
75
|
-
export declare function getCachedStage(ctx: TrackingContext, type: StageType): TrackedStage | undefined;
|
|
76
|
-
/**
|
|
77
|
-
* Check if all stages are complete.
|
|
78
|
-
*/
|
|
79
|
-
export declare function isComplete(ctx: TrackingContext): boolean;
|
|
80
|
-
export declare const getGovernorAddress: (ctx: TrackingContext) => string | undefined;
|
|
81
|
-
export declare const getProposalId: (ctx: TrackingContext) => string | undefined;
|
|
82
|
-
export declare function getTimelockAddress(ctx: TrackingContext): string | undefined;
|
|
83
|
-
export declare function getOperationId(ctx: TrackingContext): string | undefined;
|
|
84
|
-
export declare function getCallScheduledData(ctx: TrackingContext): CallScheduledData[] | undefined;
|
|
85
|
-
export declare const getFirstCallScheduledData: (ctx: TrackingContext) => CallScheduledData | undefined;
|
|
86
|
-
export declare const getQueueBlockNumber: (ctx: TrackingContext) => number | undefined;
|
|
87
|
-
/** Proposal data from PROPOSAL_CREATED stage */
|
|
88
|
-
export declare function getProposalData(ctx: TrackingContext): ProposalData | undefined;
|
|
89
|
-
export declare function getProposalType(ctx: TrackingContext): ProposalType | undefined;
|
|
90
|
-
export declare const getIsElection: (ctx: TrackingContext) => boolean;
|
|
91
|
-
export declare const getProposalState: (ctx: TrackingContext) => ProposalState | undefined;
|
|
92
|
-
export declare function getVotingEndBlock(ctx: TrackingContext): number | undefined;
|
|
93
|
-
export declare function getL2ExecutionTxHash(ctx: TrackingContext): string | undefined;
|
|
94
|
-
export declare const getFirstExecutableBlock: (ctx: TrackingContext) => number | undefined;
|
|
95
|
-
export declare function getOutboxExecutionTx(ctx: TrackingContext): {
|
|
96
|
-
hash: string;
|
|
97
|
-
blockNumber: number;
|
|
98
|
-
} | undefined;
|
|
99
|
-
export declare function getL1ExecutionTxHash(ctx: TrackingContext): string | undefined;
|
|
100
|
-
export declare function createCheckpoint(ctx: TrackingContext): TrackingCheckpoint;
|
|
101
|
-
export declare function toResult(ctx: TrackingContext): {
|
|
102
|
-
input: TrackingInput;
|
|
103
|
-
stages: TrackedStage[];
|
|
104
|
-
checkpoint: TrackingCheckpoint;
|
|
105
|
-
isComplete: boolean;
|
|
106
|
-
proposalType: ProposalType | undefined;
|
|
107
|
-
proposalData: ProposalData | undefined;
|
|
108
|
-
currentState: ProposalState | undefined;
|
|
109
|
-
isElection: boolean;
|
|
110
|
-
};
|
|
111
|
-
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tracker/context.ts"],"names":[],"mappings":"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"}
|