@gzeoneth/gov-tracker 0.1.2 → 0.2.0-1

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 (193) hide show
  1. package/README.md +3 -0
  2. package/dist/abis.d.ts +0 -32
  3. package/dist/abis.d.ts.map +1 -1
  4. package/dist/abis.js +17 -17
  5. package/dist/abis.js.map +1 -1
  6. package/dist/calldata/decoder.d.ts +12 -3
  7. package/dist/calldata/decoder.d.ts.map +1 -1
  8. package/dist/calldata/decoder.js +56 -9
  9. package/dist/calldata/decoder.js.map +1 -1
  10. package/dist/calldata/index.d.ts +4 -7
  11. package/dist/calldata/index.d.ts.map +1 -1
  12. package/dist/calldata/index.js +5 -19
  13. package/dist/calldata/index.js.map +1 -1
  14. package/dist/calldata/parameter-decoder.d.ts +11 -2
  15. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  16. package/dist/calldata/parameter-decoder.js +67 -8
  17. package/dist/calldata/parameter-decoder.js.map +1 -1
  18. package/dist/calldata/retryable-ticket.d.ts +1 -17
  19. package/dist/calldata/retryable-ticket.d.ts.map +1 -1
  20. package/dist/calldata/retryable-ticket.js +10 -17
  21. package/dist/calldata/retryable-ticket.js.map +1 -1
  22. package/dist/calldata/signature-lookup.d.ts +0 -11
  23. package/dist/calldata/signature-lookup.d.ts.map +1 -1
  24. package/dist/calldata/signature-lookup.js +0 -8
  25. package/dist/calldata/signature-lookup.js.map +1 -1
  26. package/dist/cli/lib/cli.d.ts +1 -3
  27. package/dist/cli/lib/cli.d.ts.map +1 -1
  28. package/dist/cli/lib/cli.js +12 -27
  29. package/dist/cli/lib/cli.js.map +1 -1
  30. package/dist/cli/lib/election-check.d.ts +2 -2
  31. package/dist/cli/lib/election-check.d.ts.map +1 -1
  32. package/dist/cli/lib/election-check.js.map +1 -1
  33. package/dist/cli/lib/json-state.d.ts +2 -29
  34. package/dist/cli/lib/json-state.d.ts.map +1 -1
  35. package/dist/cli/lib/json-state.js +12 -56
  36. package/dist/cli/lib/json-state.js.map +1 -1
  37. package/dist/cli/monitor.js +1 -2
  38. package/dist/cli/monitor.js.map +1 -1
  39. package/dist/constants.d.ts +41 -7
  40. package/dist/constants.d.ts.map +1 -1
  41. package/dist/constants.js +64 -4
  42. package/dist/constants.js.map +1 -1
  43. package/dist/discovery/timelock-discovery.js +1 -1
  44. package/dist/discovery/timelock-discovery.js.map +1 -1
  45. package/dist/election.d.ts.map +1 -1
  46. package/dist/election.js +7 -4
  47. package/dist/election.js.map +1 -1
  48. package/dist/index.d.ts +10 -8
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +35 -26
  51. package/dist/index.js.map +1 -1
  52. package/dist/simulation/index.d.ts +3 -4
  53. package/dist/simulation/index.d.ts.map +1 -1
  54. package/dist/simulation/index.js +3 -9
  55. package/dist/simulation/index.js.map +1 -1
  56. package/dist/simulation/simulation-data.d.ts +6 -31
  57. package/dist/simulation/simulation-data.d.ts.map +1 -1
  58. package/dist/simulation/simulation-data.js +25 -58
  59. package/dist/simulation/simulation-data.js.map +1 -1
  60. package/dist/stages/{stage-builder.d.ts → builder.d.ts} +14 -9
  61. package/dist/stages/builder.d.ts.map +1 -0
  62. package/dist/stages/{stage-builder.js → builder.js} +19 -5
  63. package/dist/stages/builder.js.map +1 -0
  64. package/dist/stages/l2-to-l1-message.d.ts +3 -3
  65. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  66. package/dist/stages/l2-to-l1-message.js +17 -17
  67. package/dist/stages/l2-to-l1-message.js.map +1 -1
  68. package/dist/stages/proposal-created.d.ts +2 -2
  69. package/dist/stages/proposal-created.d.ts.map +1 -1
  70. package/dist/stages/proposal-created.js +5 -5
  71. package/dist/stages/proposal-created.js.map +1 -1
  72. package/dist/stages/proposal-queued.d.ts +2 -2
  73. package/dist/stages/proposal-queued.d.ts.map +1 -1
  74. package/dist/stages/proposal-queued.js +11 -11
  75. package/dist/stages/proposal-queued.js.map +1 -1
  76. package/dist/stages/retryables.d.ts +7 -7
  77. package/dist/stages/retryables.d.ts.map +1 -1
  78. package/dist/stages/retryables.js +75 -61
  79. package/dist/stages/retryables.js.map +1 -1
  80. package/dist/stages/timelock.d.ts +3 -24
  81. package/dist/stages/timelock.d.ts.map +1 -1
  82. package/dist/stages/timelock.js +47 -39
  83. package/dist/stages/timelock.js.map +1 -1
  84. package/dist/stages/{base.d.ts → utils.d.ts} +78 -35
  85. package/dist/stages/utils.d.ts.map +1 -0
  86. package/dist/stages/{base.js → utils.js} +211 -63
  87. package/dist/stages/utils.js.map +1 -0
  88. package/dist/stages/voting.d.ts +2 -2
  89. package/dist/stages/voting.d.ts.map +1 -1
  90. package/dist/stages/voting.js +2 -2
  91. package/dist/stages/voting.js.map +1 -1
  92. package/dist/tracker/cache.d.ts +104 -0
  93. package/dist/tracker/cache.d.ts.map +1 -0
  94. package/dist/tracker/cache.js +287 -0
  95. package/dist/tracker/cache.js.map +1 -0
  96. package/dist/tracker/execute.js +9 -9
  97. package/dist/tracker/execute.js.map +1 -1
  98. package/dist/tracker/pipeline.d.ts +3 -32
  99. package/dist/tracker/pipeline.d.ts.map +1 -1
  100. package/dist/tracker/pipeline.js +40 -43
  101. package/dist/tracker/pipeline.js.map +1 -1
  102. package/dist/tracker/query.js +4 -4
  103. package/dist/tracker/query.js.map +1 -1
  104. package/dist/tracker/state.d.ts +88 -81
  105. package/dist/tracker/state.d.ts.map +1 -1
  106. package/dist/tracker/state.js +241 -264
  107. package/dist/tracker/state.js.map +1 -1
  108. package/dist/tracker.d.ts +4 -4
  109. package/dist/tracker.d.ts.map +1 -1
  110. package/dist/tracker.js +24 -22
  111. package/dist/tracker.js.map +1 -1
  112. package/dist/types/calldata.d.ts +4 -6
  113. package/dist/types/calldata.d.ts.map +1 -1
  114. package/dist/types/core.d.ts +36 -34
  115. package/dist/types/core.d.ts.map +1 -1
  116. package/dist/types/core.js +33 -0
  117. package/dist/types/core.js.map +1 -1
  118. package/dist/types/cross-chain.d.ts +5 -61
  119. package/dist/types/cross-chain.d.ts.map +1 -1
  120. package/dist/types/election.d.ts +3 -6
  121. package/dist/types/election.d.ts.map +1 -1
  122. package/dist/types/index.d.ts +7 -7
  123. package/dist/types/index.d.ts.map +1 -1
  124. package/dist/types/index.js +6 -2
  125. package/dist/types/index.js.map +1 -1
  126. package/dist/types/simulation.d.ts +5 -7
  127. package/dist/types/simulation.d.ts.map +1 -1
  128. package/dist/types/stages.d.ts +50 -32
  129. package/dist/types/stages.d.ts.map +1 -1
  130. package/dist/types/stages.js +10 -1
  131. package/dist/types/stages.js.map +1 -1
  132. package/dist/types/tracking.d.ts +3 -30
  133. package/dist/types/tracking.d.ts.map +1 -1
  134. package/dist/utils/chain.d.ts +7 -3
  135. package/dist/utils/chain.d.ts.map +1 -1
  136. package/dist/utils/chain.js +13 -9
  137. package/dist/utils/chain.js.map +1 -1
  138. package/dist/utils/logger.d.ts +9 -3
  139. package/dist/utils/logger.d.ts.map +1 -1
  140. package/dist/utils/logger.js +53 -19
  141. package/dist/utils/logger.js.map +1 -1
  142. package/dist/utils/rpc-utils.d.ts +7 -8
  143. package/dist/utils/rpc-utils.d.ts.map +1 -1
  144. package/dist/utils/rpc-utils.js +20 -2
  145. package/dist/utils/rpc-utils.js.map +1 -1
  146. package/dist/utils/salt-computation.d.ts.map +1 -1
  147. package/dist/utils/salt-computation.js +2 -3
  148. package/dist/utils/salt-computation.js.map +1 -1
  149. package/dist/utils/stage-metadata.d.ts +2 -2
  150. package/dist/utils/stage-metadata.d.ts.map +1 -1
  151. package/dist/utils/stage-metadata.js +5 -5
  152. package/dist/utils/stage-metadata.js.map +1 -1
  153. package/package.json +9 -5
  154. package/dist/calldata/address-utils.d.ts +0 -23
  155. package/dist/calldata/address-utils.d.ts.map +0 -1
  156. package/dist/calldata/address-utils.js +0 -84
  157. package/dist/calldata/address-utils.js.map +0 -1
  158. package/dist/calldata/extraction.d.ts +0 -17
  159. package/dist/calldata/extraction.d.ts.map +0 -1
  160. package/dist/calldata/extraction.js +0 -56
  161. package/dist/calldata/extraction.js.map +0 -1
  162. package/dist/stages/base.d.ts.map +0 -1
  163. package/dist/stages/base.js.map +0 -1
  164. package/dist/stages/stage-builder.d.ts.map +0 -1
  165. package/dist/stages/stage-builder.js.map +0 -1
  166. package/dist/tracker/context.d.ts +0 -111
  167. package/dist/tracker/context.d.ts.map +0 -1
  168. package/dist/tracker/context.js +0 -264
  169. package/dist/tracker/context.js.map +0 -1
  170. package/dist/tracker/index.d.ts +0 -18
  171. package/dist/tracker/index.d.ts.map +0 -1
  172. package/dist/tracker/index.js +0 -70
  173. package/dist/tracker/index.js.map +0 -1
  174. package/dist/types.d.ts +0 -6
  175. package/dist/types.d.ts.map +0 -1
  176. package/dist/types.js +0 -22
  177. package/dist/types.js.map +0 -1
  178. package/dist/utils/error-classification.d.ts +0 -13
  179. package/dist/utils/error-classification.d.ts.map +0 -1
  180. package/dist/utils/error-classification.js +0 -28
  181. package/dist/utils/error-classification.js.map +0 -1
  182. package/dist/utils/scoped-logger.d.ts +0 -43
  183. package/dist/utils/scoped-logger.d.ts.map +0 -1
  184. package/dist/utils/scoped-logger.js +0 -72
  185. package/dist/utils/scoped-logger.js.map +0 -1
  186. package/dist/utils/stage-helpers.d.ts +0 -51
  187. package/dist/utils/stage-helpers.d.ts.map +0 -1
  188. package/dist/utils/stage-helpers.js +0 -143
  189. package/dist/utils/stage-helpers.js.map +0 -1
  190. package/dist/utils/urls.d.ts +0 -28
  191. package/dist/utils/urls.d.ts.map +0 -1
  192. package/dist/utils/urls.js +0 -71
  193. package/dist/utils/urls.js.map +0 -1
