@matterlabs/zksync-js 0.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 (139) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +124 -0
  3. package/dist/adapters/ethers/client.cjs +4548 -0
  4. package/dist/adapters/ethers/client.cjs.map +1 -0
  5. package/dist/adapters/ethers/client.d.ts +61 -0
  6. package/dist/adapters/ethers/client.js +5 -0
  7. package/dist/adapters/ethers/errors/error-ops.d.ts +20 -0
  8. package/dist/adapters/ethers/errors/revert.d.ts +28 -0
  9. package/dist/adapters/ethers/index.cjs +7537 -0
  10. package/dist/adapters/ethers/index.cjs.map +1 -0
  11. package/dist/adapters/ethers/index.d.ts +12 -0
  12. package/dist/adapters/ethers/index.js +8 -0
  13. package/dist/adapters/ethers/resources/deposits/context.d.ts +27 -0
  14. package/dist/adapters/ethers/resources/deposits/index.d.ts +46 -0
  15. package/dist/adapters/ethers/resources/deposits/routes/erc20-base.d.ts +2 -0
  16. package/dist/adapters/ethers/resources/deposits/routes/erc20-nonbase.d.ts +2 -0
  17. package/dist/adapters/ethers/resources/deposits/routes/eth-nonbase.d.ts +2 -0
  18. package/dist/adapters/ethers/resources/deposits/routes/eth.d.ts +2 -0
  19. package/dist/adapters/ethers/resources/deposits/routes/types.d.ts +10 -0
  20. package/dist/adapters/ethers/resources/deposits/services/verification.d.ts +9 -0
  21. package/dist/adapters/ethers/resources/token-info.d.ts +31 -0
  22. package/dist/adapters/ethers/resources/utils.d.ts +39 -0
  23. package/dist/adapters/ethers/resources/withdrawals/context.d.ts +19 -0
  24. package/dist/adapters/ethers/resources/withdrawals/index.d.ts +56 -0
  25. package/dist/adapters/ethers/resources/withdrawals/routes/erc20-nonbase.d.ts +2 -0
  26. package/dist/adapters/ethers/resources/withdrawals/routes/eth-nonbase.d.ts +2 -0
  27. package/dist/adapters/ethers/resources/withdrawals/routes/eth.d.ts +2 -0
  28. package/dist/adapters/ethers/resources/withdrawals/routes/types.d.ts +18 -0
  29. package/dist/adapters/ethers/resources/withdrawals/services/finalization.d.ts +33 -0
  30. package/dist/adapters/ethers/rpc.d.ts +4 -0
  31. package/dist/adapters/ethers/sdk.cjs +6245 -0
  32. package/dist/adapters/ethers/sdk.cjs.map +1 -0
  33. package/dist/adapters/ethers/sdk.d.ts +29 -0
  34. package/dist/adapters/ethers/sdk.js +6 -0
  35. package/dist/adapters/ethers/typechain/IAssetRouterBase.d.ts +198 -0
  36. package/dist/adapters/ethers/typechain/IBridgehub.d.ts +731 -0
  37. package/dist/adapters/ethers/typechain/IERC20.d.ts +108 -0
  38. package/dist/adapters/ethers/typechain/IL1AssetRouter.d.ts +570 -0
  39. package/dist/adapters/ethers/typechain/IL1NativeTokenVault.d.ts +154 -0
  40. package/dist/adapters/ethers/typechain/IL1Nullifier.d.ts +305 -0
  41. package/dist/adapters/ethers/typechain/IL2AssetRouter.d.ts +288 -0
  42. package/dist/adapters/ethers/typechain/IL2NativeTokenVault.d.ts +380 -0
  43. package/dist/adapters/ethers/typechain/common.d.ts +46 -0
  44. package/dist/adapters/ethers/typechain/factories/IAssetRouterBase__factory.d.ts +203 -0
  45. package/dist/adapters/ethers/typechain/factories/IBridgehub__factory.d.ts +998 -0
  46. package/dist/adapters/ethers/typechain/factories/IERC20__factory.d.ts +177 -0
  47. package/dist/adapters/ethers/typechain/factories/IL1AssetRouter__factory.d.ts +666 -0
  48. package/dist/adapters/ethers/typechain/factories/IL1NativeTokenVault__factory.d.ts +234 -0
  49. package/dist/adapters/ethers/typechain/factories/IL1Nullifier__factory.d.ts +382 -0
  50. package/dist/adapters/ethers/typechain/factories/IL2AssetRouter__factory.d.ts +327 -0
  51. package/dist/adapters/ethers/typechain/factories/IL2NativeTokenVault__factory.d.ts +696 -0
  52. package/dist/adapters/ethers/typechain/factories/index.d.ts +8 -0
  53. package/dist/adapters/ethers/typechain/index.d.ts +17 -0
  54. package/dist/adapters/viem/client.cjs +4534 -0
  55. package/dist/adapters/viem/client.cjs.map +1 -0
  56. package/dist/adapters/viem/client.d.ts +44 -0
  57. package/dist/adapters/viem/client.js +5 -0
  58. package/dist/adapters/viem/errors/error-ops.d.ts +20 -0
  59. package/dist/adapters/viem/errors/revert.d.ts +25 -0
  60. package/dist/adapters/viem/index.cjs +7772 -0
  61. package/dist/adapters/viem/index.cjs.map +1 -0
  62. package/dist/adapters/viem/index.d.ts +11 -0
  63. package/dist/adapters/viem/index.js +8 -0
  64. package/dist/adapters/viem/resources/deposits/context.d.ts +27 -0
  65. package/dist/adapters/viem/resources/deposits/index.d.ts +46 -0
  66. package/dist/adapters/viem/resources/deposits/routes/erc20-base.d.ts +2 -0
  67. package/dist/adapters/viem/resources/deposits/routes/erc20-nonbase.d.ts +2 -0
  68. package/dist/adapters/viem/resources/deposits/routes/eth-nonbase.d.ts +2 -0
  69. package/dist/adapters/viem/resources/deposits/routes/eth.d.ts +2 -0
  70. package/dist/adapters/viem/resources/deposits/routes/types.d.ts +20 -0
  71. package/dist/adapters/viem/resources/deposits/services/verification.d.ts +7 -0
  72. package/dist/adapters/viem/resources/token-info.d.ts +34 -0
  73. package/dist/adapters/viem/resources/utils.d.ts +42 -0
  74. package/dist/adapters/viem/resources/withdrawals/context.d.ts +22 -0
  75. package/dist/adapters/viem/resources/withdrawals/index.d.ts +56 -0
  76. package/dist/adapters/viem/resources/withdrawals/routes/erc20-nonbase.d.ts +2 -0
  77. package/dist/adapters/viem/resources/withdrawals/routes/eth-nonbase.d.ts +2 -0
  78. package/dist/adapters/viem/resources/withdrawals/routes/eth.d.ts +2 -0
  79. package/dist/adapters/viem/resources/withdrawals/routes/types.d.ts +19 -0
  80. package/dist/adapters/viem/resources/withdrawals/services/finalization.d.ts +33 -0
  81. package/dist/adapters/viem/rpc.d.ts +2 -0
  82. package/dist/adapters/viem/sdk.cjs +6481 -0
  83. package/dist/adapters/viem/sdk.cjs.map +1 -0
  84. package/dist/adapters/viem/sdk.d.ts +32 -0
  85. package/dist/adapters/viem/sdk.js +6 -0
  86. package/dist/chunk-263G6636.js +36 -0
  87. package/dist/chunk-3LALBFFE.js +138 -0
  88. package/dist/chunk-4HLJJKIY.js +262 -0
  89. package/dist/chunk-6GCT6TLS.js +45 -0
  90. package/dist/chunk-7M4V3FMT.js +2444 -0
  91. package/dist/chunk-B77GWPO5.js +339 -0
  92. package/dist/chunk-BD2LUO5T.js +123 -0
  93. package/dist/chunk-CGO27P7F.js +2187 -0
  94. package/dist/chunk-DI2CJDPZ.js +76 -0
  95. package/dist/chunk-Y75OMFK6.js +4489 -0
  96. package/dist/core/constants.cjs +39 -0
  97. package/dist/core/constants.cjs.map +1 -0
  98. package/dist/core/constants.d.ts +36 -0
  99. package/dist/core/constants.js +1 -0
  100. package/dist/core/errors/factory.d.ts +10 -0
  101. package/dist/core/errors/formatter.d.ts +2 -0
  102. package/dist/core/errors/rpc.d.ts +4 -0
  103. package/dist/core/errors/withdrawal-revert-map.d.ts +3 -0
  104. package/dist/core/index.cjs +552 -0
  105. package/dist/core/index.cjs.map +1 -0
  106. package/dist/core/index.d.ts +18 -0
  107. package/dist/core/index.js +4 -0
  108. package/dist/core/internal/abi-registry.d.ts +9 -0
  109. package/dist/core/internal/abis/IAssetRouterBase.d.ts +198 -0
  110. package/dist/core/internal/abis/IBaseToken.d.ts +162 -0
  111. package/dist/core/internal/abis/IBridgehub.d.ts +994 -0
  112. package/dist/core/internal/abis/IERC20.d.ts +224 -0
  113. package/dist/core/internal/abis/IL1AssetRouter.d.ts +661 -0
  114. package/dist/core/internal/abis/IL1Nullifier.d.ts +377 -0
  115. package/dist/core/internal/abis/IL2AssetRouter.d.ts +690 -0
  116. package/dist/core/internal/abis/L1NativeTokenVault.d.ts +719 -0
  117. package/dist/core/internal/abis/L2NativeTokenVault.d.ts +735 -0
  118. package/dist/core/internal/abis/Mailbox.d.ts +779 -0
  119. package/dist/core/resources/deposits/route.d.ts +6 -0
  120. package/dist/core/resources/withdrawals/events.d.ts +9 -0
  121. package/dist/core/resources/withdrawals/logs.d.ts +5 -0
  122. package/dist/core/resources/withdrawals/route.d.ts +6 -0
  123. package/dist/core/rpc/transport.d.ts +10 -0
  124. package/dist/core/rpc/types.d.ts +40 -0
  125. package/dist/core/rpc/zks.d.ts +12 -0
  126. package/dist/core/types/errors.d.ts +177 -0
  127. package/dist/core/types/flows/base.d.ts +51 -0
  128. package/dist/core/types/flows/deposits.d.ts +43 -0
  129. package/dist/core/types/flows/route.d.ts +12 -0
  130. package/dist/core/types/flows/withdrawals.d.ts +83 -0
  131. package/dist/core/types/index.d.ts +2 -0
  132. package/dist/core/types/primitives.d.ts +3 -0
  133. package/dist/core/utils/addr.d.ts +5 -0
  134. package/dist/core/utils/gas.d.ts +13 -0
  135. package/dist/index.cjs +571 -0
  136. package/dist/index.cjs.map +1 -0
  137. package/dist/index.d.ts +18 -0
  138. package/dist/index.js +4 -0
  139. package/package.json +177 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,571 @@
