@gzeoneth/gov-tracker 0.2.1-beta.682a255 → 0.2.1-beta.746bfec

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 (197) hide show
  1. package/README.md +126 -80
  2. package/dist/abis.d.ts +3 -0
  3. package/dist/abis.d.ts.map +1 -1
  4. package/dist/abis.js +30 -2
  5. package/dist/abis.js.map +1 -1
  6. package/dist/calldata/index.d.ts +1 -1
  7. package/dist/calldata/index.d.ts.map +1 -1
  8. package/dist/calldata/index.js.map +1 -1
  9. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  10. package/dist/calldata/parameter-decoder.js +8 -1
  11. package/dist/calldata/parameter-decoder.js.map +1 -1
  12. package/dist/calldata/signature-lookup.d.ts +17 -2
  13. package/dist/calldata/signature-lookup.d.ts.map +1 -1
  14. package/dist/calldata/signature-lookup.js +20 -2
  15. package/dist/calldata/signature-lookup.js.map +1 -1
  16. package/dist/cli/cli.d.ts +21 -0
  17. package/dist/cli/cli.d.ts.map +1 -0
  18. package/dist/cli/{monitor.js → cli.js} +315 -46
  19. package/dist/cli/cli.js.map +1 -0
  20. package/dist/cli/lib/cli.d.ts +54 -3
  21. package/dist/cli/lib/cli.d.ts.map +1 -1
  22. package/dist/cli/lib/cli.js +384 -75
  23. package/dist/cli/lib/cli.js.map +1 -1
  24. package/dist/cli/lib/concurrency.d.ts +20 -0
  25. package/dist/cli/lib/concurrency.d.ts.map +1 -0
  26. package/dist/cli/lib/concurrency.js +32 -0
  27. package/dist/cli/lib/concurrency.js.map +1 -0
  28. package/dist/cli/lib/json-state.d.ts +23 -0
  29. package/dist/cli/lib/json-state.d.ts.map +1 -1
  30. package/dist/cli/lib/json-state.js +51 -4
  31. package/dist/cli/lib/json-state.js.map +1 -1
  32. package/dist/constants.d.ts +39 -0
  33. package/dist/constants.d.ts.map +1 -1
  34. package/dist/constants.js +47 -1
  35. package/dist/constants.js.map +1 -1
  36. package/dist/data/bundled-cache.json +11807 -2559
  37. package/dist/deduplication.d.ts +132 -0
  38. package/dist/deduplication.d.ts.map +1 -0
  39. package/dist/deduplication.js +270 -0
  40. package/dist/deduplication.js.map +1 -0
  41. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  42. package/dist/discovery/governor-discovery.js +52 -36
  43. package/dist/discovery/governor-discovery.js.map +1 -1
  44. package/dist/discovery/timelock-discovery.d.ts +15 -6
  45. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  46. package/dist/discovery/timelock-discovery.js +27 -11
  47. package/dist/discovery/timelock-discovery.js.map +1 -1
  48. package/dist/election/contracts.d.ts +8 -0
  49. package/dist/election/contracts.d.ts.map +1 -0
  50. package/dist/election/contracts.js +28 -0
  51. package/dist/election/contracts.js.map +1 -0
  52. package/dist/election/details.d.ts +15 -0
  53. package/dist/election/details.d.ts.map +1 -0
  54. package/dist/election/details.js +157 -0
  55. package/dist/election/details.js.map +1 -0
  56. package/dist/election/index.d.ts +11 -0
  57. package/dist/election/index.d.ts.map +1 -0
  58. package/dist/election/index.js +48 -0
  59. package/dist/election/index.js.map +1 -0
  60. package/dist/election/params.d.ts +13 -0
  61. package/dist/election/params.d.ts.map +1 -0
  62. package/dist/election/params.js +93 -0
  63. package/dist/election/params.js.map +1 -0
  64. package/dist/election/participants.d.ts +6 -0
  65. package/dist/election/participants.d.ts.map +1 -0
  66. package/dist/election/participants.js +102 -0
  67. package/dist/election/participants.js.map +1 -0
  68. package/dist/election/prepare.d.ts +10 -0
  69. package/dist/election/prepare.d.ts.map +1 -0
  70. package/dist/election/prepare.js +52 -0
  71. package/dist/election/prepare.js.map +1 -0
  72. package/dist/election/proposal-ids.d.ts +18 -0
  73. package/dist/election/proposal-ids.d.ts.map +1 -0
  74. package/dist/election/proposal-ids.js +77 -0
  75. package/dist/election/proposal-ids.js.map +1 -0
  76. package/dist/election/status.d.ts +15 -0
  77. package/dist/election/status.d.ts.map +1 -0
  78. package/dist/election/status.js +102 -0
  79. package/dist/election/status.js.map +1 -0
  80. package/dist/election/tracking.d.ts +28 -0
  81. package/dist/election/tracking.d.ts.map +1 -0
  82. package/dist/election/tracking.js +412 -0
  83. package/dist/election/tracking.js.map +1 -0
  84. package/dist/index.d.ts +30 -7
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +94 -9
  87. package/dist/index.js.map +1 -1
  88. package/dist/stages/builder.d.ts +4 -0
  89. package/dist/stages/builder.d.ts.map +1 -1
  90. package/dist/stages/builder.js +7 -0
  91. package/dist/stages/builder.js.map +1 -1
  92. package/dist/stages/l2-to-l1-message.d.ts +8 -1
  93. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  94. package/dist/stages/l2-to-l1-message.js +79 -13
  95. package/dist/stages/l2-to-l1-message.js.map +1 -1
  96. package/dist/stages/proposal-created.d.ts +1 -0
  97. package/dist/stages/proposal-created.d.ts.map +1 -1
  98. package/dist/stages/proposal-created.js +1 -0
  99. package/dist/stages/proposal-created.js.map +1 -1
  100. package/dist/stages/proposal-queued.d.ts +1 -0
  101. package/dist/stages/proposal-queued.d.ts.map +1 -1
  102. package/dist/stages/proposal-queued.js +3 -1
  103. package/dist/stages/proposal-queued.js.map +1 -1
  104. package/dist/stages/retryables.js +2 -2
  105. package/dist/stages/retryables.js.map +1 -1
  106. package/dist/stages/timelock.d.ts +3 -1
  107. package/dist/stages/timelock.d.ts.map +1 -1
  108. package/dist/stages/timelock.js +10 -4
  109. package/dist/stages/timelock.js.map +1 -1
  110. package/dist/stages/utils.d.ts +7 -8
  111. package/dist/stages/utils.d.ts.map +1 -1
  112. package/dist/stages/utils.js +40 -27
  113. package/dist/stages/utils.js.map +1 -1
  114. package/dist/stages/voting.d.ts.map +1 -1
  115. package/dist/stages/voting.js +5 -4
  116. package/dist/stages/voting.js.map +1 -1
  117. package/dist/tracker/cache.d.ts +10 -6
  118. package/dist/tracker/cache.d.ts.map +1 -1
  119. package/dist/tracker/cache.js +39 -15
  120. package/dist/tracker/cache.js.map +1 -1
  121. package/dist/tracker/checkpoint-helpers.d.ts +63 -0
  122. package/dist/tracker/checkpoint-helpers.d.ts.map +1 -0
  123. package/dist/tracker/checkpoint-helpers.js +176 -0
  124. package/dist/tracker/checkpoint-helpers.js.map +1 -0
  125. package/dist/tracker/discovery.d.ts +40 -9
  126. package/dist/tracker/discovery.d.ts.map +1 -1
  127. package/dist/tracker/discovery.js +152 -15
  128. package/dist/tracker/discovery.js.map +1 -1
  129. package/dist/tracker/pipeline.d.ts.map +1 -1
  130. package/dist/tracker/pipeline.js +26 -11
  131. package/dist/tracker/pipeline.js.map +1 -1
  132. package/dist/tracker/query.d.ts +1 -0
  133. package/dist/tracker/query.d.ts.map +1 -1
  134. package/dist/tracker/query.js +14 -61
  135. package/dist/tracker/query.js.map +1 -1
  136. package/dist/tracker/state.d.ts +0 -10
  137. package/dist/tracker/state.d.ts.map +1 -1
  138. package/dist/tracker/state.js +1 -28
  139. package/dist/tracker/state.js.map +1 -1
  140. package/dist/tracker.d.ts +86 -4
  141. package/dist/tracker.d.ts.map +1 -1
  142. package/dist/tracker.js +311 -13
  143. package/dist/tracker.js.map +1 -1
  144. package/dist/types/config.d.ts +49 -0
  145. package/dist/types/config.d.ts.map +1 -1
  146. package/dist/types/core.d.ts +4 -2
  147. package/dist/types/core.d.ts.map +1 -1
  148. package/dist/types/election.d.ts +143 -0
  149. package/dist/types/election.d.ts.map +1 -1
  150. package/dist/types/index.d.ts +5 -7
  151. package/dist/types/index.d.ts.map +1 -1
  152. package/dist/types/index.js +2 -3
  153. package/dist/types/index.js.map +1 -1
  154. package/dist/types/stages.d.ts +79 -1
  155. package/dist/types/stages.d.ts.map +1 -1
  156. package/dist/types/stages.js.map +1 -1
  157. package/dist/types/tracking.d.ts +34 -4
  158. package/dist/types/tracking.d.ts.map +1 -1
  159. package/dist/utils/block-cache.d.ts +50 -0
  160. package/dist/utils/block-cache.d.ts.map +1 -0
  161. package/dist/utils/block-cache.js +80 -0
  162. package/dist/utils/block-cache.js.map +1 -0
  163. package/dist/utils/formatters.d.ts +91 -0
  164. package/dist/utils/formatters.d.ts.map +1 -0
  165. package/dist/utils/formatters.js +327 -0
  166. package/dist/utils/formatters.js.map +1 -0
  167. package/dist/utils/multicall.d.ts +52 -0
  168. package/dist/utils/multicall.d.ts.map +1 -0
  169. package/dist/utils/multicall.js +75 -0
  170. package/dist/utils/multicall.js.map +1 -0
  171. package/dist/utils/salt-computation.d.ts.map +1 -1
  172. package/dist/utils/salt-computation.js +33 -7
  173. package/dist/utils/salt-computation.js.map +1 -1
  174. package/dist/utils/sanitize.d.ts +28 -0
  175. package/dist/utils/sanitize.d.ts.map +1 -0
  176. package/dist/utils/sanitize.js +52 -0
  177. package/dist/utils/sanitize.js.map +1 -0
  178. package/dist/utils/stage-metadata.d.ts +0 -20
  179. package/dist/utils/stage-metadata.d.ts.map +1 -1
  180. package/dist/utils/stage-metadata.js +29 -44
  181. package/dist/utils/stage-metadata.js.map +1 -1
  182. package/dist/utils/timing.d.ts +13 -0
  183. package/dist/utils/timing.d.ts.map +1 -1
  184. package/dist/utils/timing.js +37 -1
  185. package/dist/utils/timing.js.map +1 -1
  186. package/package.json +25 -16
  187. package/dist/cli/monitor.d.ts +0 -3
  188. package/dist/cli/monitor.d.ts.map +0 -1
  189. package/dist/cli/monitor.js.map +0 -1
  190. package/dist/election.d.ts +0 -172
  191. package/dist/election.d.ts.map +0 -1
  192. package/dist/election.js +0 -467
  193. package/dist/election.js.map +0 -1
  194. package/dist/types/cross-chain.d.ts +0 -24
  195. package/dist/types/cross-chain.d.ts.map +0 -1
  196. package/dist/types/cross-chain.js +0 -6
  197. package/dist/types/cross-chain.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Multicall utilities for batching L2 RPC calls
