@gzeoneth/gov-tracker 0.1.0 → 0.1.1-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/README.md +75 -119
- package/dist/calldata/address-utils.d.ts +22 -0
- package/dist/calldata/address-utils.d.ts.map +1 -0
- package/dist/calldata/address-utils.js +84 -0
- package/dist/calldata/address-utils.js.map +1 -0
- package/dist/calldata/decoder.d.ts +27 -0
- package/dist/calldata/decoder.d.ts.map +1 -0
- package/dist/calldata/decoder.js +238 -0
- package/dist/calldata/decoder.js.map +1 -0
- package/dist/calldata/index.d.ts +13 -0
- package/dist/calldata/index.d.ts.map +1 -0
- package/dist/calldata/index.js +46 -0
- package/dist/calldata/index.js.map +1 -0
- package/dist/calldata/parameter-decoder.d.ts +44 -0
- package/dist/calldata/parameter-decoder.d.ts.map +1 -0
- package/dist/calldata/parameter-decoder.js +163 -0
- package/dist/calldata/parameter-decoder.js.map +1 -0
- package/dist/calldata/retryable-ticket.d.ts +55 -0
- package/dist/calldata/retryable-ticket.d.ts.map +1 -0
- package/dist/calldata/retryable-ticket.js +104 -0
- package/dist/calldata/retryable-ticket.js.map +1 -0
- package/dist/calldata/signature-lookup.d.ts +46 -0
- package/dist/calldata/signature-lookup.d.ts.map +1 -0
- package/dist/calldata/signature-lookup.js +160 -0
- package/dist/calldata/signature-lookup.js.map +1 -0
- package/dist/cli/lib/cli.d.ts +74 -6
- package/dist/cli/lib/cli.d.ts.map +1 -1
- package/dist/cli/lib/cli.js +240 -69
- package/dist/cli/lib/cli.js.map +1 -1
- package/dist/cli/monitor.js +258 -111
- package/dist/cli/monitor.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +48 -3
- package/dist/index.js.map +1 -1
- package/dist/simulation/address-alias.d.ts +35 -0
- package/dist/simulation/address-alias.d.ts.map +1 -0
- package/dist/simulation/address-alias.js +46 -0
- package/dist/simulation/address-alias.js.map +1 -0
- package/dist/simulation/index.d.ts +9 -0
- package/dist/simulation/index.d.ts.map +1 -0
- package/dist/simulation/index.js +26 -0
- package/dist/simulation/index.js.map +1 -0
- package/dist/simulation/simulation-data.d.ts +77 -0
- package/dist/simulation/simulation-data.d.ts.map +1 -0
- package/dist/simulation/simulation-data.js +327 -0
- package/dist/simulation/simulation-data.js.map +1 -0
- package/dist/stages/l2-to-l1-message.d.ts +2 -2
- package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
- package/dist/stages/l2-to-l1-message.js +5 -3
- package/dist/stages/l2-to-l1-message.js.map +1 -1
- package/dist/stages/retryables.d.ts +2 -2
- package/dist/stages/retryables.d.ts.map +1 -1
- package/dist/stages/retryables.js +5 -3
- package/dist/stages/retryables.js.map +1 -1
- package/dist/stages/timelock.d.ts.map +1 -1
- package/dist/stages/timelock.js +5 -3
- package/dist/stages/timelock.js.map +1 -1
- package/dist/tracker/execute.d.ts.map +1 -1
- package/dist/tracker/execute.js +34 -22
- package/dist/tracker/execute.js.map +1 -1
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +6 -2
- package/dist/tracker.js.map +1 -1
- package/dist/types/calldata.d.ts +91 -0
- package/dist/types/calldata.d.ts.map +1 -0
- package/dist/types/calldata.js +9 -0
- package/dist/types/calldata.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/simulation.d.ts +101 -0
- package/dist/types/simulation.d.ts.map +1 -0
- package/dist/types/simulation.js +9 -0
- package/dist/types/simulation.js.map +1 -0
- package/dist/types/tracking.d.ts +2 -1
- package/dist/types/tracking.d.ts.map +1 -1
- package/dist/utils/error-classification.d.ts +13 -0
- package/dist/utils/error-classification.d.ts.map +1 -0
- package/dist/utils/error-classification.js +28 -0
- package/dist/utils/error-classification.js.map +1 -0
- package/dist/utils/stage-helpers.d.ts +1 -1
- package/dist/utils/stage-helpers.d.ts.map +1 -1
- package/dist/utils/stage-helpers.js +1 -1
- package/dist/utils/stage-helpers.js.map +1 -1
- package/dist/utils/urls.d.ts +24 -1
- package/dist/utils/urls.d.ts.map +1 -1
- package/dist/utils/urls.js +50 -0
- package/dist/utils/urls.js.map +1 -1
- package/package.json +6 -3
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Error Classification Utilities
|
|
4
|
+
*
|
|
5
|
+
* Classifies errors for better error handling and tracking.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.isGasEstimationError = isGasEstimationError;
|
|
9
|
+
/**
|
|
10
|
+
* Check if an error is a gas estimation error.
|
|
11
|
+
* Gas estimation errors should not count against consecutive error tracking
|
|
12
|
+
* because they are often temporary (insufficient funds, contract state changes, etc.)
|
|
13
|
+
* and should be retried in the next run.
|
|
14
|
+
*/
|
|
15
|
+
function isGasEstimationError(error) {
|
|
16
|
+
const message = error instanceof Error ? error.message.toLowerCase() : String(error).toLowerCase();
|
|
17
|
+
return (message.includes("gas required exceeds") ||
|
|
18
|
+
message.includes("execution reverted") ||
|
|
19
|
+
message.includes("out of gas") ||
|
|
20
|
+
message.includes("intrinsic gas too low") ||
|
|
21
|
+
message.includes("insufficient funds for gas") ||
|
|
22
|
+
message.includes("cannot estimate gas") ||
|
|
23
|
+
message.includes("gas estimation") ||
|
|
24
|
+
message.includes("transaction may fail") ||
|
|
25
|
+
message.includes("gas limit") ||
|
|
26
|
+
message.includes("revert"));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=error-classification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-classification.js","sourceRoot":"","sources":["../../src/utils/error-classification.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAQH,oDAeC;AArBD;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,KAAc;IACjD,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACrF,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACxC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACzC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC9C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -24,7 +24,7 @@ export declare function calculateTimelockEta(timelockState: TimelockState, opera
|
|
|
24
24
|
/** Build serialized execution payload data for stage storage. */
|
|
25
25
|
export declare function buildExecutionPayloadData(timelockAddress: string, operationId: string, allScheduledData: CallScheduledData[]): Record<string, unknown>;
|
|
26
26
|
export interface PrepareValidationOptions {
|
|
27
|
-
|
|
27
|
+
prepareCompleted?: boolean;
|
|
28
28
|
expectedTypes?: StageType[];
|
|
29
29
|
}
|
|
30
30
|
/** Validate stage for preparation. Returns error or null if valid. */
|
|
@@ -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,SAAS,EAGT,iBAAiB,EACjB,aAAa,EACb,cAAc,EACf,MAAM,UAAU,CAAC;AAalB,OAAO,EACL,SAAS,EACT,WAAW,EACX,0BAA0B,EAC1B,4BAA4B,EAC5B,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,gBAAgB,CAAC;AAMxB,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,uDAAuD;AACvD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,wBAAwB,GAAG,IAAI,CA4B5F;AAMD,2DAA2D;AAC3D,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,aAAa,GAAG,iBAAiB,EAAE,CAKzF;AAED,8CAA8C;AAC9C,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU7B;AAED,iEAAiE;AACjE,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,iBAAiB,EAAE,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAMD,MAAM,WAAW,wBAAwB;IACvC,
|
|
1
|
+
{"version":3,"file":"stage-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/stage-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,7 +79,7 @@ function buildExecutionPayloadData(timelockAddress, operationId, allScheduledDat
|
|
|
79
79
|
}
|
|
80
80
|
/** Validate stage for preparation. Returns error or null if valid. */
|
|
81
81
|
function validateStageForPrepare(stage, options = {}) {
|
|
82
|
-
if (!options.
|
|
82
|
+
if (!options.prepareCompleted && stage.status !== "READY") {
|
|
83
83
|
return (0, base_1.failPrepare)(`Stage is not ready. Current status: ${stage.status}`);
|
|
84
84
|
}
|
|
85
85
|
if (options.expectedTypes?.length && !options.expectedTypes.includes(stage.type)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-helpers.js","sourceRoot":"","sources":["../../src/utils/stage-helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stage-helpers.js","sourceRoot":"","sources":["../../src/utils/stage-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/urls.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChainType, StageTransaction } from "../types";
|
|
1
|
+
import type { ChainType, StageTransaction, ChainContext } from "../types";
|
|
2
2
|
/**
|
|
3
3
|
* Map ChainType to numeric chain ID
|
|
4
4
|
*/
|
|
@@ -17,4 +17,27 @@ export declare function getTxUrl(chainId: number, txHash: string): string;
|
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
19
|
export declare function getStageTransactionUrl(tx: StageTransaction): string;
|
|
20
|
+
/**
|
|
21
|
+
* Get human-readable chain label
|
|
22
|
+
*
|
|
23
|
+
* @param chain - Chain context
|
|
24
|
+
* @returns Chain label (e.g., "Arb1", "Nova", "L1")
|
|
25
|
+
*/
|
|
26
|
+
export declare function getChainLabel(chain: ChainContext): string;
|
|
27
|
+
/**
|
|
28
|
+
* Get block explorer URL for an address
|
|
29
|
+
*
|
|
30
|
+
* @param address - Contract address
|
|
31
|
+
* @param chain - Chain context
|
|
32
|
+
* @returns Full explorer URL
|
|
33
|
+
*/
|
|
34
|
+
export declare function getAddressExplorerUrl(address: string, chain: ChainContext): string;
|
|
35
|
+
/**
|
|
36
|
+
* Get block explorer URL for a transaction
|
|
37
|
+
*
|
|
38
|
+
* @param txHash - Transaction hash
|
|
39
|
+
* @param chain - Chain context
|
|
40
|
+
* @returns Full explorer URL
|
|
41
|
+
*/
|
|
42
|
+
export declare function getTxExplorerUrl(txHash: string, chain: ChainContext): string;
|
|
20
43
|
//# sourceMappingURL=urls.d.ts.map
|
package/dist/utils/urls.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../src/utils/urls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../src/utils/urls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE1E;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAStD;AAoBD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAW5F;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAGnE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAGlF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAG5E"}
|
package/dist/utils/urls.js
CHANGED
|
@@ -4,6 +4,9 @@ exports.chainTypeToId = chainTypeToId;
|
|
|
4
4
|
exports.getExplorerUrl = getExplorerUrl;
|
|
5
5
|
exports.getTxUrl = getTxUrl;
|
|
6
6
|
exports.getStageTransactionUrl = getStageTransactionUrl;
|
|
7
|
+
exports.getChainLabel = getChainLabel;
|
|
8
|
+
exports.getAddressExplorerUrl = getAddressExplorerUrl;
|
|
9
|
+
exports.getTxExplorerUrl = getTxExplorerUrl;
|
|
7
10
|
const constants_1 = require("../constants");
|
|
8
11
|
/**
|
|
9
12
|
* Map ChainType to numeric chain ID
|
|
@@ -18,6 +21,22 @@ function chainTypeToId(chain) {
|
|
|
18
21
|
return constants_1.CHAIN_IDS.NOVA;
|
|
19
22
|
}
|
|
20
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Explorer base URLs by chain
|
|
26
|
+
*/
|
|
27
|
+
const EXPLORER_URLS = {
|
|
28
|
+
arb1: "https://arbiscan.io",
|
|
29
|
+
nova: "https://nova.arbiscan.io",
|
|
30
|
+
ethereum: "https://etherscan.io",
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Human-readable chain labels
|
|
34
|
+
*/
|
|
35
|
+
const CHAIN_LABELS = {
|
|
36
|
+
arb1: "Arb1",
|
|
37
|
+
nova: "Nova",
|
|
38
|
+
ethereum: "L1",
|
|
39
|
+
};
|
|
21
40
|
function getExplorerUrl(chainId, type, hash) {
|
|
22
41
|
switch (chainId) {
|
|
23
42
|
case 1: // Ethereum
|
|
@@ -48,4 +67,35 @@ function getStageTransactionUrl(tx) {
|
|
|
48
67
|
const chainId = chainTypeToId(tx.chain);
|
|
49
68
|
return getTxUrl(chainId, tx.hash);
|
|
50
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Get human-readable chain label
|
|
72
|
+
*
|
|
73
|
+
* @param chain - Chain context
|
|
74
|
+
* @returns Chain label (e.g., "Arb1", "Nova", "L1")
|
|
75
|
+
*/
|
|
76
|
+
function getChainLabel(chain) {
|
|
77
|
+
return CHAIN_LABELS[chain] ?? chain;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get block explorer URL for an address
|
|
81
|
+
*
|
|
82
|
+
* @param address - Contract address
|
|
83
|
+
* @param chain - Chain context
|
|
84
|
+
* @returns Full explorer URL
|
|
85
|
+
*/
|
|
86
|
+
function getAddressExplorerUrl(address, chain) {
|
|
87
|
+
const baseUrl = EXPLORER_URLS[chain] ?? EXPLORER_URLS.ethereum;
|
|
88
|
+
return `${baseUrl}/address/${address}`;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get block explorer URL for a transaction
|
|
92
|
+
*
|
|
93
|
+
* @param txHash - Transaction hash
|
|
94
|
+
* @param chain - Chain context
|
|
95
|
+
* @returns Full explorer URL
|
|
96
|
+
*/
|
|
97
|
+
function getTxExplorerUrl(txHash, chain) {
|
|
98
|
+
const baseUrl = EXPLORER_URLS[chain] ?? EXPLORER_URLS.ethereum;
|
|
99
|
+
return `${baseUrl}/tx/${txHash}`;
|
|
100
|
+
}
|
|
51
101
|
//# sourceMappingURL=urls.js.map
|
package/dist/utils/urls.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../src/utils/urls.ts"],"names":[],"mappings":";;AAMA,sCASC;
|
|
1
|
+
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../src/utils/urls.ts"],"names":[],"mappings":";;AAMA,sCASC;AAoBD,wCAWC;AAED,4BAEC;AAaD,wDAGC;AAQD,sCAEC;AASD,sDAGC;AASD,4CAGC;AApGD,4CAAyC;AAGzC;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAgB;IAC5C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,IAAI;YACP,OAAO,qBAAS,CAAC,QAAQ,CAAC;QAC5B,KAAK,IAAI;YACP,OAAO,qBAAS,CAAC,OAAO,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,qBAAS,CAAC,IAAI,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,aAAa,GAAiC;IAClD,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,0BAA0B;IAChC,QAAQ,EAAE,sBAAsB;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAAiC;IACjD,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,SAAgB,cAAc,CAAC,OAAe,EAAE,IAAsB,EAAE,IAAY;IAClF,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,EAAE,WAAW;YACjB,OAAO,wBAAwB,IAAI,IAAI,IAAI,EAAE,CAAC;QAChD,KAAK,qBAAS,CAAC,OAAO;YACpB,OAAO,uBAAuB,IAAI,IAAI,IAAI,EAAE,CAAC;QAC/C,KAAK,qBAAS,CAAC,IAAI;YACjB,OAAO,4BAA4B,IAAI,IAAI,IAAI,EAAE,CAAC;QACpD;YACE,OAAO,wBAAwB,IAAI,IAAI,IAAI,EAAE,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAgB,QAAQ,CAAC,OAAe,EAAE,MAAc;IACtD,OAAO,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,sBAAsB,CAAC,EAAoB;IACzD,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAmB;IAC/C,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,OAAe,EAAE,KAAmB;IACxE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC;IAC/D,OAAO,GAAG,OAAO,YAAY,OAAO,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,MAAc,EAAE,KAAmB;IAClE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC;IAC/D,OAAO,GAAG,OAAO,OAAO,MAAM,EAAE,CAAC;AACnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gzeoneth/gov-tracker",
|
|
3
|
-
"version": "0.1.0",
|
|
3
|
+
"version": "0.1.1-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",
|
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
"test:integration": "vitest run test/integration.test.ts test/tracker.test.ts test/retryables.test.ts",
|
|
27
27
|
"test:fork": "vitest run --config vitest.config.fork.mts",
|
|
28
28
|
"test:all": "vitest run",
|
|
29
|
+
"test:coverage": "NO_RPC=1 vitest run --coverage",
|
|
30
|
+
"test:coverage:all": "vitest run --coverage",
|
|
29
31
|
"lint": "eslint src test --quiet",
|
|
30
32
|
"lint:fix": "eslint src test --fix",
|
|
31
33
|
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
@@ -35,7 +37,8 @@
|
|
|
35
37
|
"monitor": "ts-node src/cli/monitor.ts",
|
|
36
38
|
"monitor:run": "ts-node src/cli/monitor.ts run",
|
|
37
39
|
"monitor:status": "ts-node src/cli/monitor.ts status",
|
|
38
|
-
"monitor:track": "ts-node src/cli/monitor.ts track"
|
|
40
|
+
"monitor:track": "ts-node src/cli/monitor.ts track",
|
|
41
|
+
"monitor:inspect": "ts-node src/cli/monitor.ts inspect"
|
|
39
42
|
},
|
|
40
43
|
"lint-staged": {
|
|
41
44
|
"*.ts": [
|
|
@@ -56,7 +59,7 @@
|
|
|
56
59
|
"@types/node": "^20.0.0",
|
|
57
60
|
"@typescript-eslint/eslint-plugin": "^8.51.0",
|
|
58
61
|
"@typescript-eslint/parser": "^8.51.0",
|
|
59
|
-
"@vitest/coverage-v8": "^
|
|
62
|
+
"@vitest/coverage-v8": "^4.0.0",
|
|
60
63
|
"eslint": "^9.39.2",
|
|
61
64
|
"husky": "^9.1.7",
|
|
62
65
|
"jiti": "^2.6.1",
|