1
+ 'use strict';
2
+
3
+ var sha3 = require('@noble/hashes/sha3');
4
+ var utils = require('@noble/hashes/utils');
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+
12
+ // src/core/constants.ts
13
+ var constants_exports = {};
14
+ __export(constants_exports, {
15
+ ETH_ADDRESS: () => ETH_ADDRESS,
16
+ FORMAL_ETH_ADDRESS: () => FORMAL_ETH_ADDRESS,
17
+ L1_FEE_ESTIMATION_COEF_DENOMINATOR: () => L1_FEE_ESTIMATION_COEF_DENOMINATOR,
18
+ L1_FEE_ESTIMATION_COEF_NUMERATOR: () => L1_FEE_ESTIMATION_COEF_NUMERATOR,
19
+ L1_MESSENGER_ADDRESS: () => L1_MESSENGER_ADDRESS,
20
+ L1_SOPH_TOKEN_ADDRESS: () => L1_SOPH_TOKEN_ADDRESS,
21
+ L2_ASSET_ROUTER_ADDRESS: () => L2_ASSET_ROUTER_ADDRESS,
22
+ L2_BASE_TOKEN_ADDRESS: () => L2_BASE_TOKEN_ADDRESS,
23
+ L2_NATIVE_TOKEN_VAULT_ADDRESS: () => L2_NATIVE_TOKEN_VAULT_ADDRESS,
24
+ TOPIC_CANONICAL_ASSIGNED: () => TOPIC_CANONICAL_ASSIGNED,
25
+ TOPIC_CANONICAL_SUCCESS: () => TOPIC_CANONICAL_SUCCESS,
26
+ TOPIC_L1_MESSAGE_SENT: () => TOPIC_L1_MESSAGE_SENT,
27
+ TOPIC_L1_MESSAGE_SENT_LEG: () => TOPIC_L1_MESSAGE_SENT_LEG,
28
+ TOPIC_L1_MESSAGE_SENT_NEW: () => TOPIC_L1_MESSAGE_SENT_NEW,
29
+ k256hex: () => k256hex
30
+ });
31
+ var k256hex = (s) => `0x${utils.bytesToHex(sha3.keccak_256(utils.utf8ToBytes(s)))}`.toLowerCase();
32
+ var FORMAL_ETH_ADDRESS = "0x0000000000000000000000000000000000000000";
33
+ var ETH_ADDRESS = "0x0000000000000000000000000000000000000001";
34
+ var L2_ASSET_ROUTER_ADDRESS = "0x0000000000000000000000000000000000010003";
35
+ var L2_NATIVE_TOKEN_VAULT_ADDRESS = "0x0000000000000000000000000000000000010004";
36
+ var L1_MESSENGER_ADDRESS = "0x0000000000000000000000000000000000008008";
37
+ var L2_BASE_TOKEN_ADDRESS = "0x000000000000000000000000000000000000800A";
38
+ var L1_SOPH_TOKEN_ADDRESS = "0xa9544a49d4aEa4c8E074431c89C79fA9592049d8";
39
+ var TOPIC_L1_MESSAGE_SENT = "0x2632cc0d58b0cb1017b99cc0b6cc66ad86440cc0dd923bfdaa294f95ba1b0201";
40
+ var TOPIC_L1_MESSAGE_SENT_NEW = k256hex("L1MessageSent(uint256,bytes32,bytes)");
41
+ var TOPIC_L1_MESSAGE_SENT_LEG = k256hex("L1MessageSent(address,bytes32,bytes)");
42
+ var TOPIC_CANONICAL_ASSIGNED = "0x779f441679936c5441b671969f37400b8c3ed0071cb47444431bf985754560df";
43
+ var TOPIC_CANONICAL_SUCCESS = "0xe4def01b981193a97a9e81230d7b9f31812ceaf23f864a828a82c687911cb2df";
44
+ var L1_FEE_ESTIMATION_COEF_NUMERATOR = 12;
45
+ var L1_FEE_ESTIMATION_COEF_DENOMINATOR = 10;
46
+
47
+ // src/core/errors/factory.ts
48
+ var factory_exports = {};
49
+ __export(factory_exports, {
50
+ createError: () => createError,
51
+ shapeCause: () => shapeCause
52
+ });
53
+
54
+ // src/core/errors/formatter.ts
55
+ function elideMiddle(s, max = 96) {
56
+ if (s.length <= max) return s;
57
+ const keep = Math.max(10, Math.floor((max - 1) / 2));
58
+ return `${s.slice(0, keep)}\u2026${s.slice(-keep)}`;
59
+ }
60
+ function shortJSON(v, max = 240) {
61
+ try {
62
+ const s = JSON.stringify(
63
+ v,
64
+ (_k, val) => typeof val === "bigint" ? `${val.toString()}n` : val
65
+ );
66
+ return s.length > max ? elideMiddle(s, max) : s;
67
+ } catch {
68
+ return String(v);
69
+ }
70
+ }
71
+ function kv(label, value) {
72
+ const width = 10;
73
+ const pad = label.length >= width ? " " : " ".repeat(width - label.length);
74
+ return `${label + pad}: ${value}`;
75
+ }
76
+ function formatContextLine(ctx) {
77
+ if (!ctx) return;
78
+ const txHash = ctx["txHash"] ?? ctx["l1TxHash"] ?? ctx["hash"];
79
+ const nonce = ctx["nonce"];
80
+ const parts = [];
81
+ if (txHash !== void 0)
82
+ parts.push(`txHash=${typeof txHash === "string" ? txHash : shortJSON(txHash, 96)}`);
83
+ if (nonce !== void 0) {
84
+ const nonceStr = typeof nonce === "string" || typeof nonce === "number" || typeof nonce === "bigint" ? String(nonce) : shortJSON(nonce, 48);
85
+ parts.push(`nonce=${nonceStr}`);
86
+ }
87
+ return parts.length ? ` ${kv("Context", parts.join(" \u2022 "))}` : void 0;
88
+ }
89
+ function formatStep(ctx) {
90
+ const step = ctx && typeof ctx["step"] === "string" ? ctx["step"] : void 0;
91
+ return step ? ` ${kv("Step", step)}` : void 0;
92
+ }
93
+ function formatRevert(r) {
94
+ if (!r) return;
95
+ const first = [`selector=${r.selector}`];
96
+ const lines = [];
97
+ lines.push(` ${kv("Revert", first.join(" "))}`);
98
+ if (r.name) lines.push(` name=${r.name}`);
99
+ if (r.contract) lines.push(` contract=${r.contract}`);
100
+ if (r.fn) lines.push(` fn=${r.fn}`);
101
+ if (r.args && r.args.length) {
102
+ lines.push(` args=${shortJSON(r.args, 120)}`);
103
+ }
104
+ return lines.join("\n");
105
+ }
106
+ function formatCause(c) {
107
+ if (!c) return [];
108
+ const out = [];
109
+ if (typeof c === "object" && c !== null) {
110
+ const obj = c;
111
+ const head = [];
112
+ if (obj.name !== void 0) {
113
+ const nameVal = obj.name;
114
+ const nameStr = typeof nameVal === "string" || typeof nameVal === "number" || typeof nameVal === "bigint" || typeof nameVal === "boolean" ? String(nameVal) : shortJSON(nameVal, 120);
115
+ head.push(`name=${nameStr}`);
116
+ }
117
+ if (obj.code !== void 0) {
118
+ const codeVal = obj.code;
119
+ const codeStr = typeof codeVal === "string" || typeof codeVal === "number" || typeof codeVal === "bigint" || typeof codeVal === "boolean" ? String(codeVal) : shortJSON(codeVal, 120);
120
+ head.push(`code=${codeStr}`);
121
+ }
122
+ if (head.length) out.push(` ${kv("Cause", head.join(" "))}`);
123
+ if (obj.message) {
124
+ const messageStr = typeof obj.message === "string" || typeof obj.message === "number" || typeof obj.message === "bigint" || typeof obj.message === "boolean" ? String(obj.message) : shortJSON(obj.message, 600);
125
+ out.push(` message=${elideMiddle(messageStr, 600)}`);
126
+ }
127
+ if (obj.data) {
128
+ const dataStr = shortJSON(obj.data, 200);
129
+ out.push(` data=${elideMiddle(dataStr, 200)}`);
130
+ }
131
+ } else {
132
+ out.push(` ${kv("Cause", shortJSON(c, 200))}`);
133
+ }
134
+ return out;
135
+ }
136
+ function formatEnvelopePretty(e) {
137
+ const lines = [];
138
+ lines.push(`\u2716 ZKsyncError [${e.type}]`);
139
+ lines.push(` ${kv("Message", e.message)}`);
140
+ lines.push("");
141
+ lines.push(` ${kv("Operation", e.operation)}`);
142
+ const ctx = (() => {
143
+ const u = e;
144
+ if (!u || typeof u !== "object") return void 0;
145
+ const obj = u;
146
+ const candidate = obj["ctx"] ?? obj["context"];
147
+ if (candidate && typeof candidate === "object" && candidate !== null) {
148
+ return candidate;
149
+ }
150
+ return void 0;
151
+ })();
152
+ const ctxLine = formatContextLine(ctx);
153
+ if (ctxLine) lines.push(ctxLine);
154
+ const stepLine = formatStep(ctx);
155
+ if (stepLine) lines.push(stepLine);
156
+ const rv = formatRevert(e.revert);
157
+ if (rv) lines.push(rv);
158
+ const causeLines = formatCause(e.cause);
159
+ if (causeLines.length) {
160
+ if (!ctxLine && !rv) lines.push("");
161
+ lines.push(...causeLines);
162
+ }
163
+ return lines.join("\n");
164
+ }
165
+
166
+ // src/core/types/errors.ts
167
+ var hasSymbolInspect = typeof Symbol === "function" && typeof Symbol.for === "function";
168
+ var kInspect = hasSymbolInspect ? Symbol.for("nodejs.util.inspect.custom") : void 0;
169
+ var ZKsyncError = class extends Error {
170
+ constructor(envelope) {
171
+ super(formatEnvelopePretty(envelope), envelope.cause ? { cause: envelope.cause } : void 0);
172
+ this.envelope = envelope;
173
+ this.name = "ZKsyncError";
174
+ }
175
+ toJSON() {
176
+ return { name: this.name, ...this.envelope };
177
+ }
178
+ };
179
+ if (kInspect) {
180
+ Object.defineProperty(ZKsyncError.prototype, kInspect, {
181
+ value() {
182
+ return `${this.name}: ${formatEnvelopePretty(this.envelope)}`;
183
+ },
184
+ enumerable: false
185
+ });
186
+ }
187
+ function isZKsyncError(e) {
188
+ if (!e || typeof e !== "object") return false;
189
+ const maybe = e;
190
+ if (!("envelope" in maybe)) return false;
191
+ const envelope = maybe.envelope;
192
+ return typeof envelope?.type === "string" && typeof envelope?.message === "string";
193
+ }
194
+
195
+ // src/core/errors/factory.ts
196
+ function createError(type, input) {
197
+ return new ZKsyncError({ ...input, type });
198
+ }
199
+ function shapeCause(err) {
200
+ const isRecord = (x) => x !== null && typeof x === "object";
201
+ let data = void 0;
202
+ if (isRecord(err)) {
203
+ const r2 = err;
204
+ const d = r2.data;
205
+ if (isRecord(d) && "data" in d) {
206
+ data = d.data;
207
+ } else if ("error" in r2 && isRecord(r2.error) && "data" in r2.error) {
208
+ data = r2.error.data;
209
+ } else if ("data" in r2) {
210
+ data = r2.data;
211
+ }
212
+ }
213
+ const r = isRecord(err) ? err : void 0;
214
+ const name = r && typeof r.name === "string" ? r.name : void 0;
215
+ const message = r && typeof r.message === "string" ? r.message : r && typeof r.shortMessage === "string" ? r.shortMessage : void 0;
216
+ const code = r && "code" in r ? r.code : void 0;
217
+ return {
218
+ name,
219
+ message,
220
+ code,
221
+ data: typeof data === "string" && data.startsWith("0x") ? `${data.slice(0, 10)}\u2026` : void 0
222
+ };
223
+ }
224
+
225
+ // src/core/rpc/zks.ts
226
+ var zks_exports = {};
227
+ __export(zks_exports, {
228
+ createZksRpc: () => createZksRpc,
229
+ normalizeGenesis: () => normalizeGenesis,
230
+ normalizeProof: () => normalizeProof
231
+ });
232
+
233
+ // src/core/errors/rpc.ts
234
+ async function withRpcOp(operation, message, ctx, fn) {
235
+ try {
236
+ return await fn();
237
+ } catch (e) {
238
+ if (isZKsyncError(e)) throw e;
239
+ throw createError("RPC", {
240
+ resource: "zksrpc",
241
+ operation,
242
+ message,
243
+ context: ctx,
244
+ cause: shapeCause(e)
245
+ });
246
+ }
247
+ }
248
+
249
+ // src/core/rpc/zks.ts
250
+ var METHODS = {
251
+ getBridgehub: "zks_getBridgehubContract",
252
+ getL2ToL1LogProof: "zks_getL2ToL1LogProof",
253
+ getReceipt: "eth_getTransactionReceipt",
254
+ getGenesis: "zks_getGenesis"
255
+ };
256
+ function toHexArray(arr) {
257
+ const list = Array.isArray(arr) ? arr : [];
258
+ return list.map((x) => x);
259
+ }
260
+ function normalizeProof(p) {
261
+ try {
262
+ const raw = p ?? {};
263
+ const idRaw = raw?.id ?? raw?.index;
264
+ const bnRaw = raw?.batch_number ?? raw?.batchNumber;
265
+ if (idRaw == null || bnRaw == null) {
266
+ throw createError("RPC", {
267
+ resource: "zksrpc",
268
+ operation: "zksrpc.normalizeProof",
269
+ message: "Malformed proof: missing id or batch number.",
270
+ context: { keys: Object.keys(raw ?? {}) }
271
+ });
272
+ }
273
+ const toBig = (x) => typeof x === "bigint" ? x : typeof x === "number" ? BigInt(x) : typeof x === "string" ? BigInt(x) : (() => {
274
+ throw createError("RPC", {
275
+ resource: "zksrpc",
276
+ operation: "zksrpc.normalizeProof",
277
+ message: "Malformed proof: invalid numeric field.",
278
+ context: { valueType: typeof x }
279
+ });
280
+ })();
281
+ return {
282
+ id: toBig(idRaw),
283
+ batchNumber: toBig(bnRaw),
284
+ proof: toHexArray(raw?.proof)
285
+ };
286
+ } catch (e) {
287
+ if (isZKsyncError(e)) throw e;
288
+ throw createError("RPC", {
289
+ resource: "zksrpc",
290
+ operation: "zksrpc.normalizeProof",
291
+ message: "Failed to normalize proof.",
292
+ context: { receivedType: typeof p },
293
+ cause: shapeCause(e)
294
+ });
295
+ }
296
+ }
297
+ function ensureHex(value, field, context) {
298
+ if (typeof value === "string" && value.startsWith("0x")) return value;
299
+ throw createError("RPC", {
300
+ resource: "zksrpc",
301
+ operation: "zksrpc.normalizeGenesis",
302
+ message: "Malformed genesis response: expected 0x-prefixed hex value.",
303
+ context: { field, valueType: typeof value, ...context }
304
+ });
305
+ }
306
+ function ensureNumber(value, field) {
307
+ if (typeof value === "number" && Number.isFinite(value)) return value;
308
+ if (typeof value === "bigint") return Number(value);
309
+ if (typeof value === "string" && value.trim() !== "") {
310
+ const parsed = Number(value);
311
+ if (Number.isFinite(parsed)) return parsed;
312
+ }
313
+ throw createError("RPC", {
314
+ resource: "zksrpc",
315
+ operation: "zksrpc.normalizeGenesis",
316
+ message: "Malformed genesis response: expected numeric value.",
317
+ context: { field, valueType: typeof value }
318
+ });
319
+ }
320
+ function normalizeContractTuple(tuple, index) {
321
+ if (!Array.isArray(tuple) || tuple.length < 2) {
322
+ throw createError("RPC", {
323
+ resource: "zksrpc",
324
+ operation: "zksrpc.normalizeGenesis",
325
+ message: "Malformed genesis response: invalid contract tuple.",
326
+ context: { index, valueType: typeof tuple }
327
+ });
328
+ }
329
+ const [addrRaw, bytecodeRaw] = tuple;
330
+ return {
331
+ address: ensureHex(addrRaw, "initial_contracts.address", { index }),
332
+ bytecode: ensureHex(bytecodeRaw, "initial_contracts.bytecode", { index })
333
+ };
334
+ }
335
+ function normalizeStorageTuple(tuple, index) {
336
+ if (!Array.isArray(tuple) || tuple.length < 2) {
337
+ throw createError("RPC", {
338
+ resource: "zksrpc",
339
+ operation: "zksrpc.normalizeGenesis",
340
+ message: "Malformed genesis response: invalid storage tuple.",
341
+ context: { index, valueType: typeof tuple }
342
+ });
343
+ }
344
+ const [keyRaw, valueRaw] = tuple;
345
+ return {
346
+ key: ensureHex(keyRaw, "additional_storage.key", { index }),
347
+ value: ensureHex(valueRaw, "additional_storage.value", { index })
348
+ };
349
+ }
350
+ function normalizeGenesis(raw) {
351
+ try {
352
+ if (!raw || typeof raw !== "object") {
353
+ throw createError("RPC", {
354
+ resource: "zksrpc",
355
+ operation: "zksrpc.normalizeGenesis",
356
+ message: "Malformed genesis response: expected object.",
357
+ context: { receivedType: typeof raw }
358
+ });
359
+ }
360
+ const record = raw;
361
+ const contractsRaw = record["initial_contracts"];
362
+ if (!Array.isArray(contractsRaw)) {
363
+ throw createError("RPC", {
364
+ resource: "zksrpc",
365
+ operation: "zksrpc.normalizeGenesis",
366
+ message: "Malformed genesis response: initial_contracts must be an array.",
367
+ context: { valueType: typeof contractsRaw }
368
+ });
369
+ }
370
+ const storageRaw = record["additional_storage"];
371
+ if (!Array.isArray(storageRaw)) {
372
+ throw createError("RPC", {
373
+ resource: "zksrpc",
374
+ operation: "zksrpc.normalizeGenesis",
375
+ message: "Malformed genesis response: additional_storage must be an array.",
376
+ context: { valueType: typeof storageRaw }
377
+ });
378
+ }
379
+ const executionVersion = ensureNumber(record["execution_version"], "execution_version");
380
+ const genesisRoot = ensureHex(record["genesis_root"], "genesis_root", {});
381
+ const initialContracts = contractsRaw.map(
382
+ (entry, index) => normalizeContractTuple(entry, index)
383
+ );
384
+ const additionalStorage = storageRaw.map((entry, index) => normalizeStorageTuple(entry, index));
385
+ return {
386
+ initialContracts,
387
+ additionalStorage,
388
+ executionVersion,
389
+ genesisRoot
390
+ };
391
+ } catch (e) {
392
+ if (isZKsyncError(e)) throw e;
393
+ throw createError("RPC", {
394
+ resource: "zksrpc",
395
+ operation: "zksrpc.normalizeGenesis",
396
+ message: "Failed to normalize genesis response.",
397
+ context: { receivedType: typeof raw },
398
+ cause: shapeCause(e)
399
+ });
400
+ }
401
+ }
402
+ function createZksRpc(transport) {
403
+ return {
404
+ // Fetches the Bridgehub contract address.
405
+ async getBridgehubAddress() {
406
+ return withRpcOp(
407
+ "zksrpc.getBridgehubAddress",
408
+ "Failed to fetch Bridgehub address.",
409
+ {},
410
+ async () => {
411
+ const addrRaw = await transport(METHODS.getBridgehub, []);
412
+ if (typeof addrRaw !== "string" || !addrRaw.startsWith("0x")) {
413
+ throw createError("RPC", {
414
+ resource: "zksrpc",
415
+ operation: "zksrpc.getBridgehubAddress",
416
+ message: "Unexpected Bridgehub address response.",
417
+ context: { valueType: typeof addrRaw }
418
+ });
419
+ }
420
+ return addrRaw;
421
+ }
422
+ );
423
+ },
424
+ // Fetches a proof for an L2→L1 log emitted in the given transaction.
425
+ async getL2ToL1LogProof(txHash, index) {
426
+ return withRpcOp(
427
+ "zksrpc.getL2ToL1LogProof",
428
+ "Failed to fetch L2\u2192L1 log proof.",
429
+ { txHash, index },
430
+ async () => {
431
+ const proof = await transport(METHODS.getL2ToL1LogProof, [txHash, index]);
432
+ if (!proof) {
433
+ throw createError("STATE", {
434
+ resource: "zksrpc",
435
+ operation: "zksrpc.getL2ToL1LogProof",
436
+ message: "Proof not yet available. Please try again later.",
437
+ context: { txHash, index }
438
+ });
439
+ }
440
+ return normalizeProof(proof);
441
+ }
442
+ );
443
+ },
444
+ // Fetches the transaction receipt, including the `l2ToL1Logs` field.
445
+ async getReceiptWithL2ToL1(txHash) {
446
+ return withRpcOp(
447
+ "zksrpc.getReceiptWithL2ToL1",
448
+ "Failed to fetch transaction receipt.",
449
+ { txHash },
450
+ async () => {
451
+ const rcptRaw = await transport(METHODS.getReceipt, [txHash]);
452
+ if (!rcptRaw) return null;
453
+ const rcptObj = rcptRaw;
454
+ const logs = Array.isArray(rcptObj["l2ToL1Logs"]) ? rcptObj["l2ToL1Logs"] : [];
455
+ rcptObj["l2ToL1Logs"] = logs;
456
+ return rcptObj;
457
+ }
458
+ );
459
+ },
460
+ // Fetches the genesis configuration returned by `zks_getGenesis`.
461
+ async getGenesis() {
462
+ return withRpcOp(
463
+ "zksrpc.getGenesis",
464
+ "Failed to fetch genesis configuration.",
465
+ {},
466
+ async () => {
467
+ const genesisRaw = await transport(METHODS.getGenesis, []);
468
+ return normalizeGenesis(genesisRaw);
469
+ }
470
+ );
471
+ }
472
+ };
473
+ }
474
+
475
+ // src/core/rpc/transport.ts
476
+ function makeTransportFromEthers(provider) {
477
+ return (m, p = []) => provider.send(m, p);
478
+ }
479
+ function makeTransportFromViem(client) {
480
+ return (m, p = []) => client.request({ method: m, params: p });
481
+ }
482
+
483
+ // src/core/utils/addr.ts
484
+ var isHash66 = (x) => !!x && x.startsWith("0x") && x.length === 66;
485
+ function isAddressEq(a, b) {
486
+ return a.toLowerCase() === b.toLowerCase();
487
+ }
488
+ function isETH(token) {
489
+ return isAddressEq(token, FORMAL_ETH_ADDRESS) || isAddressEq(token, L2_BASE_TOKEN_ADDRESS) || isAddressEq(token, ETH_ADDRESS);
490
+ }
491
+ function normalizeAddrEq(a, b) {
492
+ if (!a || !b) return false;
493
+ const normalize = (s) => {
494
+ const hasPrefix = s.slice(0, 2).toLowerCase() === "0x";
495
+ const body = hasPrefix ? s.slice(2) : s;
496
+ return `0x${body.toLowerCase()}`;
497
+ };
498
+ return normalize(a) === normalize(b);
499
+ }
500
+
501
+ // src/core/resources/deposits/route.ts
502
+ async function pickDepositRoute(client, chainIdL2, token) {
503
+ if (isETH(token)) {
504
+ const base2 = await client.baseToken(chainIdL2);
505
+ return isETH(base2) ? "eth-base" : "eth-nonbase";
506
+ }
507
+ const base = await client.baseToken(chainIdL2);
508
+ return normalizeAddrEq(token, base) ? "erc20-base" : "erc20-nonbase";
509
+ }
510
+
511
+ // src/core/resources/withdrawals/route.ts
512
+ function normalizeTokenForRouting(token) {
513
+ const t = token.toLowerCase();
514
+ if (t === ETH_ADDRESS.toLowerCase()) return L2_BASE_TOKEN_ADDRESS;
515
+ return token;
516
+ }
517
+ function pickWithdrawRoute(args) {
518
+ const tokenNorm = normalizeTokenForRouting(args.token);
519
+ const isL2BaseAlias = tokenNorm.toLowerCase() === L2_BASE_TOKEN_ADDRESS.toLowerCase();
520
+ if (isL2BaseAlias) return args.baseIsEth ? "eth-base" : "eth-nonbase";
521
+ return "erc20-nonbase";
522
+ }
523
+
524
+ // src/core/resources/withdrawals/events.ts
525
+ function findL1MessageSentLog(receipt, opts) {
526
+ const index = opts?.index ?? 0;
527
+ const preferAddr = typeof opts?.prefer === "object" ? opts?.prefer.address : opts?.prefer === "assetRouter" ? L2_ASSET_ROUTER_ADDRESS : L1_MESSENGER_ADDRESS;
528
+ const prefer = (preferAddr ?? L1_MESSENGER_ADDRESS).toLowerCase();
529
+ const matches = receipt.logs.filter((lg) => {
530
+ const t0 = (lg.topics?.[0] ?? "").toLowerCase();
531
+ return t0 === TOPIC_L1_MESSAGE_SENT_NEW || t0 === TOPIC_L1_MESSAGE_SENT_LEG;
532
+ });
533
+ if (!matches.length) {
534
+ throw new Error("No L1MessageSent event found in L2 receipt logs.");
535
+ }
536
+ const preferred = matches.find((lg) => (lg.address ?? "").toLowerCase() === prefer);
537
+ const chosen = preferred ?? matches[index] ?? matches[0];
538
+ if (!chosen) {
539
+ throw new Error("No suitable L1MessageSent event found.");
540
+ }
541
+ return chosen;
542
+ }
543
+
544
+ // src/core/resources/withdrawals/logs.ts
545
+ function messengerLogIndex(raw, opts) {
546
+ const index = opts?.index ?? 0;
547
+ const messenger = (opts?.messenger ?? L1_MESSENGER_ADDRESS).toLowerCase();
548
+ const arr = Array.isArray(raw?.l2ToL1Logs) ? raw.l2ToL1Logs : [];
549
+ const hits = arr.map((lg, i) => ({ i, lg })).filter(({ lg }) => (lg?.sender ?? "").toLowerCase() === messenger);
550
+ if (!hits.length) {
551
+ throw new Error("No L2->L1 messenger logs found in receipt.");
552
+ }
553
+ return (hits[index] ?? hits[0]).i;
554
+ }
555
+
556
+ exports.constants = constants_exports;
557
+ exports.errors = factory_exports;
558
+ exports.findL1MessageSentLog = findL1MessageSentLog;
559
+ exports.formatEnvelopePretty = formatEnvelopePretty;
560
+ exports.isAddressEq = isAddressEq;
561
+ exports.isETH = isETH;
562
+ exports.isHash66 = isHash66;
563
+ exports.makeTransportFromEthers = makeTransportFromEthers;
564
+ exports.makeTransportFromViem = makeTransportFromViem;
565
+ exports.messengerLogIndex = messengerLogIndex;
566
+ exports.normalizeAddrEq = normalizeAddrEq;
567
+ exports.pickDepositRoute = pickDepositRoute;
568
+ exports.pickWithdrawRoute = pickWithdrawRoute;
569
+ exports.zksRpc = zks_exports;
570
+ //# sourceMappingURL=index.cjs.map
571
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/constants.ts","../src/core/errors/factory.ts","../src/core/errors/formatter.ts","../src/core/types/errors.ts","../src/core/rpc/zks.ts","../src/core/errors/rpc.ts","../src/core/rpc/transport.ts","../src/core/utils/addr.ts","../src/core/resources/deposits/route.ts","../src/core/resources/withdrawals/route.ts","../src/core/resources/withdrawals/events.ts","../src/core/resources/withdrawals/logs.ts"],"names":["bytesToHex","keccak_256","utf8ToBytes","r","base"],"mappings":";;;;;;;;;;;;AAAA,IAAA,iBAAA,GAAA;AAAA,QAAA,CAAA,iBAAA,EAAA;AAAA,EAAA,WAAA,EAAA,MAAA,WAAA;AAAA,EAAA,kBAAA,EAAA,MAAA,kBAAA;AAAA,EAAA,kCAAA,EAAA,MAAA,kCAAA;AAAA,EAAA,gCAAA,EAAA,MAAA,gCAAA;AAAA,EAAA,oBAAA,EAAA,MAAA,oBAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,uBAAA,EAAA,MAAA,uBAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,6BAAA,EAAA,MAAA,6BAAA;AAAA,EAAA,wBAAA,EAAA,MAAA,wBAAA;AAAA,EAAA,uBAAA,EAAA,MAAA,uBAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,yBAAA,EAAA,MAAA,yBAAA;AAAA,EAAA,yBAAA,EAAA,MAAA,yBAAA;AAAA,EAAA,OAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAQO,IAAM,OAAA,GAAU,CAAC,CAAA,KACtB,CAAA,EAAA,EAAKA,gBAAA,CAAWC,eAAA,CAAWC,iBAAA,CAAY,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,WAAA,EAAY;AAOrD,IAAM,kBAAA,GAA8B,4CAAA;AAGpC,IAAM,WAAA,GAAuB,4CAAA;AAG7B,IAAM,uBAAA,GAAmC,4CAAA;AAGzC,IAAM,6BAAA,GAAyC,4CAAA;AAG/C,IAAM,oBAAA,GAAgC,4CAAA;AAGtC,IAAM,qBAAA,GAAiC,4CAAA;AAGvC,IAAM,qBAAA,GAAiC,4CAAA;AAOvC,IAAM,qBAAA,GACX,oEAAA;AAGK,IAAM,yBAAA,GAAiC,QAAQ,sCAAsC,CAAA;AAGrF,IAAM,yBAAA,GAAiC,QAAQ,sCAAsC,CAAA;AAGrF,IAAM,wBAAA,GACX,oEAAA;AAGK,IAAM,uBAAA,GACX,oEAAA;AAUK,IAAM,gCAAA,GAAmC,EAAA;AAMzC,IAAM,kCAAA,GAAqC,EAAA;;;ACxElD,IAAA,eAAA,GAAA;AAAA,QAAA,CAAA,eAAA,EAAA;AAAA,EAAA,WAAA,EAAA,MAAA,WAAA;AAAA,EAAA,UAAA,EAAA,MAAA;AAAA,CAAA,CAAA;;;ACKA,SAAS,WAAA,CAAY,CAAA,EAAW,GAAA,GAAM,EAAA,EAAY;AAChD,EAAA,IAAI,CAAA,CAAE,MAAA,IAAU,GAAA,EAAK,OAAO,CAAA;AAC5B,EAAA,MAAM,IAAA,GAAO,KAAK,GAAA,CAAI,EAAA,EAAI,KAAK,KAAA,CAAA,CAAO,GAAA,GAAM,CAAA,IAAK,CAAC,CAAC,CAAA;AACnD,EAAA,OAAO,CAAA,EAAG,CAAA,CAAE,KAAA,CAAM,CAAA,EAAG,IAAI,CAAC,CAAA,MAAA,EAAI,CAAA,CAAE,KAAA,CAAM,CAAC,IAAI,CAAC,CAAA,CAAA;AAC9C;AAEA,SAAS,SAAA,CAAU,CAAA,EAAY,GAAA,GAAM,GAAA,EAAa;AAChD,EAAA,IAAI;AACF,IAAA,MAAM,IAAI,IAAA,CAAK,SAAA;AAAA,MAAU,CAAA;AAAA,MAAG,CAAC,EAAA,EAAY,GAAA,KACvC,OAAO,GAAA,KAAQ,WAAW,CAAA,EAAG,GAAA,CAAI,QAAA,EAAU,CAAA,CAAA,CAAA,GAAM;AAAA,KACnD;AACA,IAAA,OAAO,EAAE,MAAA,GAAS,GAAA,GAAM,WAAA,CAAY,CAAA,EAAG,GAAG,CAAA,GAAI,CAAA;AAAA,EAChD,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,OAAO,CAAC,CAAA;AAAA,EACjB;AACF;AAEA,SAAS,EAAA,CAAG,OAAe,KAAA,EAAuB;AAChD,EAAA,MAAM,KAAA,GAAQ,EAAA;AACd,EAAA,MAAM,GAAA,GAAM,MAAM,MAAA,IAAU,KAAA,GAAQ,MAAM,GAAA,CAAI,MAAA,CAAO,KAAA,GAAQ,KAAA,CAAM,MAAM,CAAA;AACzE,EAAA,OAAO,CAAA,EAAG,KAAA,GAAQ,GAAG,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA;AACjC;AAEA,SAAS,kBAAkB,GAAA,EAAmD;AAC5E,EAAA,IAAI,CAAC,GAAA,EAAK;AACV,EAAA,MAAM,MAAA,GAAS,IAAI,QAAQ,CAAA,IAAK,IAAI,UAAU,CAAA,IAAK,IAAI,MAAM,CAAA;AAC7D,EAAA,MAAM,KAAA,GAAQ,IAAI,OAAO,CAAA;AACzB,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI,MAAA,KAAW,MAAA;AACb,IAAA,KAAA,CAAM,IAAA,CAAK,CAAA,OAAA,EAAU,OAAO,MAAA,KAAW,QAAA,GAAW,SAAS,SAAA,CAAU,MAAA,EAAQ,EAAE,CAAC,CAAA,CAAE,CAAA;AACpF,EAAA,IAAI,UAAU,MAAA,EAAW;AACvB,IAAA,MAAM,QAAA,GACJ,OAAO,KAAA,KAAU,QAAA,IAAY,OAAO,KAAA,KAAU,QAAA,IAAY,OAAO,KAAA,KAAU,WACvE,MAAA,CAAO,KAAK,CAAA,GACZ,SAAA,CAAU,OAAO,EAAE,CAAA;AACzB,IAAA,KAAA,CAAM,IAAA,CAAK,CAAA,MAAA,EAAS,QAAQ,CAAA,CAAE,CAAA;AAAA,EAChC;AACA,EAAA,OAAO,KAAA,CAAM,MAAA,GAAS,CAAA,EAAA,EAAK,EAAA,CAAG,SAAA,EAAW,MAAM,IAAA,CAAK,YAAO,CAAC,CAAC,CAAA,CAAA,GAAK,MAAA;AACpE;AAEA,SAAS,WAAW,GAAA,EAAmD;AACrE,EAAA,MAAM,IAAA,GAAO,OAAO,OAAO,GAAA,CAAI,MAAM,CAAA,KAAM,QAAA,GAAW,GAAA,CAAI,MAAM,CAAA,GAAI,MAAA;AACpE,EAAA,OAAO,OAAO,CAAA,EAAA,EAAK,EAAA,CAAG,MAAA,EAAQ,IAAI,CAAC,CAAA,CAAA,GAAK,MAAA;AAC1C;AAEA,SAAS,aAAa,CAAA,EAAiD;AACrE,EAAA,IAAI,CAAC,CAAA,EAAG;AACR,EAAA,MAAM,KAAA,GAAQ,CAAC,CAAA,SAAA,EAAY,CAAA,CAAE,QAAQ,CAAA,CAAE,CAAA;AACvC,EAAA,MAAM,QAAkB,EAAC;AACzB,EAAA,KAAA,CAAM,IAAA,CAAK,KAAK,EAAA,CAAG,QAAA,EAAU,MAAM,IAAA,CAAK,GAAG,CAAC,CAAC,CAAA,CAAE,CAAA;AAC/C,EAAA,IAAI,EAAE,IAAA,EAAM,KAAA,CAAM,KAAK,CAAA,mBAAA,EAAsB,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA;AACrD,EAAA,IAAI,EAAE,QAAA,EAAU,KAAA,CAAM,KAAK,CAAA,uBAAA,EAA0B,CAAA,CAAE,QAAQ,CAAA,CAAE,CAAA;AACjE,EAAA,IAAI,EAAE,EAAA,EAAI,KAAA,CAAM,KAAK,CAAA,iBAAA,EAAoB,CAAA,CAAE,EAAE,CAAA,CAAE,CAAA;AAC/C,EAAA,IAAI,CAAA,CAAE,IAAA,IAAQ,CAAA,CAAE,IAAA,CAAK,MAAA,EAAQ;AAC3B,IAAA,KAAA,CAAM,KAAK,CAAA,mBAAA,EAAsB,SAAA,CAAU,EAAE,IAAA,EAAM,GAAG,CAAC,CAAA,CAAE,CAAA;AAAA,EAC3D;AACA,EAAA,OAAO,KAAA,CAAM,KAAK,IAAI,CAAA;AACxB;AAEA,SAAS,YAAY,CAAA,EAAuB;AAC1C,EAAA,IAAI,CAAC,CAAA,EAAG,OAAO,EAAC;AAChB,EAAA,MAAM,MAAgB,EAAC;AAGvB,EAAA,IAAI,OAAO,CAAA,KAAM,QAAA,IAAY,CAAA,KAAM,IAAA,EAAM;AACvC,IAAA,MAAM,GAAA,GAAM,CAAA;AACZ,IAAA,MAAM,OAAiB,EAAC;AACxB,IAAA,IAAI,GAAA,CAAI,SAAS,MAAA,EAAW;AAC1B,MAAA,MAAM,UAAU,GAAA,CAAI,IAAA;AACpB,MAAA,MAAM,UACJ,OAAO,OAAA,KAAY,YACnB,OAAO,OAAA,KAAY,YACnB,OAAO,OAAA,KAAY,QAAA,IACnB,OAAO,YAAY,SAAA,GACf,MAAA,CAAO,OAAO,CAAA,GACd,SAAA,CAAU,SAAS,GAAG,CAAA;AAC5B,MAAA,IAAA,CAAK,IAAA,CAAK,CAAA,KAAA,EAAQ,OAAO,CAAA,CAAE,CAAA;AAAA,IAC7B;AACA,IAAA,IAAI,GAAA,CAAI,SAAS,MAAA,EAAW;AAC1B,MAAA,MAAM,UAAU,GAAA,CAAI,IAAA;AACpB,MAAA,MAAM,UACJ,OAAO,OAAA,KAAY,YACnB,OAAO,OAAA,KAAY,YACnB,OAAO,OAAA,KAAY,QAAA,IACnB,OAAO,YAAY,SAAA,GACf,MAAA,CAAO,OAAO,CAAA,GACd,SAAA,CAAU,SAAS,GAAG,CAAA;AAC5B,MAAA,IAAA,CAAK,IAAA,CAAK,CAAA,KAAA,EAAQ,OAAO,CAAA,CAAE,CAAA;AAAA,IAC7B;AACA,IAAA,IAAI,IAAA,CAAK,MAAA,EAAQ,GAAA,CAAI,IAAA,CAAK,CAAA,EAAA,EAAK,EAAA,CAAG,OAAA,EAAS,IAAA,CAAK,IAAA,CAAK,IAAI,CAAC,CAAC,CAAA,CAAE,CAAA;AAE7D,IAAA,IAAI,IAAI,OAAA,EAAS;AACf,MAAA,MAAM,UAAA,GACJ,OAAO,GAAA,CAAI,OAAA,KAAY,QAAA,IACvB,OAAO,GAAA,CAAI,OAAA,KAAY,QAAA,IACvB,OAAO,GAAA,CAAI,OAAA,KAAY,YACvB,OAAO,GAAA,CAAI,OAAA,KAAY,SAAA,GACnB,MAAA,CAAO,GAAA,CAAI,OAAO,CAAA,GAClB,SAAA,CAAU,GAAA,CAAI,OAAA,EAAS,GAAG,CAAA;AAChC,MAAA,GAAA,CAAI,KAAK,CAAA,sBAAA,EAAyB,WAAA,CAAY,UAAA,EAAY,GAAG,CAAC,CAAA,CAAE,CAAA;AAAA,IAClE;AACA,IAAA,IAAI,IAAI,IAAA,EAAM;AACZ,MAAA,MAAM,OAAA,GAAU,SAAA,CAAU,GAAA,CAAI,IAAA,EAAM,GAAG,CAAA;AACvC,MAAA,GAAA,CAAI,KAAK,CAAA,mBAAA,EAAsB,WAAA,CAAY,OAAA,EAAS,GAAG,CAAC,CAAA,CAAE,CAAA;AAAA,IAC5D;AAAA,EACF,CAAA,MAAO;AACL,IAAA,GAAA,CAAI,IAAA,CAAK,KAAK,EAAA,CAAG,OAAA,EAAS,UAAU,CAAA,EAAG,GAAG,CAAC,CAAC,CAAA,CAAE,CAAA;AAAA,EAChD;AAEA,EAAA,OAAO,GAAA;AACT;AAEO,SAAS,qBAAqB,CAAA,EAA0B;AAC7D,EAAA,MAAM,QAAkB,EAAC;AAGzB,EAAA,KAAA,CAAM,IAAA,CAAK,CAAA,oBAAA,EAAkB,CAAA,CAAE,IAAI,CAAA,CAAA,CAAG,CAAA;AACtC,EAAA,KAAA,CAAM,KAAK,CAAA,EAAA,EAAK,EAAA,CAAG,WAAW,CAAA,CAAE,OAAO,CAAC,CAAA,CAAE,CAAA;AAC1C,EAAA,KAAA,CAAM,KAAK,EAAE,CAAA;AAEb,EAAA,KAAA,CAAM,KAAK,CAAA,EAAA,EAAK,EAAA,CAAG,aAAa,CAAA,CAAE,SAAS,CAAC,CAAA,CAAE,CAAA;AAE9C,EAAA,MAAM,OAAO,MAAM;AACjB,IAAA,MAAM,CAAA,GAAI,CAAA;AACV,IAAA,IAAI,CAAC,CAAA,IAAK,OAAO,CAAA,KAAM,UAAU,OAAO,MAAA;AACxC,IAAA,MAAM,GAAA,GAAM,CAAA;AACZ,IAAA,MAAM,SAAA,GAAY,GAAA,CAAI,KAAK,CAAA,IAAK,IAAI,SAAS,CAAA;AAC7C,IAAA,IAAI,SAAA,IAAa,OAAO,SAAA,KAAc,QAAA,IAAY,cAAc,IAAA,EAAM;AACpE,MAAA,OAAO,SAAA;AAAA,IACT;AACA,IAAA,OAAO,MAAA;AAAA,EACT,CAAA,GAAG;AAEH,EAAA,MAAM,OAAA,GAAU,kBAAkB,GAAG,CAAA;AACrC,EAAA,IAAI,OAAA,EAAS,KAAA,CAAM,IAAA,CAAK,OAAO,CAAA;AAE/B,EAAA,MAAM,QAAA,GAAW,WAAW,GAAG,CAAA;AAC/B,EAAA,IAAI,QAAA,EAAU,KAAA,CAAM,IAAA,CAAK,QAAQ,CAAA;AAEjC,EAAA,MAAM,EAAA,GAAK,YAAA,CAAa,CAAA,CAAE,MAAM,CAAA;AAChC,EAAA,IAAI,EAAA,EAAI,KAAA,CAAM,IAAA,CAAK,EAAE,CAAA;AAErB,EAAA,MAAM,UAAA,GAAa,WAAA,CAAY,CAAA,CAAE,KAAK,CAAA;AACtC,EAAA,IAAI,WAAW,MAAA,EAAQ;AACrB,IAAA,IAAI,CAAC,OAAA,IAAW,CAAC,EAAA,EAAI,KAAA,CAAM,KAAK,EAAE,CAAA;AAClC,IAAA,KAAA,CAAM,IAAA,CAAK,GAAG,UAAU,CAAA;AAAA,EAC1B;AAEA,EAAA,OAAO,KAAA,CAAM,KAAK,IAAI,CAAA;AACxB;;;ACtJA,IAAM,mBAAmB,OAAO,MAAA,KAAW,UAAA,IAAc,OAAO,OAAO,GAAA,KAAQ,UAAA;AAC/E,IAAM,QAAA,GAA+B,gBAAA,GACjC,MAAA,CAAO,GAAA,CAAI,4BAA4B,CAAA,GACvC,MAAA;AAsEG,IAAM,WAAA,GAAN,cAA0B,KAAA,CAAM;AAAA,EACrC,YAA4B,QAAA,EAAyB;AACnD,IAAA,KAAA,CAAM,oBAAA,CAAqB,QAAQ,CAAA,EAAG,QAAA,CAAS,KAAA,GAAQ,EAAE,KAAA,EAAO,QAAA,CAAS,KAAA,EAAM,GAAI,MAAS,CAAA;AADlE,IAAA,IAAA,CAAA,QAAA,GAAA,QAAA;AAE1B,IAAA,IAAA,CAAK,IAAA,GAAO,aAAA;AAAA,EACd;AAAA,EAEA,MAAA,GAAS;AACP,IAAA,OAAO,EAAE,IAAA,EAAM,IAAA,CAAK,IAAA,EAAM,GAAG,KAAK,QAAA,EAAS;AAAA,EAC7C;AACF,CAAA;AAGA,IAAI,QAAA,EAAU;AACZ,EAAA,MAAA,CAAO,cAAA,CAAe,WAAA,CAAY,SAAA,EAAW,QAAA,EAAU;AAAA,IACrD,KAAA,GAAyB;AACvB,MAAA,OAAO,GAAG,IAAA,CAAK,IAAI,KAAK,oBAAA,CAAqB,IAAA,CAAK,QAAQ,CAAC,CAAA,CAAA;AAAA,IAC7D,CAAA;AAAA,IACA,UAAA,EAAY;AAAA,GACb,CAAA;AACH;AAGO,SAAS,cAAc,CAAA,EAA8B;AAC1D,EAAA,IAAI,CAAC,CAAA,IAAK,OAAO,CAAA,KAAM,UAAU,OAAO,KAAA;AAExC,EAAA,MAAM,KAAA,GAAQ,CAAA;AACd,EAAA,IAAI,EAAE,UAAA,IAAc,KAAA,CAAA,EAAQ,OAAO,KAAA;AAEnC,EAAA,MAAM,WAAW,KAAA,CAAM,QAAA;AACvB,EAAA,OAAO,OAAO,QAAA,EAAU,IAAA,KAAS,QAAA,IAAY,OAAO,UAAU,OAAA,KAAY,QAAA;AAC5E;;;AFxGO,SAAS,WAAA,CAAY,MAAiB,KAAA,EAAiD;AAC5F,EAAA,OAAO,IAAI,WAAA,CAAY,EAAE,GAAG,KAAA,EAAO,MAAM,CAAA;AAC3C;AAGO,SAAS,WAAW,GAAA,EAAc;AACvC,EAAA,MAAM,WAAW,CAAC,CAAA,KAChB,CAAA,KAAM,IAAA,IAAQ,OAAO,CAAA,KAAM,QAAA;AAE7B,EAAA,IAAI,IAAA,GAAgB,MAAA;AACpB,EAAA,IAAI,QAAA,CAAS,GAAG,CAAA,EAAG;AACjB,IAAA,MAAMC,EAAAA,GAAI,GAAA;AACV,IAAA,MAAM,IAAIA,EAAAA,CAAE,IAAA;AACZ,IAAA,IAAI,QAAA,CAAS,CAAC,CAAA,IAAK,MAAA,IAAU,CAAA,EAAG;AAC9B,MAAA,IAAA,GAAO,CAAA,CAAE,IAAA;AAAA,IACX,CAAA,MAAA,IAAW,WAAWA,EAAAA,IAAK,QAAA,CAASA,GAAE,KAAK,CAAA,IAAK,MAAA,IAAUA,EAAAA,CAAE,KAAA,EAAO;AACjE,MAAA,IAAA,GAAOA,GAAE,KAAA,CAAM,IAAA;AAAA,IACjB,CAAA,MAAA,IAAW,UAAUA,EAAAA,EAAG;AACtB,MAAA,IAAA,GAAOA,EAAAA,CAAE,IAAA;AAAA,IACX;AAAA,EACF;AAEA,EAAA,MAAM,CAAA,GAAI,QAAA,CAAS,GAAG,CAAA,GAAI,GAAA,GAAM,MAAA;AAEhC,EAAA,MAAM,OAAO,CAAA,IAAK,OAAO,EAAE,IAAA,KAAS,QAAA,GAAW,EAAE,IAAA,GAAO,MAAA;AACxD,EAAA,MAAM,OAAA,GACJ,CAAA,IAAK,OAAO,CAAA,CAAE,YAAY,QAAA,GACtB,CAAA,CAAE,OAAA,GACF,CAAA,IAAK,OAAO,CAAA,CAAE,YAAA,KAAiB,QAAA,GAC7B,EAAE,YAAA,GACF,MAAA;AACR,EAAA,MAAM,IAAA,GAAO,CAAA,IAAK,MAAA,IAAU,CAAA,GAAI,EAAE,IAAA,GAAO,MAAA;AAEzC,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA,EAAM,OAAO,IAAA,KAAS,QAAA,IAAY,KAAK,UAAA,CAAW,IAAI,CAAA,GAAI,CAAA,EAAG,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,EAAE,CAAC,CAAA,MAAA,CAAA,GAAM;AAAA,GACtF;AACF;;;AG3CA,IAAA,WAAA,GAAA;AAAA,QAAA,CAAA,WAAA,EAAA;AAAA,EAAA,YAAA,EAAA,MAAA,YAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,cAAA,EAAA,MAAA;AAAA,CAAA,CAAA;;;ACMA,eAAsB,SAAA,CACpB,SAAA,EACA,OAAA,EACA,GAAA,EACA,EAAA,EACY;AACZ,EAAA,IAAI;AACF,IAAA,OAAO,MAAM,EAAA,EAAG;AAAA,EAClB,SAAS,CAAA,EAAG;AACV,IAAA,IAAI,aAAA,CAAc,CAAC,CAAA,EAAG,MAAM,CAAA;AAC5B,IAAA,MAAM,YAAY,KAAA,EAAO;AAAA,MACvB,QAAA,EAAU,QAAA;AAAA,MACV,SAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA,EAAS,GAAA;AAAA,MACT,KAAA,EAAO,WAAW,CAAC;AAAA,KACpB,CAAA;AAAA,EACH;AACF;;;ADMA,IAAM,OAAA,GAAU;AAAA,EACd,YAAA,EAAc,0BAAA;AAAA,EACd,iBAAA,EAAmB,uBAAA;AAAA,EACnB,UAAA,EAAY,2BAAA;AAAA,EACZ,UAAA,EAAY;AACd,CAAA;AAGA,SAAS,WAAW,GAAA,EAAqB;AACvC,EAAA,MAAM,OAAO,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,GAAK,MAAoB,EAAC;AACxD,EAAA,OAAO,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,KAAM,CAAQ,CAAA;AACjC;AAIO,SAAS,eAAe,CAAA,EAA6B;AAC1D,EAAA,IAAI;AACF,IAAA,MAAM,GAAA,GAAO,KAAK,EAAC;AACnB,IAAA,MAAM,KAAA,GAAQ,GAAA,EAAK,EAAA,IAAM,GAAA,EAAK,KAAA;AAC9B,IAAA,MAAM,KAAA,GAAQ,GAAA,EAAK,YAAA,IAAgB,GAAA,EAAK,WAAA;AACxC,IAAA,IAAI,KAAA,IAAS,IAAA,IAAQ,KAAA,IAAS,IAAA,EAAM;AAClC,MAAA,MAAM,YAAY,KAAA,EAAO;AAAA,QACvB,QAAA,EAAU,QAAA;AAAA,QACV,SAAA,EAAW,uBAAA;AAAA,QACX,OAAA,EAAS,8CAAA;AAAA,QAET,OAAA,EAAS,EAAE,IAAA,EAAM,MAAA,CAAO,KAAK,GAAA,IAAO,EAAE,CAAA;AAAE,OACzC,CAAA;AAAA,IACH;AAEA,IAAA,MAAM,QAAQ,CAAC,CAAA,KACb,OAAO,CAAA,KAAM,QAAA,GACT,IACA,OAAO,CAAA,KAAM,WACX,MAAA,CAAO,CAAC,IACR,OAAO,CAAA,KAAM,WACX,MAAA,CAAO,CAAC,KACP,MAAM;AACL,MAAA,MAAM,YAAY,KAAA,EAAO;AAAA,QACvB,QAAA,EAAU,QAAA;AAAA,QACV,SAAA,EAAW,uBAAA;AAAA,QACX,OAAA,EAAS,yCAAA;AAAA,QACT,OAAA,EAAS,EAAE,SAAA,EAAW,OAAO,CAAA;AAAE,OAChC,CAAA;AAAA,IACH,CAAA,GAAG;AAEb,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,MAAM,KAAK,CAAA;AAAA,MACf,WAAA,EAAa,MAAM,KAAK,CAAA;AAAA,MACxB,KAAA,EAAO,UAAA,CAAW,GAAA,EAAK,KAAK;AAAA,KAC9B;AAAA,EACF,SAAS,CAAA,EAAG;AACV,IAAA,IAAI,aAAA,CAAc,CAAC,CAAA,EAAG,MAAM,CAAA;AAC5B,IAAA,MAAM,YAAY,KAAA,EAAO;AAAA,MACvB,QAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,uBAAA;AAAA,MACX,OAAA,EAAS,4BAAA;AAAA,MACT,OAAA,EAAS,EAAE,YAAA,EAAc,OAAO,CAAA,EAAE;AAAA,MAClC,KAAA,EAAO,WAAW,CAAC;AAAA,KACpB,CAAA;AAAA,EACH;AACF;AAEA,SAAS,SAAA,CAAU,KAAA,EAAgB,KAAA,EAAe,OAAA,EAAuC;AACvF,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,IAAY,MAAM,UAAA,CAAW,IAAI,GAAG,OAAO,KAAA;AAChE,EAAA,MAAM,YAAY,KAAA,EAAO;AAAA,IACvB,QAAA,EAAU,QAAA;AAAA,IACV,SAAA,EAAW,yBAAA;AAAA,IACX,OAAA,EAAS,6DAAA;AAAA,IACT,SAAS,EAAE,KAAA,EAAO,WAAW,OAAO,KAAA,EAAO,GAAG,OAAA;AAAQ,GACvD,CAAA;AACH;AAEA,SAAS,YAAA,CAAa,OAAgB,KAAA,EAAuB;AAC3D,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,IAAY,OAAO,QAAA,CAAS,KAAK,GAAG,OAAO,KAAA;AAChE,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,EAAU,OAAO,OAAO,KAAK,CAAA;AAClD,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,CAAM,IAAA,OAAW,EAAA,EAAI;AACpD,IAAA,MAAM,MAAA,GAAS,OAAO,KAAK,CAAA;AAC3B,IAAA,IAAI,MAAA,CAAO,QAAA,CAAS,MAAM,CAAA,EAAG,OAAO,MAAA;AAAA,EACtC;AACA,EAAA,MAAM,YAAY,KAAA,EAAO;AAAA,IACvB,QAAA,EAAU,QAAA;AAAA,IACV,SAAA,EAAW,yBAAA;AAAA,IACX,OAAA,EAAS,qDAAA;AAAA,IACT,OAAA,EAAS,EAAE,KAAA,EAAO,SAAA,EAAW,OAAO,KAAA;AAAM,GAC3C,CAAA;AACH;AAEA,SAAS,sBAAA,CAAuB,OAAgB,KAAA,EAA0C;AACxF,EAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,IAAK,KAAA,CAAM,SAAS,CAAA,EAAG;AAC7C,IAAA,MAAM,YAAY,KAAA,EAAO;AAAA,MACvB,QAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,yBAAA;AAAA,MACX,OAAA,EAAS,qDAAA;AAAA,MACT,OAAA,EAAS,EAAE,KAAA,EAAO,SAAA,EAAW,OAAO,KAAA;AAAM,KAC3C,CAAA;AAAA,EACH;AAEA,EAAA,MAAM,CAAC,OAAA,EAAS,WAAW,CAAA,GAAI,KAAA;AAC/B,EAAA,OAAO;AAAA,IACL,SAAS,SAAA,CAAU,OAAA,EAAS,2BAAA,EAA6B,EAAE,OAAO,CAAA;AAAA,IAClE,UAAU,SAAA,CAAU,WAAA,EAAa,4BAAA,EAA8B,EAAE,OAAO;AAAA,GAC1E;AACF;AAEA,SAAS,qBAAA,CAAsB,OAAgB,KAAA,EAAoC;AACjF,EAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,IAAK,KAAA,CAAM,SAAS,CAAA,EAAG;AAC7C,IAAA,MAAM,YAAY,KAAA,EAAO;AAAA,MACvB,QAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,yBAAA;AAAA,MACX,OAAA,EAAS,oDAAA;AAAA,MACT,OAAA,EAAS,EAAE,KAAA,EAAO,SAAA,EAAW,OAAO,KAAA;AAAM,KAC3C,CAAA;AAAA,EACH;AAEA,EAAA,MAAM,CAAC,MAAA,EAAQ,QAAQ,CAAA,GAAI,KAAA;AAC3B,EAAA,OAAO;AAAA,IACL,KAAK,SAAA,CAAU,MAAA,EAAQ,wBAAA,EAA0B,EAAE,OAAO,CAAA;AAAA,IAC1D,OAAO,SAAA,CAAU,QAAA,EAAU,0BAAA,EAA4B,EAAE,OAAO;AAAA,GAClE;AACF;AAGO,SAAS,iBAAiB,GAAA,EAA4B;AAC3D,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,GAAA,IAAO,OAAO,GAAA,KAAQ,QAAA,EAAU;AACnC,MAAA,MAAM,YAAY,KAAA,EAAO;AAAA,QACvB,QAAA,EAAU,QAAA;AAAA,QACV,SAAA,EAAW,yBAAA;AAAA,QACX,OAAA,EAAS,8CAAA;AAAA,QACT,OAAA,EAAS,EAAE,YAAA,EAAc,OAAO,GAAA;AAAI,OACrC,CAAA;AAAA,IACH;AAEA,IAAA,MAAM,MAAA,GAAS,GAAA;AAEf,IAAA,MAAM,YAAA,GAAe,OAAO,mBAAmB,CAAA;AAC/C,IAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,YAAY,CAAA,EAAG;AAChC,MAAA,MAAM,YAAY,KAAA,EAAO;AAAA,QACvB,QAAA,EAAU,QAAA;AAAA,QACV,SAAA,EAAW,yBAAA;AAAA,QACX,OAAA,EAAS,iEAAA;AAAA,QACT,OAAA,EAAS,EAAE,SAAA,EAAW,OAAO,YAAA;AAAa,OAC3C,CAAA;AAAA,IACH;AAEA,IAAA,MAAM,UAAA,GAAa,OAAO,oBAAoB,CAAA;AAC9C,IAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,UAAU,CAAA,EAAG;AAC9B,MAAA,MAAM,YAAY,KAAA,EAAO;AAAA,QACvB,QAAA,EAAU,QAAA;AAAA,QACV,SAAA,EAAW,yBAAA;AAAA,QACX,OAAA,EAAS,kEAAA;AAAA,QACT,OAAA,EAAS,EAAE,SAAA,EAAW,OAAO,UAAA;AAAW,OACzC,CAAA;AAAA,IACH;AAEA,IAAA,MAAM,gBAAA,GAAmB,YAAA,CAAa,MAAA,CAAO,mBAAmB,GAAG,mBAAmB,CAAA;AACtF,IAAA,MAAM,cAAc,SAAA,CAAU,MAAA,CAAO,cAAc,CAAA,EAAG,cAAA,EAAgB,EAAE,CAAA;AAExE,IAAA,MAAM,mBAAmB,YAAA,CAAa,GAAA;AAAA,MAAI,CAAC,KAAA,EAAO,KAAA,KAChD,sBAAA,CAAuB,OAAO,KAAK;AAAA,KACrC;AACA,IAAA,MAAM,iBAAA,GAAoB,WAAW,GAAA,CAAI,CAAC,OAAO,KAAA,KAAU,qBAAA,CAAsB,KAAA,EAAO,KAAK,CAAC,CAAA;AAE9F,IAAA,OAAO;AAAA,MACL,gBAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF,SAAS,CAAA,EAAG;AACV,IAAA,IAAI,aAAA,CAAc,CAAC,CAAA,EAAG,MAAM,CAAA;AAC5B,IAAA,MAAM,YAAY,KAAA,EAAO;AAAA,MACvB,QAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,yBAAA;AAAA,MACX,OAAA,EAAS,uCAAA;AAAA,MACT,OAAA,EAAS,EAAE,YAAA,EAAc,OAAO,GAAA,EAAI;AAAA,MACpC,KAAA,EAAO,WAAW,CAAC;AAAA,KACpB,CAAA;AAAA,EACH;AACF;AAGO,SAAS,aAAa,SAAA,EAAiC;AAC5D,EAAA,OAAO;AAAA;AAAA,IAEL,MAAM,mBAAA,GAAsB;AAC1B,MAAA,OAAO,SAAA;AAAA,QACL,4BAAA;AAAA,QACA,oCAAA;AAAA,QACA,EAAC;AAAA,QACD,YAAY;AACV,UAAA,MAAM,UAAW,MAAM,SAAA,CAAU,OAAA,CAAQ,YAAA,EAAc,EAAE,CAAA;AAEzD,UAAA,IAAI,OAAO,OAAA,KAAY,QAAA,IAAY,CAAC,OAAA,CAAQ,UAAA,CAAW,IAAI,CAAA,EAAG;AAC5D,YAAA,MAAM,YAAY,KAAA,EAAO;AAAA,cACvB,QAAA,EAAU,QAAA;AAAA,cACV,SAAA,EAAW,4BAAA;AAAA,cACX,OAAA,EAAS,wCAAA;AAAA,cACT,OAAA,EAAS,EAAE,SAAA,EAAW,OAAO,OAAA;AAAQ,aACtC,CAAA;AAAA,UACH;AACA,UAAA,OAAO,OAAA;AAAA,QACT;AAAA,OACF;AAAA,IACF,CAAA;AAAA;AAAA,IAGA,MAAM,iBAAA,CAAkB,MAAA,EAAQ,KAAA,EAAO;AACrC,MAAA,OAAO,SAAA;AAAA,QACL,0BAAA;AAAA,QACA,uCAAA;AAAA,QACA,EAAE,QAAQ,KAAA,EAAM;AAAA,QAChB,YAAY;AACV,UAAA,MAAM,KAAA,GAAiB,MAAM,SAAA,CAAU,OAAA,CAAQ,mBAAmB,CAAC,MAAA,EAAQ,KAAK,CAAC,CAAA;AACjF,UAAA,IAAI,CAAC,KAAA,EAAO;AACV,YAAA,MAAM,YAAY,OAAA,EAAS;AAAA,cACzB,QAAA,EAAU,QAAA;AAAA,cACV,SAAA,EAAW,0BAAA;AAAA,cACX,OAAA,EAAS,kDAAA;AAAA,cACT,OAAA,EAAS,EAAE,MAAA,EAAQ,KAAA;AAAM,aAC1B,CAAA;AAAA,UACH;AACA,UAAA,OAAO,eAAe,KAAK,CAAA;AAAA,QAC7B;AAAA,OACF;AAAA,IACF,CAAA;AAAA;AAAA,IAGA,MAAM,qBAAqB,MAAA,EAAQ;AACjC,MAAA,OAAO,SAAA;AAAA,QACL,6BAAA;AAAA,QACA,sCAAA;AAAA,QACA,EAAE,MAAA,EAAO;AAAA,QACT,YAAY;AACV,UAAA,MAAM,UAAmB,MAAM,SAAA,CAAU,QAAQ,UAAA,EAAY,CAAC,MAAM,CAAC,CAAA;AACrE,UAAA,IAAI,CAAC,SAAS,OAAO,IAAA;AACrB,UAAA,MAAM,OAAA,GAAU,OAAA;AAEhB,UAAA,MAAM,IAAA,GAAO,KAAA,CAAM,OAAA,CAAQ,OAAA,CAAQ,YAAY,CAAC,CAAA,GAC3C,OAAA,CAAQ,YAAY,CAAA,GACrB,EAAC;AACL,UAAA,OAAA,CAAQ,YAAY,CAAA,GAAI,IAAA;AACxB,UAAA,OAAO,OAAA;AAAA,QACT;AAAA,OACF;AAAA,IACF,CAAA;AAAA;AAAA,IAGA,MAAM,UAAA,GAAa;AACjB,MAAA,OAAO,SAAA;AAAA,QACL,mBAAA;AAAA,QACA,wCAAA;AAAA,QACA,EAAC;AAAA,QACD,YAAY;AACV,UAAA,MAAM,aAAsB,MAAM,SAAA,CAAU,OAAA,CAAQ,UAAA,EAAY,EAAE,CAAA;AAClE,UAAA,OAAO,iBAAiB,UAAU,CAAA;AAAA,QACpC;AAAA,OACF;AAAA,IACF;AAAA,GACF;AACF;;;AE9RO,SAAS,wBAAwB,QAAA,EAEvB;AACf,EAAA,OAAO,CAAC,GAAG,CAAA,GAAI,OAAO,QAAA,CAAS,IAAA,CAAK,GAAG,CAAC,CAAA;AAC1C;AAGO,SAAS,sBAAsB,MAAA,EAErB;AACf,EAAA,OAAO,CAAC,CAAA,EAAG,CAAA,GAAI,EAAC,KAAM,MAAA,CAAO,OAAA,CAAQ,EAAE,MAAA,EAAQ,CAAA,EAAG,MAAA,EAAQ,CAAA,EAAG,CAAA;AAC/D;;;ACZO,IAAM,QAAA,GAAW,CAAC,CAAA,KAAyB,CAAC,CAAC,CAAA,IAAK,CAAA,CAAE,UAAA,CAAW,IAAI,CAAA,IAAK,CAAA,CAAE,MAAA,KAAW;AAGrF,SAAS,WAAA,CAAY,GAAY,CAAA,EAAqB;AAC3D,EAAA,OAAO,CAAA,CAAE,WAAA,EAAY,KAAM,CAAA,CAAE,WAAA,EAAY;AAC3C;AAGO,SAAS,MAAM,KAAA,EAAgB;AACpC,EAAA,OACE,WAAA,CAAY,KAAA,EAAO,kBAAkB,CAAA,IACrC,WAAA,CAAY,OAAO,qBAAqB,CAAA,IACxC,WAAA,CAAY,KAAA,EAAO,WAAW,CAAA;AAElC;AAGO,SAAS,eAAA,CAAgB,GAAY,CAAA,EAAqB;AAC/D,EAAA,IAAI,CAAC,CAAA,IAAK,CAAC,CAAA,EAAG,OAAO,KAAA;AAErB,EAAA,MAAM,SAAA,GAAY,CAAC,CAAA,KAAc;AAE/B,IAAA,MAAM,YAAY,CAAA,CAAE,KAAA,CAAM,GAAG,CAAC,CAAA,CAAE,aAAY,KAAM,IAAA;AAClD,IAAA,MAAM,IAAA,GAAO,SAAA,GAAY,CAAA,CAAE,KAAA,CAAM,CAAC,CAAA,GAAI,CAAA;AACtC,IAAA,OAAO,CAAA,EAAA,EAAK,IAAA,CAAK,WAAA,EAAa,CAAA,CAAA;AAAA,EAChC,CAAA;AAEA,EAAA,OAAO,SAAA,CAAU,CAAC,CAAA,KAAM,SAAA,CAAU,CAAC,CAAA;AACrC;;;ACnBA,eAAsB,gBAAA,CACpB,MAAA,EACA,SAAA,EACA,KAAA,EACuB;AACvB,EAAA,IAAI,KAAA,CAAM,KAAK,CAAA,EAAG;AAChB,IAAA,MAAMC,KAAAA,GAAO,MAAM,MAAA,CAAO,SAAA,CAAU,SAAS,CAAA;AAC7C,IAAA,OAAO,KAAA,CAAMA,KAAI,CAAA,GAAI,UAAA,GAAa,aAAA;AAAA,EACpC;AAEA,EAAA,MAAM,IAAA,GAAO,MAAM,MAAA,CAAO,SAAA,CAAU,SAAS,CAAA;AAC7C,EAAA,OAAO,eAAA,CAAgB,KAAA,EAAO,IAAI,CAAA,GAAI,YAAA,GAAe,eAAA;AACvD;;;ACpBA,SAAS,yBAAyB,KAAA,EAAyB;AACzD,EAAA,MAAM,CAAA,GAAI,MAAM,WAAA,EAAY;AAC5B,EAAA,IAAI,CAAA,KAAM,WAAA,CAAY,WAAA,EAAY,EAAG,OAAO,qBAAA;AAC5C,EAAA,OAAO,KAAA;AACT;AAGO,SAAS,kBAAkB,IAAA,EAA6D;AAC7F,EAAA,MAAM,SAAA,GAAY,wBAAA,CAAyB,IAAA,CAAK,KAAK,CAAA;AACrD,EAAA,MAAM,aAAA,GAAgB,SAAA,CAAU,WAAA,EAAY,KAAM,sBAAsB,WAAA,EAAY;AACpF,EAAA,IAAI,aAAA,EAAe,OAAO,IAAA,CAAK,SAAA,GAAY,UAAA,GAAa,aAAA;AACxD,EAAA,OAAO,eAAA;AACT;;;ACHO,SAAS,oBAAA,CACd,SACA,IAAA,EACW;AACX,EAAA,MAAM,KAAA,GAAQ,MAAM,KAAA,IAAS,CAAA;AAG7B,EAAA,MAAM,UAAA,GACJ,OAAO,IAAA,EAAM,MAAA,KAAW,QAAA,GACpB,IAAA,EAAM,MAAA,CAAO,OAAA,GACb,IAAA,EAAM,MAAA,KAAW,aAAA,GACf,uBAAA,GACA,oBAAA;AAER,EAAA,MAAM,MAAA,GAAA,CAAU,UAAA,IAAc,oBAAA,EAAsB,WAAA,EAAY;AAEhE,EAAA,MAAM,OAAA,GAAU,OAAA,CAAQ,IAAA,CAAK,MAAA,CAAO,CAAC,EAAA,KAAO;AAC1C,IAAA,MAAM,MAAM,EAAA,CAAG,MAAA,GAAS,CAAC,CAAA,IAAK,IAAI,WAAA,EAAY;AAC9C,IAAA,OAAO,EAAA,KAAO,6BAA6B,EAAA,KAAO,yBAAA;AAAA,EACpD,CAAC,CAAA;AAED,EAAA,IAAI,CAAC,QAAQ,MAAA,EAAQ;AACnB,IAAA,MAAM,IAAI,MAAM,kDAAkD,CAAA;AAAA,EACpE;AAGA,EAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,IAAA,CAAK,CAAC,EAAA,KAAA,CAAQ,GAAG,OAAA,IAAW,EAAA,EAAI,WAAA,EAAY,KAAM,MAAM,CAAA;AAClF,EAAA,MAAM,SAAS,SAAA,IAAa,OAAA,CAAQ,KAAK,CAAA,IAAK,QAAQ,CAAC,CAAA;AACvD,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,MAAM,IAAI,MAAM,wCAAwC,CAAA;AAAA,EAC1D;AACA,EAAA,OAAO,MAAA;AACT;;;ACzCO,SAAS,iBAAA,CACd,KACA,IAAA,EACQ;AACR,EAAA,MAAM,KAAA,GAAQ,MAAM,KAAA,IAAS,CAAA;AAC7B,EAAA,MAAM,SAAA,GAAA,CAAa,IAAA,EAAM,SAAA,IAAa,oBAAA,EAAsB,WAAA,EAAY;AAExE,EAAA,MAAM,GAAA,GAAM,MAAM,OAAA,CAAQ,GAAA,EAAK,UAAU,CAAA,GAAI,GAAA,CAAI,aAAa,EAAC;AAC/D,EAAA,MAAM,IAAA,GAAO,IACV,GAAA,CAAI,CAAC,IAAI,CAAA,MAAO,EAAE,GAAG,EAAA,EAAG,CAAE,EAC1B,MAAA,CAAO,CAAC,EAAE,EAAA,EAAG,KAAA,CAAO,IAAI,MAAA,IAAU,EAAA,EAAI,WAAA,EAAY,KAAM,SAAS,CAAA;AAEpE,EAAA,IAAI,CAAC,KAAK,MAAA,EAAQ;AAChB,IAAA,MAAM,IAAI,MAAM,4CAA4C,CAAA;AAAA,EAC9D;AAGA,EAAA,OAAA,CAAQ,IAAA,CAAK,KAAK,CAAA,IAAK,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA;AAClC","file":"index.cjs"}
@@ -0,0 +1,18 @@
1
+ export * as constants from './core/constants';
2
+ export * as errors from './core/errors/factory';
3
+ export { formatEnvelopePretty } from './core/errors/formatter';
4
+ export * as zksRpc from './core/rpc/zks';
5
+ export type { ZksRpc } from './core/rpc/zks';
6
+ export { makeTransportFromEthers, makeTransportFromViem } from './core/rpc/transport';
7
+ export * from './core/utils/addr';
8
+ export * from './core/resources/deposits/route';
9
+ export * from './core/resources/withdrawals/route';
10
+ export * from './core/resources/withdrawals/events';
11
+ export * from './core/resources/withdrawals/logs';
12
+ export type * from './core/types';
13
+ export type * from './core/types/errors';
14
+ export type * from './core/types/flows/base';
15
+ export type * from './core/types/flows/deposits';
16
+ export type * from './core/types/flows/withdrawals';
17
+ export type * from './core/types/flows/route';
18
+ export type * from './core/types/primitives';
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export { findL1MessageSentLog, isAddressEq, isETH, isHash66, messengerLogIndex, normalizeAddrEq, pickDepositRoute, pickWithdrawRoute } from './chunk-DI2CJDPZ.js';
2
+ export { makeTransportFromEthers, makeTransportFromViem, zks_exports as zksRpc } from './chunk-4HLJJKIY.js';
3
+ export { factory_exports as errors, formatEnvelopePretty } from './chunk-B77GWPO5.js';
4
+ export { constants_exports as constants } from './chunk-6GCT6TLS.js';