3
+ *
4
+ * Wraps @arbitrum/sdk's MultiCaller to batch multiple contract calls into a single RPC request.
5
+ * Only use for L2 calls - L1 RPCs are typically rate-limited and don't benefit as much.
6
+ */
7
+ import { ethers } from "ethers";
8
+ import { MultiCaller, CallInput } from "@arbitrum/sdk";
9
+ /**
10
+ * Create a MultiCaller instance for the given provider
11
+ *
12
+ * Uses the SDK's address resolution to find the correct Multicall2 contract.
13
+ */
14
+ export declare function getMultiCaller(provider: ethers.providers.Provider): Promise<MultiCaller>;
15
+ /**
16
+ * Build a CallInput for a contract method call
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const input = buildCallInput(
21
+ * timelockAddress,
22
+ * timelockInterface,
23
+ * "isOperationReady",
24
+ * [operationId]
25
+ * );
26
+ * ```
27
+ */
28
+ export declare function buildCallInput<T>(targetAddr: string, iface: ethers.utils.Interface, method: string, args?: unknown[]): CallInput<T>;
29
+ /**
30
+ * Execute multiple calls in a single RPC request
31
+ *
32
+ * @param provider - L2 provider (Arbitrum One/Nova)
33
+ * @param calls - Array of CallInput objects
34
+ * @param requireSuccess - If true, reverts if any call fails. If false, failed calls return undefined.
35
+ * @returns Array of results in the same order as inputs
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const timelockIface = new ethers.utils.Interface(TIMELOCK_ABI);
40
+ *
41
+ * const [isReady, isDone, timestamp] = await multicall(provider, [
42
+ * buildCallInput(timelockAddr, timelockIface, "isOperationReady", [opId]),
43
+ * buildCallInput(timelockAddr, timelockIface, "isOperationDone", [opId]),
44
+ * buildCallInput(timelockAddr, timelockIface, "getTimestamp", [opId]),
45
+ * ]);
46
+ * ```
47
+ */
48
+ export declare function multicall<T extends CallInput<unknown>[]>(provider: ethers.providers.Provider, calls: [...T], requireSuccess?: boolean): Promise<{
49
+ [K in keyof T]: T[K] extends CallInput<infer U> ? U | undefined : never;
50
+ }>;
51
+ export { CallInput } from "@arbitrum/sdk";
52
+ //# sourceMappingURL=multicall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multicall.d.ts","sourceRoot":"","sources":["../../src/utils/multicall.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAKvD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAE9F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,OAAO,EAAO,GACnB,SAAS,CAAC,CAAC,CAAC,CASd;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,SAAS,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,EAAE,EAC5D,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EACb,cAAc,GAAE,OAAe,GAC9B,OAAO,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,KAAK;CAAE,CAAC,CAatF;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /**
3
+ * Multicall utilities for batching L2 RPC calls
4
+ *
5
+ * Wraps @arbitrum/sdk's MultiCaller to batch multiple contract calls into a single RPC request.
6
+ * Only use for L2 calls - L1 RPCs are typically rate-limited and don't benefit as much.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.getMultiCaller = getMultiCaller;
10
+ exports.buildCallInput = buildCallInput;
11
+ exports.multicall = multicall;
12
+ const sdk_1 = require("@arbitrum/sdk");
13
+ const logger_1 = require("./logger");
14
+ const log = logger_1.loggers.rpc;
15
+ /**
16
+ * Create a MultiCaller instance for the given provider
17
+ *
18
+ * Uses the SDK's address resolution to find the correct Multicall2 contract.
19
+ */
20
+ async function getMultiCaller(provider) {
21
+ return sdk_1.MultiCaller.fromProvider(provider);
22
+ }
23
+ /**
24
+ * Build a CallInput for a contract method call
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const input = buildCallInput(
29
+ * timelockAddress,
30
+ * timelockInterface,
31
+ * "isOperationReady",
32
+ * [operationId]
33
+ * );
34
+ * ```
35
+ */
36
+ function buildCallInput(targetAddr, iface, method, args = []) {
37
+ return {
38
+ targetAddr,
39
+ encoder: () => iface.encodeFunctionData(method, args),
40
+ decoder: (returnData) => {
41
+ const result = iface.decodeFunctionResult(method, returnData);
42
+ return result[0];
43
+ },
44
+ };
45
+ }
46
+ /**
47
+ * Execute multiple calls in a single RPC request
48
+ *
49
+ * @param provider - L2 provider (Arbitrum One/Nova)
50
+ * @param calls - Array of CallInput objects
51
+ * @param requireSuccess - If true, reverts if any call fails. If false, failed calls return undefined.
52
+ * @returns Array of results in the same order as inputs
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const timelockIface = new ethers.utils.Interface(TIMELOCK_ABI);
57
+ *
58
+ * const [isReady, isDone, timestamp] = await multicall(provider, [
59
+ * buildCallInput(timelockAddr, timelockIface, "isOperationReady", [opId]),
60
+ * buildCallInput(timelockAddr, timelockIface, "isOperationDone", [opId]),
61
+ * buildCallInput(timelockAddr, timelockIface, "getTimestamp", [opId]),
62
+ * ]);
63
+ * ```
64
+ */
65
+ async function multicall(provider, calls, requireSuccess = false) {
66
+ if (calls.length === 0) {
67
+ return [];
68
+ }
69
+ log("multicall: batching %d calls", calls.length);
70
+ const multiCaller = await getMultiCaller(provider);
71
+ const results = await multiCaller.multiCall(calls, requireSuccess);
72
+ log("multicall: completed %d calls", calls.length);
73
+ return results;
74
+ }
75
+ //# sourceMappingURL=multicall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multicall.js","sourceRoot":"","sources":["../../src/utils/multicall.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAaH,wCAEC;AAeD,wCAcC;AAqBD,8BAiBC;AA/ED,uCAAuD;AACvD,qCAAmC;AAEnC,MAAM,GAAG,GAAG,gBAAO,CAAC,GAAG,CAAC;AAExB;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,QAAmC;IACtE,OAAO,iBAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,cAAc,CAC5B,UAAkB,EAClB,KAA6B,EAC7B,MAAc,EACd,OAAkB,EAAE;IAEpB,OAAO;QACL,UAAU;QACV,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC;QACrD,OAAO,EAAE,CAAC,UAAkB,EAAK,EAAE;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC9D,OAAO,MAAM,CAAC,CAAC,CAAM,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,SAAS,CAC7B,QAAmC,EACnC,KAAa,EACb,iBAA0B,KAAK;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAiF,CAAC;IAC3F,CAAC;IAED,GAAG,CAAC,8BAA8B,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAEnE,GAAG,CAAC,+BAA+B,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEnD,OAAO,OAAsF,CAAC;AAChG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"salt-computation.d.ts","sourceRoot":"","sources":["../../src/utils/salt-computation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC,MAAM,CAAC,CASjB;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEN;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAgC7F;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE;IACT,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACpD,EACD,SAAS,CAAC,EAAE,YAAY,EAAE,EAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GACnC,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAiBA"}
1
+ {"version":3,"file":"salt-computation.d.ts","sourceRoot":"","sources":["../../src/utils/salt-computation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC,MAAM,CAAC,CASjB;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEN;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAgC7F;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE;IACT,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACpD,EACD,SAAS,CAAC,EAAE,YAAY,EAAE,EAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GACnC,OAAO,CAAC,MAAM,CAAC,CA2BjB;AA2BD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAmBA"}
@@ -98,6 +98,30 @@ async function computeL2TimelockSalt(stageData, allStages, provider) {
98
98
  // Priority 3: HashZero fallback
99
99
  return ethers_1.ethers.constants.HashZero;
100
100
  }
101
+ /**
102
+ * Extract calldata from L2ToL1Tx event
103
+ *
104
+ * Handles both live event object (with .data property) and serialized array format
105
+ * where the data field is at index 8 (the 9th element):
106
+ * [caller, destination, hash, position, arbBlockNum, ethBlockNum, timestamp, callvalue, data]
107
+ */
108
+ function extractL2ToL1TxData(l2ToL1TxEvent) {
109
+ if (!l2ToL1TxEvent)
110
+ return null;
111
+ // Handle object format (live event)
112
+ if (typeof l2ToL1TxEvent === "object" && !Array.isArray(l2ToL1TxEvent)) {
113
+ const data = l2ToL1TxEvent.data;
114
+ if (typeof data === "string")
115
+ return data;
116
+ }
117
+ // Handle array format (serialized from cache)
118
+ if (Array.isArray(l2ToL1TxEvent) && l2ToL1TxEvent.length >= 9) {
119
+ const data = l2ToL1TxEvent[8];
120
+ if (typeof data === "string")
121
+ return data;
122
+ }
123
+ return null;
124
+ }
101
125
  /**
102
126
  * Compute salt for L1 timelock stage
103
127
  *
@@ -109,13 +133,15 @@ function computeL1TimelockSalt(allStages) {
109
133
  if (allStages) {
110
134
  const l2ToL1Stage = allStages.find((s) => s.type === "L2_TO_L1_MESSAGE");
111
135
  if (l2ToL1Stage?.data.l2ToL1TxEvent) {
112
- // Decode salt and predecessor from the L2ToL1Tx event data
113
- const decoded = decodeL1TimelockSchedule(l2ToL1Stage.data.l2ToL1TxEvent.data);
114
- if (decoded) {
115
- return {
116
- salt: decoded.salt,
117
- predecessor: decoded.predecessor,
118
- };
136
+ const l2ToL1TxData = extractL2ToL1TxData(l2ToL1Stage.data.l2ToL1TxEvent);
137
+ if (l2ToL1TxData) {
138
+ const decoded = decodeL1TimelockSchedule(l2ToL1TxData);
139
+ if (decoded) {
140
+ return {
141
+ salt: decoded.salt,
142
+ predecessor: decoded.predecessor,
143
+ };
144
+ }
119
145
  }
120
146
  }
121
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"salt-computation.js","sourceRoot":"","sources":["../../src/utils/salt-computation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"salt-computation.js","sourceRoot":"","sources":["../../src/utils/salt-computation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Security Sanitization Utilities
3
+ *
4
+ * Functions to sanitize untrusted data from on-chain sources.
5
+ * Proposal data (especially descriptions) can be created by anyone.
6
+ */
7
+ /** Maximum description length to prevent DoS via large strings */
8
+ export declare const MAX_DESCRIPTION_LENGTH = 100000;
9
+ /**
10
+ * Truncate description to prevent DoS from extremely large strings.
11
+ * Proposals are user-submitted and could contain arbitrarily large descriptions.
12
+ */
13
+ export declare function truncateDescription(description: string): string;
14
+ /**
15
+ * Sanitize string for terminal display by removing control characters.
16
+ *
17
+ * Removes ANSI escape codes and control characters that could manipulate
18
+ * terminal output. Preserves newlines and tabs for readability.
19
+ */
20
+ export declare function sanitizeForDisplay(str: string): string;
21
+ /**
22
+ * Safe JSON parse with prototype pollution protection.
23
+ *
24
+ * Prevents attacks via __proto__, constructor, or prototype keys
25
+ * that could pollute Object.prototype when parsing untrusted JSON.
26
+ */
27
+ export declare function safeJsonParse<T>(json: string): T;
28
+ //# sourceMappingURL=sanitize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/utils/sanitize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAOhD"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /**
3
+ * Security Sanitization Utilities
4
+ *
5
+ * Functions to sanitize untrusted data from on-chain sources.
6
+ * Proposal data (especially descriptions) can be created by anyone.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.MAX_DESCRIPTION_LENGTH = void 0;
10
+ exports.truncateDescription = truncateDescription;
11
+ exports.sanitizeForDisplay = sanitizeForDisplay;
12
+ exports.safeJsonParse = safeJsonParse;
13
+ /** Maximum description length to prevent DoS via large strings */
14
+ exports.MAX_DESCRIPTION_LENGTH = 100000; // ~100KB
15
+ /**
16
+ * Truncate description to prevent DoS from extremely large strings.
17
+ * Proposals are user-submitted and could contain arbitrarily large descriptions.
18
+ */
19
+ function truncateDescription(description) {
20
+ if (description.length <= exports.MAX_DESCRIPTION_LENGTH) {
21
+ return description;
22
+ }
23
+ return description.slice(0, exports.MAX_DESCRIPTION_LENGTH) + "... [truncated]";
24
+ }
25
+ /**
26
+ * Sanitize string for terminal display by removing control characters.
27
+ *
28
+ * Removes ANSI escape codes and control characters that could manipulate
29
+ * terminal output. Preserves newlines and tabs for readability.
30
+ */
31
+ function sanitizeForDisplay(str) {
32
+ // Remove ANSI escape codes (e.g., color codes, cursor movement)
33
+ // Remove control characters except \t (0x09), \n (0x0A), \r (0x0D)
34
+ return str.replace(
35
+ // eslint-disable-next-line no-control-regex
36
+ /\x1B\[[0-9;]*[a-zA-Z]|\x1B\](?:[^\x07\x1B]*)(?:\x07|\x1B\\)|[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, "");
37
+ }
38
+ /**
39
+ * Safe JSON parse with prototype pollution protection.
40
+ *
41
+ * Prevents attacks via __proto__, constructor, or prototype keys
42
+ * that could pollute Object.prototype when parsing untrusted JSON.
43
+ */
44
+ function safeJsonParse(json) {
45
+ return JSON.parse(json, (key, value) => {
46
+ if (key === "__proto__" || key === "constructor" || key === "prototype") {
47
+ return undefined;
48
+ }
49
+ return value;
50
+ });
51
+ }
52
+ //# sourceMappingURL=sanitize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/utils/sanitize.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AASH,kDAKC;AAQD,gDAQC;AAQD,sCAOC;AA3CD,kEAAkE;AACrD,QAAA,sBAAsB,GAAG,MAAO,CAAC,CAAC,SAAS;AAExD;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,WAAmB;IACrD,IAAI,WAAW,CAAC,MAAM,IAAI,8BAAsB,EAAE,CAAC;QACjD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,8BAAsB,CAAC,GAAG,iBAAiB,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,gEAAgE;IAChE,mEAAmE;IACnE,OAAO,GAAG,CAAC,OAAO;IAChB,4CAA4C;IAC5C,+FAA+F,EAC/F,EAAE,CACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAI,IAAY;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACrC,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -30,22 +30,6 @@ export interface StageMetadata {
30
30
  * ```
31
31
  */
32
32
  export declare function getStageMetadata(stageType: StageType, _proposalType?: ProposalType): StageMetadata;
33
- /**
34
- * Get metadata for all stages in order
35
- *
36
- * @example
37
- * ```typescript
38
- * const allMeta = getAllStageMetadata();
39
- * for (const [type, meta] of Object.entries(allMeta)) {
40
- * console.log(`${meta.title} (${meta.estimatedDays}d)`);
41
- * }
42
- * ```
43
- */
44
- export declare function getAllStageMetadata(proposalType?: ProposalType): Record<StageType, StageMetadata>;
45
- /**
46
- * Get stages that require user action (executable stages)
47
- */
48
- export declare function getActionableStages(): StageType[];
49
33
  /**
50
34
  * Format stage type as human-readable title
51
35
  *
@@ -55,8 +39,4 @@ export declare function getActionableStages(): StageType[];
55
39
  * ```
56
40
  */
57
41
  export declare function formatStageTitle(stageType: StageType): string;
58
- /**
59
- * Get total expected duration for the full governance lifecycle in days
60
- */
61
- export declare function getTotalExpectedDuration(): number;
62
42
  //# sourceMappingURL=stage-metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stage-metadata.d.ts","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,KAAK,EAAE,KAAK,GAAG,aAAa,CAAC;IAC7B,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,cAAc,EAAE,OAAO,CAAC;CACzB;AA+DD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,aAAa,CAAC,EAAE,YAAY,GAC3B,aAAa,CAQf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAiBjG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,EAAE,CAIjD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD"}
1
+ {"version":3,"file":"stage-metadata.d.ts","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,KAAK,EAAE,KAAK,GAAG,aAAa,CAAC;IAC7B,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,cAAc,EAAE,OAAO,CAAC;CACzB;AA4FD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,aAAa,CAAC,EAAE,YAAY,GAC3B,aAAa,CAQf;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE7D"}
@@ -6,10 +6,7 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.getStageMetadata = getStageMetadata;
9
- exports.getAllStageMetadata = getAllStageMetadata;
10
- exports.getActionableStages = getActionableStages;
11
9
  exports.formatStageTitle = formatStageTitle;
12
- exports.getTotalExpectedDuration = getTotalExpectedDuration;
13
10
  const constants_1 = require("../constants");
14
11
  const BASE_METADATA = {
15
12
  PROPOSAL_CREATED: {
@@ -54,6 +51,30 @@ const BASE_METADATA = {
54
51
  chain: "CROSS_CHAIN",
55
52
  requiresAction: true,
56
53
  },
54
+ CREATE_ELECTION: {
55
+ title: "Create Election",
56
+ description: "Security Council election created on-chain",
57
+ chain: "arb1",
58
+ requiresAction: true,
59
+ },
60
+ NOMINEE_ELECTION: {
61
+ title: "Nominee Election",
62
+ description: "Token holders voting on nominee candidates",
63
+ chain: "arb1",
64
+ requiresAction: false,
65
+ },
66
+ NOMINEE_VETTING: {
67
+ title: "Nominee Vetting",
68
+ description: "Vetting period for nominated candidates before member election",
69
+ chain: "arb1",
70
+ requiresAction: true,
71
+ },
72
+ MEMBER_ELECTION: {
73
+ title: "Member Election",
74
+ description: "Token holders voting to elect Security Council members",
75
+ chain: "arb1",
76
+ requiresAction: true,
77
+ },
57
78
  };
58
79
  const DEFAULT_DURATIONS = {
59
80
  PROPOSAL_CREATED: 0,
@@ -66,6 +87,11 @@ const DEFAULT_DURATIONS = {
66
87
  // L1_TIMELOCK combines delay (3 days) + execution (0 days)
67
88
  L1_TIMELOCK: constants_1.GOVERNANCE_STAGE_DURATION_DAYS.L1_TIMELOCK,
68
89
  RETRYABLE_EXECUTED: 0,
90
+ // Election stages
91
+ CREATE_ELECTION: 0,
92
+ NOMINEE_ELECTION: 7, // ~7 days voting
93
+ NOMINEE_VETTING: 7, // ~7 days vetting
94
+ MEMBER_ELECTION: 21, // ~21 days voting
69
95
  };
70
96
  /**
71
97
  * Get metadata for a specific stage
@@ -85,41 +111,6 @@ function getStageMetadata(stageType, _proposalType) {
85
111
  estimatedDays,
86
112
  };
87
113
  }
88
- /**
89
- * Get metadata for all stages in order
90
- *
91
- * @example
92
- * ```typescript
93
- * const allMeta = getAllStageMetadata();
94
- * for (const [type, meta] of Object.entries(allMeta)) {
95
- * console.log(`${meta.title} (${meta.estimatedDays}d)`);
96
- * }
97
- * ```
98
- */
99
- function getAllStageMetadata(proposalType) {
100
- const stages = [
101
- "PROPOSAL_CREATED",
102
- "VOTING_ACTIVE",
103
- "PROPOSAL_QUEUED",
104
- "L2_TIMELOCK",
105
- "L2_TO_L1_MESSAGE",
106
- "L1_TIMELOCK",
107
- "RETRYABLE_EXECUTED",
108
- ];
109
- const result = {};
110
- for (const stage of stages) {
111
- result[stage] = getStageMetadata(stage, proposalType);
112
- }
113
- return result;
114
- }
115
- /**
116
- * Get stages that require user action (executable stages)
117
- */
118
- function getActionableStages() {
119
- return Object.entries(BASE_METADATA)
120
- .filter(([, meta]) => meta.requiresAction)
121
- .map(([type]) => type);
122
- }
123
114
  /**
124
115
  * Format stage type as human-readable title
125
116
  *
@@ -131,10 +122,4 @@ function getActionableStages() {
131
122
  function formatStageTitle(stageType) {
132
123
  return BASE_METADATA[stageType].title;
133
124
  }
134
- /**
135
- * Get total expected duration for the full governance lifecycle in days
136
- */
137
- function getTotalExpectedDuration() {
138
- return Object.values(DEFAULT_DURATIONS).reduce((sum, d) => sum + d, 0);
139
- }
140
125
  //# sourceMappingURL=stage-metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stage-metadata.js","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage-metadata.js","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAyHH,4CAWC;AAUD,4CAEC;AA7ID,4CAA8D;AAkB9D,MAAM,aAAa,GAA4D;IAC7E,gBAAgB,EAAE;QAChB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,iEAAiE;QAC9E,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,KAAK;KACtB;IACD,aAAa,EAAE;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,0CAA0C;QACvD,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,KAAK;KACtB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,kDAAkD;QAC/D,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,KAAK;KACtB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,iHAAiH;QACnH,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,IAAI;KACrB;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,2IAA2I;QAC7I,KAAK,EAAE,aAAa;QACpB,cAAc,EAAE,IAAI;KACrB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,iHAAiH;QACnH,KAAK,EAAE,UAAU;QACjB,cAAc,EAAE,IAAI;KACrB;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,8CAA8C;QAC3D,KAAK,EAAE,aAAa;QACpB,cAAc,EAAE,IAAI;KACrB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,IAAI;KACrB;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,KAAK;KACtB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,gEAAgE;QAC7E,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,IAAI;KACrB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,wDAAwD;QACrE,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,IAAI;KACrB;CACF,CAAC;AAEF,MAAM,iBAAiB,GAA8B;IACnD,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,0CAA8B,CAAC,MAAM;IACpD,eAAe,EAAE,CAAC;IAClB,oFAAoF;IACpF,WAAW,EAAE,0CAA8B,CAAC,0BAA0B;IACtE,wEAAwE;IACxE,gBAAgB,EAAE,0CAA8B,CAAC,gBAAgB;IACjE,2DAA2D;IAC3D,WAAW,EAAE,0CAA8B,CAAC,WAAW;IACvD,kBAAkB,EAAE,CAAC;IACrB,kBAAkB;IAClB,eAAe,EAAE,CAAC;IAClB,gBAAgB,EAAE,CAAC,EAAE,iBAAiB;IACtC,eAAe,EAAE,CAAC,EAAE,kBAAkB;IACtC,eAAe,EAAE,EAAE,EAAE,kBAAkB;CACxC,CAAC;AAEF;;;;;;;;;GASG;AACH,SAAgB,gBAAgB,CAC9B,SAAoB,EACpB,aAA4B;IAE5B,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEnD,OAAO;QACL,GAAG,IAAI;QACP,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAAC,SAAoB;IACnD,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;AACxC,CAAC"}
@@ -97,6 +97,19 @@ export declare function getFirstL2BlockForL1Block(l2Provider: ethers.providers.P
97
97
  * @returns A block number at or shortly before timestamp >= startTimestamp + delaySeconds
98
98
  */
99
99
  export declare function blockAfterDelay(provider: ethers.providers.Provider, startBlock: number, delaySeconds: number, estimatedBlockTime?: number): Promise<number>;
100
+ /**
101
+ * Check if a stage is stale (READY but past expected completion time).
102
+ *
103
+ * A stage is considered stale when:
104
+ * - Status is READY
105
+ * - Current time > (eta + staleness threshold)
106
+ *
107
+ * @param stage - The stage to check
108
+ * @param currentTimestamp - Current Unix timestamp (seconds)
109
+ * @param customThreshold - Optional custom staleness threshold in seconds
110
+ * @returns true if stale, false if not stale, undefined if staleness cannot be determined
111
+ */
112
+ export declare function isStageStale(stage: TrackedStage, currentTimestamp: number, customThreshold?: number): boolean | undefined;
100
113
  /**
101
114
  * Calculate expected ETA for a stage that hasn't started yet
102
115
  *
@@ -1 +1 @@
1
- {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/utils/timing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG3C,OAAO,KAAK,EAAa,YAAY,EAAE,MAAM,UAAU,CAAC;AA4BxD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,SAAS,GAAE,MAA6B,GACvC,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,SAAS,GAAE,MAA6B,GACvC,MAAM,GAAG,IAAI,CAMf;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,MAA6B,GACvC,MAAM,CAMR;AAaD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBrD;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GACpC,OAAO,CAAC,SAAS,CAAC,CAkBpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACzD,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA0D7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,kBAAkB,GAAE,MAA6B,GAChD,OAAO,CAAC,MAAM,CAAC,CAoFjB;AAcD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EAAE,EACtB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAmCpB"}
1
+ {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/utils/timing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG3C,OAAO,KAAK,EAAa,YAAY,EAAE,MAAM,UAAU,CAAC;AA4BxD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,SAAS,GAAE,MAA6B,GACvC,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,SAAS,GAAE,MAA6B,GACvC,MAAM,GAAG,IAAI,CAMf;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,MAA6B,GACvC,MAAM,CAMR;AAaD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBrD;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GACpC,OAAO,CAAC,SAAS,CAAC,CAkBpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACzD,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA2D7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,kBAAkB,GAAE,MAA6B,GAChD,OAAO,CAAC,MAAM,CAAC,CAoFjB;AA8BD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,GAAG,SAAS,CAUrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EAAE,EACtB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAmCpB"}
@@ -14,6 +14,7 @@ exports.getL1BlockNumberFromL2 = getL1BlockNumberFromL2;
14
14
  exports.getL1BlockForL2Block = getL1BlockForL2Block;
15
15
  exports.getFirstL2BlockForL1Block = getFirstL2BlockForL1Block;
16
16
  exports.blockAfterDelay = blockAfterDelay;
17
+ exports.isStageStale = isStageStale;
17
18
  exports.calculateExpectedEta = calculateExpectedEta;
18
19
  const ethers_1 = require("ethers");
19
20
  const NodeInterface__factory_1 = require("@arbitrum/sdk/dist/lib/abi/factories/NodeInterface__factory");
@@ -188,7 +189,8 @@ async function getFirstL2BlockForL1Block(l2Provider, targetL1Block, options = {}
188
189
  if (l1Block <= 0)
189
190
  break;
190
191
  try {
191
- const range = await nodeInterface.l2BlockRangeForL1(l1Block);
192
+ // queryWithRetry handles rate limits; reverts (no L2 block for L1) won't be retried
193
+ const range = await (0, rpc_utils_1.queryWithRetry)(() => nodeInterface.l2BlockRangeForL1(l1Block));
192
194
  // For exact match (offset=0), return firstBlock
193
195
  // For nearby blocks, return lastBlock+1 as the first block >= targetL1Block
194
196
  const result = offset === 0 ? range.firstBlock.toNumber() : range.lastBlock.toNumber() + 1;
@@ -292,6 +294,40 @@ const STAGE_DURATION_DAYS = {
292
294
  L2_TO_L1_MESSAGE: constants_1.GOVERNANCE_STAGE_DURATION_DAYS.CHALLENGE_PERIOD,
293
295
  L1_TIMELOCK: constants_1.GOVERNANCE_STAGE_DURATION_DAYS.L1_TIMELOCK,
294
296
  };
297
+ /**
298
+ * Default staleness thresholds by stage type (in seconds)
299
+ *
300
+ * - Timelocks: 7 days past ETA
301
+ * - Retryables: 14 days past ETA (they have 7-day expiry window)
302
+ * - Other: 7 days default
303
+ */
304
+ const DEFAULT_STALENESS_THRESHOLDS = {
305
+ L2_TIMELOCK: 7 * 24 * 60 * 60,
306
+ L1_TIMELOCK: 7 * 24 * 60 * 60,
307
+ L2_TO_L1_MESSAGE: 7 * 24 * 60 * 60,
308
+ RETRYABLE_EXECUTED: 14 * 24 * 60 * 60,
309
+ };
310
+ const DEFAULT_STALENESS_THRESHOLD = 7 * 24 * 60 * 60; // 7 days
311
+ /**
312
+ * Check if a stage is stale (READY but past expected completion time).
313
+ *
314
+ * A stage is considered stale when:
315
+ * - Status is READY
316
+ * - Current time > (eta + staleness threshold)
317
+ *
318
+ * @param stage - The stage to check
319
+ * @param currentTimestamp - Current Unix timestamp (seconds)
320
+ * @param customThreshold - Optional custom staleness threshold in seconds
321
+ * @returns true if stale, false if not stale, undefined if staleness cannot be determined
322
+ */
323
+ function isStageStale(stage, currentTimestamp, customThreshold) {
324
+ const eta = stage.timing?.eta;
325
+ if (stage.status !== "READY" || eta === undefined) {
326
+ return undefined;
327
+ }
328
+ const threshold = customThreshold ?? DEFAULT_STALENESS_THRESHOLDS[stage.type] ?? DEFAULT_STALENESS_THRESHOLD;
329
+ return currentTimestamp > eta + threshold;
330
+ }
295
331
  /**
296
332
  * Calculate expected ETA for a stage that hasn't started yet
297
333
  *
@@ -1 +1 @@
1
- {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/utils/timing.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoCH,gEASC;AAKD,oCAWC;AAKD,8DAUC;AAoBD,4DAMC;AAQD,kDAwBC;AAWD,wDAoBC;AAcD,oDAqBC;AAoBD,8DA8DC;AAkBD,0CAyFC;AAuCD,oDAsCC;AAhdD,mCAA2C;AAC3C,wGAAqG;AACrG,0DAAyG;AAEzG,4CAAgG;AAChG,2CAA6C;AAC7C,qCAAmC;AAEnC,MAAM,sBAAsB,GAAG,4CAA4C,CAAC;AAC5E,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,MAAM,GAAG,GAAG,gBAAO,CAAC,GAAG,CAAC;AAExB;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,KAAmB;IACjD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IAElD,sDAAsD;IACtD,MAAM,MAAM,GACV,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,UAAU,CAAC;QAC9D,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEpD,OAAO,MAAM,EAAE,SAAS,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,0BAA0B,CACxC,WAAmB,EACnB,YAAoB,EACpB,gBAAwB,EACxB,YAAoB,uBAAiB,CAAC,EAAE;IAExC,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;IAC7C,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,WAAmB,EACnB,YAAoB,EACpB,gBAAwB,EACxB,YAAoB,uBAAiB,CAAC,EAAE;IAExC,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,CAAC,iBAAiB;IAChC,CAAC;IAED,OAAO,0BAA0B,CAAC,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CACvC,WAAmB,EACnB,YAAoB,EACpB,YAAoB,uBAAiB,CAAC,EAAE;IAExC,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;IAC7C,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,iDAAiD;AACjD,0EAA0E;AAC1E,MAAM,cAAc,GAAG,IAAI,OAAO,EAG/B,CAAC;AACJ,MAAM,uBAAuB,GAAG,KAAK,CAAC,CAAC,iEAAiE;AAExG,6DAA6D;AAC7D,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;AAE7D;;;;;;GAMG;AACH,SAAgB,wBAAwB;IACtC,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IACD,eAAe,CAAC,KAAK,EAAE,CAAC;IACxB,GAAG,CAAC,2DAA2D,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CACvC,QAAmC;IAEnC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,IAAI,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC/D,GAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAC1E,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC;IAClB,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,GAAG,CAAC,mCAAmC,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IAE3E,MAAM,MAAM,GAAG;QACb,WAAW,EAAE,KAAK,CAAC,MAAM;QACzB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,GAAG;KACf,CAAC;IACF,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,sBAAsB,CAC1C,UAAqC;IAErC,MAAM,eAAe,GAAG,UAA8C,CAAC;IACvE,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CACzC,eAAe,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAChE,CAAC;IAEF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,kBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvD,GAAG,CAAC,2CAA2C,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IACzF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,oBAAoB,CACxC,UAAqC,EACrC,aAAqB;IAErB,MAAM,eAAe,GAAG,UAA8C,CAAC;IACvE,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CACzC,eAAe,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CACzF,CAAC;IAEF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,8CAA8C,aAAa,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,2EAA2E;IAC3E,iDAAiD;IACjD,MAAM,OAAO,GAAG,kBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,yBAAyB,CAC7C,UAAqC,EACrC,aAAqB,EACrB,UAAwD,EAAE;IAE1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,aAAa,GAAG,+CAAsB,CAAC,OAAO,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;IAEzF,iEAAiE;IACjE,6EAA6E;IAC7E,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE,MAAM,EAAE,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC;QACvC,IAAI,OAAO,IAAI,CAAC;YAAE,MAAM;QAExB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC7D,gDAAgD;YAChD,4EAA4E;YAC5E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC3F,GAAG,CACD,8DAA8D,EAC9D,aAAa,EACb,MAAM,EACN,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,OAAO,EAAE,EACnD,MAAM,GAAG,CAAC,EACV,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,sFAAsF;IACtF,GAAG,CACD,2EAA2E,EAC3E,aAAa,EACb,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;IAEF,MAAM,eAAe,GAAG,UAA8C,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,IAAA,6BAA0B,EAAC;QAC9C,gBAAgB,EAAE,eAAe;QACjC,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,IAAI;QAClB,gBAAgB,EAAE,OAAO,CAAC,UAAU;QACpC,gBAAgB,EAAE,OAAO,CAAC,UAAU;KACrC,CAAC,CAAC;IAEH,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,GAAG,CACD,+EAA+E,EAC/E,aAAa,EACb,MAAM,EACN,OAAO,CAAC,UAAU,IAAI,OAAO,EAC7B,OAAO,CAAC,UAAU,IAAI,QAAQ,EAC9B,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,eAAe,CACnC,QAAmC,EACnC,UAAkB,EAClB,YAAoB,EACpB,qBAA6B,uBAAiB,CAAC,EAAE;IAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,gCAAgC;IAChC,MAAM,cAAc,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC;IAEhE,oCAAoC;IACpC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAC9D,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEtC,2FAA2F;IAC3F,IAAI,gBAAgB,GAAG,eAAe,EAAE,CAAC;QACvC,GAAG,CACD,uEAAuE,EACvE,UAAU,EACV,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,mBAAmB;IACnB,IAAI,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,kBAAkB,CAAC,CAAC;IAE7E,uBAAuB;IACvB,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAClD,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IAEpD,4EAA4E;IAC5E,MAAM,YAAY,GAAG,GAAG,CAAC;IAEzB,6DAA6D;IAC7D,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,2DAA2D,EAAE,WAAW,CAAC,CAAC;YAC9E,MAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC;QAE/C,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,iEAAiE;YACjE,GAAG,CACD,kFAAkF,EAClF,WAAW,EACX,CAAC,IAAI,EACL,CAAC,GAAG,CAAC,EACL,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;YACF,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,2CAA2C;QAC3C,uDAAuD;QACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,GAAG,YAAY,CAAC;QAC9E,MAAM,aAAa,GAAG,WAAW,CAAC;QAClC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAAC,CAAC;QAExE,GAAG,CACD,8EAA8E,EAC9E,aAAa,EACb,IAAI,EACJ,iBAAiB,EACjB,WAAW,CACZ,CAAC;QAEF,oDAAoD;QACpD,IAAI,WAAW,KAAK,UAAU,GAAG,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,iEAAiE,EAAE,WAAW,CAAC,CAAC;YACpF,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IAED,GAAG,CACD,iEAAiE,EACjE,WAAW,EACX,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;IACF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,+CAA+C;AAE/C;;GAEG;AACH,MAAM,mBAAmB,GAAuC;IAC9D,aAAa,EAAE,0CAA8B,CAAC,MAAM;IACpD,WAAW,EAAE,0CAA8B,CAAC,0BAA0B;IACtE,gBAAgB,EAAE,0CAA8B,CAAC,gBAAgB;IACjE,WAAW,EAAE,0CAA8B,CAAC,WAAW;CACxD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,oBAAoB,CAClC,MAAsB,EACtB,UAAkB;IAElB,IAAI,OAA2B,CAAC;IAChC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;YACtB,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;YAC3B,SAAS,GAAG,CAAC,CAAC;YACd,MAAM;QACR,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,GAAG,YAAY,CAAC;gBACvB,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,mBAAmB,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,YAAY,GAAG,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACxD,OAAO,OAAO,GAAG,YAAY,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/utils/timing.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoCH,gEASC;AAKD,oCAWC;AAKD,8DAUC;AAoBD,4DAMC;AAQD,kDAwBC;AAWD,wDAoBC;AAcD,oDAqBC;AAoBD,8DA+DC;AAkBD,0CAyFC;AA0CD,oCAcC;AA2BD,oDAsCC;AA7fD,mCAA2C;AAC3C,wGAAqG;AACrG,0DAAyG;AAEzG,4CAAgG;AAChG,2CAA6C;AAC7C,qCAAmC;AAEnC,MAAM,sBAAsB,GAAG,4CAA4C,CAAC;AAC5E,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,MAAM,GAAG,GAAG,gBAAO,CAAC,GAAG,CAAC;AAExB;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,KAAmB;IACjD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IAElD,sDAAsD;IACtD,MAAM,MAAM,GACV,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,UAAU,CAAC;QAC9D,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEpD,OAAO,MAAM,EAAE,SAAS,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,0BAA0B,CACxC,WAAmB,EACnB,YAAoB,EACpB,gBAAwB,EACxB,YAAoB,uBAAiB,CAAC,EAAE;IAExC,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;IAC7C,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,WAAmB,EACnB,YAAoB,EACpB,gBAAwB,EACxB,YAAoB,uBAAiB,CAAC,EAAE;IAExC,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,CAAC,iBAAiB;IAChC,CAAC;IAED,OAAO,0BAA0B,CAAC,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CACvC,WAAmB,EACnB,YAAoB,EACpB,YAAoB,uBAAiB,CAAC,EAAE;IAExC,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;IAC7C,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,iDAAiD;AACjD,0EAA0E;AAC1E,MAAM,cAAc,GAAG,IAAI,OAAO,EAG/B,CAAC;AACJ,MAAM,uBAAuB,GAAG,KAAK,CAAC,CAAC,iEAAiE;AAExG,6DAA6D;AAC7D,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;AAE7D;;;;;;GAMG;AACH,SAAgB,wBAAwB;IACtC,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IACD,eAAe,CAAC,KAAK,EAAE,CAAC;IACxB,GAAG,CAAC,2DAA2D,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CACvC,QAAmC;IAEnC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,IAAI,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC/D,GAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAC1E,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC;IAClB,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,GAAG,CAAC,mCAAmC,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IAE3E,MAAM,MAAM,GAAG;QACb,WAAW,EAAE,KAAK,CAAC,MAAM;QACzB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,GAAG;KACf,CAAC;IACF,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,sBAAsB,CAC1C,UAAqC;IAErC,MAAM,eAAe,GAAG,UAA8C,CAAC;IACvE,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CACzC,eAAe,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAChE,CAAC;IAEF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,kBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvD,GAAG,CAAC,2CAA2C,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IACzF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,oBAAoB,CACxC,UAAqC,EACrC,aAAqB;IAErB,MAAM,eAAe,GAAG,UAA8C,CAAC;IACvE,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CACzC,eAAe,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CACzF,CAAC;IAEF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,8CAA8C,aAAa,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,2EAA2E;IAC3E,iDAAiD;IACjD,MAAM,OAAO,GAAG,kBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,yBAAyB,CAC7C,UAAqC,EACrC,aAAqB,EACrB,UAAwD,EAAE;IAE1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,aAAa,GAAG,+CAAsB,CAAC,OAAO,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;IAEzF,iEAAiE;IACjE,6EAA6E;IAC7E,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE,MAAM,EAAE,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC;QACvC,IAAI,OAAO,IAAI,CAAC;YAAE,MAAM;QAExB,IAAI,CAAC;YACH,oFAAoF;YACpF,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;YACnF,gDAAgD;YAChD,4EAA4E;YAC5E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC3F,GAAG,CACD,8DAA8D,EAC9D,aAAa,EACb,MAAM,EACN,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,OAAO,EAAE,EACnD,MAAM,GAAG,CAAC,EACV,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,sFAAsF;IACtF,GAAG,CACD,2EAA2E,EAC3E,aAAa,EACb,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;IAEF,MAAM,eAAe,GAAG,UAA8C,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,IAAA,6BAA0B,EAAC;QAC9C,gBAAgB,EAAE,eAAe;QACjC,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,IAAI;QAClB,gBAAgB,EAAE,OAAO,CAAC,UAAU;QACpC,gBAAgB,EAAE,OAAO,CAAC,UAAU;KACrC,CAAC,CAAC;IAEH,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,GAAG,CACD,+EAA+E,EAC/E,aAAa,EACb,MAAM,EACN,OAAO,CAAC,UAAU,IAAI,OAAO,EAC7B,OAAO,CAAC,UAAU,IAAI,QAAQ,EAC9B,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,eAAe,CACnC,QAAmC,EACnC,UAAkB,EAClB,YAAoB,EACpB,qBAA6B,uBAAiB,CAAC,EAAE;IAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,gCAAgC;IAChC,MAAM,cAAc,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC;IAEhE,oCAAoC;IACpC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAC9D,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEtC,2FAA2F;IAC3F,IAAI,gBAAgB,GAAG,eAAe,EAAE,CAAC;QACvC,GAAG,CACD,uEAAuE,EACvE,UAAU,EACV,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,mBAAmB;IACnB,IAAI,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,kBAAkB,CAAC,CAAC;IAE7E,uBAAuB;IACvB,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAClD,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IAEpD,4EAA4E;IAC5E,MAAM,YAAY,GAAG,GAAG,CAAC;IAEzB,6DAA6D;IAC7D,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,2DAA2D,EAAE,WAAW,CAAC,CAAC;YAC9E,MAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC;QAE/C,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,iEAAiE;YACjE,GAAG,CACD,kFAAkF,EAClF,WAAW,EACX,CAAC,IAAI,EACL,CAAC,GAAG,CAAC,EACL,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;YACF,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,2CAA2C;QAC3C,uDAAuD;QACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,GAAG,YAAY,CAAC;QAC9E,MAAM,aAAa,GAAG,WAAW,CAAC;QAClC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAAC,CAAC;QAExE,GAAG,CACD,8EAA8E,EAC9E,aAAa,EACb,IAAI,EACJ,iBAAiB,EACjB,WAAW,CACZ,CAAC;QAEF,oDAAoD;QACpD,IAAI,WAAW,KAAK,UAAU,GAAG,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,iEAAiE,EAAE,WAAW,CAAC,CAAC;YACpF,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IAED,GAAG,CACD,iEAAiE,EACjE,WAAW,EACX,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;IACF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,+CAA+C;AAE/C;;GAEG;AACH,MAAM,mBAAmB,GAAuC;IAC9D,aAAa,EAAE,0CAA8B,CAAC,MAAM;IACpD,WAAW,EAAE,0CAA8B,CAAC,0BAA0B;IACtE,gBAAgB,EAAE,0CAA8B,CAAC,gBAAgB;IACjE,WAAW,EAAE,0CAA8B,CAAC,WAAW;CACxD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,4BAA4B,GAAuC;IACvE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IAC7B,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IAC7B,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IAClC,kBAAkB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;CACtC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS;AAE/D;;;;;;;;;;;GAWG;AACH,SAAgB,YAAY,CAC1B,KAAmB,EACnB,gBAAwB,EACxB,eAAwB;IAExB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GACb,eAAe,IAAI,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,2BAA2B,CAAC;IAE7F,OAAO,gBAAgB,GAAG,GAAG,GAAG,SAAS,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,oBAAoB,CAClC,MAAsB,EACtB,UAAkB;IAElB,IAAI,OAA2B,CAAC;IAChC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;YACtB,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;YAC3B,SAAS,GAAG,CAAC,CAAC;YACd,MAAM;QACR,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,GAAG,YAAY,CAAC;gBACvB,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,mBAAmB,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,YAAY,GAAG,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACxD,OAAO,OAAO,GAAG,YAAY,CAAC;AAChC,CAAC"}