@gzeoneth/gov-tracker 0.2.1-beta.96de882 → 0.2.1-beta.c266765

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.
Files changed (89) hide show
  1. package/README.md +86 -80
  2. package/dist/abis.d.ts.map +1 -1
  3. package/dist/abis.js +22 -1
  4. package/dist/abis.js.map +1 -1
  5. package/dist/calldata/index.d.ts +1 -1
  6. package/dist/calldata/index.d.ts.map +1 -1
  7. package/dist/calldata/index.js.map +1 -1
  8. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  9. package/dist/calldata/parameter-decoder.js +8 -1
  10. package/dist/calldata/parameter-decoder.js.map +1 -1
  11. package/dist/calldata/signature-lookup.d.ts +17 -2
  12. package/dist/calldata/signature-lookup.d.ts.map +1 -1
  13. package/dist/calldata/signature-lookup.js +20 -2
  14. package/dist/calldata/signature-lookup.js.map +1 -1
  15. package/dist/cli/cli.js +206 -12
  16. package/dist/cli/cli.js.map +1 -1
  17. package/dist/cli/lib/cli.d.ts +11 -1
  18. package/dist/cli/lib/cli.d.ts.map +1 -1
  19. package/dist/cli/lib/cli.js +102 -7
  20. package/dist/cli/lib/cli.js.map +1 -1
  21. package/dist/data/bundled-cache.json +6861 -2502
  22. package/dist/deduplication.d.ts +132 -0
  23. package/dist/deduplication.d.ts.map +1 -0
  24. package/dist/deduplication.js +270 -0
  25. package/dist/deduplication.js.map +1 -0
  26. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  27. package/dist/discovery/governor-discovery.js +2 -1
  28. package/dist/discovery/governor-discovery.js.map +1 -1
  29. package/dist/election.d.ts +141 -1
  30. package/dist/election.d.ts.map +1 -1
  31. package/dist/election.js +505 -88
  32. package/dist/election.js.map +1 -1
  33. package/dist/index.d.ts +25 -4
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +52 -4
  36. package/dist/index.js.map +1 -1
  37. package/dist/stages/builder.d.ts +4 -0
  38. package/dist/stages/builder.d.ts.map +1 -1
  39. package/dist/stages/builder.js +7 -0
  40. package/dist/stages/builder.js.map +1 -1
  41. package/dist/stages/l2-to-l1-message.d.ts +5 -0
  42. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  43. package/dist/stages/l2-to-l1-message.js +73 -7
  44. package/dist/stages/l2-to-l1-message.js.map +1 -1
  45. package/dist/stages/timelock.d.ts.map +1 -1
  46. package/dist/stages/timelock.js +9 -3
  47. package/dist/stages/timelock.js.map +1 -1
  48. package/dist/stages/utils.d.ts +5 -2
  49. package/dist/stages/utils.d.ts.map +1 -1
  50. package/dist/stages/utils.js +14 -6
  51. package/dist/stages/utils.js.map +1 -1
  52. package/dist/stages/voting.d.ts.map +1 -1
  53. package/dist/stages/voting.js +5 -4
  54. package/dist/stages/voting.js.map +1 -1
  55. package/dist/tracker/cache.d.ts.map +1 -1
  56. package/dist/tracker/cache.js +3 -2
  57. package/dist/tracker/cache.js.map +1 -1
  58. package/dist/tracker/discovery.d.ts +39 -8
  59. package/dist/tracker/discovery.d.ts.map +1 -1
  60. package/dist/tracker/discovery.js +141 -12
  61. package/dist/tracker/discovery.js.map +1 -1
  62. package/dist/tracker/execute.d.ts.map +1 -1
  63. package/dist/tracker/execute.js +25 -1
  64. package/dist/tracker/execute.js.map +1 -1
  65. package/dist/tracker.d.ts +24 -4
  66. package/dist/tracker.d.ts.map +1 -1
  67. package/dist/tracker.js +57 -8
  68. package/dist/tracker.js.map +1 -1
  69. package/dist/types/core.d.ts +1 -1
  70. package/dist/types/core.d.ts.map +1 -1
  71. package/dist/types/election.d.ts +88 -0
  72. package/dist/types/election.d.ts.map +1 -1
  73. package/dist/types/index.d.ts +2 -2
  74. package/dist/types/index.d.ts.map +1 -1
  75. package/dist/types/index.js.map +1 -1
  76. package/dist/types/stages.d.ts +21 -2
  77. package/dist/types/stages.d.ts.map +1 -1
  78. package/dist/types/stages.js.map +1 -1
  79. package/dist/types/tracking.d.ts +31 -1
  80. package/dist/types/tracking.d.ts.map +1 -1
  81. package/dist/utils/sanitize.d.ts +28 -0
  82. package/dist/utils/sanitize.d.ts.map +1 -0
  83. package/dist/utils/sanitize.js +52 -0
  84. package/dist/utils/sanitize.js.map +1 -0
  85. package/dist/utils/timing.d.ts +13 -0
  86. package/dist/utils/timing.d.ts.map +1 -1
  87. package/dist/utils/timing.js +35 -0
  88. package/dist/utils/timing.js.map +1 -1
  89. package/package.json +8 -1