@@ -1,51 +0,0 @@
1
- /**
2
- * Stage Helpers
3
- *
4
- * Utility functions for timelock stage operations and validation.
5
- */
6
- import { ethers } from "ethers";
7
- import { TrackedStage, PrepareResult, StageType, ChainType, CallScheduledData, TimelockState, OperationState } from "../types";
8
- export { serialize, deserialize, serializeCallScheduledData, deserializeCallScheduledData, serializeCallScheduledDataArray, deserializeCallScheduledDataArray, } from "../stages/base";
9
- /** Execution payload data for timelock operations. */
10
- export interface TimelockExecutionPayload {
11
- timelockAddress: string;
12
- operationId: string;
13
- callScheduledData: CallScheduledData[];
14
- isSecurityCouncilOperation?: boolean;
15
- securityCouncilMembers?: string[];
16
- securityCouncilNonce?: string;
17
- }
18
- /** Extract timelock execution payload from a stage. */
19
- export declare function createTimelockStageData(stage: TrackedStage): TimelockExecutionPayload | null;
20
- /** Collect all CallScheduledData from a timelock state. */
21
- export declare function collectAllScheduledData(timelockState: TimelockState): CallScheduledData[];
22
- /** Calculate ETA for a timelock operation. */
23
- export declare function calculateTimelockEta(timelockState: TimelockState, operationState: OperationState, provider: ethers.providers.Provider): Promise<number | undefined>;
24
- /** Build serialized execution payload data for stage storage. */
25
- export declare function buildExecutionPayloadData(timelockAddress: string, operationId: string, allScheduledData: CallScheduledData[]): Record<string, unknown>;
26
- export interface PrepareValidationOptions {
27
- prepareCompleted?: boolean;
28
- expectedTypes?: StageType[];
29
- }
30
- /** Validate stage for preparation. Returns error or null if valid. */
31
- export declare function validateStageForPrepare(stage: TrackedStage, options?: PrepareValidationOptions): PrepareResult | null;
32
- export interface BulkPrepareResult<T extends ChainType = ChainType> {
33
- total: number;
34
- results: PrepareResult[];
35
- targetChain: T;
36
- }
37
- export interface SimpleBulkResult {
38
- total: number;
39
- results: PrepareResult[];
40
- }
41
- export declare function bulkPrepareError<T extends ChainType>(error: string, targetChain: T): BulkPrepareResult<T>;
42
- export declare function simpleBulkError(error: string): SimpleBulkResult;
43
- export declare function validateStageForBulkPrepare<T extends ChainType>(stage: TrackedStage, targetChain: T, options?: PrepareValidationOptions): BulkPrepareResult<T> | null;
44
- export declare function validateStageForSimpleBulk(stage: TrackedStage, options?: PrepareValidationOptions): SimpleBulkResult | null;
45
- /** Search for timelock execution event and complete stage. */
46
- export declare function searchAndCompleteTimelockExecution(stage: TrackedStage, timelockAddress: string, operationId: string, provider: ethers.providers.Provider, chain: ChainType, fromBlock: number, toBlock?: number, queueTimestamp?: number): Promise<{
47
- stage: TrackedStage;
48
- executionTxHash: string | null;
49
- executionBlock: number | null;
50
- }>;
51
- //# sourceMappingURL=stage-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stage-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/stage-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,143 +0,0 @@
1
- "use strict";
2
- /**
3
- * Stage Helpers
4
- *
5
- * Utility functions for timelock stage operations and validation.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.deserializeCallScheduledDataArray = exports.serializeCallScheduledDataArray = exports.deserializeCallScheduledData = exports.serializeCallScheduledData = exports.deserialize = exports.serialize = void 0;
9
- exports.createTimelockStageData = createTimelockStageData;
10
- exports.collectAllScheduledData = collectAllScheduledData;
11
- exports.calculateTimelockEta = calculateTimelockEta;
12
- exports.buildExecutionPayloadData = buildExecutionPayloadData;
13
- exports.validateStageForPrepare = validateStageForPrepare;
14
- exports.bulkPrepareError = bulkPrepareError;
15
- exports.simpleBulkError = simpleBulkError;
16
- exports.validateStageForBulkPrepare = validateStageForBulkPrepare;
17
- exports.validateStageForSimpleBulk = validateStageForSimpleBulk;
18
- exports.searchAndCompleteTimelockExecution = searchAndCompleteTimelockExecution;
19
- const types_1 = require("../types");
20
- const base_1 = require("../stages/base");
21
- const stage_builder_1 = require("../stages/stage-builder");
22
- const timelock_discovery_1 = require("../discovery/timelock-discovery");
23
- // Re-export serialization from base for backwards compatibility
24
- var base_2 = require("../stages/base");
25
- Object.defineProperty(exports, "serialize", { enumerable: true, get: function () { return base_2.serialize; } });
26
- Object.defineProperty(exports, "deserialize", { enumerable: true, get: function () { return base_2.deserialize; } });
27
- Object.defineProperty(exports, "serializeCallScheduledData", { enumerable: true, get: function () { return base_2.serializeCallScheduledData; } });
28
- Object.defineProperty(exports, "deserializeCallScheduledData", { enumerable: true, get: function () { return base_2.deserializeCallScheduledData; } });
29
- Object.defineProperty(exports, "serializeCallScheduledDataArray", { enumerable: true, get: function () { return base_2.serializeCallScheduledDataArray; } });
30
- Object.defineProperty(exports, "deserializeCallScheduledDataArray", { enumerable: true, get: function () { return base_2.deserializeCallScheduledDataArray; } });
31
- /** Extract timelock execution payload from a stage. */
32
- function createTimelockStageData(stage) {
33
- let stageData = null;
34
- for (const stageType of base_1.TIMELOCK_STAGE_TYPES) {
35
- stageData = (0, types_1.getStageData)(stage, stageType);
36
- if (stageData)
37
- break;
38
- }
39
- if (!stageData?.timelockAddress ||
40
- !stageData?.operationId ||
41
- !stageData?.callScheduledData?.length) {
42
- return null;
43
- }
44
- const payload = {
45
- timelockAddress: stageData.timelockAddress,
46
- operationId: stageData.operationId,
47
- callScheduledData: (0, base_1.deserializeCallScheduledDataArray)(stageData.callScheduledData),
48
- };
49
- if (stageData.isSecurityCouncilOperation) {
50
- payload.isSecurityCouncilOperation = true;
51
- payload.securityCouncilMembers = stageData.securityCouncilMembers;
52
- payload.securityCouncilNonce = stageData.securityCouncilNonce;
53
- }
54
- return payload;
55
- }
56
- // ============================================================================
57
- // Timelock State Helpers
58
- // ============================================================================
59
- /** Collect all CallScheduledData from a timelock state. */
60
- function collectAllScheduledData(timelockState) {
61
- return (timelockState.allScheduledData ??
62
- (timelockState.scheduledData ? [timelockState.scheduledData] : []));
63
- }
64
- /** Calculate ETA for a timelock operation. */
65
- async function calculateTimelockEta(timelockState, operationState, provider) {
66
- if (timelockState.scheduledData) {
67
- return (0, base_1.calculateEtaFromScheduledData)(timelockState.scheduledData.blockNumber, timelockState.scheduledData.delay.toNumber(), provider);
68
- }
69
- const contractTimestamp = operationState.timestamp.toNumber();
70
- return !operationState.isDone && contractTimestamp > 1 ? contractTimestamp : undefined;
71
- }
72
- /** Build serialized execution payload data for stage storage. */
73
- function buildExecutionPayloadData(timelockAddress, operationId, allScheduledData) {
74
- const payload = { timelockAddress, operationId };
75
- if (allScheduledData.length > 0) {
76
- payload.callScheduledData = (0, base_1.serializeCallScheduledDataArray)(allScheduledData);
77
- }
78
- return payload;
79
- }
80
- /** Validate stage for preparation. Returns error or null if valid. */
81
- function validateStageForPrepare(stage, options = {}) {
82
- if (!options.prepareCompleted && stage.status !== "READY") {
83
- return (0, base_1.failPrepare)(`Stage is not ready. Current status: ${stage.status}`);
84
- }
85
- if (options.expectedTypes?.length && !options.expectedTypes.includes(stage.type)) {
86
- return (0, base_1.failPrepare)(`Unexpected stage type: ${stage.type}. Expected: ${options.expectedTypes.join(", ")}`);
87
- }
88
- return null;
89
- }
90
- function bulkPrepareError(error, targetChain) {
91
- return { total: 0, results: [{ success: false, error }], targetChain };
92
- }
93
- function simpleBulkError(error) {
94
- return { total: 0, results: [{ success: false, error }] };
95
- }
96
- function validateStageForBulkPrepare(stage, targetChain, options = {}) {
97
- const error = validateStageForPrepare(stage, options);
98
- return error ? { total: 0, results: [error], targetChain } : null;
99
- }
100
- function validateStageForSimpleBulk(stage, options = {}) {
101
- const error = validateStageForPrepare(stage, options);
102
- return error ? { total: 0, results: [error] } : null;
103
- }
104
- // ============================================================================
105
- // Execution Search Helper
106
- // ============================================================================
107
- /** Search for timelock execution event and complete stage. */
108
- async function searchAndCompleteTimelockExecution(stage, timelockAddress, operationId, provider, chain, fromBlock, toBlock, queueTimestamp) {
109
- const event = await (0, timelock_discovery_1.findCallExecutedEvent)(timelockAddress, operationId, provider, {
110
- startBlock: fromBlock,
111
- endBlock: toBlock,
112
- });
113
- const builder = new stage_builder_1.StageBuilder(stage.type, stage.chain)
114
- .data(stage.data)
115
- .transactions(stage.transactions);
116
- if (stage.timing)
117
- builder.timing(stage.timing);
118
- if (event) {
119
- const execTimestamp = await (0, base_1.getBlockTimestamp)(event.blockNumber, provider);
120
- builder
121
- .status("COMPLETED")
122
- .tx(event.txHash, event.blockNumber, chain, {
123
- timestamp: execTimestamp,
124
- description: "executed",
125
- })
126
- .timing({ startedAt: queueTimestamp ?? execTimestamp })
127
- .data({ operationId });
128
- return {
129
- stage: builder.build(),
130
- executionTxHash: event.txHash,
131
- executionBlock: event.blockNumber,
132
- };
133
- }
134
- return {
135
- stage: builder
136
- .status("COMPLETED")
137
- .data({ operationId, note: "Execution confirmed by state, event not found" })
138
- .build(),
139
- executionTxHash: null,
140
- executionBlock: null,
141
- };
142
- }
143
- //# sourceMappingURL=stage-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stage-helpers.js","sourceRoot":"","sources":["../../src/utils/stage-helpers.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAmDH,0DA4BC;AAOD,0DAKC;AAGD,oDAcC;AAGD,8DAUC;AAYD,0DAaC;AAaD,4CAKC;AAED,0CAEC;AAED,kEAOC;AAED,gEAMC;AAOD,gFA8CC;AA3OD,oCAWkB;AAClB,yCAOwB;AACxB,2DAAuD;AACvD,wEAAwE;AAExE,gEAAgE;AAChE,uCAOwB;AANtB,iGAAA,SAAS,OAAA;AACT,mGAAA,WAAW,OAAA;AACX,kHAAA,0BAA0B,OAAA;AAC1B,oHAAA,4BAA4B,OAAA;AAC5B,uHAAA,+BAA+B,OAAA;AAC/B,yHAAA,iCAAiC,OAAA;AAiBnC,uDAAuD;AACvD,SAAgB,uBAAuB,CAAC,KAAmB;IACzD,IAAI,SAAS,GAA2C,IAAI,CAAC;IAC7D,KAAK,MAAM,SAAS,IAAI,2BAAoB,EAAE,CAAC;QAC7C,SAAS,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,SAAS;YAAE,MAAM;IACvB,CAAC;IAED,IACE,CAAC,SAAS,EAAE,eAAe;QAC3B,CAAC,SAAS,EAAE,WAAW;QACvB,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EACrC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAA6B;QACxC,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,iBAAiB,EAAE,IAAA,wCAAiC,EAAC,SAAS,CAAC,iBAAiB,CAAC;KAClF,CAAC;IAEF,IAAI,SAAS,CAAC,0BAA0B,EAAE,CAAC;QACzC,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAC1C,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,sBAAsB,CAAC;QAClE,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;IAChE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,2DAA2D;AAC3D,SAAgB,uBAAuB,CAAC,aAA4B;IAClE,OAAO,CACL,aAAa,CAAC,gBAAgB;QAC9B,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,8CAA8C;AACvC,KAAK,UAAU,oBAAoB,CACxC,aAA4B,EAC5B,cAA8B,EAC9B,QAAmC;IAEnC,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;QAChC,OAAO,IAAA,oCAA6B,EAClC,aAAa,CAAC,aAAa,CAAC,WAAW,EACvC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,EAC5C,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9D,OAAO,CAAC,cAAc,CAAC,MAAM,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,iEAAiE;AACjE,SAAgB,yBAAyB,CACvC,eAAuB,EACvB,WAAmB,EACnB,gBAAqC;IAErC,MAAM,OAAO,GAA4B,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;IAC1E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,iBAAiB,GAAG,IAAA,sCAA+B,EAAC,gBAAgB,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAWD,sEAAsE;AACtE,SAAgB,uBAAuB,CACrC,KAAmB,EACnB,UAAoC,EAAE;IAEtC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO,IAAA,kBAAW,EAAC,uCAAuC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,IAAA,kBAAW,EAChB,0BAA0B,KAAK,CAAC,IAAI,eAAe,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAaD,SAAgB,gBAAgB,CAC9B,KAAa,EACb,WAAc;IAEd,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;AACzE,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa;IAC3C,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAgB,2BAA2B,CACzC,KAAmB,EACnB,WAAc,EACd,UAAoC,EAAE;IAEtC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED,SAAgB,0BAA0B,CACxC,KAAmB,EACnB,UAAoC,EAAE;IAEtC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,8DAA8D;AACvD,KAAK,UAAU,kCAAkC,CACtD,KAAmB,EACnB,eAAuB,EACvB,WAAmB,EACnB,QAAmC,EACnC,KAAgB,EAChB,SAAiB,EACjB,OAAgB,EAChB,cAAuB;IAEvB,MAAM,KAAK,GAAG,MAAM,IAAA,0CAAqB,EAAC,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE;QAChF,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,4BAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;SACtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;SAChB,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,MAAM,IAAA,wBAAiB,EAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC3E,OAAO;aACJ,MAAM,CAAC,WAAW,CAAC;aACnB,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE;YAC1C,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,UAAU;SACxB,CAAC;aACD,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,IAAI,aAAa,EAAE,CAAC;aACtD,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YACtB,eAAe,EAAE,KAAK,CAAC,MAAM;YAC7B,cAAc,EAAE,KAAK,CAAC,WAAW;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,OAAO;aACX,MAAM,CAAC,WAAW,CAAC;aACnB,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,+CAA+C,EAAE,CAAC;aAC5E,KAAK,EAAE;QACV,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC"}
@@ -1,28 +0,0 @@
1
- import type { ChainType, StageTransaction, ChainContext } from "../types";
2
- /**
3
- * Map ChainType to numeric chain ID
4
- */
5
- export declare function chainTypeToId(chain: ChainType): number;
6
- export declare function getExplorerUrl(chainId: number, type: "tx" | "address", hash: string): string;
7
- export declare function getTxUrl(chainId: number, txHash: string): string;
8
- /**
9
- * Get block explorer URL for a stage transaction
10
- *
11
- * @example
12
- * ```typescript
13
- * const stage = result.stages[0];
14
- * for (const tx of stage.transactions) {
15
- * console.log(`${tx.hash}: ${getStageTransactionUrl(tx)}`);
16
- * }
17
- * ```
18
- */
19
- export declare function getStageTransactionUrl(tx: StageTransaction): string;
20
- /**
21
- * Get block explorer URL for a transaction
22
- *
23
- * @param txHash - Transaction hash
24
- * @param chain - Chain context
25
- * @returns Full explorer URL
26
- */
27
- export declare function getTxExplorerUrl(txHash: string, chain: ChainContext): string;
28
- //# sourceMappingURL=urls.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../src/utils/urls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE1E;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAStD;AAWD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAW5F;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAGnE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAG5E"}
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.chainTypeToId = chainTypeToId;
4
- exports.getExplorerUrl = getExplorerUrl;
5
- exports.getTxUrl = getTxUrl;
6
- exports.getStageTransactionUrl = getStageTransactionUrl;
7
- exports.getTxExplorerUrl = getTxExplorerUrl;
8
- const constants_1 = require("../constants");
9
- /**
10
- * Map ChainType to numeric chain ID
11
- */
12
- function chainTypeToId(chain) {
13
- switch (chain) {
14
- case "L1":
15
- return constants_1.CHAIN_IDS.ETHEREUM;
16
- case "L2":
17
- return constants_1.CHAIN_IDS.ARB_ONE;
18
- case "NOVA":
19
- return constants_1.CHAIN_IDS.NOVA;
20
- }
21
- }
22
- /**
23
- * Explorer base URLs by chain
24
- */
25
- const EXPLORER_URLS = {
26
- arb1: "https://arbiscan.io",
27
- nova: "https://nova.arbiscan.io",
28
- ethereum: "https://etherscan.io",
29
- };
30
- function getExplorerUrl(chainId, type, hash) {
31
- switch (chainId) {
32
- case 1: // Ethereum
33
- return `https://etherscan.io/${type}/${hash}`;
34
- case constants_1.CHAIN_IDS.ARB_ONE:
35
- return `https://arbiscan.io/${type}/${hash}`;
36
- case constants_1.CHAIN_IDS.NOVA:
37
- return `https://nova.arbiscan.io/${type}/${hash}`;
38
- default:
39
- return `https://etherscan.io/${type}/${hash}`;
40
- }
41
- }
42
- function getTxUrl(chainId, txHash) {
43
- return getExplorerUrl(chainId, "tx", txHash);
44
- }
45
- /**
46
- * Get block explorer URL for a stage transaction
47
- *
48
- * @example
49
- * ```typescript
50
- * const stage = result.stages[0];
51
- * for (const tx of stage.transactions) {
52
- * console.log(`${tx.hash}: ${getStageTransactionUrl(tx)}`);
53
- * }
54
- * ```
55
- */
56
- function getStageTransactionUrl(tx) {
57
- const chainId = chainTypeToId(tx.chain);
58
- return getTxUrl(chainId, tx.hash);
59
- }
60
- /**
61
- * Get block explorer URL for a transaction
62
- *
63
- * @param txHash - Transaction hash
64
- * @param chain - Chain context
65
- * @returns Full explorer URL
66
- */
67
- function getTxExplorerUrl(txHash, chain) {
68
- const baseUrl = EXPLORER_URLS[chain] ?? EXPLORER_URLS.ethereum;
69
- return `${baseUrl}/tx/${txHash}`;
70
- }
71
- //# sourceMappingURL=urls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urls.js","sourceRoot":"","sources":["../../src/utils/urls.ts"],"names":[],"mappings":";;AAMA,sCASC;AAWD,wCAWC;AAED,4BAEC;AAaD,wDAGC;AASD,4CAGC;AArED,4CAAyC;AAGzC;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAgB;IAC5C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,IAAI;YACP,OAAO,qBAAS,CAAC,QAAQ,CAAC;QAC5B,KAAK,IAAI;YACP,OAAO,qBAAS,CAAC,OAAO,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,qBAAS,CAAC,IAAI,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,aAAa,GAAiC;IAClD,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,0BAA0B;IAChC,QAAQ,EAAE,sBAAsB;CACjC,CAAC;AAEF,SAAgB,cAAc,CAAC,OAAe,EAAE,IAAsB,EAAE,IAAY;IAClF,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,EAAE,WAAW;YACjB,OAAO,wBAAwB,IAAI,IAAI,IAAI,EAAE,CAAC;QAChD,KAAK,qBAAS,CAAC,OAAO;YACpB,OAAO,uBAAuB,IAAI,IAAI,IAAI,EAAE,CAAC;QAC/C,KAAK,qBAAS,CAAC,IAAI;YACjB,OAAO,4BAA4B,IAAI,IAAI,IAAI,EAAE,CAAC;QACpD;YACE,OAAO,wBAAwB,IAAI,IAAI,IAAI,EAAE,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAgB,QAAQ,CAAC,OAAe,EAAE,MAAc;IACtD,OAAO,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,sBAAsB,CAAC,EAAoB;IACzD,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,MAAc,EAAE,KAAmB;IAClE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC;IAC/D,OAAO,GAAG,OAAO,OAAO,MAAM,EAAE,CAAC;AACnC,CAAC"}