@gzeoneth/gov-tracker 0.3.0 → 0.4.0-beta.18db0de
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 +0 -1
- package/dist/calldata/decoder.d.ts.map +1 -1
- package/dist/calldata/decoder.js +10 -56
- package/dist/calldata/decoder.js.map +1 -1
- package/dist/calldata/parameter-decoder.d.ts +21 -1
- package/dist/calldata/parameter-decoder.d.ts.map +1 -1
- package/dist/calldata/parameter-decoder.js +30 -0
- package/dist/calldata/parameter-decoder.js.map +1 -1
- package/dist/cli/lib/cli.d.ts.map +1 -1
- package/dist/cli/lib/cli.js +30 -42
- package/dist/cli/lib/cli.js.map +1 -1
- package/dist/cli/tui/utils/index.d.ts +1 -1
- package/dist/cli/tui/utils/index.d.ts.map +1 -1
- package/dist/cli/tui/utils/index.js +1 -2
- package/dist/cli/tui/utils/index.js.map +1 -1
- package/dist/cli/tui/utils/stage-formatter.d.ts +1 -1
- package/dist/cli/tui/utils/stage-formatter.d.ts.map +1 -1
- package/dist/cli/tui/utils/stage-formatter.js +1 -2
- package/dist/cli/tui/utils/stage-formatter.js.map +1 -1
- package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
- package/dist/cli/tui/views/ElectionView.js +3 -3
- package/dist/cli/tui/views/ElectionView.js.map +1 -1
- package/dist/cli/tui/views/StageView.d.ts.map +1 -1
- package/dist/cli/tui/views/StageView.js +1 -1
- package/dist/cli/tui/views/StageView.js.map +1 -1
- package/dist/data/bundled-cache.json +21513 -22619
- package/dist/discovery/governor-discovery.d.ts.map +1 -1
- package/dist/discovery/governor-discovery.js +43 -48
- package/dist/discovery/governor-discovery.js.map +1 -1
- package/dist/discovery/security-council.d.ts +15 -0
- package/dist/discovery/security-council.d.ts.map +1 -1
- package/dist/discovery/security-council.js +42 -19
- package/dist/discovery/security-council.js.map +1 -1
- package/dist/discovery/timelock-discovery.d.ts.map +1 -1
- package/dist/discovery/timelock-discovery.js +34 -54
- package/dist/discovery/timelock-discovery.js.map +1 -1
- package/dist/election/details.d.ts.map +1 -1
- package/dist/election/details.js +28 -30
- package/dist/election/details.js.map +1 -1
- package/dist/election/index.d.ts +3 -6
- package/dist/election/index.d.ts.map +1 -1
- package/dist/election/index.js +7 -14
- package/dist/election/index.js.map +1 -1
- package/dist/election/params.d.ts +8 -1
- package/dist/election/params.d.ts.map +1 -1
- package/dist/election/params.js +45 -1
- package/dist/election/params.js.map +1 -1
- package/dist/election/participants.d.ts.map +1 -1
- package/dist/election/participants.js +21 -24
- package/dist/election/participants.js.map +1 -1
- package/dist/election/proposal-ids.d.ts +10 -0
- package/dist/election/proposal-ids.d.ts.map +1 -1
- package/dist/election/proposal-ids.js +45 -5
- package/dist/election/proposal-ids.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -8
- package/dist/index.js.map +1 -1
- package/dist/simulation/simulation-data.js +2 -2
- package/dist/simulation/simulation-data.js.map +1 -1
- package/dist/stages/builder.js +1 -1
- package/dist/stages/builder.js.map +1 -1
- package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
- package/dist/stages/l2-to-l1-message.js +2 -8
- package/dist/stages/l2-to-l1-message.js.map +1 -1
- package/dist/stages/proposal-queued.d.ts.map +1 -1
- package/dist/stages/proposal-queued.js +4 -1
- package/dist/stages/proposal-queued.js.map +1 -1
- package/dist/stages/retryables.d.ts +4 -3
- package/dist/stages/retryables.d.ts.map +1 -1
- package/dist/stages/retryables.js +25 -48
- package/dist/stages/retryables.js.map +1 -1
- package/dist/stages/timelock.d.ts +1 -0
- package/dist/stages/timelock.d.ts.map +1 -1
- package/dist/stages/timelock.js +44 -58
- package/dist/stages/timelock.js.map +1 -1
- package/dist/stages/utils.d.ts +39 -5
- package/dist/stages/utils.d.ts.map +1 -1
- package/dist/stages/utils.js +102 -40
- package/dist/stages/utils.js.map +1 -1
- package/dist/tracker/discovery.d.ts.map +1 -1
- package/dist/tracker/discovery.js +4 -9
- package/dist/tracker/discovery.js.map +1 -1
- package/dist/tracker/pipeline.d.ts +25 -6
- package/dist/tracker/pipeline.d.ts.map +1 -1
- package/dist/tracker/pipeline.js +428 -211
- package/dist/tracker/pipeline.js.map +1 -1
- package/dist/tracker/query.d.ts +20 -0
- package/dist/tracker/query.d.ts.map +1 -1
- package/dist/tracker/query.js +86 -1
- package/dist/tracker/query.js.map +1 -1
- package/dist/tracker/stage-runner.d.ts +62 -0
- package/dist/tracker/stage-runner.d.ts.map +1 -0
- package/dist/tracker/stage-runner.js +80 -0
- package/dist/tracker/stage-runner.js.map +1 -0
- package/dist/tracker/state.d.ts +64 -0
- package/dist/tracker/state.d.ts.map +1 -1
- package/dist/tracker/state.js +191 -12
- package/dist/tracker/state.js.map +1 -1
- package/dist/tracker.d.ts +30 -1
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +220 -167
- package/dist/tracker.js.map +1 -1
- package/dist/types/core.d.ts +3 -2
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +3 -2
- package/dist/types/core.js.map +1 -1
- package/dist/types/tracking.d.ts +11 -0
- package/dist/types/tracking.d.ts.map +1 -1
- package/dist/utils/log-filters.d.ts.map +1 -1
- package/dist/utils/log-filters.js +4 -8
- package/dist/utils/log-filters.js.map +1 -1
- package/dist/utils/timing.d.ts +10 -3
- package/dist/utils/timing.d.ts.map +1 -1
- package/dist/utils/timing.js +39 -13
- package/dist/utils/timing.js.map +1 -1
- package/package.json +7 -6
- package/dist/election/prepare.d.ts +0 -10
- package/dist/election/prepare.d.ts.map +0 -1
- package/dist/election/prepare.js +0 -52
- package/dist/election/prepare.js.map +0 -1
- package/dist/election/tracking.d.ts +0 -28
- package/dist/election/tracking.d.ts.map +0 -1
- package/dist/election/tracking.js +0 -412
- package/dist/election/tracking.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governor-discovery.d.ts","sourceRoot":"","sources":["../../src/discovery/governor-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,UAAU,EACV,UAAU,EAEX,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"governor-discovery.d.ts","sourceRoot":"","sources":["../../src/discovery/governor-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,21 +27,30 @@ const timing_1 = require("../utils/timing");
|
|
|
27
27
|
const abis_1 = require("../abis");
|
|
28
28
|
const election_1 = require("../election");
|
|
29
29
|
const multicall_1 = require("../utils/multicall");
|
|
30
|
-
const chain_1 = require("../utils/chain");
|
|
31
30
|
const sanitize_1 = require("../utils/sanitize");
|
|
31
|
+
/**
|
|
32
|
+
* Resolve search range from hint with L2 defaults.
|
|
33
|
+
* Returns fromBlock, toBlock, and reverseDirection based on hint.
|
|
34
|
+
*/
|
|
35
|
+
async function resolveSearchRange(provider, hint) {
|
|
36
|
+
const { blockNumber: currentBlock } = await (0, timing_1.getCurrentBlockInfo)(provider);
|
|
37
|
+
return {
|
|
38
|
+
fromBlock: hint?.startBlock ?? constants_1.GOVERNANCE_START_BLOCKS.L2,
|
|
39
|
+
toBlock: hint?.endBlock ?? currentBlock,
|
|
40
|
+
reverseDirection: hint?.direction === "backward" || !hint?.direction,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const GOVERNOR_TYPE_MAP = {
|
|
44
|
+
[constants_1.ADDRESSES.CONSTITUTIONAL_GOVERNOR.toLowerCase()]: "CONSTITUTIONAL",
|
|
45
|
+
[constants_1.ADDRESSES.NON_CONSTITUTIONAL_GOVERNOR.toLowerCase()]: "NON_CONSTITUTIONAL",
|
|
46
|
+
[constants_1.ADDRESSES.ELECTION_NOMINEE_GOVERNOR.toLowerCase()]: "ELECTION_NOMINEE",
|
|
47
|
+
[constants_1.ADDRESSES.ELECTION_MEMBER_GOVERNOR.toLowerCase()]: "ELECTION_MEMBER",
|
|
48
|
+
};
|
|
32
49
|
/**
|
|
33
50
|
* Detect governor type from address
|
|
34
51
|
*/
|
|
35
52
|
function detectProposalType(governorAddress) {
|
|
36
|
-
|
|
37
|
-
return "CONSTITUTIONAL";
|
|
38
|
-
if ((0, chain_1.addressEquals)(governorAddress, constants_1.ADDRESSES.NON_CONSTITUTIONAL_GOVERNOR))
|
|
39
|
-
return "NON_CONSTITUTIONAL";
|
|
40
|
-
if ((0, chain_1.addressEquals)(governorAddress, constants_1.ADDRESSES.ELECTION_NOMINEE_GOVERNOR))
|
|
41
|
-
return "ELECTION_NOMINEE";
|
|
42
|
-
if ((0, chain_1.addressEquals)(governorAddress, constants_1.ADDRESSES.ELECTION_MEMBER_GOVERNOR))
|
|
43
|
-
return "ELECTION_MEMBER";
|
|
44
|
-
return "UNKNOWN";
|
|
53
|
+
return GOVERNOR_TYPE_MAP[governorAddress.toLowerCase()] ?? "UNKNOWN";
|
|
45
54
|
}
|
|
46
55
|
/**
|
|
47
56
|
* Check if a governor type is a Security Council election governor
|
|
@@ -141,11 +150,7 @@ function parseProposalCreatedEvent(log) {
|
|
|
141
150
|
* @param hint - Search optimization hint. Default is backward search from current block.
|
|
142
151
|
*/
|
|
143
152
|
async function findProposalCreatedEvent(governorAddress, proposalId, provider, hint) {
|
|
144
|
-
const {
|
|
145
|
-
// Apply search hint (default: search backward from current block)
|
|
146
|
-
const fromBlock = hint?.startBlock ?? constants_1.GOVERNANCE_START_BLOCKS.L2;
|
|
147
|
-
const toBlock = hint?.endBlock ?? currentBlock;
|
|
148
|
-
const reverseDirection = hint?.direction === "backward" || !hint?.direction;
|
|
153
|
+
const { fromBlock, toBlock, reverseDirection } = await resolveSearchRange(provider, hint);
|
|
149
154
|
// Note: ProposalCreated event does NOT have indexed proposalId
|
|
150
155
|
// We filter by event topic only and use predicate for exact matching
|
|
151
156
|
return (0, log_search_1.findAndParseEvent)(provider, { address: governorAddress, topics: [constants_1.EVENT_TOPICS.PROPOSAL_CREATED], fromBlock, toBlock }, (l) => parseProposalCreatedEvent(l)?.proposalId === proposalId, parseProposalCreatedEvent, { chunkSize: hint?.chunkSize ?? constants_1.CHUNK_SIZES.L2, reverseDirection });
|
|
@@ -235,52 +240,42 @@ async function getVotingData(governorAddress, proposalId, provider) {
|
|
|
235
240
|
};
|
|
236
241
|
}
|
|
237
242
|
/**
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
* Note: ProposalQueued(uint256 proposalId, uint256 eta) has NON-INDEXED parameters,
|
|
241
|
-
* so we cannot filter by proposalId in topics. We must search for all ProposalQueued
|
|
242
|
-
* events and decode the data to find the matching proposalId.
|
|
243
|
-
*
|
|
244
|
-
* @param hint - Search optimization hint. Default is backward search from current block.
|
|
243
|
+
* Parse ProposalQueued event and return extracted data
|
|
245
244
|
*/
|
|
246
|
-
|
|
247
|
-
const { blockNumber: currentBlock } = await (0, timing_1.getCurrentBlockInfo)(provider);
|
|
248
|
-
// Apply search hint (default: search backward from current block)
|
|
249
|
-
const fromBlock = hint?.startBlock ?? constants_1.GOVERNANCE_START_BLOCKS.L2;
|
|
250
|
-
const toBlock = hint?.endBlock ?? currentBlock;
|
|
251
|
-
const reverseDirection = hint?.direction === "backward" || !hint?.direction;
|
|
252
|
-
const targetProposalId = ethers_1.BigNumber.from(proposalId);
|
|
253
|
-
// ProposalQueued has non-indexed parameters, so we search by event signature only
|
|
254
|
-
// and decode the data to match the proposalId
|
|
255
|
-
const log = await (0, log_search_1.findLog)(provider, {
|
|
256
|
-
address: governorAddress,
|
|
257
|
-
topics: [constants_1.EVENT_TOPICS.PROPOSAL_QUEUED],
|
|
258
|
-
fromBlock,
|
|
259
|
-
toBlock,
|
|
260
|
-
}, (logEntry) => {
|
|
261
|
-
try {
|
|
262
|
-
const parsed = abis_1.proposalQueuedInterface.parseLog(logEntry);
|
|
263
|
-
return parsed.args.proposalId.eq(targetProposalId);
|
|
264
|
-
}
|
|
265
|
-
catch {
|
|
266
|
-
return false;
|
|
267
|
-
}
|
|
268
|
-
}, { chunkSize: hint?.chunkSize ?? constants_1.CHUNK_SIZES.L2, reverseDirection });
|
|
269
|
-
if (!log) {
|
|
270
|
-
return null;
|
|
271
|
-
}
|
|
245
|
+
function parseProposalQueuedEvent(log) {
|
|
272
246
|
try {
|
|
273
247
|
const parsed = abis_1.proposalQueuedInterface.parseLog(log);
|
|
274
248
|
return {
|
|
275
249
|
blockNumber: log.blockNumber,
|
|
276
250
|
txHash: log.transactionHash,
|
|
277
251
|
eta: parsed.args.eta,
|
|
252
|
+
proposalId: parsed.args.proposalId,
|
|
278
253
|
};
|
|
279
254
|
}
|
|
280
255
|
catch {
|
|
281
256
|
return null;
|
|
282
257
|
}
|
|
283
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Find ProposalQueued event for a proposal
|
|
261
|
+
*
|
|
262
|
+
* Note: ProposalQueued(uint256 proposalId, uint256 eta) has NON-INDEXED parameters,
|
|
263
|
+
* so we cannot filter by proposalId in topics. We must search for all ProposalQueued
|
|
264
|
+
* events and decode the data to find the matching proposalId.
|
|
265
|
+
*
|
|
266
|
+
* @param hint - Search optimization hint. Default is backward search from current block.
|
|
267
|
+
*/
|
|
268
|
+
async function findProposalQueuedEvent(governorAddress, proposalId, provider, hint) {
|
|
269
|
+
const { fromBlock, toBlock, reverseDirection } = await resolveSearchRange(provider, hint);
|
|
270
|
+
const targetProposalId = ethers_1.BigNumber.from(proposalId);
|
|
271
|
+
// ProposalQueued has non-indexed parameters, so we search by event signature only
|
|
272
|
+
// and decode the data to match the proposalId. Use findAndParseEvent to avoid double-parsing.
|
|
273
|
+
const result = await (0, log_search_1.findAndParseEvent)(provider, { address: governorAddress, topics: [constants_1.EVENT_TOPICS.PROPOSAL_QUEUED], fromBlock, toBlock }, (log) => parseProposalQueuedEvent(log)?.proposalId.eq(targetProposalId) ?? false, parseProposalQueuedEvent, { chunkSize: hint?.chunkSize ?? constants_1.CHUNK_SIZES.L2, reverseDirection });
|
|
274
|
+
// Strip proposalId from result (not part of the public interface)
|
|
275
|
+
return result
|
|
276
|
+
? { blockNumber: result.blockNumber, txHash: result.txHash, eta: result.eta }
|
|
277
|
+
: null;
|
|
278
|
+
}
|
|
284
279
|
// Discovery Functions (merged from monitor-discovery.ts)
|
|
285
280
|
/** Discover proposals from a governor in a block range */
|
|
286
281
|
async function discoverProposals(governorAddress, fromBlock, toBlock, provider, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governor-discovery.js","sourceRoot":"","sources":["../../src/discovery/governor-discovery.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"governor-discovery.js","sourceRoot":"","sources":["../../src/discovery/governor-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,4 +65,19 @@ export declare function extractSecurityCouncilParamsForOperation(receipt: ethers
|
|
|
65
65
|
* for specific operation lookups.
|
|
66
66
|
*/
|
|
67
67
|
export declare function extractSecurityCouncilParams(receipt: ethers.providers.TransactionReceipt): SecurityCouncilOperationParams | null;
|
|
68
|
+
/**
|
|
69
|
+
* Get the highest Security Council nonce from a list of nonces.
|
|
70
|
+
*
|
|
71
|
+
* SC actions have incrementing nonces - higher nonces supersede lower ones.
|
|
72
|
+
* Operations with lower nonces are effectively stale and should be skipped.
|
|
73
|
+
*/
|
|
74
|
+
export declare function getHighestScNonce(nonces: BigNumber[]): BigNumber | null;
|
|
75
|
+
/**
|
|
76
|
+
* Check if a Security Council operation should be skipped because a higher nonce exists.
|
|
77
|
+
*
|
|
78
|
+
* @param operationNonce - The nonce of the operation being checked
|
|
79
|
+
* @param highestKnownNonce - The highest SC nonce we know about
|
|
80
|
+
* @returns true if this operation should be skipped (superseded by higher nonce)
|
|
81
|
+
*/
|
|
82
|
+
export declare function isScOperationSuperseded(operationNonce: BigNumber, highestKnownNonce: BigNumber | null): boolean;
|
|
68
83
|
//# sourceMappingURL=security-council.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-council.d.ts","sourceRoot":"","sources":["../../src/discovery/security-council.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAa3C;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC;IACT,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC,CAwCD;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAE5E;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,kDAAkD;IAClD,UAAU,EAAE,8BAA8B,EAAE,CAAC;IAC7C,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAEhG;AA0CD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAC3C,0BAA0B,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"security-council.d.ts","sourceRoot":"","sources":["../../src/discovery/security-council.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAa3C;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC;IACT,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC,CAwCD;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAE5E;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,kDAAkD;IAClD,UAAU,EAAE,8BAA8B,EAAE,CAAC;IAC7C,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAEhG;AA0CD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAC3C,0BAA0B,GAAG,IAAI,CA8CnC;AAED;;;;;GAKG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAC5C,iBAAiB,EAAE,MAAM,GACxB,8BAA8B,GAAG,IAAI,CAWvC;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAC3C,8BAA8B,GAAG,IAAI,CAEvC;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI,CAGvE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,SAAS,EACzB,iBAAiB,EAAE,SAAS,GAAG,IAAI,GAClC,OAAO,CAGT"}
|
|
@@ -11,6 +11,8 @@ exports.isSecurityCouncilOperation = isSecurityCouncilOperation;
|
|
|
11
11
|
exports.extractAllSecurityCouncilParams = extractAllSecurityCouncilParams;
|
|
12
12
|
exports.extractSecurityCouncilParamsForOperation = extractSecurityCouncilParamsForOperation;
|
|
13
13
|
exports.extractSecurityCouncilParams = extractSecurityCouncilParams;
|
|
14
|
+
exports.getHighestScNonce = getHighestScNonce;
|
|
15
|
+
exports.isScOperationSuperseded = isScOperationSuperseded;
|
|
14
16
|
const ethers_1 = require("ethers");
|
|
15
17
|
const constants_1 = require("../constants");
|
|
16
18
|
const rpc_utils_1 = require("../utils/rpc-utils");
|
|
@@ -129,24 +131,23 @@ function extractAllSecurityCouncilParams(receipt) {
|
|
|
129
131
|
// This shouldn't happen for SC operations, but guard against it
|
|
130
132
|
return null;
|
|
131
133
|
}
|
|
132
|
-
const operations =
|
|
133
|
-
for (const log of callScheduledLogs) {
|
|
134
|
+
const operations = callScheduledLogs.flatMap((log) => {
|
|
134
135
|
const parsed = abis_1.timelockInterface.parseLog(log);
|
|
135
136
|
const operationId = parsed.args.id;
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
137
|
+
const extracted = extractMembersAndNonceFromCallData(parsed.args.data);
|
|
138
|
+
return extracted
|
|
139
|
+
? [
|
|
140
|
+
{
|
|
141
|
+
members: extracted.members,
|
|
142
|
+
nonce: extracted.nonce,
|
|
143
|
+
timelockAddress: log.address,
|
|
144
|
+
operationId,
|
|
145
|
+
},
|
|
146
|
+
]
|
|
147
|
+
: [];
|
|
148
|
+
});
|
|
149
|
+
if (operations.length === 0)
|
|
148
150
|
return null;
|
|
149
|
-
}
|
|
150
151
|
return {
|
|
151
152
|
operations,
|
|
152
153
|
timelockAddress,
|
|
@@ -172,10 +173,32 @@ function extractSecurityCouncilParamsForOperation(receipt, targetOperationId) {
|
|
|
172
173
|
* for specific operation lookups.
|
|
173
174
|
*/
|
|
174
175
|
function extractSecurityCouncilParams(receipt) {
|
|
175
|
-
|
|
176
|
-
|
|
176
|
+
return extractAllSecurityCouncilParams(receipt)?.operations.at(-1) ?? null;
|
|
177
|
+
}
|
|
178
|
+
// ============================================================================
|
|
179
|
+
// SC Nonce-based Deduplication
|
|
180
|
+
// ============================================================================
|
|
181
|
+
/**
|
|
182
|
+
* Get the highest Security Council nonce from a list of nonces.
|
|
183
|
+
*
|
|
184
|
+
* SC actions have incrementing nonces - higher nonces supersede lower ones.
|
|
185
|
+
* Operations with lower nonces are effectively stale and should be skipped.
|
|
186
|
+
*/
|
|
187
|
+
function getHighestScNonce(nonces) {
|
|
188
|
+
if (nonces.length === 0)
|
|
177
189
|
return null;
|
|
178
|
-
|
|
179
|
-
|
|
190
|
+
return nonces.reduce((max, n) => (n.gt(max) ? n : max), nonces[0]);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Check if a Security Council operation should be skipped because a higher nonce exists.
|
|
194
|
+
*
|
|
195
|
+
* @param operationNonce - The nonce of the operation being checked
|
|
196
|
+
* @param highestKnownNonce - The highest SC nonce we know about
|
|
197
|
+
* @returns true if this operation should be skipped (superseded by higher nonce)
|
|
198
|
+
*/
|
|
199
|
+
function isScOperationSuperseded(operationNonce, highestKnownNonce) {
|
|
200
|
+
if (!highestKnownNonce)
|
|
201
|
+
return false;
|
|
202
|
+
return operationNonce.lt(highestKnownNonce);
|
|
180
203
|
}
|
|
181
204
|
//# sourceMappingURL=security-council.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-council.js","sourceRoot":"","sources":["../../src/discovery/security-council.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAsBH,gDAiDC;AAKD,8EAEC;AA0BD,gEAEC;AAgDD,
|
|
1
|
+
{"version":3,"file":"security-council.js","sourceRoot":"","sources":["../../src/discovery/security-council.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timelock-discovery.d.ts","sourceRoot":"","sources":["../../src/discovery/timelock-discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,UAAU,EACX,MAAM,UAAU,CAAC;AAgBlB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAgCD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"timelock-discovery.d.ts","sourceRoot":"","sources":["../../src/discovery/timelock-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,27 +83,17 @@ async function getTimelockOperationState(timelockAddress, operationId, provider)
|
|
|
83
83
|
const isReady = results[2] ?? false;
|
|
84
84
|
const isDone = results[3] ?? false;
|
|
85
85
|
const timestamp = results[4] ?? ethers_1.BigNumber.from(0);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
state = "PENDING";
|
|
98
|
-
}
|
|
99
|
-
return {
|
|
100
|
-
state,
|
|
101
|
-
isOperation,
|
|
102
|
-
isPending,
|
|
103
|
-
isReady,
|
|
104
|
-
isDone,
|
|
105
|
-
timestamp,
|
|
106
|
-
};
|
|
86
|
+
// Determine state: priority is DONE > READY > PENDING > UNKNOWN
|
|
87
|
+
const state = !isOperation
|
|
88
|
+
? "UNKNOWN"
|
|
89
|
+
: isDone
|
|
90
|
+
? "DONE"
|
|
91
|
+
: isReady
|
|
92
|
+
? "READY"
|
|
93
|
+
: isPending
|
|
94
|
+
? "PENDING"
|
|
95
|
+
: "UNKNOWN";
|
|
96
|
+
return { state, isOperation, isPending, isReady, isDone, timestamp };
|
|
107
97
|
}
|
|
108
98
|
/**
|
|
109
99
|
* Parse CallScheduled event data
|
|
@@ -283,35 +273,24 @@ async function findAllCallScheduledInTx(txHash, provider, operationId) {
|
|
|
283
273
|
if (!receipt) {
|
|
284
274
|
return [];
|
|
285
275
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
// If operationId is specified, only include events with that ID
|
|
292
|
-
// This distinguishes a batch (same ID, different index) from
|
|
293
|
-
// multiple separate operations (different IDs)
|
|
294
|
-
if (!operationId || (0, chain_1.addressEquals)(parsed.operationId, operationId)) {
|
|
295
|
-
results.push(parsed);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
276
|
+
// Filter CallScheduled events, parse them, and filter by operationId if specified
|
|
277
|
+
const results = receipt.logs
|
|
278
|
+
.filter((log) => log.topics[0] === constants_1.EVENT_TOPICS.CALL_SCHEDULED)
|
|
279
|
+
.map(parseCallScheduledEvent)
|
|
280
|
+
.filter((parsed) => parsed !== null && (!operationId || (0, chain_1.addressEquals)(parsed.operationId, operationId)));
|
|
300
281
|
// Sort by index to maintain order
|
|
301
282
|
return results.sort((a, b) => a.index.toNumber() - b.index.toNumber());
|
|
302
283
|
}
|
|
284
|
+
/** Lookup map: governor address → L2 timelock address */
|
|
285
|
+
const GOVERNOR_TO_TIMELOCK = new Map([
|
|
286
|
+
[constants_1.ADDRESSES.CONSTITUTIONAL_GOVERNOR.toLowerCase(), constants_1.ADDRESSES.L2_CONSTITUTIONAL_TIMELOCK],
|
|
287
|
+
[constants_1.ADDRESSES.NON_CONSTITUTIONAL_GOVERNOR.toLowerCase(), constants_1.ADDRESSES.L2_NON_CONSTITUTIONAL_TIMELOCK],
|
|
288
|
+
]);
|
|
303
289
|
/**
|
|
304
290
|
* Get the L2 timelock address for a governor type
|
|
305
291
|
*/
|
|
306
292
|
function getL2TimelockForGovernor(governorAddress) {
|
|
307
|
-
|
|
308
|
-
if (normalized === constants_1.ADDRESSES.CONSTITUTIONAL_GOVERNOR.toLowerCase()) {
|
|
309
|
-
return constants_1.ADDRESSES.L2_CONSTITUTIONAL_TIMELOCK;
|
|
310
|
-
}
|
|
311
|
-
if (normalized === constants_1.ADDRESSES.NON_CONSTITUTIONAL_GOVERNOR.toLowerCase()) {
|
|
312
|
-
return constants_1.ADDRESSES.L2_NON_CONSTITUTIONAL_TIMELOCK;
|
|
313
|
-
}
|
|
314
|
-
return null;
|
|
293
|
+
return GOVERNOR_TO_TIMELOCK.get(governorAddress.toLowerCase()) ?? null;
|
|
315
294
|
}
|
|
316
295
|
/** Discover timelock operations in a block range */
|
|
317
296
|
async function discoverTimelockOps(timelockAddress, fromBlock, toBlock, provider, options = {}) {
|
|
@@ -320,20 +299,21 @@ async function discoverTimelockOps(timelockAddress, fromBlock, toBlock, provider
|
|
|
320
299
|
// Use chain-appropriate default chunk size
|
|
321
300
|
const defaultChunkSize = isL1Timelock(timelockAddress) ? constants_1.CHUNK_SIZES.L1 : constants_1.CHUNK_SIZES.L2;
|
|
322
301
|
const { logs } = await (0, log_search_1.searchLogsInChunks)(provider, { address: timelockAddress, topics: [constants_1.EVENT_TOPICS.CALL_SCHEDULED], fromBlock, toBlock }, { chunkSize: options.chunkSize ?? defaultChunkSize });
|
|
302
|
+
// Deduplicate by operationId (batch operations have multiple calls with same operationId)
|
|
323
303
|
const seen = new Set();
|
|
324
|
-
return logs
|
|
304
|
+
return logs
|
|
305
|
+
.filter((log) => {
|
|
325
306
|
const operationId = log.topics[1];
|
|
326
307
|
if (seen.has(operationId))
|
|
327
|
-
return
|
|
308
|
+
return false;
|
|
328
309
|
seen.add(operationId);
|
|
329
|
-
return
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
});
|
|
310
|
+
return true;
|
|
311
|
+
})
|
|
312
|
+
.map((log) => ({
|
|
313
|
+
timelockAddress,
|
|
314
|
+
operationId: log.topics[1],
|
|
315
|
+
scheduledTxHash: log.transactionHash,
|
|
316
|
+
queueBlock: log.blockNumber,
|
|
317
|
+
}));
|
|
338
318
|
}
|
|
339
319
|
//# sourceMappingURL=timelock-discovery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timelock-discovery.js","sourceRoot":"","sources":["../../src/discovery/timelock-discovery.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA4BH,8CAEC;AAKD,oCAEC;AAkDD,
|
|
1
|
+
{"version":3,"file":"timelock-discovery.js","sourceRoot":"","sources":["../../src/discovery/timelock-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../src/election/details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAK3C,OAAO,EACL,sBAAsB,EACtB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../src/election/details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAK3C,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EAKrB,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAoClB,wBAAsB,yBAAyB,CAC7C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,sBAAsB,GAAE,MAA4C,GACnE,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAkCxC;AAED,wBAAsB,wBAAwB,CAC5C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,qBAAqB,GAAE,MAA2C,EAClE,sBAAsB,GAAE,MAA4C,GACnE,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAmFvC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,sBAAsB,GAC9B,0BAA0B,CAe5B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,GAAG,yBAAyB,CAShG"}
|
package/dist/election/details.js
CHANGED
|
@@ -14,6 +14,30 @@ const contracts_1 = require("./contracts");
|
|
|
14
14
|
const proposal_ids_1 = require("./proposal-ids");
|
|
15
15
|
const participants_1 = require("./participants");
|
|
16
16
|
const log = logger_1.loggers.election;
|
|
17
|
+
// ============================================================================
|
|
18
|
+
// Serialization Helpers
|
|
19
|
+
// ============================================================================
|
|
20
|
+
function serializeNominee(n) {
|
|
21
|
+
return {
|
|
22
|
+
address: n.address,
|
|
23
|
+
votesReceived: n.votesReceived.toString(),
|
|
24
|
+
isExcluded: n.isExcluded,
|
|
25
|
+
nominatedAtBlock: n.nominatedAtBlock,
|
|
26
|
+
excludedAtBlock: n.excludedAtBlock,
|
|
27
|
+
exclusionTxHash: n.exclusionTxHash,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function serializeMemberNominee(n) {
|
|
31
|
+
return {
|
|
32
|
+
address: n.address,
|
|
33
|
+
weightReceived: n.weightReceived.toString(),
|
|
34
|
+
isWinner: n.isWinner,
|
|
35
|
+
rank: n.rank,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
// ============================================================================
|
|
39
|
+
// Election Details Functions
|
|
40
|
+
// ============================================================================
|
|
17
41
|
async function getNomineeElectionDetails(electionIndex, provider, nomineeGovernorAddress = constants_1.ADDRESSES.ELECTION_NOMINEE_GOVERNOR) {
|
|
18
42
|
log("getNomineeElectionDetails for election %d", electionIndex);
|
|
19
43
|
const proposalId = await (0, proposal_ids_1.getElectionProposalId)(electionIndex, provider, nomineeGovernorAddress);
|
|
@@ -107,30 +131,9 @@ function serializeNomineeDetails(details) {
|
|
|
107
131
|
registeredAtBlock: c.registeredAtBlock,
|
|
108
132
|
registrationTxHash: c.registrationTxHash,
|
|
109
133
|
})),
|
|
110
|
-
nominees: details.nominees.map(
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
isExcluded: n.isExcluded,
|
|
114
|
-
nominatedAtBlock: n.nominatedAtBlock,
|
|
115
|
-
excludedAtBlock: n.excludedAtBlock,
|
|
116
|
-
exclusionTxHash: n.exclusionTxHash,
|
|
117
|
-
})),
|
|
118
|
-
compliantNominees: details.compliantNominees.map((n) => ({
|
|
119
|
-
address: n.address,
|
|
120
|
-
votesReceived: n.votesReceived.toString(),
|
|
121
|
-
isExcluded: n.isExcluded,
|
|
122
|
-
nominatedAtBlock: n.nominatedAtBlock,
|
|
123
|
-
excludedAtBlock: n.excludedAtBlock,
|
|
124
|
-
exclusionTxHash: n.exclusionTxHash,
|
|
125
|
-
})),
|
|
126
|
-
excludedNominees: details.excludedNominees.map((n) => ({
|
|
127
|
-
address: n.address,
|
|
128
|
-
votesReceived: n.votesReceived.toString(),
|
|
129
|
-
isExcluded: n.isExcluded,
|
|
130
|
-
nominatedAtBlock: n.nominatedAtBlock,
|
|
131
|
-
excludedAtBlock: n.excludedAtBlock,
|
|
132
|
-
exclusionTxHash: n.exclusionTxHash,
|
|
133
|
-
})),
|
|
134
|
+
nominees: details.nominees.map(serializeNominee),
|
|
135
|
+
compliantNominees: details.compliantNominees.map(serializeNominee),
|
|
136
|
+
excludedNominees: details.excludedNominees.map(serializeNominee),
|
|
134
137
|
quorumThreshold: details.quorumThreshold.toString(),
|
|
135
138
|
targetNomineeCount: details.targetNomineeCount,
|
|
136
139
|
};
|
|
@@ -143,12 +146,7 @@ function serializeMemberDetails(details) {
|
|
|
143
146
|
return {
|
|
144
147
|
proposalId: details.proposalId,
|
|
145
148
|
electionIndex: details.electionIndex,
|
|
146
|
-
nominees: details.nominees.map(
|
|
147
|
-
address: n.address,
|
|
148
|
-
weightReceived: n.weightReceived.toString(),
|
|
149
|
-
isWinner: n.isWinner,
|
|
150
|
-
rank: n.rank,
|
|
151
|
-
})),
|
|
149
|
+
nominees: details.nominees.map(serializeMemberNominee),
|
|
152
150
|
winners: details.winners,
|
|
153
151
|
fullWeightDeadline: details.fullWeightDeadline,
|
|
154
152
|
proposalDeadline: details.proposalDeadline,
|