package/README.md CHANGED
@@ -4,35 +4,45 @@
4
4
  [![codecov](https://codecov.io/gh/gzeoneth/gov-tracker/graph/badge.svg?token=2WVH8Z82TE)](https://codecov.io/gh/gzeoneth/gov-tracker)
5
5
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
6
6
 
7
- Track and execute Arbitrum DAO governance proposal lifecycle stages.
7
+ Track and execute Arbitrum DAO governance proposal lifecycle stages and Security Council elections.
8
8
 
9
9
  ## Installation
10
10
 
11
11
  ```bash
12
- yarn add @gzeoneth/gov-tracker
12
+ yarn add @gzeoneth/gov-tracker ethers@^5.8.0
13
13
  ```
14
14
 
15
15
  ## Quick Start
16
16
 
17
17
  ```typescript
18
- import { createTracker, ADDRESSES } from "@gzeoneth/gov-tracker";
18
+ import { ethers } from "ethers";
19
+ import { createTracker, findExecutableStage, ADDRESSES } from "@gzeoneth/gov-tracker";
19
20
 
20
21
  // Use StaticJsonRpcProvider for better performance
21
22
  const tracker = createTracker({
22
- l2Provider: new ethers.providers.StaticJsonRpcProvider(ARB1_RPC_URL),
23
- l1Provider: new ethers.providers.StaticJsonRpcProvider(ETH_RPC_URL),
24
- novaProvider: new ethers.providers.StaticJsonRpcProvider(NOVA_RPC),
23
+ l2Provider: new ethers.providers.StaticJsonRpcProvider(process.env.ARB1_RPC),
24
+ l1Provider: new ethers.providers.StaticJsonRpcProvider(process.env.ETH_RPC),
25
+ novaProvider: new ethers.providers.StaticJsonRpcProvider(process.env.NOVA_RPC),
26
+ cachePath: "./gov-tracker-cache.json",
25
27
  });
26
28
 
27
- // Track from governor proposal
28
- const result = await tracker.trackFromGovernor(ADDRESSES.CONSTITUTIONAL_GOVERNOR, proposalId);
29
-
30
- for (const stage of result.stages) {
29
+ // Track from transaction hash
30
+ const results = await tracker.trackByTxHash("0x...");
31
+ for (const stage of results[0].stages) {
31
32
  console.log(`${stage.type}: ${stage.status}`);
32
33
  }
33
34
 
34
- // Track from transaction hash
35
- const results = await tracker.trackByTxHash("0x...");
35
+ // Or track from governor
36
+ const result = await tracker.trackFromGovernor(ADDRESSES.CONSTITUTIONAL_GOVERNOR, proposalId);
37
+
38
+ // Execute ready stages
39
+ const readyStage = findExecutableStage(results[0].stages);
40
+ if (readyStage) {
41
+ const prep = await tracker.prepareTransaction(readyStage);
42
+ if (prep.success) {
43
+ await signer.sendTransaction(prep.prepared);
44
+ }
45
+ }
36
46
  ```
37
47
 
38
48
  ## Stages
@@ -49,89 +59,72 @@ const results = await tracker.trackByTxHash("0x...");
49
59
 
50
60
  Statuses: `NOT_STARTED`, `PENDING`, `READY`, `COMPLETED`, `FAILED`, `SKIPPED`
51
61
 
52
- ## Execution
53
-
54
- ```typescript
55
- import { findExecutableStage } from "@gzeoneth/gov-tracker";
56
-
57
- const readyStage = findExecutableStage(result.stages);
58
- if (readyStage) {
59
- const prepResult = await tracker.prepareTransaction(readyStage);
60
- if (prepResult.success) {
61
- const { to, data, value, chain } = prepResult.prepared;
62
- const tx = await signer.sendTransaction({ to, data, value });
63
- await tx.wait();
64
- }
65
- }
66
- ```
67
-
68
- ## Calldata Decoding & Simulation
69
-
70
- Decode proposal calldata and prepare simulation data for Tenderly, Foundry, or other tools.
71
-
72
- ```typescript
73
- import {
74
- decodeCalldata,
75
- extractAllSimulationsFromDecoded,
76
- getAddressLabel
77
- } from "@gzeoneth/gov-tracker";
78
-
79
- // Decode proposal actions
80
- const stage = result.stages[0]; // PROPOSAL_CREATED
81
- const { calldatas, targets } = stage.data;
82
-
83
- for (let i = 0; i < calldatas.length; i++) {
84
- const decoded = await decodeCalldata(calldatas[i], targets[i], 0, "arb1");
85
-
86
- console.log(`${decoded.signature}`);
87
- console.log(`Target: ${getAddressLabel(targets[i], "arb1")}`);
88
-
89
- // Extract simulation data
90
- const sims = extractAllSimulationsFromDecoded(decoded, "arb1");
91
- for (const sim of sims) {
92
- console.log(`Network: ${sim.simulation.networkId}`);
93
- console.log(`From: ${sim.simulation.from}`);
94
- console.log(`To: ${sim.simulation.to}`);
95
- }
96
- }
97
- ```
98
-
99
- See [Examples](./docs/EXAMPLES.md#calldata-decoding--simulation) for Tenderly and Foundry integration.
100
-
101
62
  ## CLI
102
63
 
103
64
  ```bash
104
- # Track a proposal by transaction hash
65
+ # Track a proposal
105
66
  npx @gzeoneth/gov-tracker track 0x...
106
67
 
107
- # Track AND inspect calldata (new in v0.2.1)
108
- npx @gzeoneth/gov-tracker track 0x... --inspect
109
- npx @gzeoneth/gov-tracker track 0x... -i # shorthand
68
+ # Track AND decode calldata
69
+ npx @gzeoneth/gov-tracker track 0x... -i
110
70
 
111
71
  # Decode calldata only (no tracking)
112
72
  npx @gzeoneth/gov-tracker track 0x... --inspect-only
113
73
 
114
- # Show simulation data for Tenderly/Foundry integration
74
+ # Show simulation data
115
75
  npx @gzeoneth/gov-tracker track 0x... --show-simulation
116
76
 
117
- # Execute ready stages (with shorthands)
77
+ # Execute ready stages
118
78
  npx @gzeoneth/gov-tracker track 0x... -w --private-key $PRIVATE_KEY
119
- npx @gzeoneth/gov-tracker track 0x... -v -p -w --private-key $PRIVATE_KEY # verbose + prepare + write
120
79
 
121
80
  # Discover and track all proposals
122
81
  npx @gzeoneth/gov-tracker run
123
82
 
124
- # Disable caching (useful for one-off checks)
83
+ # Selective tracking (only track specific types)
84
+ npx @gzeoneth/gov-tracker run --track-core # Constitutional proposals only
85
+ npx @gzeoneth/gov-tracker run --track-treasury # Non-constitutional proposals only
86
+ npx @gzeoneth/gov-tracker run --track-elections # Election governors only
87
+ npx @gzeoneth/gov-tracker run --track-timelocks # Direct timelock operations only
88
+
89
+ # Track with elections enabled in run loop
90
+ npx @gzeoneth/gov-tracker run --loop --election
91
+
92
+ # Disable caching
125
93
  npx @gzeoneth/gov-tracker track 0x... --no-cache
94
+
95
+ # Track election creation tx (auto-switches to election view)
96
+ npx @gzeoneth/gov-tracker track 0x82a0baf3...
126
97
  ```
127
98
 
128
- **CLI Shorthands** (v0.2.1+):
129
- - `-v` for `--verbose` - Enable verbose logging
130
- - `-p` for `--prepare` - Prepare transactions for ready stages
131
- - `-w` for `--write` - Execute prepared transactions
132
- - `-i` for `--inspect` - Track AND decode calldata
99
+ **Shorthands:** `-v` (verbose), `-p` (prepare), `-w` (write), `-i` (inspect)
100
+
101
+ **Auto-Switch:** When tracking a `createElection` transaction, the CLI automatically displays election-specific status (phase, cohort, nominees) instead of proposal stages.
133
102
 
134
- **Bundled Cache**: The CLI includes a pre-built cache of completed proposals. On first run, this is copied to your local cache directory, eliminating initial discovery RPC calls. SDK users can access via `getBundledCachePath()` - see [Bundled Cache](./docs/EXAMPLES.md#bundled-cache-bootstrap).
103
+ ### Elections
104
+
105
+ ```bash
106
+ # Check election status (next election, can create)
107
+ npx @gzeoneth/gov-tracker election
108
+
109
+ # List all elections with statuses
110
+ npx @gzeoneth/gov-tracker election --list
111
+
112
+ # Track specific election by index
113
+ npx @gzeoneth/gov-tracker election --track 0
114
+
115
+ # Track with detailed nominee/member info
116
+ npx @gzeoneth/gov-tracker election --track 0 --details -v
117
+
118
+ # Create election or execute phase transition
119
+ npx @gzeoneth/gov-tracker election --track 0 -w --private-key $PRIVATE_KEY
120
+
121
+ # Monitor elections in loop mode
122
+ npx @gzeoneth/gov-tracker election --loop --interval 300
123
+ ```
124
+
125
+ **Election Phases:** `NOT_STARTED` → `NOMINEE_SELECTION` → `VETTING_PERIOD` → `MEMBER_ELECTION` → `PENDING_EXECUTION` → `COMPLETED`
126
+
127
+ **Bundled Cache**: The CLI includes a pre-built cache of completed proposals. On first run, this eliminates initial discovery RPC calls. SDK users can access via `getBundledCachePath()` or direct JSON import - see [Examples](./docs/EXAMPLES.md#bundled-cache-bootstrap).
135
128
 
136
129
  ## Environment
137
130
 
@@ -142,9 +135,23 @@ NOVA_RPC=https://nova.arbitrum.io/rpc
142
135
  PRIVATE_KEY=0x... # For execution
143
136
  ```
144
137
 
138
+ The CLI warns when using default public RPCs. For production, set these environment variables.
139
+
140
+ ## Security & Privacy
141
+
142
+ **External API Lookups**: When decoding calldata, unknown function selectors are looked up via [4byte.directory](https://www.4byte.directory/). To disable:
143
+
144
+ ```bash
145
+ DISABLE_4BYTE_LOOKUP=1 npx @gzeoneth/gov-tracker track 0x...
146
+ ```
147
+
148
+ ```typescript
149
+ import { lookupSignature } from "@gzeoneth/gov-tracker";
150
+ const result = await lookupSignature("0x12345678", { disableApiLookup: true });
151
+ ```
152
+
145
153
  ## Documentation
146
154
 
147
- - [Getting Started](./docs/GETTING_STARTED.md) - Installation and basic usage
148
155
  - [API Reference](./docs/API.md) - Complete API documentation
149
156
  - [Examples](./docs/EXAMPLES.md) - Common patterns and use cases
150
157
  - [Architecture](./docs/ARCHITECTURE.md) - SDK internals and design
@@ -155,12 +162,10 @@ PRIVATE_KEY=0x... # For execution
155
162
  yarn build # Compile TypeScript
156
163
  yarn test # Run fast tests (no RPC)
157
164
  yarn test:coverage # Run tests with coverage
158
- yarn test:coverage:fork # Run fork tests with coverage (requires archive RPC)
159
- yarn test:coverage:all # Merge all coverage reports
160
165
  yarn lint # Run ESLint
161
166
  ```
162
167
 
163
- See [CONTRIBUTING.md](./CONTRIBUTING.md) for development workflow and publishing instructions.
168
+ See [CONTRIBUTING.md](./CONTRIBUTING.md) for development workflow.
164
169
 
165
170
  ## Terminology
166
171
 
@@ -168,7 +173,8 @@ See [CONTRIBUTING.md](./CONTRIBUTING.md) for development workflow and publishing
168
173
  |----------|-------------|
169
174
  | Constitutional | Core proposals requiring L1 round-trip (8-day L2 timelock) |
170
175
  | Non-Constitutional | Treasury proposals, L2-only execution (3-day L2 timelock) |
171
- | Election | Security Council election proposals |
176
+ | Election | Security Council election with 6-phase lifecycle |
177
+ | Cohort | Security Council has two cohorts (0 and 1) that alternate elections |
172
178
 
173
179
  See [Arbitrum governance docs](https://docs.arbitrum.foundation/concepts/lifecycle-anatomy-aip-proposal) for more details.
174
180
 
@@ -1 +1 @@
1
- {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,YAAY,UAmBxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,UAIpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,UAiBxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,UAOxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,UAErB,CAAC;AA0CF;;GAEG;AACH,eAAO,MAAM,6BAA6B,UAazC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,UAIxC,CAAC;AAeF,eAAO,MAAM,iBAAiB,wBAA2C,CAAC;AAC1E,eAAO,MAAM,iBAAiB,wBAA2C,CAAC;AAC1E,eAAO,MAAM,eAAe,wBAA0C,CAAC;AACvE,eAAO,MAAM,eAAe,wBAAyC,CAAC;AACtE,eAAO,MAAM,sBAAsB,wBAAiD,CAAC;AACrF,eAAO,MAAM,qBAAqB,wBAAmD,CAAC;AACtF,eAAO,MAAM,wBAAwB,wBAAmD,CAAC;AACzF,eAAO,MAAM,yBAAyB,wBAAqD,CAAC;AAC5F,eAAO,MAAM,wBAAwB,wBAAuD,CAAC;AAC7F,eAAO,MAAM,uBAAuB,wBAAsD,CAAC"}
1
+ {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,YAAY,UAmBxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,UAIpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,UAiBxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,UAOxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,UAErB,CAAC;AA0CF;;GAEG;AACH,eAAO,MAAM,6BAA6B,UAwBzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,UAcxC,CAAC;AAeF,eAAO,MAAM,iBAAiB,wBAA2C,CAAC;AAC1E,eAAO,MAAM,iBAAiB,wBAA2C,CAAC;AAC1E,eAAO,MAAM,eAAe,wBAA0C,CAAC;AACvE,eAAO,MAAM,eAAe,wBAAyC,CAAC;AACtE,eAAO,MAAM,sBAAsB,wBAAiD,CAAC;AACrF,eAAO,MAAM,qBAAqB,wBAAmD,CAAC;AACtF,eAAO,MAAM,wBAAwB,wBAAmD,CAAC;AACzF,eAAO,MAAM,yBAAyB,wBAAqD,CAAC;AAC5F,eAAO,MAAM,wBAAwB,wBAAuD,CAAC;AAC7F,eAAO,MAAM,uBAAuB,wBAAsD,CAAC"}
package/dist/abis.js CHANGED
@@ -128,6 +128,17 @@ exports.NOMINEE_ELECTION_GOVERNOR_ABI = [
128
128
  "function state(uint256 proposalId) view returns (uint8)",
129
129
  "function getProposeArgs(uint256 electionIndex) view returns (address[], uint256[], bytes[], string)",
130
130
  "function hashProposal(address[] targets, uint256[] values, bytes[] calldatas, bytes32 descriptionHash) view returns (bytes32)",
131
+ // Detailed nominee tracking
132
+ "function nominees(uint256 proposalId) view returns (address[])",
133
+ "function compliantNominees(uint256 proposalId) view returns (address[])",
134
+ "function votesReceived(uint256 proposalId, address contender) view returns (uint256)",
135
+ "function isExcluded(uint256 proposalId, address nominee) view returns (bool)",
136
+ "function quorum(uint256 blockNumber) view returns (uint256)",
137
+ // Events
138
+ "event ContenderAdded(uint256 indexed proposalId, address indexed contender)",
139
+ "event NewNominee(uint256 indexed proposalId, address indexed nominee)",
140
+ "event NomineeExcluded(uint256 indexed proposalId, address indexed nominee)",
141
+ "event VoteCastForContender(uint256 indexed proposalId, address indexed voter, address indexed contender, uint256 votes, uint256 totalUsedVotes, uint256 usableVotes)",
131
142
  ];
132
143
  /**
133
144
  * SecurityCouncilMemberElectionGovernor ABI
@@ -135,7 +146,17 @@ exports.NOMINEE_ELECTION_GOVERNOR_ABI = [
135
146
  exports.MEMBER_ELECTION_GOVERNOR_ABI = [
136
147
  "function state(uint256 proposalId) view returns (uint8)",
137
148
  "function proposalDeadline(uint256 proposalId) view returns (uint256)",
138
- "function electionIndexToProposalId(uint256 electionIndex) view returns (uint256)",
149
+ "function proposalSnapshot(uint256 proposalId) view returns (uint256)",
150
+ // From ElectionGovernor base - used to compute proposal ID
151
+ "function getProposeArgs(uint256 electionIndex) view returns (address[], uint256[], bytes[], string)",
152
+ "function hashProposal(address[] targets, uint256[] values, bytes[] calldatas, bytes32 descriptionHash) view returns (bytes32)",
153
+ // Detailed member election tracking
154
+ "function weightReceived(uint256 proposalId, address nominee) view returns (uint256)",
155
+ "function topNominees(uint256 proposalId) view returns (address[])",
156
+ "function fullWeightVotingDeadline(uint256 proposalId) view returns (uint256)",
157
+ "function fullWeightDuration() view returns (uint256)",
158
+ // Events
159
+ "event VoteCastForNominee(address indexed voter, uint256 indexed proposalId, address indexed nominee, uint256 votes, uint256 weight, uint256 totalUsedVotes, uint256 usableVotes, uint256 weightReceived)",
139
160
  ];
140
161
  /**
141
162
  * ProposalCreated event signature for parsing
package/dist/abis.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abis.js","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abis.js","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * and address utilities.
6
6
  */
7
7
  export { decodeCalldata, decodeCalldataArray, extractCalldataFromStage } from "./decoder";
8
- export { lookupSignature, lookupLocalSignature } from "./signature-lookup";
8
+ export { lookupSignature, lookupLocalSignature, LookupSignatureOptions } from "./signature-lookup";
9
9
  export { parseParamTypes, isLikelyCalldata, formatDecodedValue, getAddressLabel, } from "./parameter-decoder";
10
10
  export { RETRYABLE_TICKET_MAGIC, isRetryableTicketMagic, decodeRetryableTicket, getRetryableChainName, } from "./retryable-ticket";
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calldata/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAG1F,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calldata/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAG1F,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGnG,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/calldata/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,8BAA8B;AAC9B,qCAA0F;AAAjF,yGAAA,cAAc,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,mHAAA,wBAAwB,OAAA;AAEtE,mBAAmB;AACnB,uDAA2E;AAAlE,mHAAA,eAAe,OAAA;AAAE,wHAAA,oBAAoB,OAAA;AAE9C,0CAA0C;AAC1C,yDAK6B;AAJ3B,oHAAA,eAAe,OAAA;AACf,qHAAA,gBAAgB,OAAA;AAChB,uHAAA,kBAAkB,OAAA;AAClB,oHAAA,eAAe,OAAA;AAGjB,mBAAmB;AACnB,uDAK4B;AAJ1B,0HAAA,sBAAsB,OAAA;AACtB,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AACrB,yHAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/calldata/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,8BAA8B;AAC9B,qCAA0F;AAAjF,yGAAA,cAAc,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,mHAAA,wBAAwB,OAAA;AAEtE,mBAAmB;AACnB,uDAAmG;AAA1F,mHAAA,eAAe,OAAA;AAAE,wHAAA,oBAAoB,OAAA;AAE9C,0CAA0C;AAC1C,yDAK6B;AAJ3B,oHAAA,eAAe,OAAA;AACf,qHAAA,gBAAgB,OAAA;AAChB,uHAAA,kBAAkB,OAAA;AAClB,oHAAA,eAAe,OAAA;AAGjB,mBAAmB;AACnB,uDAK4B;AAJ1B,0HAAA,sBAAsB,OAAA;AACtB,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AACrB,yHAAA,qBAAqB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-decoder.d.ts","sourceRoot":"","sources":["../../src/calldata/parameter-decoder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAgEtC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG7F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAmCvE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,KAAK,GAClB;IAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;CAAE,GAAG,IAAI,CAiDrE"}
1
+ {"version":3,"file":"parameter-decoder.d.ts","sourceRoot":"","sources":["../../src/calldata/parameter-decoder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAgEtC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG7F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAmCvE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,KAAK,GAClB;IAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;CAAE,GAAG,IAAI,CAuDrE"}
@@ -153,7 +153,14 @@ function decodeParameters(calldata, signature, chainContext) {
153
153
  const fragment = iface.getFunction(signature);
154
154
  const inputs = fragment.inputs;
155
155
  // Decode using Interface - handles selector automatically
156
- const decoded = iface.decodeFunctionData(fragment, calldata);
156
+ // Wrapped in try/catch to handle malformed calldata gracefully
157
+ let decoded;
158
+ try {
159
+ decoded = iface.decodeFunctionData(fragment, calldata);
160
+ }
161
+ catch {
162
+ return null;
163
+ }
157
164
  // Format into DecodedParameter array
158
165
  const params = inputs.map((paramType, index) => {
159
166
  const rawValue = decoded[index];
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-decoder.js","sourceRoot":"","sources":["../../src/calldata/parameter-decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameter-decoder.js","sourceRoot":"","sources":["../../src/calldata/parameter-decoder.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,9 @@
3
3
  *
4
4
  * Resolves 4-byte function selectors to full function signatures.
5
5
  * Uses local registry first, then falls back to 4byte.directory API.
6
+ *
7
+ * Privacy note: Set DISABLE_4BYTE_LOOKUP=1 to prevent external API calls.
8
+ * When enabled, only local signatures will be used.
6
9
  */
7
10
  /**
8
11
  * Look up function signature in local registry
@@ -11,17 +14,29 @@
11
14
  * @returns The function signature if found, null otherwise
12
15
  */
13
16
  export declare function lookupLocalSignature(selector: string): string | null;
17
+ /**
18
+ * Options for signature lookup
19
+ */
20
+ export interface LookupSignatureOptions {
21
+ /**
22
+ * Disable external 4byte.directory API lookup.
23
+ * When true, only local signatures will be used.
24
+ * Can also be disabled globally via DISABLE_4BYTE_LOOKUP=1 env var.
25
+ */
26
+ disableApiLookup?: boolean;
27
+ }
14
28
  /**
15
29
  * Look up function signature from all sources
16
30
  *
17
31
  * Priority:
18
32
  * 1. Local registry (instant)
19
- * 2. 4byte.directory API (with caching)
33
+ * 2. 4byte.directory API (with caching) - unless disabled
20
34
  *
21
35
  * @param selector - The 4-byte function selector (e.g., "0x8f2a0bb0")
36
+ * @param options - Optional configuration for the lookup
22
37
  * @returns Object with signature and source, or null signature if not found
23
38
  */
24
- export declare function lookupSignature(selector: string): Promise<{
39
+ export declare function lookupSignature(selector: string, options?: LookupSignatureOptions): Promise<{
25
40
  signature: string | null;
26
41
  source: "local" | "api" | "failed";
27
42
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"signature-lookup.d.ts","sourceRoot":"","sources":["../../src/calldata/signature-lookup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoEH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpE;AAmDD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;CAAE,CAAC,CAc3E"}
1
+ {"version":3,"file":"signature-lookup.d.ts","sourceRoot":"","sources":["../../src/calldata/signature-lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA4EH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpE;AAmDD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;CAAE,CAAC,CAsB3E"}
@@ -4,6 +4,9 @@
4
4
  *
5
5
  * Resolves 4-byte function selectors to full function signatures.
6
6
  * Uses local registry first, then falls back to 4byte.directory API.
7
+ *
8
+ * Privacy note: Set DISABLE_4BYTE_LOOKUP=1 to prevent external API calls.
9
+ * When enabled, only local signatures will be used.
7
10
  */
8
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
9
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -13,6 +16,13 @@ exports.lookupLocalSignature = lookupLocalSignature;
13
16
  exports.lookupSignature = lookupSignature;
14
17
  const debug_1 = __importDefault(require("debug"));
15
18
  const debug = (0, debug_1.default)("gov-tracker:calldata");
19
+ /**
20
+ * Check if 4byte.directory API lookups are disabled via environment variable.
21
+ * When disabled, only local signatures will be used (no external API calls).
22
+ */
23
+ function is4byteLookupDisabled() {
24
+ return process.env.DISABLE_4BYTE_LOOKUP === "1";
25
+ }
16
26
  /**
17
27
  * Local registry of common governance function signatures
18
28
  * Priority 1: Checked before API lookup
@@ -120,18 +130,26 @@ async function lookup4byteDirectory(selector) {
120
130
  *
121
131
  * Priority:
122
132
  * 1. Local registry (instant)
123
- * 2. 4byte.directory API (with caching)
133
+ * 2. 4byte.directory API (with caching) - unless disabled
124
134
  *
125
135
  * @param selector - The 4-byte function selector (e.g., "0x8f2a0bb0")
136
+ * @param options - Optional configuration for the lookup
126
137
  * @returns Object with signature and source, or null signature if not found
127
138
  */
128
- async function lookupSignature(selector) {
139
+ async function lookupSignature(selector, options) {
129
140
  // Try local registry first
130
141
  const localResult = lookupLocalSignature(selector);
131
142
  if (localResult) {
132
143
  return { signature: localResult, source: "local" };
133
144
  }
145
+ // Check if external API lookups are disabled (via option or env var)
146
+ if (options?.disableApiLookup || is4byteLookupDisabled()) {
147
+ const reason = options?.disableApiLookup ? "option" : "DISABLE_4BYTE_LOOKUP env var";
148
+ debug("4byte.directory lookup disabled via %s for selector: %s", reason, selector);
149
+ return { signature: null, source: "failed" };
150
+ }
134
151
  // Fall back to 4byte.directory API
152
+ debug("Looking up selector via 4byte.directory API: %s", selector);
135
153
  const apiResult = await lookup4byteDirectory(selector);
136
154
  if (apiResult) {
137
155
  return { signature: apiResult, source: "api" };
@@ -1 +1 @@
1
- {"version":3,"file":"signature-lookup.js","sourceRoot":"","sources":["../../src/calldata/signature-lookup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signature-lookup.js","sourceRoot":"","sources":["../../src/calldata/signature-lookup.ts"],"names":[],"mappings":"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"}