@gzeoneth/gov-tracker 0.1.2 → 0.2.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +50 -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 +61 -2
- 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 +7 -21
- 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 +0 -45
- 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 +8 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -13
- 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/base.d.ts.map +1 -1
- package/dist/stages/base.js +4 -1
- package/dist/stages/base.js.map +1 -1
- package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
- package/dist/stages/l2-to-l1-message.js +7 -6
- package/dist/stages/l2-to-l1-message.js.map +1 -1
- package/dist/stages/proposal-created.js +2 -2
- package/dist/stages/proposal-created.js.map +1 -1
- package/dist/stages/proposal-queued.d.ts.map +1 -1
- package/dist/stages/proposal-queued.js +11 -10
- package/dist/stages/proposal-queued.js.map +1 -1
- package/dist/stages/retryables.d.ts +5 -5
- package/dist/stages/retryables.d.ts.map +1 -1
- package/dist/stages/retryables.js +68 -53
- package/dist/stages/retryables.js.map +1 -1
- package/dist/stages/stage-builder.d.ts +5 -4
- package/dist/stages/stage-builder.d.ts.map +1 -1
- package/dist/stages/stage-builder.js +7 -2
- package/dist/stages/stage-builder.js.map +1 -1
- package/dist/stages/timelock.d.ts +1 -22
- package/dist/stages/timelock.d.ts.map +1 -1
- package/dist/stages/timelock.js +18 -10
- package/dist/stages/timelock.js.map +1 -1
- package/dist/stages/voting.js +1 -1
- package/dist/stages/voting.js.map +1 -1
- package/dist/tracker/context.js +1 -1
- package/dist/tracker/context.js.map +1 -1
- package/dist/tracker/execute.js +1 -1
- package/dist/tracker/pipeline.d.ts +0 -29
- package/dist/tracker/pipeline.d.ts.map +1 -1
- package/dist/tracker/pipeline.js +2 -8
- package/dist/tracker/pipeline.js.map +1 -1
- package/dist/tracker/query.js +1 -1
- package/dist/tracker/query.js.map +1 -1
- package/dist/tracker.js +2 -2
- 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 +19 -16
- package/dist/types/stages.d.ts.map +1 -1
- package/dist/types/stages.js +8 -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-helpers.d.ts +5 -6
- package/dist/utils/stage-helpers.d.ts.map +1 -1
- package/dist/utils/stage-helpers.js +2 -10
- package/dist/utils/stage-helpers.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 +8 -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/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/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
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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"}
|
|
@@ -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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"}
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
* Utility functions for timelock stage operations and validation.
|
|
5
5
|
*/
|
|
6
6
|
import { ethers } from "ethers";
|
|
7
|
-
import { TrackedStage, PrepareResult, StageType,
|
|
8
|
-
export { serialize, deserialize, serializeCallScheduledData, deserializeCallScheduledData, serializeCallScheduledDataArray, deserializeCallScheduledDataArray, } from "../stages/base";
|
|
7
|
+
import { TrackedStage, PrepareResult, StageType, Chain, CallScheduledData, TimelockState, OperationState } from "../types";
|
|
9
8
|
/** Execution payload data for timelock operations. */
|
|
10
9
|
export interface TimelockExecutionPayload {
|
|
11
10
|
timelockAddress: string;
|
|
@@ -29,7 +28,7 @@ export interface PrepareValidationOptions {
|
|
|
29
28
|
}
|
|
30
29
|
/** Validate stage for preparation. Returns error or null if valid. */
|
|
31
30
|
export declare function validateStageForPrepare(stage: TrackedStage, options?: PrepareValidationOptions): PrepareResult | null;
|
|
32
|
-
export interface BulkPrepareResult<T extends
|
|
31
|
+
export interface BulkPrepareResult<T extends Chain = Chain> {
|
|
33
32
|
total: number;
|
|
34
33
|
results: PrepareResult[];
|
|
35
34
|
targetChain: T;
|
|
@@ -38,12 +37,12 @@ export interface SimpleBulkResult {
|
|
|
38
37
|
total: number;
|
|
39
38
|
results: PrepareResult[];
|
|
40
39
|
}
|
|
41
|
-
export declare function bulkPrepareError<T extends
|
|
40
|
+
export declare function bulkPrepareError<T extends Chain>(error: string, targetChain: T): BulkPrepareResult<T>;
|
|
42
41
|
export declare function simpleBulkError(error: string): SimpleBulkResult;
|
|
43
|
-
export declare function validateStageForBulkPrepare<T extends
|
|
42
|
+
export declare function validateStageForBulkPrepare<T extends Chain>(stage: TrackedStage, targetChain: T, options?: PrepareValidationOptions): BulkPrepareResult<T> | null;
|
|
44
43
|
export declare function validateStageForSimpleBulk(stage: TrackedStage, options?: PrepareValidationOptions): SimpleBulkResult | null;
|
|
45
44
|
/** Search for timelock execution event and complete stage. */
|
|
46
|
-
export declare function searchAndCompleteTimelockExecution(stage: TrackedStage, timelockAddress: string, operationId: string, provider: ethers.providers.Provider, chain:
|
|
45
|
+
export declare function searchAndCompleteTimelockExecution(stage: TrackedStage, timelockAddress: string, operationId: string, provider: ethers.providers.Provider, chain: Chain, fromBlock: number, toBlock?: number, queueTimestamp?: number): Promise<{
|
|
47
46
|
stage: TrackedStage;
|
|
48
47
|
executionTxHash: string | null;
|
|
49
48
|
executionBlock: number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/stage-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EACL,YAAY,EACZ,aAAa,EAEb,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"stage-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/stage-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* Utility functions for timelock stage operations and validation.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.deserializeCallScheduledDataArray = exports.serializeCallScheduledDataArray = exports.deserializeCallScheduledData = exports.serializeCallScheduledData = exports.deserialize = exports.serialize = void 0;
|
|
9
8
|
exports.createTimelockStageData = createTimelockStageData;
|
|
10
9
|
exports.collectAllScheduledData = collectAllScheduledData;
|
|
11
10
|
exports.calculateTimelockEta = calculateTimelockEta;
|
|
@@ -20,14 +19,6 @@ const types_1 = require("../types");
|
|
|
20
19
|
const base_1 = require("../stages/base");
|
|
21
20
|
const stage_builder_1 = require("../stages/stage-builder");
|
|
22
21
|
const timelock_discovery_1 = require("../discovery/timelock-discovery");
|
|
23
|
-
// Re-export serialization from base for backwards compatibility
|
|
24
|
-
var base_2 = require("../stages/base");
|
|
25
|
-
Object.defineProperty(exports, "serialize", { enumerable: true, get: function () { return base_2.serialize; } });
|
|
26
|
-
Object.defineProperty(exports, "deserialize", { enumerable: true, get: function () { return base_2.deserialize; } });
|
|
27
|
-
Object.defineProperty(exports, "serializeCallScheduledData", { enumerable: true, get: function () { return base_2.serializeCallScheduledData; } });
|
|
28
|
-
Object.defineProperty(exports, "deserializeCallScheduledData", { enumerable: true, get: function () { return base_2.deserializeCallScheduledData; } });
|
|
29
|
-
Object.defineProperty(exports, "serializeCallScheduledDataArray", { enumerable: true, get: function () { return base_2.serializeCallScheduledDataArray; } });
|
|
30
|
-
Object.defineProperty(exports, "deserializeCallScheduledDataArray", { enumerable: true, get: function () { return base_2.deserializeCallScheduledDataArray; } });
|
|
31
22
|
/** Extract timelock execution payload from a stage. */
|
|
32
23
|
function createTimelockStageData(stage) {
|
|
33
24
|
let stageData = null;
|
|
@@ -117,9 +108,10 @@ async function searchAndCompleteTimelockExecution(stage, timelockAddress, operat
|
|
|
117
108
|
builder.timing(stage.timing);
|
|
118
109
|
if (event) {
|
|
119
110
|
const execTimestamp = await (0, base_1.getBlockTimestamp)(event.blockNumber, provider);
|
|
111
|
+
const chainId = (0, types_1.chainToChainId)(chain) ?? 0;
|
|
120
112
|
builder
|
|
121
113
|
.status("COMPLETED")
|
|
122
|
-
.tx(event.txHash, event.blockNumber, chain, {
|
|
114
|
+
.tx(event.txHash, event.blockNumber, chain, chainId, {
|
|
123
115
|
timestamp: execTimestamp,
|
|
124
116
|
description: "executed",
|
|
125
117
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-helpers.js","sourceRoot":"","sources":["../../src/utils/stage-helpers.ts"],"names":[],"mappings":";AAAA;;;;GAIG
|
|
1
|
+
{"version":3,"file":"stage-helpers.js","sourceRoot":"","sources":["../../src/utils/stage-helpers.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.
|
|
3
|
+
"version": "0.2.0-0",
|
|
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,15 @@
|
|
|
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",
|
|
28
27
|
"test:all": "vitest run",
|
|
29
28
|
"test:coverage": "NO_RPC=1 vitest run --coverage",
|
|
30
29
|
"test:coverage:all": "vitest run --coverage",
|
|
31
|
-
"
|
|
32
|
-
"lint
|
|
30
|
+
"typecheck": "tsc -p tsconfig.typecheck.json",
|
|
31
|
+
"lint": "eslint --quiet",
|
|
32
|
+
"lint:fix": "eslint --fix",
|
|
33
|
+
"check:unused": "knip",
|
|
33
34
|
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
34
35
|
"format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
35
36
|
"prepublishOnly": "yarn lint && yarn format:check && yarn build",
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
"p-limit": "3"
|
|
56
57
|
},
|
|
57
58
|
"devDependencies": {
|
|
59
|
+
"@eslint/js": "^9.39.2",
|
|
58
60
|
"@types/debug": "^4.1.12",
|
|
59
61
|
"@types/node": "^20.0.0",
|
|
60
62
|
"@typescript-eslint/eslint-plugin": "^8.51.0",
|
|
@@ -63,6 +65,7 @@
|
|
|
63
65
|
"eslint": "^9.39.2",
|
|
64
66
|
"husky": "^9.1.7",
|
|
65
67
|
"jiti": "^2.6.1",
|
|
68
|
+
"knip": "^5.80.0",
|
|
66
69
|
"lint-staged": "^16.2.7",
|
|
67
70
|
"prettier": "^3.7.4",
|
|
68
71
|
"ts-node": "^10.9.2",
|
|
@@ -72,4 +75,4 @@
|
|
|
72
75
|
"engines": {
|
|
73
76
|
"node": ">=18.0.0"
|
|
74
77
|
}
|
|
75
|
-
}
|
|
78
|
+
}
|
|
@@ -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"}
|