@gzeoneth/gov-tracker 0.4.0-beta.18db0de → 0.4.0-beta.225fa70
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 +18 -10
- package/dist/abis-json.d.ts +2290 -0
- package/dist/abis-json.d.ts.map +1 -0
- package/dist/abis-json.js +3174 -0
- package/dist/abis-json.js.map +1 -0
- package/dist/abis.d.ts +11 -7
- package/dist/abis.d.ts.map +1 -1
- package/dist/abis.js +29 -1
- package/dist/abis.js.map +1 -1
- package/dist/calldata/decoder.d.ts.map +1 -1
- package/dist/calldata/decoder.js +33 -28
- package/dist/calldata/decoder.js.map +1 -1
- package/dist/calldata/parameter-decoder.d.ts.map +1 -1
- package/dist/calldata/parameter-decoder.js +19 -25
- package/dist/calldata/parameter-decoder.js.map +1 -1
- package/dist/calldata/retryable-ticket.d.ts +2 -2
- package/dist/calldata/retryable-ticket.d.ts.map +1 -1
- package/dist/calldata/retryable-ticket.js +17 -12
- package/dist/calldata/retryable-ticket.js.map +1 -1
- package/dist/calldata/signature-lookup.js +5 -4
- package/dist/calldata/signature-lookup.js.map +1 -1
- package/dist/cli/cli.js +41 -20
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/lib/cli.d.ts +4 -2
- package/dist/cli/lib/cli.d.ts.map +1 -1
- package/dist/cli/lib/cli.js +34 -18
- package/dist/cli/lib/cli.js.map +1 -1
- package/dist/cli/lib/election-check.d.ts.map +1 -1
- package/dist/cli/lib/election-check.js +2 -1
- package/dist/cli/lib/election-check.js.map +1 -1
- package/dist/cli/lib/json-state.js +1 -1
- package/dist/cli/lib/json-state.js.map +1 -1
- package/dist/cli/tui/components/StageProgress.js +1 -1
- package/dist/cli/tui/components/StageProgress.js.map +1 -1
- package/dist/cli/tui/components/StageRow.d.ts.map +1 -1
- package/dist/cli/tui/components/StageRow.js +15 -20
- package/dist/cli/tui/components/StageRow.js.map +1 -1
- package/dist/cli/tui/components/VotingStats.d.ts.map +1 -1
- package/dist/cli/tui/components/VotingStats.js +2 -1
- package/dist/cli/tui/components/VotingStats.js.map +1 -1
- package/dist/cli/tui/hooks/useCache.d.ts.map +1 -1
- package/dist/cli/tui/hooks/useCache.js +2 -1
- package/dist/cli/tui/hooks/useCache.js.map +1 -1
- package/dist/cli/tui/hooks/useElectionData.d.ts.map +1 -1
- package/dist/cli/tui/hooks/useElectionData.js +3 -2
- package/dist/cli/tui/hooks/useElectionData.js.map +1 -1
- package/dist/cli/tui/hooks/useNavigation.d.ts.map +1 -1
- package/dist/cli/tui/hooks/useNavigation.js +2 -3
- package/dist/cli/tui/hooks/useNavigation.js.map +1 -1
- package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -1
- package/dist/cli/tui/hooks/useProposals.js +26 -36
- package/dist/cli/tui/hooks/useProposals.js.map +1 -1
- package/dist/cli/tui/hooks/useStageCalldata.d.ts.map +1 -1
- package/dist/cli/tui/hooks/useStageCalldata.js +2 -1
- package/dist/cli/tui/hooks/useStageCalldata.js.map +1 -1
- package/dist/cli/tui/utils/index.d.ts +7 -7
- package/dist/cli/tui/utils/index.d.ts.map +1 -1
- package/dist/cli/tui/utils/index.js +18 -13
- package/dist/cli/tui/utils/index.js.map +1 -1
- package/dist/cli/tui/utils/markdown-parser.d.ts +5 -0
- package/dist/cli/tui/utils/markdown-parser.d.ts.map +1 -1
- package/dist/cli/tui/utils/markdown-parser.js +16 -0
- package/dist/cli/tui/utils/markdown-parser.js.map +1 -1
- package/dist/cli/tui/utils/navigation.d.ts +1 -0
- package/dist/cli/tui/utils/navigation.d.ts.map +1 -1
- package/dist/cli/tui/utils/navigation.js +9 -5
- package/dist/cli/tui/utils/navigation.js.map +1 -1
- package/dist/cli/tui/utils/proposal-detail-helpers.js +6 -6
- package/dist/cli/tui/utils/proposal-detail-helpers.js.map +1 -1
- package/dist/cli/tui/utils/stage-status.d.ts +4 -0
- package/dist/cli/tui/utils/stage-status.d.ts.map +1 -1
- package/dist/cli/tui/utils/stage-status.js +47 -1
- package/dist/cli/tui/utils/stage-status.js.map +1 -1
- package/dist/cli/tui/utils/time.d.ts +4 -4
- package/dist/cli/tui/utils/time.d.ts.map +1 -1
- package/dist/cli/tui/utils/time.js +13 -11
- package/dist/cli/tui/utils/time.js.map +1 -1
- package/dist/cli/tui/views/CalldataView.d.ts.map +1 -1
- package/dist/cli/tui/views/CalldataView.js +3 -2
- package/dist/cli/tui/views/CalldataView.js.map +1 -1
- package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -1
- package/dist/cli/tui/views/DescriptionView.js +4 -2
- package/dist/cli/tui/views/DescriptionView.js.map +1 -1
- package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
- package/dist/cli/tui/views/ElectionView.js +4 -9
- package/dist/cli/tui/views/ElectionView.js.map +1 -1
- package/dist/constants.d.ts +47 -23
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +67 -21
- package/dist/constants.js.map +1 -1
- package/dist/data/bundled-cache.json +352 -20
- package/dist/deduplication.d.ts.map +1 -1
- package/dist/deduplication.js +34 -54
- package/dist/deduplication.js.map +1 -1
- package/dist/discovery/governor-discovery.d.ts +21 -1
- package/dist/discovery/governor-discovery.d.ts.map +1 -1
- package/dist/discovery/governor-discovery.js +47 -13
- package/dist/discovery/governor-discovery.js.map +1 -1
- package/dist/discovery/timelock-discovery.d.ts.map +1 -1
- package/dist/discovery/timelock-discovery.js +27 -30
- package/dist/discovery/timelock-discovery.js.map +1 -1
- package/dist/election/contracts.d.ts.map +1 -1
- package/dist/election/contracts.js +4 -1
- package/dist/election/contracts.js.map +1 -1
- package/dist/election/details.d.ts.map +1 -1
- package/dist/election/details.js +7 -3
- package/dist/election/details.js.map +1 -1
- package/dist/election/index.d.ts +3 -1
- package/dist/election/index.d.ts.map +1 -1
- package/dist/election/index.js +12 -1
- package/dist/election/index.js.map +1 -1
- package/dist/election/params.d.ts.map +1 -1
- package/dist/election/params.js +14 -28
- package/dist/election/params.js.map +1 -1
- package/dist/election/participants.d.ts.map +1 -1
- package/dist/election/participants.js +21 -26
- package/dist/election/participants.js.map +1 -1
- package/dist/election/proposal-ids.js +19 -22
- package/dist/election/proposal-ids.js.map +1 -1
- package/dist/election/status.d.ts +28 -1
- package/dist/election/status.d.ts.map +1 -1
- package/dist/election/status.js +113 -0
- package/dist/election/status.js.map +1 -1
- package/dist/election/write.d.ts +132 -0
- package/dist/election/write.d.ts.map +1 -0
- package/dist/election/write.js +184 -0
- package/dist/election/write.js.map +1 -0
- package/dist/governance/index.d.ts +5 -0
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/index.js +28 -0
- package/dist/governance/index.js.map +1 -0
- package/dist/governance/read.d.ts +50 -0
- package/dist/governance/read.d.ts.map +1 -0
- package/dist/governance/read.js +194 -0
- package/dist/governance/read.js.map +1 -0
- package/dist/governance/write.d.ts +54 -0
- package/dist/governance/write.d.ts.map +1 -0
- package/dist/governance/write.js +132 -0
- package/dist/governance/write.js.map +1 -0
- package/dist/index.d.ts +36 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -15
- package/dist/index.js.map +1 -1
- package/dist/simulation/index.d.ts +4 -1
- package/dist/simulation/index.d.ts.map +1 -1
- package/dist/simulation/index.js +5 -1
- package/dist/simulation/index.js.map +1 -1
- package/dist/simulation/simulation-data.d.ts +33 -2
- package/dist/simulation/simulation-data.d.ts.map +1 -1
- package/dist/simulation/simulation-data.js +68 -24
- package/dist/simulation/simulation-data.js.map +1 -1
- package/dist/simulation/tenderly-payloads.d.ts +107 -0
- package/dist/simulation/tenderly-payloads.d.ts.map +1 -0
- package/dist/simulation/tenderly-payloads.js +103 -0
- package/dist/simulation/tenderly-payloads.js.map +1 -0
- package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
- package/dist/stages/l2-to-l1-message.js +43 -63
- package/dist/stages/l2-to-l1-message.js.map +1 -1
- package/dist/stages/proposal-queued.js.map +1 -1
- package/dist/stages/retryables.d.ts.map +1 -1
- package/dist/stages/retryables.js +10 -9
- package/dist/stages/retryables.js.map +1 -1
- package/dist/stages/timelock.d.ts +43 -3
- package/dist/stages/timelock.d.ts.map +1 -1
- package/dist/stages/timelock.js +170 -53
- package/dist/stages/timelock.js.map +1 -1
- package/dist/stages/utils.d.ts +56 -1
- package/dist/stages/utils.d.ts.map +1 -1
- package/dist/stages/utils.js +146 -30
- package/dist/stages/utils.js.map +1 -1
- package/dist/tracker/bundled-cache.d.ts +136 -0
- package/dist/tracker/bundled-cache.d.ts.map +1 -0
- package/dist/tracker/bundled-cache.js +207 -0
- package/dist/tracker/bundled-cache.js.map +1 -0
- package/dist/tracker/checkpoint-helpers.d.ts +20 -1
- package/dist/tracker/checkpoint-helpers.d.ts.map +1 -1
- package/dist/tracker/checkpoint-helpers.js +41 -7
- package/dist/tracker/checkpoint-helpers.js.map +1 -1
- package/dist/tracker/discovery.d.ts +3 -0
- package/dist/tracker/discovery.d.ts.map +1 -1
- package/dist/tracker/discovery.js +59 -34
- package/dist/tracker/discovery.js.map +1 -1
- package/dist/tracker/pipeline.d.ts +3 -10
- package/dist/tracker/pipeline.d.ts.map +1 -1
- package/dist/tracker/pipeline.js +18 -32
- package/dist/tracker/pipeline.js.map +1 -1
- package/dist/tracker/query.d.ts +1 -0
- package/dist/tracker/query.d.ts.map +1 -1
- package/dist/tracker/query.js +28 -36
- package/dist/tracker/query.js.map +1 -1
- package/dist/tracker/state.d.ts +3 -2
- package/dist/tracker/state.d.ts.map +1 -1
- package/dist/tracker/state.js +5 -4
- package/dist/tracker/state.js.map +1 -1
- package/dist/tracker.d.ts +33 -11
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +76 -43
- package/dist/tracker.js.map +1 -1
- package/dist/types/config.d.ts +39 -3
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/election.d.ts +23 -0
- package/dist/types/election.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/simulation.d.ts +2 -2
- package/dist/types/simulation.d.ts.map +1 -1
- package/dist/types/tracking.d.ts +2 -2
- package/dist/types/tracking.d.ts.map +1 -1
- package/dist/utils/chain.d.ts +5 -1
- package/dist/utils/chain.d.ts.map +1 -1
- package/dist/utils/chain.js +7 -0
- package/dist/utils/chain.js.map +1 -1
- package/dist/utils/formatters.d.ts +2 -6
- package/dist/utils/formatters.d.ts.map +1 -1
- package/dist/utils/formatters.js +9 -12
- package/dist/utils/formatters.js.map +1 -1
- package/dist/utils/log-filters.js +1 -1
- package/dist/utils/log-filters.js.map +1 -1
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +1 -0
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/multicall.d.ts +0 -1
- package/dist/utils/multicall.d.ts.map +1 -1
- package/dist/utils/rpc-utils.d.ts +5 -0
- package/dist/utils/rpc-utils.d.ts.map +1 -1
- package/dist/utils/rpc-utils.js +9 -1
- package/dist/utils/rpc-utils.js.map +1 -1
- package/dist/utils/stage-metadata.d.ts +19 -0
- package/dist/utils/stage-metadata.d.ts.map +1 -1
- package/dist/utils/stage-metadata.js +44 -0
- package/dist/utils/stage-metadata.js.map +1 -1
- package/dist/utils/timing.d.ts +3 -10
- package/dist/utils/timing.d.ts.map +1 -1
- package/dist/utils/timing.js +9 -22
- package/dist/utils/timing.js.map +1 -1
- package/package.json +3 -2
- package/dist/cli/tui/utils/calldata-formatter.d.ts +0 -7
- package/dist/cli/tui/utils/calldata-formatter.d.ts.map +0 -1
- package/dist/cli/tui/utils/calldata-formatter.js +0 -14
- package/dist/cli/tui/utils/calldata-formatter.js.map +0 -1
- package/dist/cli/tui/utils/stage-formatter.d.ts +0 -7
- package/dist/cli/tui/utils/stage-formatter.d.ts.map +0 -1
- package/dist/cli/tui/utils/stage-formatter.js +0 -13
- package/dist/cli/tui/utils/stage-formatter.js.map +0 -1
- package/dist/cli/tui/utils/text.d.ts +0 -7
- package/dist/cli/tui/utils/text.d.ts.map +0 -1
- package/dist/cli/tui/utils/text.js +0 -12
- package/dist/cli/tui/utils/text.js.map +0 -1
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Governance proposal vote preparation
|
|
4
|
+
*
|
|
5
|
+
* Prepares transactions for casting votes on Core Governor and Treasury
|
|
6
|
+
* Governor proposals. Following the SDK's prepare-only philosophy: builds
|
|
7
|
+
* transaction data but never executes.
|
|
8
|
+
*
|
|
9
|
+
* Supports all OpenZeppelin Governor voting methods:
|
|
10
|
+
* - castVote(proposalId, support)
|
|
11
|
+
* - castVoteWithReason(proposalId, support, reason)
|
|
12
|
+
* - castVoteWithReasonAndParams(proposalId, support, reason, params)
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.resolveGovernorAddress = resolveGovernorAddress;
|
|
16
|
+
exports.prepareCastVote = prepareCastVote;
|
|
17
|
+
exports.prepareCastVoteWithReason = prepareCastVoteWithReason;
|
|
18
|
+
exports.prepareCastVoteWithReasonAndParams = prepareCastVoteWithReasonAndParams;
|
|
19
|
+
const ethers_1 = require("ethers");
|
|
20
|
+
const constants_1 = require("../constants");
|
|
21
|
+
const abis_1 = require("../abis");
|
|
22
|
+
const types_1 = require("../types");
|
|
23
|
+
const logger_1 = require("../utils/logger");
|
|
24
|
+
const log = logger_1.loggers.governance;
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// Internals
|
|
27
|
+
// ============================================================================
|
|
28
|
+
function resolveGovernorAddress(governorAddressOrTarget) {
|
|
29
|
+
if (!governorAddressOrTarget)
|
|
30
|
+
return constants_1.ADDRESSES.CONSTITUTIONAL_GOVERNOR;
|
|
31
|
+
if (governorAddressOrTarget === "constitutional")
|
|
32
|
+
return constants_1.ADDRESSES.CONSTITUTIONAL_GOVERNOR;
|
|
33
|
+
if (governorAddressOrTarget === "non-constitutional")
|
|
34
|
+
return constants_1.ADDRESSES.NON_CONSTITUTIONAL_GOVERNOR;
|
|
35
|
+
return ethers_1.ethers.utils.getAddress(governorAddressOrTarget);
|
|
36
|
+
}
|
|
37
|
+
function supportLabel(support) {
|
|
38
|
+
if (support === constants_1.VOTE_SUPPORT.FOR)
|
|
39
|
+
return "For";
|
|
40
|
+
if (support === constants_1.VOTE_SUPPORT.AGAINST)
|
|
41
|
+
return "Against";
|
|
42
|
+
return "Abstain";
|
|
43
|
+
}
|
|
44
|
+
// ============================================================================
|
|
45
|
+
// Vote Preparation
|
|
46
|
+
// ============================================================================
|
|
47
|
+
/**
|
|
48
|
+
* Prepare a castVote transaction.
|
|
49
|
+
*
|
|
50
|
+
* Simplest voting method — just proposal ID and support value.
|
|
51
|
+
*
|
|
52
|
+
* @param proposalId - The proposal ID to vote on
|
|
53
|
+
* @param support - Vote support: 0 (Against), 1 (For), 2 (Abstain) — use VOTE_SUPPORT constants
|
|
54
|
+
* @param governorAddress - Governor contract address, or "constitutional"/"non-constitutional" shorthand
|
|
55
|
+
* @param chainId - Chain ID (default: 42161 for Arbitrum One)
|
|
56
|
+
*/
|
|
57
|
+
function prepareCastVote(proposalId, support, governorAddress, chainId = constants_1.CHAIN_IDS.ARB_ONE) {
|
|
58
|
+
const to = resolveGovernorAddress(governorAddress);
|
|
59
|
+
log("prepareCastVote for proposal %s, support %d, governor %s", proposalId, support, to);
|
|
60
|
+
const data = abis_1.governorInterface.encodeFunctionData("castVote", [
|
|
61
|
+
ethers_1.BigNumber.from(proposalId),
|
|
62
|
+
support,
|
|
63
|
+
]);
|
|
64
|
+
return {
|
|
65
|
+
to,
|
|
66
|
+
data: data,
|
|
67
|
+
value: "0",
|
|
68
|
+
chain: (0, types_1.chainIdToChain)(chainId),
|
|
69
|
+
chainId,
|
|
70
|
+
description: `castVote(${supportLabel(support)}) on proposal ${proposalId}`,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Prepare a castVoteWithReason transaction.
|
|
75
|
+
*
|
|
76
|
+
* Same as castVote but includes an on-chain reason string.
|
|
77
|
+
*
|
|
78
|
+
* @param proposalId - The proposal ID to vote on
|
|
79
|
+
* @param support - Vote support: 0 (Against), 1 (For), 2 (Abstain)
|
|
80
|
+
* @param reason - On-chain reason for the vote
|
|
81
|
+
* @param governorAddress - Governor contract address or shorthand
|
|
82
|
+
* @param chainId - Chain ID (default: 42161)
|
|
83
|
+
*/
|
|
84
|
+
function prepareCastVoteWithReason(proposalId, support, reason, governorAddress, chainId = constants_1.CHAIN_IDS.ARB_ONE) {
|
|
85
|
+
const to = resolveGovernorAddress(governorAddress);
|
|
86
|
+
log("prepareCastVoteWithReason for proposal %s, support %d", proposalId, support);
|
|
87
|
+
const data = abis_1.governorInterface.encodeFunctionData("castVoteWithReason", [
|
|
88
|
+
ethers_1.BigNumber.from(proposalId),
|
|
89
|
+
support,
|
|
90
|
+
reason,
|
|
91
|
+
]);
|
|
92
|
+
return {
|
|
93
|
+
to,
|
|
94
|
+
data: data,
|
|
95
|
+
value: "0",
|
|
96
|
+
chain: (0, types_1.chainIdToChain)(chainId),
|
|
97
|
+
chainId,
|
|
98
|
+
description: `castVoteWithReason(${supportLabel(support)}) on proposal ${proposalId}`,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Prepare a castVoteWithReasonAndParams transaction.
|
|
103
|
+
*
|
|
104
|
+
* Most flexible voting method — includes reason and arbitrary params bytes.
|
|
105
|
+
* Used by governors with custom counting modules.
|
|
106
|
+
*
|
|
107
|
+
* @param proposalId - The proposal ID to vote on
|
|
108
|
+
* @param support - Vote support: 0 (Against), 1 (For), 2 (Abstain)
|
|
109
|
+
* @param reason - On-chain reason for the vote
|
|
110
|
+
* @param params - ABI-encoded params bytes (interpretation depends on counting module)
|
|
111
|
+
* @param governorAddress - Governor contract address or shorthand
|
|
112
|
+
* @param chainId - Chain ID (default: 42161)
|
|
113
|
+
*/
|
|
114
|
+
function prepareCastVoteWithReasonAndParams(proposalId, support, reason, params, governorAddress, chainId = constants_1.CHAIN_IDS.ARB_ONE) {
|
|
115
|
+
const to = resolveGovernorAddress(governorAddress);
|
|
116
|
+
log("prepareCastVoteWithReasonAndParams for proposal %s, support %d", proposalId, support);
|
|
117
|
+
const data = abis_1.governorInterface.encodeFunctionData("castVoteWithReasonAndParams", [
|
|
118
|
+
ethers_1.BigNumber.from(proposalId),
|
|
119
|
+
support,
|
|
120
|
+
reason,
|
|
121
|
+
params,
|
|
122
|
+
]);
|
|
123
|
+
return {
|
|
124
|
+
to,
|
|
125
|
+
data: data,
|
|
126
|
+
value: "0",
|
|
127
|
+
chain: (0, types_1.chainIdToChain)(chainId),
|
|
128
|
+
chainId,
|
|
129
|
+
description: `castVoteWithReasonAndParams(${supportLabel(support)}) on proposal ${proposalId}`,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/governance/write.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
* A lightweight, high-performance library for tracking Arbitrum DAO
|
|
5
5
|
* governance proposal lifecycle stages.
|
|
6
6
|
*
|
|
7
|
-
* @example Basic usage
|
|
7
|
+
* @example Basic usage with RPC URLs
|
|
8
8
|
* ```typescript
|
|
9
9
|
* import { createTracker, findExecutableStage } from "@gzeoneth/gov-tracker";
|
|
10
10
|
*
|
|
11
|
+
* // Accepts RPC URLs directly (creates providers internally)
|
|
11
12
|
* const tracker = createTracker({
|
|
12
|
-
* l2Provider:
|
|
13
|
-
* l1Provider:
|
|
13
|
+
* l2Provider: "https://arb1.arbitrum.io/rpc",
|
|
14
|
+
* l1Provider: "https://eth.llamarpc.com",
|
|
14
15
|
* });
|
|
15
16
|
*
|
|
16
17
|
* const results = await tracker.trackByTxHash(proposalCreationTxHash);
|
|
@@ -25,9 +26,13 @@
|
|
|
25
26
|
*
|
|
26
27
|
* @example Browser usage with LocalStorageCache
|
|
27
28
|
* ```typescript
|
|
28
|
-
* import { createTracker, LocalStorageCache } from "@gzeoneth/gov-tracker";
|
|
29
|
+
* import { createTracker, LocalStorageCache, extractProposals } from "@gzeoneth/gov-tracker";
|
|
29
30
|
* import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
|
|
30
31
|
*
|
|
32
|
+
* // Extract typed data from bundled cache
|
|
33
|
+
* const proposals = extractProposals(bundledCache);
|
|
34
|
+
* console.log(`Loaded ${proposals.length} proposals from cache`);
|
|
35
|
+
*
|
|
31
36
|
* // Initialize cache with bundled data for faster first load
|
|
32
37
|
* const cache = new LocalStorageCache("arb-gov:");
|
|
33
38
|
* for (const [key, checkpoint] of Object.entries(bundledCache)) {
|
|
@@ -35,19 +40,23 @@
|
|
|
35
40
|
* }
|
|
36
41
|
*
|
|
37
42
|
* const tracker = createTracker({
|
|
38
|
-
* l2Provider:
|
|
39
|
-
* l1Provider:
|
|
43
|
+
* l2Provider: "https://arb1.arbitrum.io/rpc",
|
|
44
|
+
* l1Provider: "https://eth.llamarpc.com",
|
|
40
45
|
* cache, // Updates persist to localStorage
|
|
41
46
|
* });
|
|
42
47
|
* ```
|
|
43
48
|
* @packageDocumentation
|
|
44
49
|
*/
|
|
45
50
|
export { ProposalStageTracker, createTracker, extractTimelockLink } from "./tracker";
|
|
46
|
-
export type { StageType, StageStatus, Chain, KnownChain, L2Chain, ChainId, TrackedStage, StageTransaction, StageTiming, StageDataMap, TypedTrackedStage, NextStageHints, StageTrackResult, TrackingResult, TrackingInput, GovernorTrackingInput, TimelockTrackingInput, TrackingCheckpoint, TrackerStats, TrackingProgress, OnProgressCallback, DiscoveryWatermarks, DiscoveryTargets, PreparedTransaction, PrepareResult, PrepareOptions, TrackerOptions, CacheAdapter, ChunkingConfig, ProposalType, GovernorCapability, ProposalState, ProposalData, TimelockState, TimelockParams, TimelockBatchParams, CallScheduledData, TimelockLink, ProposalCreatedData, VotingActiveData, ProposalQueuedData, TimelockStageData, L2ToL1MessageStageData, RetryableStageData, CohortType, ElectionPhase, ElectionProposalStatus, ElectionStatus, ElectionCheckResult, ElectionContender, ElectionNominee, MemberElectionNominee, NomineeElectionDetails, MemberElectionDetails, SerializableContender, SerializableNominee, SerializableMemberNominee, SerializableNomineeDetails, SerializableMemberDetails, DecodingSource, DecodedCalldata, DecodedParameter, RetryableTicketData, KnownAddress, SignatureEntry, SimulationType, BaseSimulationData, RetryableSimulationData, TimelockSimulationData, CallSimulationData, SimulationData, ExtractedSimulation, } from "./types";
|
|
51
|
+
export type { StageType, StageStatus, Chain, KnownChain, L2Chain, ChainId, TrackedStage, StageTransaction, StageTiming, StageDataMap, TypedTrackedStage, NextStageHints, StageTrackResult, TrackingResult, TrackingInput, GovernorTrackingInput, TimelockTrackingInput, TrackingCheckpoint, TrackerStats, TrackingProgress, OnProgressCallback, DiscoveryWatermarks, DiscoveryTargets, PreparedTransaction, PrepareResult, PrepareOptions, TrackerOptions, ProviderOrUrl, CacheAdapter, ChunkingConfig, ProposalType, GovernorCapability, ProposalState, ProposalData, TimelockState, TimelockParams, TimelockBatchParams, CallScheduledData, TimelockLink, ProposalCreatedData, VotingActiveData, ProposalQueuedData, TimelockStageData, L2ToL1MessageStageData, RetryableStageData, CohortType, ElectionPhase, ElectionProposalStatus, ElectionStatus, ElectionConfig, ElectionCheckResult, ElectionContender, ElectionNominee, MemberElectionNominee, NomineeElectionDetails, MemberElectionDetails, SerializableContender, SerializableNominee, SerializableMemberNominee, SerializableNomineeDetails, SerializableMemberDetails, DecodingSource, DecodedCalldata, DecodedParameter, RetryableTicketData, KnownAddress, SignatureEntry, SimulationType, BaseSimulationData, RetryableSimulationData, TimelockSimulationData, CallSimulationData, SimulationData, ExtractedSimulation, } from "./types";
|
|
47
52
|
export { isStageType, getStageData, isKnownChain, isL2Chain, isRetryable } from "./types";
|
|
48
|
-
export { ADDRESSES, CHAIN_IDS, DEFAULT_RPC_URLS, CHUNK_SIZES, NETWORK_IDS, TIMELOCK_SELECTORS, isElectionGovernor, buildDefaultTargets, } from "./constants";
|
|
49
|
-
export {
|
|
50
|
-
export {
|
|
53
|
+
export { ADDRESSES, CHAIN_IDS, DEFAULT_RPC_URLS, CHUNK_SIZES, NETWORK_IDS, TIMELOCK_SELECTORS, isElectionGovernor, buildDefaultTargets, VOTE_SUPPORT, PROPOSAL_STATE, PROPOSAL_STATE_MAP, PROPOSAL_STATE_LABEL, isProposalState, MAINNET_ELECTION_CONFIG, } from "./constants";
|
|
54
|
+
export type { VoteSupport, ProposalStateValue } from "./constants";
|
|
55
|
+
export { GOVERNOR_ABI, GOVERNOR_WITH_VETTER_ABI, TIMELOCK_ABI, NOMINEE_ELECTION_GOVERNOR_ABI, MEMBER_ELECTION_GOVERNOR_ABI, SECURITY_COUNCIL_MANAGER_ABI, ERC20_VOTES_ABI, } from "./abis";
|
|
56
|
+
export { governorAbi, governorWithVetterAbi, timelockAbi, securityCouncilManagerAbi, inboxAbi, nomineeElectionGovernorAbi, memberElectionGovernorAbi, erc20VotesAbi, governorReadAbi, governorWriteAbi, nomineeElectionGovernorReadAbi, nomineeElectionGovernorWriteAbi, memberElectionGovernorReadAbi, memberElectionGovernorWriteAbi, timelockReadAbi, timelockWriteAbi, } from "./abis-json";
|
|
57
|
+
export { findExecutableStage, findAllExecutableStages, needsAction, getTrackingStatusSummary, getLifecyclePhase, getCurrentStage, areAllStagesComplete, extractOperationId, isTimelockStage, isConstitutional, findStage, mergeStages, normalizeTimeline, splitStages, } from "./stages/utils";
|
|
58
|
+
export type { LifecyclePhase } from "./stages/utils";
|
|
59
|
+
export { detectProposalType, isElectionProposal, detectGovernorCapabilities, getTimelockAddress, getProposalState, discoverProposalByTxHash, queryProposalCreatedEvents, } from "./discovery/governor-discovery";
|
|
51
60
|
export type { DiscoveredProposal } from "./discovery/governor-discovery";
|
|
52
61
|
export { isKnownL2Timelock, isL1Timelock, getTimelockOperationState, getTimelockState, findCallScheduledByTxHash, } from "./discovery/timelock-discovery";
|
|
53
62
|
export type { DiscoveredTimelockOp } from "./discovery/timelock-discovery";
|
|
@@ -56,8 +65,8 @@ export type { SecurityCouncilOperationParams, SecurityCouncilBatchParams, } from
|
|
|
56
65
|
export { calculateEta, calculateExpectedEta, calculateRemainingSeconds, estimateTimestampFromBlock, getL1BlockNumberFromL2, invalidateBlockInfoCache, isStageStale, } from "./utils/timing";
|
|
57
66
|
export { saltFromDescription, generateSecurityCouncilSalt, decodeL1TimelockSchedule, } from "./utils/salt-computation";
|
|
58
67
|
export type { DecodedTimelockSchedule } from "./utils/salt-computation";
|
|
59
|
-
export { validateSalt, validateSaltBatch, computeAndValidateOperationHash, tryFindSalt, } from "./utils/operation-id";
|
|
60
|
-
export { prepareTimelockOperation, prepareTimelockBatch, prepareTimelockStage, calculateRetryableExecutionValue, calculateBatchRetryableValues, } from "./stages/timelock";
|
|
68
|
+
export { hashOperation, hashOperationBatch, validateSalt, validateSaltBatch, computeAndValidateOperationHash, tryFindSalt, } from "./utils/operation-id";
|
|
69
|
+
export { prepareTimelockOperation, prepareTimelockBatch, prepareTimelockStage, prepareExecuteTimelock, prepareTimelockExecuteCalldata, prepareTimelockBatchCalldata, calculateRetryableExecutionValue, calculateBatchRetryableValues, } from "./stages/timelock";
|
|
61
70
|
export { prepareL2ToL1Message, prepareL2ToL1MessageStage, getL2ToL1Messages, } from "./stages/l2-to-l1-message";
|
|
62
71
|
export type { OutboxPrepareOptions } from "./stages/l2-to-l1-message";
|
|
63
72
|
export { prepareRetryableRedemption, prepareAllRetryables, prepareRetryableStage, } from "./stages/retryables";
|
|
@@ -65,22 +74,28 @@ export type { RetryablePrepareOptions } from "./stages/retryables";
|
|
|
65
74
|
export { prepareGovernorQueue } from "./stages/proposal-queued";
|
|
66
75
|
export type { GovernorProposalParams } from "./stages/proposal-queued";
|
|
67
76
|
export { getTxUrl, getStageTransactionUrl, GOVERNANCE_START_BLOCKS, ELECTION_TIMING, } from "./constants";
|
|
68
|
-
export { getStageMetadata, formatStageTitle } from "./utils/stage-metadata";
|
|
77
|
+
export { getStageMetadata, formatStageTitle, getAllStageMetadata, ALL_STAGE_TYPES, } from "./utils/stage-metadata";
|
|
69
78
|
export type { StageMetadata } from "./utils/stage-metadata";
|
|
70
|
-
export { addressEquals, isAddressIn, getChain } from "./utils/chain";
|
|
79
|
+
export { addressEquals, isAddressIn, getChain, compareBigNumbers } from "./utils/chain";
|
|
71
80
|
export { chainIdToChain, chainToChainId, getChainDisplayName } from "./types";
|
|
72
|
-
export { isGasEstimationError } from "./utils/rpc-utils";
|
|
81
|
+
export { isGasEstimationError, isPermanentError, isRetryableError, getErrorMessage, queryWithRetry, } from "./utils/rpc-utils";
|
|
73
82
|
export { truncateDescription, sanitizeForDisplay, safeJsonParse, MAX_DESCRIPTION_LENGTH, } from "./utils/sanitize";
|
|
74
|
-
export { wrapText, truncate, safeStringify, formatValue, formatDate,
|
|
75
|
-
export { getElectionCount, checkElectionStatus, hasVettingPeriod, getElectionIndexForProposalId, getElectionProposalId, getElectionProposalParams, getMemberElectionProposalParams, prepareElectionCreation, prepareMemberElectionTrigger, prepareMemberElectionExecution, getContenders, getNomineesWithVotes, getExcludedNominees, getNomineeElectionDetails, getMemberElectionDetails, serializeNomineeDetails, serializeMemberDetails, } from "./election";
|
|
76
|
-
export type { PreparedElectionCreation, ElectionProposalParams } from "./election";
|
|
83
|
+
export { wrapText, truncate, safeStringify, formatValue, formatDate, type StageDataItem, formatStageData, getTxHash, getProposalIdDisplay, type FormattedLine, formatDecodedCalldata, filterVisibleLines, } from "./utils/formatters";
|
|
84
|
+
export { getElectionCount, checkElectionStatus, hasVettingPeriod, determineElectionPhase, getElectionStatus, getAllElectionStatuses, getElectionIndexForProposalId, getElectionProposalId, getElectionProposalParams, getMemberElectionProposalParams, prepareElectionCreation, prepareMemberElectionTrigger, prepareMemberElectionExecution, getContenders, getNomineesWithVotes, getExcludedNominees, getNomineeElectionDetails, getMemberElectionDetails, serializeNomineeDetails, serializeMemberDetails, encodeElectionVoteParams, decodeElectionVoteParams, getAddContenderTypedData, prepareAddContender, prepareContenderRegistration, prepareNomineeElectionVote, prepareMemberElectionVote, } from "./election";
|
|
85
|
+
export type { PreparedElectionCreation, ElectionProposalParams, AddContenderTypedData, PreparedContenderRegistration, } from "./election";
|
|
86
|
+
export { prepareCastVote, prepareCastVoteWithReason, prepareCastVoteWithReasonAndParams, readProposalState, readProposalVotes, readProposalSnapshot, readProposalDeadline, readQuorum, readVotingPower, readGetVotes, readHasVoted, readCurrentVotingPower, readDelegate, readNomineeElectionState, readMemberElectionState, readElectionCount, readVotesUsed, readIsContender, readGovernorName, } from "./governance";
|
|
87
|
+
export type { GovernorTarget, ReadContractParameters } from "./governance";
|
|
77
88
|
export { isSecurityCouncilTimelockOp, linkCheckpointToChild, getParentCheckpoint, isChildCheckpoint, filterChildCheckpoints, getChildToParentMap, getChildCheckpoints, getDeduplicationStats, findPotentialParent, autoLinkOrphanedCheckpoints, } from "./deduplication";
|
|
78
89
|
export type { DeduplicationStats } from "./deduplication";
|
|
79
90
|
export { decodeCalldata, decodeCalldataArray, lookupSignature, lookupLocalSignature, LookupSignatureOptions, parseParamTypes, isLikelyCalldata, formatDecodedValue, getAddressLabel, isRetryableTicketMagic, decodeRetryableTicket, getRetryableChainName, RETRYABLE_TICKET_MAGIC, } from "./calldata";
|
|
80
|
-
export { prepareRetryableSimulation, prepareTimelockSimulation, prepareCallSimulation, extractAllSimulationsFromDecoded, } from "./simulation";
|
|
91
|
+
export { prepareRetryableSimulation, prepareTimelockSimulation, prepareCallSimulation, extractAllSimulationsFromDecoded, extractSimulationsByActionIndex, buildTenderlySimRequest, buildTenderlyEncodeStatesRequest, } from "./simulation";
|
|
92
|
+
export type { IndexedSimulation, TenderlySimRequest, TenderlyEncodeStatesRequest, } from "./simulation";
|
|
81
93
|
export { FileCache, LocalStorageCache, MemoryCache, getBundledCachePath } from "./tracker/cache";
|
|
94
|
+
export { extractProposals, extractTimelockOps, extractElections, extractOperationIds, extractTimelockLinkFromStages, getWatermarksFromCache, getVotingDataFromStages, } from "./tracker/bundled-cache";
|
|
95
|
+
export type { BundledCache, ExtractedProposal, ExtractedTimelockOp, ExtractedElection, } from "./tracker/bundled-cache";
|
|
82
96
|
export { createCheckpoint, createTrackingState } from "./tracker/state";
|
|
83
97
|
export { getElectionContext, proposalStateToStageStatus } from "./tracker/pipeline";
|
|
84
|
-
export { createCheckpointMetadata, isCheckpointComplete, isCheckpointErrored, getCheckpointErrorCount, computeCacheStats, electionCacheKey, txHashCacheKey, timelockOpCacheKey, isElectionKey, isTxKey, isTimelockOpKey, isDiscoveryKey, parseElectionKey, parseTimelockOpKey, DEFAULT_ERROR_THRESHOLD, ELECTION_KEY_PREFIX, TX_KEY_PREFIX, } from "./tracker/checkpoint-helpers";
|
|
85
|
-
export { WATERMARKS_KEY } from "./tracker/discovery";
|
|
98
|
+
export { createCheckpointMetadata, isCheckpointComplete, isCheckpointErrored, getCheckpointErrorCount, computeCacheStats, electionCacheKey, txHashCacheKey, timelockOpCacheKey, isElectionKey, isTxKey, isTimelockOpKey, isDiscoveryKey, parseElectionKey, parseTimelockOpKey, trimFromStage, DEFAULT_ERROR_THRESHOLD, ELECTION_KEY_PREFIX, TX_KEY_PREFIX, } from "./tracker/checkpoint-helpers";
|
|
99
|
+
export { WATERMARKS_KEY, loadWatermarks } from "./tracker/discovery";
|
|
100
|
+
export type { LoadedWatermarks } from "./tracker/discovery";
|
|
86
101
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAOH,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGrF,YAAY,EAEV,SAAS,EACT,WAAW,EACX,KAAK,EACL,UAAU,EACV,OAAO,EACP,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,iBAAiB,EAEjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAElB,mBAAmB,EACnB,gBAAgB,EAEhB,mBAAmB,EACnB,aAAa,EACb,cAAc,EAEd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EAEd,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EAEZ,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EAEZ,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAElB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,mBAAmB,EAEnB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EAErB,sBAAsB,EACtB,qBAAqB,EAErB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EAEzB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EAEd,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG1F,OAAO,EACL,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGnE,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC5B,eAAe,GAChB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAEL,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,yBAAyB,EACzB,QAAQ,EACR,0BAA0B,EAC1B,yBAAyB,EACzB,aAAa,EAEb,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,+BAA+B,EAC/B,6BAA6B,EAC7B,8BAA8B,EAC9B,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,SAAS,EAET,WAAW,EACX,iBAAiB,EACjB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAOrD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGzE,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,4BAA4B,EAC5B,wCAAwC,EACxC,+BAA+B,EAC/B,kBAAkB,EAElB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,+BAA+B,EAC/B,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,8BAA8B,EAC9B,4BAA4B,EAC5B,gCAAgC,EAChC,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAOvE,OAAO,EACL,QAAQ,EACR,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9E,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,UAAU,EACV,KAAK,aAAa,EAClB,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,KAAK,aAAa,EAClB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAEL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EAEtB,6BAA6B,EAE7B,qBAAqB,EACrB,yBAAyB,EACzB,+BAA+B,EAE/B,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAE9B,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EAExB,uBAAuB,EACvB,sBAAsB,EAEtB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,kCAAkC,EAElC,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG3E,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAM1D,OAAO,EAEL,cAAc,EACd,mBAAmB,EAEnB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EAEtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAElB,eAAe,EAEf,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,gCAAgC,EAChC,+BAA+B,EAE/B,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGjG,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,6BAA6B,EAC7B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,GACd,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
* A lightweight, high-performance library for tracking Arbitrum DAO
|
|
6
6
|
* governance proposal lifecycle stages.
|
|
7
7
|
*
|
|
8
|
-
* @example Basic usage
|
|
8
|
+
* @example Basic usage with RPC URLs
|
|
9
9
|
* ```typescript
|
|
10
10
|
* import { createTracker, findExecutableStage } from "@gzeoneth/gov-tracker";
|
|
11
11
|
*
|
|
12
|
+
* // Accepts RPC URLs directly (creates providers internally)
|
|
12
13
|
* const tracker = createTracker({
|
|
13
|
-
* l2Provider:
|
|
14
|
-
* l1Provider:
|
|
14
|
+
* l2Provider: "https://arb1.arbitrum.io/rpc",
|
|
15
|
+
* l1Provider: "https://eth.llamarpc.com",
|
|
15
16
|
* });
|
|
16
17
|
*
|
|
17
18
|
* const results = await tracker.trackByTxHash(proposalCreationTxHash);
|
|
@@ -26,9 +27,13 @@
|
|
|
26
27
|
*
|
|
27
28
|
* @example Browser usage with LocalStorageCache
|
|
28
29
|
* ```typescript
|
|
29
|
-
* import { createTracker, LocalStorageCache } from "@gzeoneth/gov-tracker";
|
|
30
|
+
* import { createTracker, LocalStorageCache, extractProposals } from "@gzeoneth/gov-tracker";
|
|
30
31
|
* import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
|
|
31
32
|
*
|
|
33
|
+
* // Extract typed data from bundled cache
|
|
34
|
+
* const proposals = extractProposals(bundledCache);
|
|
35
|
+
* console.log(`Loaded ${proposals.length} proposals from cache`);
|
|
36
|
+
*
|
|
32
37
|
* // Initialize cache with bundled data for faster first load
|
|
33
38
|
* const cache = new LocalStorageCache("arb-gov:");
|
|
34
39
|
* for (const [key, checkpoint] of Object.entries(bundledCache)) {
|
|
@@ -36,18 +41,20 @@
|
|
|
36
41
|
* }
|
|
37
42
|
*
|
|
38
43
|
* const tracker = createTracker({
|
|
39
|
-
* l2Provider:
|
|
40
|
-
* l1Provider:
|
|
44
|
+
* l2Provider: "https://arb1.arbitrum.io/rpc",
|
|
45
|
+
* l1Provider: "https://eth.llamarpc.com",
|
|
41
46
|
* cache, // Updates persist to localStorage
|
|
42
47
|
* });
|
|
43
48
|
* ```
|
|
44
49
|
* @packageDocumentation
|
|
45
50
|
*/
|
|
46
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
-
exports.
|
|
48
|
-
exports.
|
|
49
|
-
exports.
|
|
50
|
-
exports.
|
|
52
|
+
exports.getLifecyclePhase = exports.getTrackingStatusSummary = exports.needsAction = exports.findAllExecutableStages = exports.findExecutableStage = exports.timelockWriteAbi = exports.timelockReadAbi = exports.memberElectionGovernorWriteAbi = exports.memberElectionGovernorReadAbi = exports.nomineeElectionGovernorWriteAbi = exports.nomineeElectionGovernorReadAbi = exports.governorWriteAbi = exports.governorReadAbi = exports.erc20VotesAbi = exports.memberElectionGovernorAbi = exports.nomineeElectionGovernorAbi = exports.inboxAbi = exports.securityCouncilManagerAbi = exports.timelockAbi = exports.governorWithVetterAbi = exports.governorAbi = exports.ERC20_VOTES_ABI = exports.SECURITY_COUNCIL_MANAGER_ABI = exports.MEMBER_ELECTION_GOVERNOR_ABI = exports.NOMINEE_ELECTION_GOVERNOR_ABI = exports.TIMELOCK_ABI = exports.GOVERNOR_WITH_VETTER_ABI = exports.GOVERNOR_ABI = exports.MAINNET_ELECTION_CONFIG = exports.isProposalState = exports.PROPOSAL_STATE_LABEL = exports.PROPOSAL_STATE_MAP = exports.PROPOSAL_STATE = exports.VOTE_SUPPORT = exports.buildDefaultTargets = exports.isElectionGovernor = exports.TIMELOCK_SELECTORS = exports.NETWORK_IDS = exports.CHUNK_SIZES = exports.DEFAULT_RPC_URLS = exports.CHAIN_IDS = exports.ADDRESSES = exports.isRetryable = exports.isL2Chain = exports.isKnownChain = exports.getStageData = exports.isStageType = exports.extractTimelockLink = exports.createTracker = exports.ProposalStageTracker = void 0;
|
|
53
|
+
exports.prepareTimelockExecuteCalldata = exports.prepareExecuteTimelock = exports.prepareTimelockStage = exports.prepareTimelockBatch = exports.prepareTimelockOperation = exports.tryFindSalt = exports.computeAndValidateOperationHash = exports.validateSaltBatch = exports.validateSalt = exports.hashOperationBatch = exports.hashOperation = exports.decodeL1TimelockSchedule = exports.generateSecurityCouncilSalt = exports.saltFromDescription = exports.isStageStale = exports.invalidateBlockInfoCache = exports.getL1BlockNumberFromL2 = exports.estimateTimestampFromBlock = exports.calculateRemainingSeconds = exports.calculateExpectedEta = exports.calculateEta = exports.isScOperationSuperseded = exports.getHighestScNonce = exports.checkVettingPeriod = exports.extractAllSecurityCouncilParams = exports.extractSecurityCouncilParamsForOperation = exports.extractSecurityCouncilParams = exports.isSecurityCouncilElectionProposal = exports.isSecurityCouncilOperation = exports.findCallScheduledByTxHash = exports.getTimelockState = exports.getTimelockOperationState = exports.isL1Timelock = exports.isKnownL2Timelock = exports.queryProposalCreatedEvents = exports.discoverProposalByTxHash = exports.getProposalState = exports.getTimelockAddress = exports.detectGovernorCapabilities = exports.isElectionProposal = exports.detectProposalType = exports.splitStages = exports.normalizeTimeline = exports.mergeStages = exports.findStage = exports.isConstitutional = exports.isTimelockStage = exports.extractOperationId = exports.areAllStagesComplete = exports.getCurrentStage = void 0;
|
|
54
|
+
exports.getAllElectionStatuses = exports.getElectionStatus = exports.determineElectionPhase = exports.hasVettingPeriod = exports.checkElectionStatus = exports.getElectionCount = exports.filterVisibleLines = exports.formatDecodedCalldata = exports.getProposalIdDisplay = exports.getTxHash = exports.formatStageData = exports.formatDate = exports.formatValue = exports.safeStringify = exports.truncate = exports.wrapText = exports.MAX_DESCRIPTION_LENGTH = exports.safeJsonParse = exports.sanitizeForDisplay = exports.truncateDescription = exports.queryWithRetry = exports.getErrorMessage = exports.isRetryableError = exports.isPermanentError = exports.isGasEstimationError = exports.getChainDisplayName = exports.chainToChainId = exports.chainIdToChain = exports.compareBigNumbers = exports.getChain = exports.isAddressIn = exports.addressEquals = exports.ALL_STAGE_TYPES = exports.getAllStageMetadata = exports.formatStageTitle = exports.getStageMetadata = exports.ELECTION_TIMING = exports.GOVERNANCE_START_BLOCKS = exports.getStageTransactionUrl = exports.getTxUrl = exports.prepareGovernorQueue = exports.prepareRetryableStage = exports.prepareAllRetryables = exports.prepareRetryableRedemption = exports.getL2ToL1Messages = exports.prepareL2ToL1MessageStage = exports.prepareL2ToL1Message = exports.calculateBatchRetryableValues = exports.calculateRetryableExecutionValue = exports.prepareTimelockBatchCalldata = void 0;
|
|
55
|
+
exports.autoLinkOrphanedCheckpoints = exports.findPotentialParent = exports.getDeduplicationStats = exports.getChildCheckpoints = exports.getChildToParentMap = exports.filterChildCheckpoints = exports.isChildCheckpoint = exports.getParentCheckpoint = exports.linkCheckpointToChild = exports.isSecurityCouncilTimelockOp = exports.readGovernorName = exports.readIsContender = exports.readVotesUsed = exports.readElectionCount = exports.readMemberElectionState = exports.readNomineeElectionState = exports.readDelegate = exports.readCurrentVotingPower = exports.readHasVoted = exports.readGetVotes = exports.readVotingPower = exports.readQuorum = exports.readProposalDeadline = exports.readProposalSnapshot = exports.readProposalVotes = exports.readProposalState = exports.prepareCastVoteWithReasonAndParams = exports.prepareCastVoteWithReason = exports.prepareCastVote = exports.prepareMemberElectionVote = exports.prepareNomineeElectionVote = exports.prepareContenderRegistration = exports.prepareAddContender = exports.getAddContenderTypedData = exports.decodeElectionVoteParams = exports.encodeElectionVoteParams = exports.serializeMemberDetails = exports.serializeNomineeDetails = exports.getMemberElectionDetails = exports.getNomineeElectionDetails = exports.getExcludedNominees = exports.getNomineesWithVotes = exports.getContenders = exports.prepareMemberElectionExecution = exports.prepareMemberElectionTrigger = exports.prepareElectionCreation = exports.getMemberElectionProposalParams = exports.getElectionProposalParams = exports.getElectionProposalId = exports.getElectionIndexForProposalId = void 0;
|
|
56
|
+
exports.DEFAULT_ERROR_THRESHOLD = exports.trimFromStage = exports.parseTimelockOpKey = exports.parseElectionKey = exports.isDiscoveryKey = exports.isTimelockOpKey = exports.isTxKey = exports.isElectionKey = exports.timelockOpCacheKey = exports.txHashCacheKey = exports.electionCacheKey = exports.computeCacheStats = exports.getCheckpointErrorCount = exports.isCheckpointErrored = exports.isCheckpointComplete = exports.createCheckpointMetadata = exports.proposalStateToStageStatus = exports.getElectionContext = exports.createTrackingState = exports.createCheckpoint = exports.getVotingDataFromStages = exports.getWatermarksFromCache = exports.extractTimelockLinkFromStages = exports.extractOperationIds = exports.extractElections = exports.extractTimelockOps = exports.extractProposals = exports.getBundledCachePath = exports.MemoryCache = exports.LocalStorageCache = exports.FileCache = exports.buildTenderlyEncodeStatesRequest = exports.buildTenderlySimRequest = exports.extractSimulationsByActionIndex = exports.extractAllSimulationsFromDecoded = exports.prepareCallSimulation = exports.prepareTimelockSimulation = exports.prepareRetryableSimulation = exports.RETRYABLE_TICKET_MAGIC = exports.getRetryableChainName = exports.decodeRetryableTicket = exports.isRetryableTicketMagic = exports.getAddressLabel = exports.formatDecodedValue = exports.isLikelyCalldata = exports.parseParamTypes = exports.lookupLocalSignature = exports.lookupSignature = exports.decodeCalldataArray = exports.decodeCalldata = void 0;
|
|
57
|
+
exports.loadWatermarks = exports.WATERMARKS_KEY = exports.TX_KEY_PREFIX = exports.ELECTION_KEY_PREFIX = void 0;
|
|
51
58
|
// ============================================================================
|
|
52
59
|
// TIER 1: Core Public API
|
|
53
60
|
// ============================================================================
|
|
@@ -73,18 +80,58 @@ Object.defineProperty(exports, "NETWORK_IDS", { enumerable: true, get: function
|
|
|
73
80
|
Object.defineProperty(exports, "TIMELOCK_SELECTORS", { enumerable: true, get: function () { return constants_1.TIMELOCK_SELECTORS; } });
|
|
74
81
|
Object.defineProperty(exports, "isElectionGovernor", { enumerable: true, get: function () { return constants_1.isElectionGovernor; } });
|
|
75
82
|
Object.defineProperty(exports, "buildDefaultTargets", { enumerable: true, get: function () { return constants_1.buildDefaultTargets; } });
|
|
83
|
+
Object.defineProperty(exports, "VOTE_SUPPORT", { enumerable: true, get: function () { return constants_1.VOTE_SUPPORT; } });
|
|
84
|
+
Object.defineProperty(exports, "PROPOSAL_STATE", { enumerable: true, get: function () { return constants_1.PROPOSAL_STATE; } });
|
|
85
|
+
Object.defineProperty(exports, "PROPOSAL_STATE_MAP", { enumerable: true, get: function () { return constants_1.PROPOSAL_STATE_MAP; } });
|
|
86
|
+
Object.defineProperty(exports, "PROPOSAL_STATE_LABEL", { enumerable: true, get: function () { return constants_1.PROPOSAL_STATE_LABEL; } });
|
|
87
|
+
Object.defineProperty(exports, "isProposalState", { enumerable: true, get: function () { return constants_1.isProposalState; } });
|
|
88
|
+
Object.defineProperty(exports, "MAINNET_ELECTION_CONFIG", { enumerable: true, get: function () { return constants_1.MAINNET_ELECTION_CONFIG; } });
|
|
89
|
+
// ABIs — human-readable format (ethers v5 compatible, `as const` for abitype)
|
|
90
|
+
var abis_1 = require("./abis");
|
|
91
|
+
Object.defineProperty(exports, "GOVERNOR_ABI", { enumerable: true, get: function () { return abis_1.GOVERNOR_ABI; } });
|
|
92
|
+
Object.defineProperty(exports, "GOVERNOR_WITH_VETTER_ABI", { enumerable: true, get: function () { return abis_1.GOVERNOR_WITH_VETTER_ABI; } });
|
|
93
|
+
Object.defineProperty(exports, "TIMELOCK_ABI", { enumerable: true, get: function () { return abis_1.TIMELOCK_ABI; } });
|
|
94
|
+
Object.defineProperty(exports, "NOMINEE_ELECTION_GOVERNOR_ABI", { enumerable: true, get: function () { return abis_1.NOMINEE_ELECTION_GOVERNOR_ABI; } });
|
|
95
|
+
Object.defineProperty(exports, "MEMBER_ELECTION_GOVERNOR_ABI", { enumerable: true, get: function () { return abis_1.MEMBER_ELECTION_GOVERNOR_ABI; } });
|
|
96
|
+
Object.defineProperty(exports, "SECURITY_COUNCIL_MANAGER_ABI", { enumerable: true, get: function () { return abis_1.SECURITY_COUNCIL_MANAGER_ABI; } });
|
|
97
|
+
Object.defineProperty(exports, "ERC20_VOTES_ABI", { enumerable: true, get: function () { return abis_1.ERC20_VOTES_ABI; } });
|
|
98
|
+
// ABIs — JSON format for wagmi/viem (full useReadContract/useWriteContract type inference)
|
|
99
|
+
var abis_json_1 = require("./abis-json");
|
|
100
|
+
// Full ABIs
|
|
101
|
+
Object.defineProperty(exports, "governorAbi", { enumerable: true, get: function () { return abis_json_1.governorAbi; } });
|
|
102
|
+
Object.defineProperty(exports, "governorWithVetterAbi", { enumerable: true, get: function () { return abis_json_1.governorWithVetterAbi; } });
|
|
103
|
+
Object.defineProperty(exports, "timelockAbi", { enumerable: true, get: function () { return abis_json_1.timelockAbi; } });
|
|
104
|
+
Object.defineProperty(exports, "securityCouncilManagerAbi", { enumerable: true, get: function () { return abis_json_1.securityCouncilManagerAbi; } });
|
|
105
|
+
Object.defineProperty(exports, "inboxAbi", { enumerable: true, get: function () { return abis_json_1.inboxAbi; } });
|
|
106
|
+
Object.defineProperty(exports, "nomineeElectionGovernorAbi", { enumerable: true, get: function () { return abis_json_1.nomineeElectionGovernorAbi; } });
|
|
107
|
+
Object.defineProperty(exports, "memberElectionGovernorAbi", { enumerable: true, get: function () { return abis_json_1.memberElectionGovernorAbi; } });
|
|
108
|
+
Object.defineProperty(exports, "erc20VotesAbi", { enumerable: true, get: function () { return abis_json_1.erc20VotesAbi; } });
|
|
109
|
+
// Curated read/write subsets (use when full ABI exceeds viem type inference limits)
|
|
110
|
+
Object.defineProperty(exports, "governorReadAbi", { enumerable: true, get: function () { return abis_json_1.governorReadAbi; } });
|
|
111
|
+
Object.defineProperty(exports, "governorWriteAbi", { enumerable: true, get: function () { return abis_json_1.governorWriteAbi; } });
|
|
112
|
+
Object.defineProperty(exports, "nomineeElectionGovernorReadAbi", { enumerable: true, get: function () { return abis_json_1.nomineeElectionGovernorReadAbi; } });
|
|
113
|
+
Object.defineProperty(exports, "nomineeElectionGovernorWriteAbi", { enumerable: true, get: function () { return abis_json_1.nomineeElectionGovernorWriteAbi; } });
|
|
114
|
+
Object.defineProperty(exports, "memberElectionGovernorReadAbi", { enumerable: true, get: function () { return abis_json_1.memberElectionGovernorReadAbi; } });
|
|
115
|
+
Object.defineProperty(exports, "memberElectionGovernorWriteAbi", { enumerable: true, get: function () { return abis_json_1.memberElectionGovernorWriteAbi; } });
|
|
116
|
+
Object.defineProperty(exports, "timelockReadAbi", { enumerable: true, get: function () { return abis_json_1.timelockReadAbi; } });
|
|
117
|
+
Object.defineProperty(exports, "timelockWriteAbi", { enumerable: true, get: function () { return abis_json_1.timelockWriteAbi; } });
|
|
76
118
|
// Stage utilities
|
|
77
119
|
var utils_1 = require("./stages/utils");
|
|
78
120
|
Object.defineProperty(exports, "findExecutableStage", { enumerable: true, get: function () { return utils_1.findExecutableStage; } });
|
|
79
121
|
Object.defineProperty(exports, "findAllExecutableStages", { enumerable: true, get: function () { return utils_1.findAllExecutableStages; } });
|
|
80
122
|
Object.defineProperty(exports, "needsAction", { enumerable: true, get: function () { return utils_1.needsAction; } });
|
|
81
123
|
Object.defineProperty(exports, "getTrackingStatusSummary", { enumerable: true, get: function () { return utils_1.getTrackingStatusSummary; } });
|
|
124
|
+
Object.defineProperty(exports, "getLifecyclePhase", { enumerable: true, get: function () { return utils_1.getLifecyclePhase; } });
|
|
82
125
|
Object.defineProperty(exports, "getCurrentStage", { enumerable: true, get: function () { return utils_1.getCurrentStage; } });
|
|
83
126
|
Object.defineProperty(exports, "areAllStagesComplete", { enumerable: true, get: function () { return utils_1.areAllStagesComplete; } });
|
|
84
127
|
Object.defineProperty(exports, "extractOperationId", { enumerable: true, get: function () { return utils_1.extractOperationId; } });
|
|
85
128
|
Object.defineProperty(exports, "isTimelockStage", { enumerable: true, get: function () { return utils_1.isTimelockStage; } });
|
|
86
129
|
Object.defineProperty(exports, "isConstitutional", { enumerable: true, get: function () { return utils_1.isConstitutional; } });
|
|
87
130
|
Object.defineProperty(exports, "findStage", { enumerable: true, get: function () { return utils_1.findStage; } });
|
|
131
|
+
// Stage merging utilities
|
|
132
|
+
Object.defineProperty(exports, "mergeStages", { enumerable: true, get: function () { return utils_1.mergeStages; } });
|
|
133
|
+
Object.defineProperty(exports, "normalizeTimeline", { enumerable: true, get: function () { return utils_1.normalizeTimeline; } });
|
|
134
|
+
Object.defineProperty(exports, "splitStages", { enumerable: true, get: function () { return utils_1.splitStages; } });
|
|
88
135
|
// ============================================================================
|
|
89
136
|
// TIER 2: Advanced API - Power user functions
|
|
90
137
|
// ============================================================================
|
|
@@ -96,6 +143,7 @@ Object.defineProperty(exports, "detectGovernorCapabilities", { enumerable: true,
|
|
|
96
143
|
Object.defineProperty(exports, "getTimelockAddress", { enumerable: true, get: function () { return governor_discovery_1.getTimelockAddress; } });
|
|
97
144
|
Object.defineProperty(exports, "getProposalState", { enumerable: true, get: function () { return governor_discovery_1.getProposalState; } });
|
|
98
145
|
Object.defineProperty(exports, "discoverProposalByTxHash", { enumerable: true, get: function () { return governor_discovery_1.discoverProposalByTxHash; } });
|
|
146
|
+
Object.defineProperty(exports, "queryProposalCreatedEvents", { enumerable: true, get: function () { return governor_discovery_1.queryProposalCreatedEvents; } });
|
|
99
147
|
// Timelock introspection
|
|
100
148
|
var timelock_discovery_1 = require("./discovery/timelock-discovery");
|
|
101
149
|
Object.defineProperty(exports, "isKnownL2Timelock", { enumerable: true, get: function () { return timelock_discovery_1.isKnownL2Timelock; } });
|
|
@@ -130,6 +178,8 @@ Object.defineProperty(exports, "generateSecurityCouncilSalt", { enumerable: true
|
|
|
130
178
|
Object.defineProperty(exports, "decodeL1TimelockSchedule", { enumerable: true, get: function () { return salt_computation_1.decodeL1TimelockSchedule; } });
|
|
131
179
|
// Operation ID utilities
|
|
132
180
|
var operation_id_1 = require("./utils/operation-id");
|
|
181
|
+
Object.defineProperty(exports, "hashOperation", { enumerable: true, get: function () { return operation_id_1.hashOperation; } });
|
|
182
|
+
Object.defineProperty(exports, "hashOperationBatch", { enumerable: true, get: function () { return operation_id_1.hashOperationBatch; } });
|
|
133
183
|
Object.defineProperty(exports, "validateSalt", { enumerable: true, get: function () { return operation_id_1.validateSalt; } });
|
|
134
184
|
Object.defineProperty(exports, "validateSaltBatch", { enumerable: true, get: function () { return operation_id_1.validateSaltBatch; } });
|
|
135
185
|
Object.defineProperty(exports, "computeAndValidateOperationHash", { enumerable: true, get: function () { return operation_id_1.computeAndValidateOperationHash; } });
|
|
@@ -142,6 +192,9 @@ var timelock_1 = require("./stages/timelock");
|
|
|
142
192
|
Object.defineProperty(exports, "prepareTimelockOperation", { enumerable: true, get: function () { return timelock_1.prepareTimelockOperation; } });
|
|
143
193
|
Object.defineProperty(exports, "prepareTimelockBatch", { enumerable: true, get: function () { return timelock_1.prepareTimelockBatch; } });
|
|
144
194
|
Object.defineProperty(exports, "prepareTimelockStage", { enumerable: true, get: function () { return timelock_1.prepareTimelockStage; } });
|
|
195
|
+
Object.defineProperty(exports, "prepareExecuteTimelock", { enumerable: true, get: function () { return timelock_1.prepareExecuteTimelock; } });
|
|
196
|
+
Object.defineProperty(exports, "prepareTimelockExecuteCalldata", { enumerable: true, get: function () { return timelock_1.prepareTimelockExecuteCalldata; } });
|
|
197
|
+
Object.defineProperty(exports, "prepareTimelockBatchCalldata", { enumerable: true, get: function () { return timelock_1.prepareTimelockBatchCalldata; } });
|
|
145
198
|
Object.defineProperty(exports, "calculateRetryableExecutionValue", { enumerable: true, get: function () { return timelock_1.calculateRetryableExecutionValue; } });
|
|
146
199
|
Object.defineProperty(exports, "calculateBatchRetryableValues", { enumerable: true, get: function () { return timelock_1.calculateBatchRetryableValues; } });
|
|
147
200
|
// L2→L1 message preparation
|
|
@@ -170,18 +223,25 @@ Object.defineProperty(exports, "ELECTION_TIMING", { enumerable: true, get: funct
|
|
|
170
223
|
var stage_metadata_1 = require("./utils/stage-metadata");
|
|
171
224
|
Object.defineProperty(exports, "getStageMetadata", { enumerable: true, get: function () { return stage_metadata_1.getStageMetadata; } });
|
|
172
225
|
Object.defineProperty(exports, "formatStageTitle", { enumerable: true, get: function () { return stage_metadata_1.formatStageTitle; } });
|
|
173
|
-
|
|
226
|
+
Object.defineProperty(exports, "getAllStageMetadata", { enumerable: true, get: function () { return stage_metadata_1.getAllStageMetadata; } });
|
|
227
|
+
Object.defineProperty(exports, "ALL_STAGE_TYPES", { enumerable: true, get: function () { return stage_metadata_1.ALL_STAGE_TYPES; } });
|
|
228
|
+
// Chain and address utilities
|
|
174
229
|
var chain_1 = require("./utils/chain");
|
|
175
230
|
Object.defineProperty(exports, "addressEquals", { enumerable: true, get: function () { return chain_1.addressEquals; } });
|
|
176
231
|
Object.defineProperty(exports, "isAddressIn", { enumerable: true, get: function () { return chain_1.isAddressIn; } });
|
|
177
232
|
Object.defineProperty(exports, "getChain", { enumerable: true, get: function () { return chain_1.getChain; } });
|
|
233
|
+
Object.defineProperty(exports, "compareBigNumbers", { enumerable: true, get: function () { return chain_1.compareBigNumbers; } });
|
|
178
234
|
var types_2 = require("./types");
|
|
179
235
|
Object.defineProperty(exports, "chainIdToChain", { enumerable: true, get: function () { return types_2.chainIdToChain; } });
|
|
180
236
|
Object.defineProperty(exports, "chainToChainId", { enumerable: true, get: function () { return types_2.chainToChainId; } });
|
|
181
237
|
Object.defineProperty(exports, "getChainDisplayName", { enumerable: true, get: function () { return types_2.getChainDisplayName; } });
|
|
182
|
-
// Error classification
|
|
238
|
+
// Error classification and RPC utilities
|
|
183
239
|
var rpc_utils_1 = require("./utils/rpc-utils");
|
|
184
240
|
Object.defineProperty(exports, "isGasEstimationError", { enumerable: true, get: function () { return rpc_utils_1.isGasEstimationError; } });
|
|
241
|
+
Object.defineProperty(exports, "isPermanentError", { enumerable: true, get: function () { return rpc_utils_1.isPermanentError; } });
|
|
242
|
+
Object.defineProperty(exports, "isRetryableError", { enumerable: true, get: function () { return rpc_utils_1.isRetryableError; } });
|
|
243
|
+
Object.defineProperty(exports, "getErrorMessage", { enumerable: true, get: function () { return rpc_utils_1.getErrorMessage; } });
|
|
244
|
+
Object.defineProperty(exports, "queryWithRetry", { enumerable: true, get: function () { return rpc_utils_1.queryWithRetry; } });
|
|
185
245
|
// Security utilities
|
|
186
246
|
var sanitize_1 = require("./utils/sanitize");
|
|
187
247
|
Object.defineProperty(exports, "truncateDescription", { enumerable: true, get: function () { return sanitize_1.truncateDescription; } });
|
|
@@ -195,14 +255,11 @@ Object.defineProperty(exports, "truncate", { enumerable: true, get: function ()
|
|
|
195
255
|
Object.defineProperty(exports, "safeStringify", { enumerable: true, get: function () { return formatters_1.safeStringify; } });
|
|
196
256
|
Object.defineProperty(exports, "formatValue", { enumerable: true, get: function () { return formatters_1.formatValue; } });
|
|
197
257
|
Object.defineProperty(exports, "formatDate", { enumerable: true, get: function () { return formatters_1.formatDate; } });
|
|
198
|
-
Object.defineProperty(exports, "CHAIN_TO_CHAIN_ID", { enumerable: true, get: function () { return formatters_1.CHAIN_TO_CHAIN_ID; } });
|
|
199
258
|
Object.defineProperty(exports, "formatStageData", { enumerable: true, get: function () { return formatters_1.formatStageData; } });
|
|
200
259
|
Object.defineProperty(exports, "getTxHash", { enumerable: true, get: function () { return formatters_1.getTxHash; } });
|
|
201
260
|
Object.defineProperty(exports, "getProposalIdDisplay", { enumerable: true, get: function () { return formatters_1.getProposalIdDisplay; } });
|
|
202
261
|
Object.defineProperty(exports, "formatDecodedCalldata", { enumerable: true, get: function () { return formatters_1.formatDecodedCalldata; } });
|
|
203
262
|
Object.defineProperty(exports, "filterVisibleLines", { enumerable: true, get: function () { return formatters_1.filterVisibleLines; } });
|
|
204
|
-
Object.defineProperty(exports, "getAllFoldableKeys", { enumerable: true, get: function () { return formatters_1.getAllFoldableKeys; } });
|
|
205
|
-
Object.defineProperty(exports, "toggleFoldKey", { enumerable: true, get: function () { return formatters_1.toggleFoldKey; } });
|
|
206
263
|
// ============================================================================
|
|
207
264
|
// TIER 5: Election Tracking
|
|
208
265
|
// ============================================================================
|
|
@@ -211,6 +268,9 @@ var election_1 = require("./election");
|
|
|
211
268
|
Object.defineProperty(exports, "getElectionCount", { enumerable: true, get: function () { return election_1.getElectionCount; } });
|
|
212
269
|
Object.defineProperty(exports, "checkElectionStatus", { enumerable: true, get: function () { return election_1.checkElectionStatus; } });
|
|
213
270
|
Object.defineProperty(exports, "hasVettingPeriod", { enumerable: true, get: function () { return election_1.hasVettingPeriod; } });
|
|
271
|
+
Object.defineProperty(exports, "determineElectionPhase", { enumerable: true, get: function () { return election_1.determineElectionPhase; } });
|
|
272
|
+
Object.defineProperty(exports, "getElectionStatus", { enumerable: true, get: function () { return election_1.getElectionStatus; } });
|
|
273
|
+
Object.defineProperty(exports, "getAllElectionStatuses", { enumerable: true, get: function () { return election_1.getAllElectionStatuses; } });
|
|
214
274
|
// Election tracking utilities
|
|
215
275
|
Object.defineProperty(exports, "getElectionIndexForProposalId", { enumerable: true, get: function () { return election_1.getElectionIndexForProposalId; } });
|
|
216
276
|
// Election proposal IDs
|
|
@@ -230,6 +290,38 @@ Object.defineProperty(exports, "getMemberElectionDetails", { enumerable: true, g
|
|
|
230
290
|
// Election details serialization
|
|
231
291
|
Object.defineProperty(exports, "serializeNomineeDetails", { enumerable: true, get: function () { return election_1.serializeNomineeDetails; } });
|
|
232
292
|
Object.defineProperty(exports, "serializeMemberDetails", { enumerable: true, get: function () { return election_1.serializeMemberDetails; } });
|
|
293
|
+
// Election write actions (prepare-only)
|
|
294
|
+
Object.defineProperty(exports, "encodeElectionVoteParams", { enumerable: true, get: function () { return election_1.encodeElectionVoteParams; } });
|
|
295
|
+
Object.defineProperty(exports, "decodeElectionVoteParams", { enumerable: true, get: function () { return election_1.decodeElectionVoteParams; } });
|
|
296
|
+
Object.defineProperty(exports, "getAddContenderTypedData", { enumerable: true, get: function () { return election_1.getAddContenderTypedData; } });
|
|
297
|
+
Object.defineProperty(exports, "prepareAddContender", { enumerable: true, get: function () { return election_1.prepareAddContender; } });
|
|
298
|
+
Object.defineProperty(exports, "prepareContenderRegistration", { enumerable: true, get: function () { return election_1.prepareContenderRegistration; } });
|
|
299
|
+
Object.defineProperty(exports, "prepareNomineeElectionVote", { enumerable: true, get: function () { return election_1.prepareNomineeElectionVote; } });
|
|
300
|
+
Object.defineProperty(exports, "prepareMemberElectionVote", { enumerable: true, get: function () { return election_1.prepareMemberElectionVote; } });
|
|
301
|
+
// ============================================================================
|
|
302
|
+
// TIER 5b: Governance Write Actions
|
|
303
|
+
// ============================================================================
|
|
304
|
+
var governance_1 = require("./governance");
|
|
305
|
+
Object.defineProperty(exports, "prepareCastVote", { enumerable: true, get: function () { return governance_1.prepareCastVote; } });
|
|
306
|
+
Object.defineProperty(exports, "prepareCastVoteWithReason", { enumerable: true, get: function () { return governance_1.prepareCastVoteWithReason; } });
|
|
307
|
+
Object.defineProperty(exports, "prepareCastVoteWithReasonAndParams", { enumerable: true, get: function () { return governance_1.prepareCastVoteWithReasonAndParams; } });
|
|
308
|
+
// Read helpers (wagmi useReadContract / useReadContracts compatible)
|
|
309
|
+
Object.defineProperty(exports, "readProposalState", { enumerable: true, get: function () { return governance_1.readProposalState; } });
|
|
310
|
+
Object.defineProperty(exports, "readProposalVotes", { enumerable: true, get: function () { return governance_1.readProposalVotes; } });
|
|
311
|
+
Object.defineProperty(exports, "readProposalSnapshot", { enumerable: true, get: function () { return governance_1.readProposalSnapshot; } });
|
|
312
|
+
Object.defineProperty(exports, "readProposalDeadline", { enumerable: true, get: function () { return governance_1.readProposalDeadline; } });
|
|
313
|
+
Object.defineProperty(exports, "readQuorum", { enumerable: true, get: function () { return governance_1.readQuorum; } });
|
|
314
|
+
Object.defineProperty(exports, "readVotingPower", { enumerable: true, get: function () { return governance_1.readVotingPower; } });
|
|
315
|
+
Object.defineProperty(exports, "readGetVotes", { enumerable: true, get: function () { return governance_1.readGetVotes; } });
|
|
316
|
+
Object.defineProperty(exports, "readHasVoted", { enumerable: true, get: function () { return governance_1.readHasVoted; } });
|
|
317
|
+
Object.defineProperty(exports, "readCurrentVotingPower", { enumerable: true, get: function () { return governance_1.readCurrentVotingPower; } });
|
|
318
|
+
Object.defineProperty(exports, "readDelegate", { enumerable: true, get: function () { return governance_1.readDelegate; } });
|
|
319
|
+
Object.defineProperty(exports, "readNomineeElectionState", { enumerable: true, get: function () { return governance_1.readNomineeElectionState; } });
|
|
320
|
+
Object.defineProperty(exports, "readMemberElectionState", { enumerable: true, get: function () { return governance_1.readMemberElectionState; } });
|
|
321
|
+
Object.defineProperty(exports, "readElectionCount", { enumerable: true, get: function () { return governance_1.readElectionCount; } });
|
|
322
|
+
Object.defineProperty(exports, "readVotesUsed", { enumerable: true, get: function () { return governance_1.readVotesUsed; } });
|
|
323
|
+
Object.defineProperty(exports, "readIsContender", { enumerable: true, get: function () { return governance_1.readIsContender; } });
|
|
324
|
+
Object.defineProperty(exports, "readGovernorName", { enumerable: true, get: function () { return governance_1.readGovernorName; } });
|
|
233
325
|
// Checkpoint deduplication helpers
|
|
234
326
|
var deduplication_1 = require("./deduplication");
|
|
235
327
|
Object.defineProperty(exports, "isSecurityCouncilTimelockOp", { enumerable: true, get: function () { return deduplication_1.isSecurityCouncilTimelockOp; } });
|
|
@@ -271,6 +363,10 @@ Object.defineProperty(exports, "prepareRetryableSimulation", { enumerable: true,
|
|
|
271
363
|
Object.defineProperty(exports, "prepareTimelockSimulation", { enumerable: true, get: function () { return simulation_1.prepareTimelockSimulation; } });
|
|
272
364
|
Object.defineProperty(exports, "prepareCallSimulation", { enumerable: true, get: function () { return simulation_1.prepareCallSimulation; } });
|
|
273
365
|
Object.defineProperty(exports, "extractAllSimulationsFromDecoded", { enumerable: true, get: function () { return simulation_1.extractAllSimulationsFromDecoded; } });
|
|
366
|
+
Object.defineProperty(exports, "extractSimulationsByActionIndex", { enumerable: true, get: function () { return simulation_1.extractSimulationsByActionIndex; } });
|
|
367
|
+
// Tenderly payload builders (dependency-free)
|
|
368
|
+
Object.defineProperty(exports, "buildTenderlySimRequest", { enumerable: true, get: function () { return simulation_1.buildTenderlySimRequest; } });
|
|
369
|
+
Object.defineProperty(exports, "buildTenderlyEncodeStatesRequest", { enumerable: true, get: function () { return simulation_1.buildTenderlyEncodeStatesRequest; } });
|
|
274
370
|
// ============================================================================
|
|
275
371
|
// TIER 8: Cache Implementations
|
|
276
372
|
// ============================================================================
|
|
@@ -279,6 +375,15 @@ Object.defineProperty(exports, "FileCache", { enumerable: true, get: function ()
|
|
|
279
375
|
Object.defineProperty(exports, "LocalStorageCache", { enumerable: true, get: function () { return cache_1.LocalStorageCache; } });
|
|
280
376
|
Object.defineProperty(exports, "MemoryCache", { enumerable: true, get: function () { return cache_1.MemoryCache; } });
|
|
281
377
|
Object.defineProperty(exports, "getBundledCachePath", { enumerable: true, get: function () { return cache_1.getBundledCachePath; } });
|
|
378
|
+
// Bundled cache extraction utilities
|
|
379
|
+
var bundled_cache_1 = require("./tracker/bundled-cache");
|
|
380
|
+
Object.defineProperty(exports, "extractProposals", { enumerable: true, get: function () { return bundled_cache_1.extractProposals; } });
|
|
381
|
+
Object.defineProperty(exports, "extractTimelockOps", { enumerable: true, get: function () { return bundled_cache_1.extractTimelockOps; } });
|
|
382
|
+
Object.defineProperty(exports, "extractElections", { enumerable: true, get: function () { return bundled_cache_1.extractElections; } });
|
|
383
|
+
Object.defineProperty(exports, "extractOperationIds", { enumerable: true, get: function () { return bundled_cache_1.extractOperationIds; } });
|
|
384
|
+
Object.defineProperty(exports, "extractTimelockLinkFromStages", { enumerable: true, get: function () { return bundled_cache_1.extractTimelockLinkFromStages; } });
|
|
385
|
+
Object.defineProperty(exports, "getWatermarksFromCache", { enumerable: true, get: function () { return bundled_cache_1.getWatermarksFromCache; } });
|
|
386
|
+
Object.defineProperty(exports, "getVotingDataFromStages", { enumerable: true, get: function () { return bundled_cache_1.getVotingDataFromStages; } });
|
|
282
387
|
// ============================================================================
|
|
283
388
|
// TIER 9: Internal Utilities (for testing)
|
|
284
389
|
// ============================================================================
|
|
@@ -303,9 +408,11 @@ Object.defineProperty(exports, "isTimelockOpKey", { enumerable: true, get: funct
|
|
|
303
408
|
Object.defineProperty(exports, "isDiscoveryKey", { enumerable: true, get: function () { return checkpoint_helpers_1.isDiscoveryKey; } });
|
|
304
409
|
Object.defineProperty(exports, "parseElectionKey", { enumerable: true, get: function () { return checkpoint_helpers_1.parseElectionKey; } });
|
|
305
410
|
Object.defineProperty(exports, "parseTimelockOpKey", { enumerable: true, get: function () { return checkpoint_helpers_1.parseTimelockOpKey; } });
|
|
411
|
+
Object.defineProperty(exports, "trimFromStage", { enumerable: true, get: function () { return checkpoint_helpers_1.trimFromStage; } });
|
|
306
412
|
Object.defineProperty(exports, "DEFAULT_ERROR_THRESHOLD", { enumerable: true, get: function () { return checkpoint_helpers_1.DEFAULT_ERROR_THRESHOLD; } });
|
|
307
413
|
Object.defineProperty(exports, "ELECTION_KEY_PREFIX", { enumerable: true, get: function () { return checkpoint_helpers_1.ELECTION_KEY_PREFIX; } });
|
|
308
414
|
Object.defineProperty(exports, "TX_KEY_PREFIX", { enumerable: true, get: function () { return checkpoint_helpers_1.TX_KEY_PREFIX; } });
|
|
309
415
|
var discovery_1 = require("./tracker/discovery");
|
|
310
416
|
Object.defineProperty(exports, "WATERMARKS_KEY", { enumerable: true, get: function () { return discovery_1.WATERMARKS_KEY; } });
|
|
417
|
+
Object.defineProperty(exports, "loadWatermarks", { enumerable: true, get: function () { return discovery_1.loadWatermarks; } });
|
|
311
418
|
//# sourceMappingURL=index.js.map
|