@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
@@ -0,0 +1,4548 @@
1
+ 'use strict';
2
+
3
+ var ethers = require('ethers');
4
+ var sha3 = require('@noble/hashes/sha3');
5
+ var utils = require('@noble/hashes/utils');
6
+
7
+ // src/adapters/ethers/client.ts
8
+
9
+ // src/core/rpc/transport.ts
10
+ function makeTransportFromEthers(provider) {
11
+ return (m, p = []) => provider.send(m, p);
12
+ }
13
+
14
+ // src/core/errors/formatter.ts
15
+ function elideMiddle(s, max = 96) {
16
+ if (s.length <= max) return s;
17
+ const keep = Math.max(10, Math.floor((max - 1) / 2));
18
+ return `${s.slice(0, keep)}\u2026${s.slice(-keep)}`;
19
+ }
20
+ function shortJSON(v, max = 240) {
21
+ try {
22
+ const s = JSON.stringify(
23
+ v,
24
+ (_k, val) => typeof val === "bigint" ? `${val.toString()}n` : val
25
+ );
26
+ return s.length > max ? elideMiddle(s, max) : s;
27
+ } catch {
28
+ return String(v);
29
+ }
30
+ }
31
+ function kv(label, value) {
32
+ const width = 10;
33
+ const pad = label.length >= width ? " " : " ".repeat(width - label.length);
34
+ return `${label + pad}: ${value}`;
35
+ }
36
+ function formatContextLine(ctx) {
37
+ if (!ctx) return;
38
+ const txHash = ctx["txHash"] ?? ctx["l1TxHash"] ?? ctx["hash"];
39
+ const nonce = ctx["nonce"];
40
+ const parts = [];
41
+ if (txHash !== void 0)
42
+ parts.push(`txHash=${typeof txHash === "string" ? txHash : shortJSON(txHash, 96)}`);
43
+ if (nonce !== void 0) {
44
+ const nonceStr = typeof nonce === "string" || typeof nonce === "number" || typeof nonce === "bigint" ? String(nonce) : shortJSON(nonce, 48);
45
+ parts.push(`nonce=${nonceStr}`);
46
+ }
47
+ return parts.length ? ` ${kv("Context", parts.join(" \u2022 "))}` : void 0;
48
+ }
49
+ function formatStep(ctx) {
50
+ const step = ctx && typeof ctx["step"] === "string" ? ctx["step"] : void 0;
51
+ return step ? ` ${kv("Step", step)}` : void 0;
52
+ }
53
+ function formatRevert(r) {
54
+ if (!r) return;
55
+ const first = [`selector=${r.selector}`];
56
+ const lines = [];
57
+ lines.push(` ${kv("Revert", first.join(" "))}`);
58
+ if (r.name) lines.push(` name=${r.name}`);
59
+ if (r.contract) lines.push(` contract=${r.contract}`);
60
+ if (r.fn) lines.push(` fn=${r.fn}`);
61
+ if (r.args && r.args.length) {
62
+ lines.push(` args=${shortJSON(r.args, 120)}`);
63
+ }
64
+ return lines.join("\n");
65
+ }
66
+ function formatCause(c) {
67
+ if (!c) return [];
68
+ const out = [];
69
+ if (typeof c === "object" && c !== null) {
70
+ const obj = c;
71
+ const head = [];
72
+ if (obj.name !== void 0) {
73
+ const nameVal = obj.name;
74
+ const nameStr = typeof nameVal === "string" || typeof nameVal === "number" || typeof nameVal === "bigint" || typeof nameVal === "boolean" ? String(nameVal) : shortJSON(nameVal, 120);
75
+ head.push(`name=${nameStr}`);
76
+ }
77
+ if (obj.code !== void 0) {
78
+ const codeVal = obj.code;
79
+ const codeStr = typeof codeVal === "string" || typeof codeVal === "number" || typeof codeVal === "bigint" || typeof codeVal === "boolean" ? String(codeVal) : shortJSON(codeVal, 120);
80
+ head.push(`code=${codeStr}`);
81
+ }
82
+ if (head.length) out.push(` ${kv("Cause", head.join(" "))}`);
83
+ if (obj.message) {
84
+ 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);
85
+ out.push(` message=${elideMiddle(messageStr, 600)}`);
86
+ }
87
+ if (obj.data) {
88
+ const dataStr = shortJSON(obj.data, 200);
89
+ out.push(` data=${elideMiddle(dataStr, 200)}`);
90
+ }
91
+ } else {
92
+ out.push(` ${kv("Cause", shortJSON(c, 200))}`);
93
+ }
94
+ return out;
95
+ }
96
+ function formatEnvelopePretty(e) {
97
+ const lines = [];
98
+ lines.push(`\u2716 ZKsyncError [${e.type}]`);
99
+ lines.push(` ${kv("Message", e.message)}`);
100
+ lines.push("");
101
+ lines.push(` ${kv("Operation", e.operation)}`);
102
+ const ctx = (() => {
103
+ const u = e;
104
+ if (!u || typeof u !== "object") return void 0;
105
+ const obj = u;
106
+ const candidate = obj["ctx"] ?? obj["context"];
107
+ if (candidate && typeof candidate === "object" && candidate !== null) {
108
+ return candidate;
109
+ }
110
+ return void 0;
111
+ })();
112
+ const ctxLine = formatContextLine(ctx);
113
+ if (ctxLine) lines.push(ctxLine);
114
+ const stepLine = formatStep(ctx);
115
+ if (stepLine) lines.push(stepLine);
116
+ const rv = formatRevert(e.revert);
117
+ if (rv) lines.push(rv);
118
+ const causeLines = formatCause(e.cause);
119
+ if (causeLines.length) {
120
+ if (!ctxLine && !rv) lines.push("");
121
+ lines.push(...causeLines);
122
+ }
123
+ return lines.join("\n");
124
+ }
125
+
126
+ // src/core/types/errors.ts
127
+ var hasSymbolInspect = typeof Symbol === "function" && typeof Symbol.for === "function";
128
+ var kInspect = hasSymbolInspect ? Symbol.for("nodejs.util.inspect.custom") : void 0;
129
+ var ZKsyncError = class extends Error {
130
+ constructor(envelope) {
131
+ super(formatEnvelopePretty(envelope), envelope.cause ? { cause: envelope.cause } : void 0);
132
+ this.envelope = envelope;
133
+ this.name = "ZKsyncError";
134
+ }
135
+ toJSON() {
136
+ return { name: this.name, ...this.envelope };
137
+ }
138
+ };
139
+ if (kInspect) {
140
+ Object.defineProperty(ZKsyncError.prototype, kInspect, {
141
+ value() {
142
+ return `${this.name}: ${formatEnvelopePretty(this.envelope)}`;
143
+ },
144
+ enumerable: false
145
+ });
146
+ }
147
+ function isZKsyncError(e) {
148
+ if (!e || typeof e !== "object") return false;
149
+ const maybe = e;
150
+ if (!("envelope" in maybe)) return false;
151
+ const envelope = maybe.envelope;
152
+ return typeof envelope?.type === "string" && typeof envelope?.message === "string";
153
+ }
154
+
155
+ // src/core/errors/factory.ts
156
+ function createError(type, input) {
157
+ return new ZKsyncError({ ...input, type });
158
+ }
159
+ function shapeCause(err) {
160
+ const isRecord = (x) => x !== null && typeof x === "object";
161
+ let data = void 0;
162
+ if (isRecord(err)) {
163
+ const r2 = err;
164
+ const d = r2.data;
165
+ if (isRecord(d) && "data" in d) {
166
+ data = d.data;
167
+ } else if ("error" in r2 && isRecord(r2.error) && "data" in r2.error) {
168
+ data = r2.error.data;
169
+ } else if ("data" in r2) {
170
+ data = r2.data;
171
+ }
172
+ }
173
+ const r = isRecord(err) ? err : void 0;
174
+ const name = r && typeof r.name === "string" ? r.name : void 0;
175
+ const message = r && typeof r.message === "string" ? r.message : r && typeof r.shortMessage === "string" ? r.shortMessage : void 0;
176
+ const code = r && "code" in r ? r.code : void 0;
177
+ return {
178
+ name,
179
+ message,
180
+ code,
181
+ data: typeof data === "string" && data.startsWith("0x") ? `${data.slice(0, 10)}\u2026` : void 0
182
+ };
183
+ }
184
+
185
+ // src/core/errors/rpc.ts
186
+ async function withRpcOp(operation, message, ctx, fn) {
187
+ try {
188
+ return await fn();
189
+ } catch (e) {
190
+ if (isZKsyncError(e)) throw e;
191
+ throw createError("RPC", {
192
+ resource: "zksrpc",
193
+ operation,
194
+ message,
195
+ context: ctx,
196
+ cause: shapeCause(e)
197
+ });
198
+ }
199
+ }
200
+
201
+ // src/core/rpc/zks.ts
202
+ var METHODS = {
203
+ getBridgehub: "zks_getBridgehubContract",
204
+ getL2ToL1LogProof: "zks_getL2ToL1LogProof",
205
+ getReceipt: "eth_getTransactionReceipt",
206
+ getGenesis: "zks_getGenesis"
207
+ };
208
+ function toHexArray(arr) {
209
+ const list = Array.isArray(arr) ? arr : [];
210
+ return list.map((x) => x);
211
+ }
212
+ function normalizeProof(p) {
213
+ try {
214
+ const raw = p ?? {};
215
+ const idRaw = raw?.id ?? raw?.index;
216
+ const bnRaw = raw?.batch_number ?? raw?.batchNumber;
217
+ if (idRaw == null || bnRaw == null) {
218
+ throw createError("RPC", {
219
+ resource: "zksrpc",
220
+ operation: "zksrpc.normalizeProof",
221
+ message: "Malformed proof: missing id or batch number.",
222
+ context: { keys: Object.keys(raw ?? {}) }
223
+ });
224
+ }
225
+ const toBig = (x) => typeof x === "bigint" ? x : typeof x === "number" ? BigInt(x) : typeof x === "string" ? BigInt(x) : (() => {
226
+ throw createError("RPC", {
227
+ resource: "zksrpc",
228
+ operation: "zksrpc.normalizeProof",
229
+ message: "Malformed proof: invalid numeric field.",
230
+ context: { valueType: typeof x }
231
+ });
232
+ })();
233
+ return {
234
+ id: toBig(idRaw),
235
+ batchNumber: toBig(bnRaw),
236
+ proof: toHexArray(raw?.proof)
237
+ };
238
+ } catch (e) {
239
+ if (isZKsyncError(e)) throw e;
240
+ throw createError("RPC", {
241
+ resource: "zksrpc",
242
+ operation: "zksrpc.normalizeProof",
243
+ message: "Failed to normalize proof.",
244
+ context: { receivedType: typeof p },
245
+ cause: shapeCause(e)
246
+ });
247
+ }
248
+ }
249
+ function ensureHex(value, field, context) {
250
+ if (typeof value === "string" && value.startsWith("0x")) return value;
251
+ throw createError("RPC", {
252
+ resource: "zksrpc",
253
+ operation: "zksrpc.normalizeGenesis",
254
+ message: "Malformed genesis response: expected 0x-prefixed hex value.",
255
+ context: { field, valueType: typeof value, ...context }
256
+ });
257
+ }
258
+ function ensureNumber(value, field) {
259
+ if (typeof value === "number" && Number.isFinite(value)) return value;
260
+ if (typeof value === "bigint") return Number(value);
261
+ if (typeof value === "string" && value.trim() !== "") {
262
+ const parsed = Number(value);
263
+ if (Number.isFinite(parsed)) return parsed;
264
+ }
265
+ throw createError("RPC", {
266
+ resource: "zksrpc",
267
+ operation: "zksrpc.normalizeGenesis",
268
+ message: "Malformed genesis response: expected numeric value.",
269
+ context: { field, valueType: typeof value }
270
+ });
271
+ }
272
+ function normalizeContractTuple(tuple, index) {
273
+ if (!Array.isArray(tuple) || tuple.length < 2) {
274
+ throw createError("RPC", {
275
+ resource: "zksrpc",
276
+ operation: "zksrpc.normalizeGenesis",
277
+ message: "Malformed genesis response: invalid contract tuple.",
278
+ context: { index, valueType: typeof tuple }
279
+ });
280
+ }
281
+ const [addrRaw, bytecodeRaw] = tuple;
282
+ return {
283
+ address: ensureHex(addrRaw, "initial_contracts.address", { index }),
284
+ bytecode: ensureHex(bytecodeRaw, "initial_contracts.bytecode", { index })
285
+ };
286
+ }
287
+ function normalizeStorageTuple(tuple, index) {
288
+ if (!Array.isArray(tuple) || tuple.length < 2) {
289
+ throw createError("RPC", {
290
+ resource: "zksrpc",
291
+ operation: "zksrpc.normalizeGenesis",
292
+ message: "Malformed genesis response: invalid storage tuple.",
293
+ context: { index, valueType: typeof tuple }
294
+ });
295
+ }
296
+ const [keyRaw, valueRaw] = tuple;
297
+ return {
298
+ key: ensureHex(keyRaw, "additional_storage.key", { index }),
299
+ value: ensureHex(valueRaw, "additional_storage.value", { index })
300
+ };
301
+ }
302
+ function normalizeGenesis(raw) {
303
+ try {
304
+ if (!raw || typeof raw !== "object") {
305
+ throw createError("RPC", {
306
+ resource: "zksrpc",
307
+ operation: "zksrpc.normalizeGenesis",
308
+ message: "Malformed genesis response: expected object.",
309
+ context: { receivedType: typeof raw }
310
+ });
311
+ }
312
+ const record = raw;
313
+ const contractsRaw = record["initial_contracts"];
314
+ if (!Array.isArray(contractsRaw)) {
315
+ throw createError("RPC", {
316
+ resource: "zksrpc",
317
+ operation: "zksrpc.normalizeGenesis",
318
+ message: "Malformed genesis response: initial_contracts must be an array.",
319
+ context: { valueType: typeof contractsRaw }
320
+ });
321
+ }
322
+ const storageRaw = record["additional_storage"];
323
+ if (!Array.isArray(storageRaw)) {
324
+ throw createError("RPC", {
325
+ resource: "zksrpc",
326
+ operation: "zksrpc.normalizeGenesis",
327
+ message: "Malformed genesis response: additional_storage must be an array.",
328
+ context: { valueType: typeof storageRaw }
329
+ });
330
+ }
331
+ const executionVersion = ensureNumber(record["execution_version"], "execution_version");
332
+ const genesisRoot = ensureHex(record["genesis_root"], "genesis_root", {});
333
+ const initialContracts = contractsRaw.map(
334
+ (entry, index) => normalizeContractTuple(entry, index)
335
+ );
336
+ const additionalStorage = storageRaw.map((entry, index) => normalizeStorageTuple(entry, index));
337
+ return {
338
+ initialContracts,
339
+ additionalStorage,
340
+ executionVersion,
341
+ genesisRoot
342
+ };
343
+ } catch (e) {
344
+ if (isZKsyncError(e)) throw e;
345
+ throw createError("RPC", {
346
+ resource: "zksrpc",
347
+ operation: "zksrpc.normalizeGenesis",
348
+ message: "Failed to normalize genesis response.",
349
+ context: { receivedType: typeof raw },
350
+ cause: shapeCause(e)
351
+ });
352
+ }
353
+ }
354
+ function createZksRpc(transport) {
355
+ return {
356
+ // Fetches the Bridgehub contract address.
357
+ async getBridgehubAddress() {
358
+ return withRpcOp(
359
+ "zksrpc.getBridgehubAddress",
360
+ "Failed to fetch Bridgehub address.",
361
+ {},
362
+ async () => {
363
+ const addrRaw = await transport(METHODS.getBridgehub, []);
364
+ if (typeof addrRaw !== "string" || !addrRaw.startsWith("0x")) {
365
+ throw createError("RPC", {
366
+ resource: "zksrpc",
367
+ operation: "zksrpc.getBridgehubAddress",
368
+ message: "Unexpected Bridgehub address response.",
369
+ context: { valueType: typeof addrRaw }
370
+ });
371
+ }
372
+ return addrRaw;
373
+ }
374
+ );
375
+ },
376
+ // Fetches a proof for an L2→L1 log emitted in the given transaction.
377
+ async getL2ToL1LogProof(txHash, index) {
378
+ return withRpcOp(
379
+ "zksrpc.getL2ToL1LogProof",
380
+ "Failed to fetch L2\u2192L1 log proof.",
381
+ { txHash, index },
382
+ async () => {
383
+ const proof = await transport(METHODS.getL2ToL1LogProof, [txHash, index]);
384
+ if (!proof) {
385
+ throw createError("STATE", {
386
+ resource: "zksrpc",
387
+ operation: "zksrpc.getL2ToL1LogProof",
388
+ message: "Proof not yet available. Please try again later.",
389
+ context: { txHash, index }
390
+ });
391
+ }
392
+ return normalizeProof(proof);
393
+ }
394
+ );
395
+ },
396
+ // Fetches the transaction receipt, including the `l2ToL1Logs` field.
397
+ async getReceiptWithL2ToL1(txHash) {
398
+ return withRpcOp(
399
+ "zksrpc.getReceiptWithL2ToL1",
400
+ "Failed to fetch transaction receipt.",
401
+ { txHash },
402
+ async () => {
403
+ const rcptRaw = await transport(METHODS.getReceipt, [txHash]);
404
+ if (!rcptRaw) return null;
405
+ const rcptObj = rcptRaw;
406
+ const logs = Array.isArray(rcptObj["l2ToL1Logs"]) ? rcptObj["l2ToL1Logs"] : [];
407
+ rcptObj["l2ToL1Logs"] = logs;
408
+ return rcptObj;
409
+ }
410
+ );
411
+ },
412
+ // Fetches the genesis configuration returned by `zks_getGenesis`.
413
+ async getGenesis() {
414
+ return withRpcOp(
415
+ "zksrpc.getGenesis",
416
+ "Failed to fetch genesis configuration.",
417
+ {},
418
+ async () => {
419
+ const genesisRaw = await transport(METHODS.getGenesis, []);
420
+ return normalizeGenesis(genesisRaw);
421
+ }
422
+ );
423
+ }
424
+ };
425
+ }
426
+
427
+ // src/adapters/ethers/rpc.ts
428
+ function zksRpcFromEthers(l2Provider) {
429
+ const maybe = l2Provider;
430
+ if (typeof maybe.send !== "function") {
431
+ throw new Error(
432
+ "zksRpcFromEthers requires a JSON-RPC capable provider with .send(method, params). Pass an ethers JsonRpcProvider (or wrap your EIP-1193 provider: new BrowserProvider(window.ethereum))."
433
+ );
434
+ }
435
+ return createZksRpc(makeTransportFromEthers(maybe));
436
+ }
437
+ var k256hex = (s) => `0x${utils.bytesToHex(sha3.keccak_256(utils.utf8ToBytes(s)))}`.toLowerCase();
438
+ var L2_ASSET_ROUTER_ADDRESS = "0x0000000000000000000000000000000000010003";
439
+ var L2_NATIVE_TOKEN_VAULT_ADDRESS = "0x0000000000000000000000000000000000010004";
440
+ var L2_BASE_TOKEN_ADDRESS = "0x000000000000000000000000000000000000800A";
441
+ k256hex("L1MessageSent(uint256,bytes32,bytes)");
442
+ k256hex("L1MessageSent(address,bytes32,bytes)");
443
+
444
+ // src/core/internal/abis/IBridgehub.ts
445
+ var IBridgehubABI = [
446
+ {
447
+ anonymous: false,
448
+ inputs: [
449
+ {
450
+ indexed: true,
451
+ internalType: "bytes32",
452
+ name: "assetInfo",
453
+ type: "bytes32"
454
+ },
455
+ {
456
+ indexed: true,
457
+ internalType: "address",
458
+ name: "_assetAddress",
459
+ type: "address"
460
+ },
461
+ {
462
+ indexed: true,
463
+ internalType: "bytes32",
464
+ name: "additionalData",
465
+ type: "bytes32"
466
+ },
467
+ {
468
+ indexed: false,
469
+ internalType: "address",
470
+ name: "sender",
471
+ type: "address"
472
+ }
473
+ ],
474
+ name: "AssetRegistered",
475
+ type: "event"
476
+ },
477
+ {
478
+ anonymous: false,
479
+ inputs: [
480
+ {
481
+ indexed: true,
482
+ internalType: "bytes32",
483
+ name: "assetId",
484
+ type: "bytes32"
485
+ }
486
+ ],
487
+ name: "BaseTokenAssetIdRegistered",
488
+ type: "event"
489
+ },
490
+ {
491
+ anonymous: false,
492
+ inputs: [
493
+ {
494
+ indexed: true,
495
+ internalType: "uint256",
496
+ name: "chainId",
497
+ type: "uint256"
498
+ },
499
+ {
500
+ indexed: true,
501
+ internalType: "bytes32",
502
+ name: "assetId",
503
+ type: "bytes32"
504
+ },
505
+ {
506
+ indexed: true,
507
+ internalType: "address",
508
+ name: "sender",
509
+ type: "address"
510
+ },
511
+ {
512
+ indexed: false,
513
+ internalType: "address",
514
+ name: "receiver",
515
+ type: "address"
516
+ },
517
+ {
518
+ indexed: false,
519
+ internalType: "uint256",
520
+ name: "amount",
521
+ type: "uint256"
522
+ }
523
+ ],
524
+ name: "BridgeBurn",
525
+ type: "event"
526
+ },
527
+ {
528
+ anonymous: false,
529
+ inputs: [
530
+ {
531
+ indexed: true,
532
+ internalType: "uint256",
533
+ name: "chainId",
534
+ type: "uint256"
535
+ },
536
+ {
537
+ indexed: true,
538
+ internalType: "bytes32",
539
+ name: "assetId",
540
+ type: "bytes32"
541
+ },
542
+ {
543
+ indexed: false,
544
+ internalType: "address",
545
+ name: "receiver",
546
+ type: "address"
547
+ },
548
+ {
549
+ indexed: false,
550
+ internalType: "uint256",
551
+ name: "amount",
552
+ type: "uint256"
553
+ }
554
+ ],
555
+ name: "BridgeMint",
556
+ type: "event"
557
+ },
558
+ {
559
+ anonymous: false,
560
+ inputs: [
561
+ {
562
+ indexed: true,
563
+ internalType: "address",
564
+ name: "chainTypeManager",
565
+ type: "address"
566
+ }
567
+ ],
568
+ name: "ChainTypeManagerAdded",
569
+ type: "event"
570
+ },
571
+ {
572
+ anonymous: false,
573
+ inputs: [
574
+ {
575
+ indexed: true,
576
+ internalType: "address",
577
+ name: "chainTypeManager",
578
+ type: "address"
579
+ }
580
+ ],
581
+ name: "ChainTypeManagerRemoved",
582
+ type: "event"
583
+ },
584
+ {
585
+ anonymous: false,
586
+ inputs: [
587
+ {
588
+ indexed: true,
589
+ internalType: "uint256",
590
+ name: "chainId",
591
+ type: "uint256"
592
+ },
593
+ {
594
+ indexed: true,
595
+ internalType: "bytes32",
596
+ name: "assetId",
597
+ type: "bytes32"
598
+ },
599
+ {
600
+ indexed: true,
601
+ internalType: "address",
602
+ name: "zkChain",
603
+ type: "address"
604
+ }
605
+ ],
606
+ name: "MigrationFinalized",
607
+ type: "event"
608
+ },
609
+ {
610
+ anonymous: false,
611
+ inputs: [
612
+ {
613
+ indexed: true,
614
+ internalType: "uint256",
615
+ name: "chainId",
616
+ type: "uint256"
617
+ },
618
+ {
619
+ indexed: true,
620
+ internalType: "bytes32",
621
+ name: "assetId",
622
+ type: "bytes32"
623
+ },
624
+ {
625
+ indexed: true,
626
+ internalType: "uint256",
627
+ name: "settlementLayerChainId",
628
+ type: "uint256"
629
+ }
630
+ ],
631
+ name: "MigrationStarted",
632
+ type: "event"
633
+ },
634
+ {
635
+ anonymous: false,
636
+ inputs: [
637
+ {
638
+ indexed: true,
639
+ internalType: "address",
640
+ name: "oldAdmin",
641
+ type: "address"
642
+ },
643
+ {
644
+ indexed: true,
645
+ internalType: "address",
646
+ name: "newAdmin",
647
+ type: "address"
648
+ }
649
+ ],
650
+ name: "NewAdmin",
651
+ type: "event"
652
+ },
653
+ {
654
+ anonymous: false,
655
+ inputs: [
656
+ {
657
+ indexed: true,
658
+ internalType: "uint256",
659
+ name: "chainId",
660
+ type: "uint256"
661
+ },
662
+ {
663
+ indexed: false,
664
+ internalType: "address",
665
+ name: "chainTypeManager",
666
+ type: "address"
667
+ },
668
+ {
669
+ indexed: true,
670
+ internalType: "address",
671
+ name: "chainGovernance",
672
+ type: "address"
673
+ }
674
+ ],
675
+ name: "NewChain",
676
+ type: "event"
677
+ },
678
+ {
679
+ anonymous: false,
680
+ inputs: [
681
+ {
682
+ indexed: true,
683
+ internalType: "address",
684
+ name: "oldPendingAdmin",
685
+ type: "address"
686
+ },
687
+ {
688
+ indexed: true,
689
+ internalType: "address",
690
+ name: "newPendingAdmin",
691
+ type: "address"
692
+ }
693
+ ],
694
+ name: "NewPendingAdmin",
695
+ type: "event"
696
+ },
697
+ {
698
+ anonymous: false,
699
+ inputs: [
700
+ {
701
+ indexed: true,
702
+ internalType: "uint256",
703
+ name: "chainId",
704
+ type: "uint256"
705
+ },
706
+ {
707
+ indexed: true,
708
+ internalType: "bool",
709
+ name: "isWhitelisted",
710
+ type: "bool"
711
+ }
712
+ ],
713
+ name: "SettlementLayerRegistered",
714
+ type: "event"
715
+ },
716
+ {
717
+ inputs: [],
718
+ name: "L1_CHAIN_ID",
719
+ outputs: [
720
+ {
721
+ internalType: "uint256",
722
+ name: "",
723
+ type: "uint256"
724
+ }
725
+ ],
726
+ stateMutability: "view",
727
+ type: "function"
728
+ },
729
+ {
730
+ inputs: [],
731
+ name: "acceptAdmin",
732
+ outputs: [],
733
+ stateMutability: "nonpayable",
734
+ type: "function"
735
+ },
736
+ {
737
+ inputs: [
738
+ {
739
+ internalType: "address",
740
+ name: "_chainTypeManager",
741
+ type: "address"
742
+ }
743
+ ],
744
+ name: "addChainTypeManager",
745
+ outputs: [],
746
+ stateMutability: "nonpayable",
747
+ type: "function"
748
+ },
749
+ {
750
+ inputs: [
751
+ {
752
+ internalType: "bytes32",
753
+ name: "_baseTokenAssetId",
754
+ type: "bytes32"
755
+ }
756
+ ],
757
+ name: "addTokenAssetId",
758
+ outputs: [],
759
+ stateMutability: "nonpayable",
760
+ type: "function"
761
+ },
762
+ {
763
+ inputs: [],
764
+ name: "admin",
765
+ outputs: [
766
+ {
767
+ internalType: "address",
768
+ name: "",
769
+ type: "address"
770
+ }
771
+ ],
772
+ stateMutability: "view",
773
+ type: "function"
774
+ },
775
+ {
776
+ inputs: [
777
+ {
778
+ internalType: "bytes32",
779
+ name: "_baseTokenAssetId",
780
+ type: "bytes32"
781
+ }
782
+ ],
783
+ name: "assetIdIsRegistered",
784
+ outputs: [
785
+ {
786
+ internalType: "bool",
787
+ name: "",
788
+ type: "bool"
789
+ }
790
+ ],
791
+ stateMutability: "view",
792
+ type: "function"
793
+ },
794
+ {
795
+ inputs: [],
796
+ name: "assetRouter",
797
+ outputs: [
798
+ {
799
+ internalType: "address",
800
+ name: "",
801
+ type: "address"
802
+ }
803
+ ],
804
+ stateMutability: "view",
805
+ type: "function"
806
+ },
807
+ {
808
+ inputs: [
809
+ {
810
+ internalType: "uint256",
811
+ name: "_chainId",
812
+ type: "uint256"
813
+ }
814
+ ],
815
+ name: "baseToken",
816
+ outputs: [
817
+ {
818
+ internalType: "address",
819
+ name: "",
820
+ type: "address"
821
+ }
822
+ ],
823
+ stateMutability: "view",
824
+ type: "function"
825
+ },
826
+ {
827
+ inputs: [
828
+ {
829
+ internalType: "uint256",
830
+ name: "_chainId",
831
+ type: "uint256"
832
+ }
833
+ ],
834
+ name: "baseTokenAssetId",
835
+ outputs: [
836
+ {
837
+ internalType: "bytes32",
838
+ name: "",
839
+ type: "bytes32"
840
+ }
841
+ ],
842
+ stateMutability: "view",
843
+ type: "function"
844
+ },
845
+ {
846
+ inputs: [
847
+ {
848
+ internalType: "uint256",
849
+ name: "_chainId",
850
+ type: "uint256"
851
+ },
852
+ {
853
+ internalType: "uint256",
854
+ name: "_msgValue",
855
+ type: "uint256"
856
+ },
857
+ {
858
+ internalType: "bytes32",
859
+ name: "_assetId",
860
+ type: "bytes32"
861
+ },
862
+ {
863
+ internalType: "address",
864
+ name: "_originalCaller",
865
+ type: "address"
866
+ },
867
+ {
868
+ internalType: "bytes",
869
+ name: "_data",
870
+ type: "bytes"
871
+ }
872
+ ],
873
+ name: "bridgeBurn",
874
+ outputs: [
875
+ {
876
+ internalType: "bytes",
877
+ name: "_bridgeMintData",
878
+ type: "bytes"
879
+ }
880
+ ],
881
+ stateMutability: "payable",
882
+ type: "function"
883
+ },
884
+ {
885
+ inputs: [
886
+ {
887
+ internalType: "uint256",
888
+ name: "_chainId",
889
+ type: "uint256"
890
+ },
891
+ {
892
+ internalType: "bytes32",
893
+ name: "_assetId",
894
+ type: "bytes32"
895
+ },
896
+ {
897
+ internalType: "bytes",
898
+ name: "_data",
899
+ type: "bytes"
900
+ }
901
+ ],
902
+ name: "bridgeMint",
903
+ outputs: [],
904
+ stateMutability: "payable",
905
+ type: "function"
906
+ },
907
+ {
908
+ inputs: [
909
+ {
910
+ internalType: "uint256",
911
+ name: "_chainId",
912
+ type: "uint256"
913
+ },
914
+ {
915
+ internalType: "bytes32",
916
+ name: "_assetId",
917
+ type: "bytes32"
918
+ },
919
+ {
920
+ internalType: "address",
921
+ name: "_depositSender",
922
+ type: "address"
923
+ },
924
+ {
925
+ internalType: "bytes",
926
+ name: "_data",
927
+ type: "bytes"
928
+ }
929
+ ],
930
+ name: "bridgeRecoverFailedTransfer",
931
+ outputs: [],
932
+ stateMutability: "payable",
933
+ type: "function"
934
+ },
935
+ {
936
+ inputs: [
937
+ {
938
+ internalType: "uint256",
939
+ name: "_chainId",
940
+ type: "uint256"
941
+ }
942
+ ],
943
+ name: "chainTypeManager",
944
+ outputs: [
945
+ {
946
+ internalType: "address",
947
+ name: "",
948
+ type: "address"
949
+ }
950
+ ],
951
+ stateMutability: "view",
952
+ type: "function"
953
+ },
954
+ {
955
+ inputs: [
956
+ {
957
+ internalType: "address",
958
+ name: "_chainTypeManager",
959
+ type: "address"
960
+ }
961
+ ],
962
+ name: "chainTypeManagerIsRegistered",
963
+ outputs: [
964
+ {
965
+ internalType: "bool",
966
+ name: "",
967
+ type: "bool"
968
+ }
969
+ ],
970
+ stateMutability: "view",
971
+ type: "function"
972
+ },
973
+ {
974
+ inputs: [
975
+ {
976
+ internalType: "uint256",
977
+ name: "_chainId",
978
+ type: "uint256"
979
+ },
980
+ {
981
+ internalType: "address",
982
+ name: "_chainTypeManager",
983
+ type: "address"
984
+ },
985
+ {
986
+ internalType: "bytes32",
987
+ name: "_baseTokenAssetId",
988
+ type: "bytes32"
989
+ },
990
+ {
991
+ internalType: "uint256",
992
+ name: "_salt",
993
+ type: "uint256"
994
+ },
995
+ {
996
+ internalType: "address",
997
+ name: "_admin",
998
+ type: "address"
999
+ },
1000
+ {
1001
+ internalType: "bytes",
1002
+ name: "_initData",
1003
+ type: "bytes"
1004
+ },
1005
+ {
1006
+ internalType: "bytes[]",
1007
+ name: "_factoryDeps",
1008
+ type: "bytes[]"
1009
+ }
1010
+ ],
1011
+ name: "createNewChain",
1012
+ outputs: [
1013
+ {
1014
+ internalType: "uint256",
1015
+ name: "chainId",
1016
+ type: "uint256"
1017
+ }
1018
+ ],
1019
+ stateMutability: "nonpayable",
1020
+ type: "function"
1021
+ },
1022
+ {
1023
+ inputs: [
1024
+ {
1025
+ internalType: "address",
1026
+ name: "_ctmAddress",
1027
+ type: "address"
1028
+ }
1029
+ ],
1030
+ name: "ctmAssetIdFromAddress",
1031
+ outputs: [
1032
+ {
1033
+ internalType: "bytes32",
1034
+ name: "",
1035
+ type: "bytes32"
1036
+ }
1037
+ ],
1038
+ stateMutability: "view",
1039
+ type: "function"
1040
+ },
1041
+ {
1042
+ inputs: [
1043
+ {
1044
+ internalType: "uint256",
1045
+ name: "_chainId",
1046
+ type: "uint256"
1047
+ }
1048
+ ],
1049
+ name: "ctmAssetIdFromChainId",
1050
+ outputs: [
1051
+ {
1052
+ internalType: "bytes32",
1053
+ name: "",
1054
+ type: "bytes32"
1055
+ }
1056
+ ],
1057
+ stateMutability: "view",
1058
+ type: "function"
1059
+ },
1060
+ {
1061
+ inputs: [
1062
+ {
1063
+ internalType: "bytes32",
1064
+ name: "_assetInfo",
1065
+ type: "bytes32"
1066
+ }
1067
+ ],
1068
+ name: "ctmAssetIdToAddress",
1069
+ outputs: [
1070
+ {
1071
+ internalType: "address",
1072
+ name: "",
1073
+ type: "address"
1074
+ }
1075
+ ],
1076
+ stateMutability: "view",
1077
+ type: "function"
1078
+ },
1079
+ {
1080
+ inputs: [
1081
+ {
1082
+ internalType: "uint256",
1083
+ name: "_chainId",
1084
+ type: "uint256"
1085
+ },
1086
+ {
1087
+ internalType: "bytes32",
1088
+ name: "_canonicalTxHash",
1089
+ type: "bytes32"
1090
+ },
1091
+ {
1092
+ internalType: "uint64",
1093
+ name: "_expirationTimestamp",
1094
+ type: "uint64"
1095
+ }
1096
+ ],
1097
+ name: "forwardTransactionOnGateway",
1098
+ outputs: [],
1099
+ stateMutability: "nonpayable",
1100
+ type: "function"
1101
+ },
1102
+ {
1103
+ inputs: [],
1104
+ name: "getAllZKChainChainIDs",
1105
+ outputs: [
1106
+ {
1107
+ internalType: "uint256[]",
1108
+ name: "",
1109
+ type: "uint256[]"
1110
+ }
1111
+ ],
1112
+ stateMutability: "view",
1113
+ type: "function"
1114
+ },
1115
+ {
1116
+ inputs: [],
1117
+ name: "getAllZKChains",
1118
+ outputs: [
1119
+ {
1120
+ internalType: "address[]",
1121
+ name: "",
1122
+ type: "address[]"
1123
+ }
1124
+ ],
1125
+ stateMutability: "view",
1126
+ type: "function"
1127
+ },
1128
+ {
1129
+ inputs: [
1130
+ {
1131
+ internalType: "uint256",
1132
+ name: "_chainId",
1133
+ type: "uint256"
1134
+ }
1135
+ ],
1136
+ name: "getHyperchain",
1137
+ outputs: [
1138
+ {
1139
+ internalType: "address",
1140
+ name: "",
1141
+ type: "address"
1142
+ }
1143
+ ],
1144
+ stateMutability: "view",
1145
+ type: "function"
1146
+ },
1147
+ {
1148
+ inputs: [
1149
+ {
1150
+ internalType: "uint256",
1151
+ name: "_chainId",
1152
+ type: "uint256"
1153
+ }
1154
+ ],
1155
+ name: "getZKChain",
1156
+ outputs: [
1157
+ {
1158
+ internalType: "address",
1159
+ name: "",
1160
+ type: "address"
1161
+ }
1162
+ ],
1163
+ stateMutability: "view",
1164
+ type: "function"
1165
+ },
1166
+ {
1167
+ inputs: [],
1168
+ name: "l1CtmDeployer",
1169
+ outputs: [
1170
+ {
1171
+ internalType: "contract ICTMDeploymentTracker",
1172
+ name: "",
1173
+ type: "address"
1174
+ }
1175
+ ],
1176
+ stateMutability: "view",
1177
+ type: "function"
1178
+ },
1179
+ {
1180
+ inputs: [
1181
+ {
1182
+ internalType: "uint256",
1183
+ name: "_chainId",
1184
+ type: "uint256"
1185
+ },
1186
+ {
1187
+ internalType: "uint256",
1188
+ name: "_gasPrice",
1189
+ type: "uint256"
1190
+ },
1191
+ {
1192
+ internalType: "uint256",
1193
+ name: "_l2GasLimit",
1194
+ type: "uint256"
1195
+ },
1196
+ {
1197
+ internalType: "uint256",
1198
+ name: "_l2GasPerPubdataByteLimit",
1199
+ type: "uint256"
1200
+ }
1201
+ ],
1202
+ name: "l2TransactionBaseCost",
1203
+ outputs: [
1204
+ {
1205
+ internalType: "uint256",
1206
+ name: "",
1207
+ type: "uint256"
1208
+ }
1209
+ ],
1210
+ stateMutability: "view",
1211
+ type: "function"
1212
+ },
1213
+ {
1214
+ inputs: [],
1215
+ name: "messageRoot",
1216
+ outputs: [
1217
+ {
1218
+ internalType: "contract IMessageRoot",
1219
+ name: "",
1220
+ type: "address"
1221
+ }
1222
+ ],
1223
+ stateMutability: "view",
1224
+ type: "function"
1225
+ },
1226
+ {
1227
+ inputs: [],
1228
+ name: "migrationPaused",
1229
+ outputs: [
1230
+ {
1231
+ internalType: "bool",
1232
+ name: "",
1233
+ type: "bool"
1234
+ }
1235
+ ],
1236
+ stateMutability: "view",
1237
+ type: "function"
1238
+ },
1239
+ {
1240
+ inputs: [],
1241
+ name: "pauseMigration",
1242
+ outputs: [],
1243
+ stateMutability: "nonpayable",
1244
+ type: "function"
1245
+ },
1246
+ {
1247
+ inputs: [
1248
+ {
1249
+ internalType: "uint256",
1250
+ name: "_chainId",
1251
+ type: "uint256"
1252
+ },
1253
+ {
1254
+ internalType: "bytes32",
1255
+ name: "_l2TxHash",
1256
+ type: "bytes32"
1257
+ },
1258
+ {
1259
+ internalType: "uint256",
1260
+ name: "_l2BatchNumber",
1261
+ type: "uint256"
1262
+ },
1263
+ {
1264
+ internalType: "uint256",
1265
+ name: "_l2MessageIndex",
1266
+ type: "uint256"
1267
+ },
1268
+ {
1269
+ internalType: "uint16",
1270
+ name: "_l2TxNumberInBatch",
1271
+ type: "uint16"
1272
+ },
1273
+ {
1274
+ internalType: "bytes32[]",
1275
+ name: "_merkleProof",
1276
+ type: "bytes32[]"
1277
+ },
1278
+ {
1279
+ internalType: "enum TxStatus",
1280
+ name: "_status",
1281
+ type: "uint8"
1282
+ }
1283
+ ],
1284
+ name: "proveL1ToL2TransactionStatus",
1285
+ outputs: [
1286
+ {
1287
+ internalType: "bool",
1288
+ name: "",
1289
+ type: "bool"
1290
+ }
1291
+ ],
1292
+ stateMutability: "view",
1293
+ type: "function"
1294
+ },
1295
+ {
1296
+ inputs: [
1297
+ {
1298
+ internalType: "uint256",
1299
+ name: "_chainId",
1300
+ type: "uint256"
1301
+ },
1302
+ {
1303
+ internalType: "uint256",
1304
+ name: "_batchNumber",
1305
+ type: "uint256"
1306
+ },
1307
+ {
1308
+ internalType: "uint256",
1309
+ name: "_index",
1310
+ type: "uint256"
1311
+ },
1312
+ {
1313
+ components: [
1314
+ {
1315
+ internalType: "uint8",
1316
+ name: "l2ShardId",
1317
+ type: "uint8"
1318
+ },
1319
+ {
1320
+ internalType: "bool",
1321
+ name: "isService",
1322
+ type: "bool"
1323
+ },
1324
+ {
1325
+ internalType: "uint16",
1326
+ name: "txNumberInBatch",
1327
+ type: "uint16"
1328
+ },
1329
+ {
1330
+ internalType: "address",
1331
+ name: "sender",
1332
+ type: "address"
1333
+ },
1334
+ {
1335
+ internalType: "bytes32",
1336
+ name: "key",
1337
+ type: "bytes32"
1338
+ },
1339
+ {
1340
+ internalType: "bytes32",
1341
+ name: "value",
1342
+ type: "bytes32"
1343
+ }
1344
+ ],
1345
+ internalType: "struct L2Log",
1346
+ name: "_log",
1347
+ type: "tuple"
1348
+ },
1349
+ {
1350
+ internalType: "bytes32[]",
1351
+ name: "_proof",
1352
+ type: "bytes32[]"
1353
+ }
1354
+ ],
1355
+ name: "proveL2LogInclusion",
1356
+ outputs: [
1357
+ {
1358
+ internalType: "bool",
1359
+ name: "",
1360
+ type: "bool"
1361
+ }
1362
+ ],
1363
+ stateMutability: "view",
1364
+ type: "function"
1365
+ },
1366
+ {
1367
+ inputs: [
1368
+ {
1369
+ internalType: "uint256",
1370
+ name: "_chainId",
1371
+ type: "uint256"
1372
+ },
1373
+ {
1374
+ internalType: "uint256",
1375
+ name: "_batchNumber",
1376
+ type: "uint256"
1377
+ },
1378
+ {
1379
+ internalType: "uint256",
1380
+ name: "_index",
1381
+ type: "uint256"
1382
+ },
1383
+ {
1384
+ components: [
1385
+ {
1386
+ internalType: "uint16",
1387
+ name: "txNumberInBatch",
1388
+ type: "uint16"
1389
+ },
1390
+ {
1391
+ internalType: "address",
1392
+ name: "sender",
1393
+ type: "address"
1394
+ },
1395
+ {
1396
+ internalType: "bytes",
1397
+ name: "data",
1398
+ type: "bytes"
1399
+ }
1400
+ ],
1401
+ internalType: "struct L2Message",
1402
+ name: "_message",
1403
+ type: "tuple"
1404
+ },
1405
+ {
1406
+ internalType: "bytes32[]",
1407
+ name: "_proof",
1408
+ type: "bytes32[]"
1409
+ }
1410
+ ],
1411
+ name: "proveL2MessageInclusion",
1412
+ outputs: [
1413
+ {
1414
+ internalType: "bool",
1415
+ name: "",
1416
+ type: "bool"
1417
+ }
1418
+ ],
1419
+ stateMutability: "view",
1420
+ type: "function"
1421
+ },
1422
+ {
1423
+ inputs: [
1424
+ {
1425
+ internalType: "uint256",
1426
+ name: "_chainId",
1427
+ type: "uint256"
1428
+ },
1429
+ {
1430
+ internalType: "address",
1431
+ name: "_hyperchain",
1432
+ type: "address"
1433
+ }
1434
+ ],
1435
+ name: "registerAlreadyDeployedZKChain",
1436
+ outputs: [],
1437
+ stateMutability: "nonpayable",
1438
+ type: "function"
1439
+ },
1440
+ {
1441
+ inputs: [
1442
+ {
1443
+ internalType: "uint256",
1444
+ name: "_chainId",
1445
+ type: "uint256"
1446
+ }
1447
+ ],
1448
+ name: "registerLegacyChain",
1449
+ outputs: [],
1450
+ stateMutability: "nonpayable",
1451
+ type: "function"
1452
+ },
1453
+ {
1454
+ inputs: [
1455
+ {
1456
+ internalType: "uint256",
1457
+ name: "_newSettlementLayerChainId",
1458
+ type: "uint256"
1459
+ },
1460
+ {
1461
+ internalType: "bool",
1462
+ name: "_isWhitelisted",
1463
+ type: "bool"
1464
+ }
1465
+ ],
1466
+ name: "registerSettlementLayer",
1467
+ outputs: [],
1468
+ stateMutability: "nonpayable",
1469
+ type: "function"
1470
+ },
1471
+ {
1472
+ inputs: [
1473
+ {
1474
+ internalType: "address",
1475
+ name: "_chainTypeManager",
1476
+ type: "address"
1477
+ }
1478
+ ],
1479
+ name: "removeChainTypeManager",
1480
+ outputs: [],
1481
+ stateMutability: "nonpayable",
1482
+ type: "function"
1483
+ },
1484
+ {
1485
+ inputs: [
1486
+ {
1487
+ components: [
1488
+ {
1489
+ internalType: "uint256",
1490
+ name: "chainId",
1491
+ type: "uint256"
1492
+ },
1493
+ {
1494
+ internalType: "uint256",
1495
+ name: "mintValue",
1496
+ type: "uint256"
1497
+ },
1498
+ {
1499
+ internalType: "address",
1500
+ name: "l2Contract",
1501
+ type: "address"
1502
+ },
1503
+ {
1504
+ internalType: "uint256",
1505
+ name: "l2Value",
1506
+ type: "uint256"
1507
+ },
1508
+ {
1509
+ internalType: "bytes",
1510
+ name: "l2Calldata",
1511
+ type: "bytes"
1512
+ },
1513
+ {
1514
+ internalType: "uint256",
1515
+ name: "l2GasLimit",
1516
+ type: "uint256"
1517
+ },
1518
+ {
1519
+ internalType: "uint256",
1520
+ name: "l2GasPerPubdataByteLimit",
1521
+ type: "uint256"
1522
+ },
1523
+ {
1524
+ internalType: "bytes[]",
1525
+ name: "factoryDeps",
1526
+ type: "bytes[]"
1527
+ },
1528
+ {
1529
+ internalType: "address",
1530
+ name: "refundRecipient",
1531
+ type: "address"
1532
+ }
1533
+ ],
1534
+ internalType: "struct L2TransactionRequestDirect",
1535
+ name: "_request",
1536
+ type: "tuple"
1537
+ }
1538
+ ],
1539
+ name: "requestL2TransactionDirect",
1540
+ outputs: [
1541
+ {
1542
+ internalType: "bytes32",
1543
+ name: "canonicalTxHash",
1544
+ type: "bytes32"
1545
+ }
1546
+ ],
1547
+ stateMutability: "payable",
1548
+ type: "function"
1549
+ },
1550
+ {
1551
+ inputs: [
1552
+ {
1553
+ components: [
1554
+ {
1555
+ internalType: "uint256",
1556
+ name: "chainId",
1557
+ type: "uint256"
1558
+ },
1559
+ {
1560
+ internalType: "uint256",
1561
+ name: "mintValue",
1562
+ type: "uint256"
1563
+ },
1564
+ {
1565
+ internalType: "uint256",
1566
+ name: "l2Value",
1567
+ type: "uint256"
1568
+ },
1569
+ {
1570
+ internalType: "uint256",
1571
+ name: "l2GasLimit",
1572
+ type: "uint256"
1573
+ },
1574
+ {
1575
+ internalType: "uint256",
1576
+ name: "l2GasPerPubdataByteLimit",
1577
+ type: "uint256"
1578
+ },
1579
+ {
1580
+ internalType: "address",
1581
+ name: "refundRecipient",
1582
+ type: "address"
1583
+ },
1584
+ {
1585
+ internalType: "address",
1586
+ name: "secondBridgeAddress",
1587
+ type: "address"
1588
+ },
1589
+ {
1590
+ internalType: "uint256",
1591
+ name: "secondBridgeValue",
1592
+ type: "uint256"
1593
+ },
1594
+ {
1595
+ internalType: "bytes",
1596
+ name: "secondBridgeCalldata",
1597
+ type: "bytes"
1598
+ }
1599
+ ],
1600
+ internalType: "struct L2TransactionRequestTwoBridgesOuter",
1601
+ name: "_request",
1602
+ type: "tuple"
1603
+ }
1604
+ ],
1605
+ name: "requestL2TransactionTwoBridges",
1606
+ outputs: [
1607
+ {
1608
+ internalType: "bytes32",
1609
+ name: "canonicalTxHash",
1610
+ type: "bytes32"
1611
+ }
1612
+ ],
1613
+ stateMutability: "payable",
1614
+ type: "function"
1615
+ },
1616
+ {
1617
+ inputs: [
1618
+ {
1619
+ internalType: "address",
1620
+ name: "_sharedBridge",
1621
+ type: "address"
1622
+ },
1623
+ {
1624
+ internalType: "contract ICTMDeploymentTracker",
1625
+ name: "_l1CtmDeployer",
1626
+ type: "address"
1627
+ },
1628
+ {
1629
+ internalType: "contract IMessageRoot",
1630
+ name: "_messageRoot",
1631
+ type: "address"
1632
+ }
1633
+ ],
1634
+ name: "setAddresses",
1635
+ outputs: [],
1636
+ stateMutability: "nonpayable",
1637
+ type: "function"
1638
+ },
1639
+ {
1640
+ inputs: [
1641
+ {
1642
+ internalType: "bytes32",
1643
+ name: "_additionalData",
1644
+ type: "bytes32"
1645
+ },
1646
+ {
1647
+ internalType: "address",
1648
+ name: "_assetAddress",
1649
+ type: "address"
1650
+ }
1651
+ ],
1652
+ name: "setCTMAssetAddress",
1653
+ outputs: [],
1654
+ stateMutability: "nonpayable",
1655
+ type: "function"
1656
+ },
1657
+ {
1658
+ inputs: [
1659
+ {
1660
+ internalType: "address",
1661
+ name: "_newPendingAdmin",
1662
+ type: "address"
1663
+ }
1664
+ ],
1665
+ name: "setPendingAdmin",
1666
+ outputs: [],
1667
+ stateMutability: "nonpayable",
1668
+ type: "function"
1669
+ },
1670
+ {
1671
+ inputs: [
1672
+ {
1673
+ internalType: "uint256",
1674
+ name: "_chainId",
1675
+ type: "uint256"
1676
+ }
1677
+ ],
1678
+ name: "settlementLayer",
1679
+ outputs: [
1680
+ {
1681
+ internalType: "uint256",
1682
+ name: "",
1683
+ type: "uint256"
1684
+ }
1685
+ ],
1686
+ stateMutability: "view",
1687
+ type: "function"
1688
+ },
1689
+ {
1690
+ inputs: [],
1691
+ name: "sharedBridge",
1692
+ outputs: [
1693
+ {
1694
+ internalType: "address",
1695
+ name: "",
1696
+ type: "address"
1697
+ }
1698
+ ],
1699
+ stateMutability: "view",
1700
+ type: "function"
1701
+ },
1702
+ {
1703
+ inputs: [],
1704
+ name: "unpauseMigration",
1705
+ outputs: [],
1706
+ stateMutability: "nonpayable",
1707
+ type: "function"
1708
+ },
1709
+ {
1710
+ inputs: [
1711
+ {
1712
+ internalType: "uint256",
1713
+ name: "_chainId",
1714
+ type: "uint256"
1715
+ }
1716
+ ],
1717
+ name: "whitelistedSettlementLayers",
1718
+ outputs: [
1719
+ {
1720
+ internalType: "bool",
1721
+ name: "",
1722
+ type: "bool"
1723
+ }
1724
+ ],
1725
+ stateMutability: "view",
1726
+ type: "function"
1727
+ }
1728
+ ];
1729
+ var IBridgehub_default = IBridgehubABI;
1730
+
1731
+ // src/core/internal/abis/IL1AssetRouter.ts
1732
+ var IL1AssetRouterABI = [
1733
+ {
1734
+ anonymous: false,
1735
+ inputs: [
1736
+ {
1737
+ indexed: true,
1738
+ internalType: "bytes32",
1739
+ name: "assetId",
1740
+ type: "bytes32"
1741
+ },
1742
+ {
1743
+ indexed: true,
1744
+ internalType: "bytes32",
1745
+ name: "additionalData",
1746
+ type: "bytes32"
1747
+ },
1748
+ {
1749
+ indexed: false,
1750
+ internalType: "address",
1751
+ name: "assetDeploymentTracker",
1752
+ type: "address"
1753
+ }
1754
+ ],
1755
+ name: "AssetDeploymentTrackerRegistered",
1756
+ type: "event"
1757
+ },
1758
+ {
1759
+ anonymous: false,
1760
+ inputs: [
1761
+ {
1762
+ indexed: true,
1763
+ internalType: "bytes32",
1764
+ name: "assetId",
1765
+ type: "bytes32"
1766
+ },
1767
+ {
1768
+ indexed: true,
1769
+ internalType: "address",
1770
+ name: "assetDeploymentTracker",
1771
+ type: "address"
1772
+ },
1773
+ {
1774
+ indexed: true,
1775
+ internalType: "bytes32",
1776
+ name: "additionalData",
1777
+ type: "bytes32"
1778
+ }
1779
+ ],
1780
+ name: "AssetDeploymentTrackerSet",
1781
+ type: "event"
1782
+ },
1783
+ {
1784
+ anonymous: false,
1785
+ inputs: [
1786
+ {
1787
+ indexed: true,
1788
+ internalType: "bytes32",
1789
+ name: "assetId",
1790
+ type: "bytes32"
1791
+ },
1792
+ {
1793
+ indexed: true,
1794
+ internalType: "address",
1795
+ name: "_assetHandlerAddress",
1796
+ type: "address"
1797
+ }
1798
+ ],
1799
+ name: "AssetHandlerRegistered",
1800
+ type: "event"
1801
+ },
1802
+ {
1803
+ anonymous: false,
1804
+ inputs: [
1805
+ {
1806
+ indexed: true,
1807
+ internalType: "uint256",
1808
+ name: "chainId",
1809
+ type: "uint256"
1810
+ },
1811
+ {
1812
+ indexed: true,
1813
+ internalType: "address",
1814
+ name: "from",
1815
+ type: "address"
1816
+ },
1817
+ {
1818
+ indexed: false,
1819
+ internalType: "bytes32",
1820
+ name: "assetId",
1821
+ type: "bytes32"
1822
+ },
1823
+ {
1824
+ indexed: false,
1825
+ internalType: "uint256",
1826
+ name: "amount",
1827
+ type: "uint256"
1828
+ }
1829
+ ],
1830
+ name: "BridgehubDepositBaseTokenInitiated",
1831
+ type: "event"
1832
+ },
1833
+ {
1834
+ anonymous: false,
1835
+ inputs: [
1836
+ {
1837
+ indexed: true,
1838
+ internalType: "uint256",
1839
+ name: "chainId",
1840
+ type: "uint256"
1841
+ },
1842
+ {
1843
+ indexed: true,
1844
+ internalType: "bytes32",
1845
+ name: "txDataHash",
1846
+ type: "bytes32"
1847
+ },
1848
+ {
1849
+ indexed: true,
1850
+ internalType: "bytes32",
1851
+ name: "l2DepositTxHash",
1852
+ type: "bytes32"
1853
+ }
1854
+ ],
1855
+ name: "BridgehubDepositFinalized",
1856
+ type: "event"
1857
+ },
1858
+ {
1859
+ anonymous: false,
1860
+ inputs: [
1861
+ {
1862
+ indexed: true,
1863
+ internalType: "uint256",
1864
+ name: "chainId",
1865
+ type: "uint256"
1866
+ },
1867
+ {
1868
+ indexed: true,
1869
+ internalType: "bytes32",
1870
+ name: "txDataHash",
1871
+ type: "bytes32"
1872
+ },
1873
+ {
1874
+ indexed: true,
1875
+ internalType: "address",
1876
+ name: "from",
1877
+ type: "address"
1878
+ },
1879
+ {
1880
+ indexed: false,
1881
+ internalType: "bytes32",
1882
+ name: "assetId",
1883
+ type: "bytes32"
1884
+ },
1885
+ {
1886
+ indexed: false,
1887
+ internalType: "bytes",
1888
+ name: "bridgeMintCalldata",
1889
+ type: "bytes"
1890
+ }
1891
+ ],
1892
+ name: "BridgehubDepositInitiated",
1893
+ type: "event"
1894
+ },
1895
+ {
1896
+ anonymous: false,
1897
+ inputs: [
1898
+ {
1899
+ indexed: false,
1900
+ internalType: "bytes",
1901
+ name: "bridgeMintData",
1902
+ type: "bytes"
1903
+ }
1904
+ ],
1905
+ name: "BridgehubMintData",
1906
+ type: "event"
1907
+ },
1908
+ {
1909
+ anonymous: false,
1910
+ inputs: [
1911
+ {
1912
+ indexed: false,
1913
+ internalType: "uint256",
1914
+ name: "chainId",
1915
+ type: "uint256"
1916
+ },
1917
+ {
1918
+ indexed: true,
1919
+ internalType: "address",
1920
+ name: "sender",
1921
+ type: "address"
1922
+ },
1923
+ {
1924
+ indexed: true,
1925
+ internalType: "bytes32",
1926
+ name: "assetId",
1927
+ type: "bytes32"
1928
+ },
1929
+ {
1930
+ indexed: false,
1931
+ internalType: "bytes32",
1932
+ name: "assetDataHash",
1933
+ type: "bytes32"
1934
+ }
1935
+ ],
1936
+ name: "BridgehubWithdrawalInitiated",
1937
+ type: "event"
1938
+ },
1939
+ {
1940
+ anonymous: false,
1941
+ inputs: [
1942
+ {
1943
+ indexed: true,
1944
+ internalType: "uint256",
1945
+ name: "chainId",
1946
+ type: "uint256"
1947
+ },
1948
+ {
1949
+ indexed: true,
1950
+ internalType: "bytes32",
1951
+ name: "assetId",
1952
+ type: "bytes32"
1953
+ },
1954
+ {
1955
+ indexed: false,
1956
+ internalType: "bytes",
1957
+ name: "assetData",
1958
+ type: "bytes"
1959
+ }
1960
+ ],
1961
+ name: "ClaimedFailedDepositAssetRouter",
1962
+ type: "event"
1963
+ },
1964
+ {
1965
+ anonymous: false,
1966
+ inputs: [
1967
+ {
1968
+ indexed: true,
1969
+ internalType: "uint256",
1970
+ name: "chainId",
1971
+ type: "uint256"
1972
+ },
1973
+ {
1974
+ indexed: true,
1975
+ internalType: "bytes32",
1976
+ name: "assetId",
1977
+ type: "bytes32"
1978
+ },
1979
+ {
1980
+ indexed: false,
1981
+ internalType: "bytes",
1982
+ name: "assetData",
1983
+ type: "bytes"
1984
+ }
1985
+ ],
1986
+ name: "DepositFinalizedAssetRouter",
1987
+ type: "event"
1988
+ },
1989
+ {
1990
+ anonymous: false,
1991
+ inputs: [
1992
+ {
1993
+ indexed: true,
1994
+ internalType: "uint256",
1995
+ name: "chainId",
1996
+ type: "uint256"
1997
+ },
1998
+ {
1999
+ indexed: true,
2000
+ internalType: "bytes32",
2001
+ name: "l2DepositTxHash",
2002
+ type: "bytes32"
2003
+ },
2004
+ {
2005
+ indexed: true,
2006
+ internalType: "address",
2007
+ name: "from",
2008
+ type: "address"
2009
+ },
2010
+ {
2011
+ indexed: false,
2012
+ internalType: "address",
2013
+ name: "to",
2014
+ type: "address"
2015
+ },
2016
+ {
2017
+ indexed: false,
2018
+ internalType: "address",
2019
+ name: "l1Token",
2020
+ type: "address"
2021
+ },
2022
+ {
2023
+ indexed: false,
2024
+ internalType: "uint256",
2025
+ name: "amount",
2026
+ type: "uint256"
2027
+ }
2028
+ ],
2029
+ name: "LegacyDepositInitiated",
2030
+ type: "event"
2031
+ },
2032
+ {
2033
+ inputs: [],
2034
+ name: "BRIDGE_HUB",
2035
+ outputs: [
2036
+ {
2037
+ internalType: "contract IBridgehub",
2038
+ name: "",
2039
+ type: "address"
2040
+ }
2041
+ ],
2042
+ stateMutability: "view",
2043
+ type: "function"
2044
+ },
2045
+ {
2046
+ inputs: [],
2047
+ name: "L1_NULLIFIER",
2048
+ outputs: [
2049
+ {
2050
+ internalType: "contract IL1Nullifier",
2051
+ name: "",
2052
+ type: "address"
2053
+ }
2054
+ ],
2055
+ stateMutability: "view",
2056
+ type: "function"
2057
+ },
2058
+ {
2059
+ inputs: [],
2060
+ name: "L1_WETH_TOKEN",
2061
+ outputs: [
2062
+ {
2063
+ internalType: "address",
2064
+ name: "",
2065
+ type: "address"
2066
+ }
2067
+ ],
2068
+ stateMutability: "view",
2069
+ type: "function"
2070
+ },
2071
+ {
2072
+ inputs: [
2073
+ {
2074
+ internalType: "bytes32",
2075
+ name: "_assetId",
2076
+ type: "bytes32"
2077
+ }
2078
+ ],
2079
+ name: "assetHandlerAddress",
2080
+ outputs: [
2081
+ {
2082
+ internalType: "address",
2083
+ name: "",
2084
+ type: "address"
2085
+ }
2086
+ ],
2087
+ stateMutability: "view",
2088
+ type: "function"
2089
+ },
2090
+ {
2091
+ inputs: [
2092
+ {
2093
+ internalType: "uint256",
2094
+ name: "_chainId",
2095
+ type: "uint256"
2096
+ },
2097
+ {
2098
+ internalType: "address",
2099
+ name: "_depositSender",
2100
+ type: "address"
2101
+ },
2102
+ {
2103
+ internalType: "bytes32",
2104
+ name: "_assetId",
2105
+ type: "bytes32"
2106
+ },
2107
+ {
2108
+ internalType: "bytes",
2109
+ name: "_assetData",
2110
+ type: "bytes"
2111
+ }
2112
+ ],
2113
+ name: "bridgeRecoverFailedTransfer",
2114
+ outputs: [],
2115
+ stateMutability: "nonpayable",
2116
+ type: "function"
2117
+ },
2118
+ {
2119
+ inputs: [
2120
+ {
2121
+ internalType: "uint256",
2122
+ name: "_chainId",
2123
+ type: "uint256"
2124
+ },
2125
+ {
2126
+ internalType: "address",
2127
+ name: "_depositSender",
2128
+ type: "address"
2129
+ },
2130
+ {
2131
+ internalType: "bytes32",
2132
+ name: "_assetId",
2133
+ type: "bytes32"
2134
+ },
2135
+ {
2136
+ internalType: "bytes",
2137
+ name: "_assetData",
2138
+ type: "bytes"
2139
+ },
2140
+ {
2141
+ internalType: "bytes32",
2142
+ name: "_l2TxHash",
2143
+ type: "bytes32"
2144
+ },
2145
+ {
2146
+ internalType: "uint256",
2147
+ name: "_l2BatchNumber",
2148
+ type: "uint256"
2149
+ },
2150
+ {
2151
+ internalType: "uint256",
2152
+ name: "_l2MessageIndex",
2153
+ type: "uint256"
2154
+ },
2155
+ {
2156
+ internalType: "uint16",
2157
+ name: "_l2TxNumberInBatch",
2158
+ type: "uint16"
2159
+ },
2160
+ {
2161
+ internalType: "bytes32[]",
2162
+ name: "_merkleProof",
2163
+ type: "bytes32[]"
2164
+ }
2165
+ ],
2166
+ name: "bridgeRecoverFailedTransfer",
2167
+ outputs: [],
2168
+ stateMutability: "nonpayable",
2169
+ type: "function"
2170
+ },
2171
+ {
2172
+ inputs: [
2173
+ {
2174
+ internalType: "uint256",
2175
+ name: "_chainId",
2176
+ type: "uint256"
2177
+ },
2178
+ {
2179
+ internalType: "bytes32",
2180
+ name: "_txDataHash",
2181
+ type: "bytes32"
2182
+ },
2183
+ {
2184
+ internalType: "bytes32",
2185
+ name: "_txHash",
2186
+ type: "bytes32"
2187
+ }
2188
+ ],
2189
+ name: "bridgehubConfirmL2Transaction",
2190
+ outputs: [],
2191
+ stateMutability: "nonpayable",
2192
+ type: "function"
2193
+ },
2194
+ {
2195
+ inputs: [
2196
+ {
2197
+ internalType: "uint256",
2198
+ name: "_chainId",
2199
+ type: "uint256"
2200
+ },
2201
+ {
2202
+ internalType: "address",
2203
+ name: "_originalCaller",
2204
+ type: "address"
2205
+ },
2206
+ {
2207
+ internalType: "uint256",
2208
+ name: "_value",
2209
+ type: "uint256"
2210
+ },
2211
+ {
2212
+ internalType: "bytes",
2213
+ name: "_data",
2214
+ type: "bytes"
2215
+ }
2216
+ ],
2217
+ name: "bridgehubDeposit",
2218
+ outputs: [
2219
+ {
2220
+ components: [
2221
+ {
2222
+ internalType: "bytes32",
2223
+ name: "magicValue",
2224
+ type: "bytes32"
2225
+ },
2226
+ {
2227
+ internalType: "address",
2228
+ name: "l2Contract",
2229
+ type: "address"
2230
+ },
2231
+ {
2232
+ internalType: "bytes",
2233
+ name: "l2Calldata",
2234
+ type: "bytes"
2235
+ },
2236
+ {
2237
+ internalType: "bytes[]",
2238
+ name: "factoryDeps",
2239
+ type: "bytes[]"
2240
+ },
2241
+ {
2242
+ internalType: "bytes32",
2243
+ name: "txDataHash",
2244
+ type: "bytes32"
2245
+ }
2246
+ ],
2247
+ internalType: "struct L2TransactionRequestTwoBridgesInner",
2248
+ name: "request",
2249
+ type: "tuple"
2250
+ }
2251
+ ],
2252
+ stateMutability: "payable",
2253
+ type: "function"
2254
+ },
2255
+ {
2256
+ inputs: [
2257
+ {
2258
+ internalType: "uint256",
2259
+ name: "_chainId",
2260
+ type: "uint256"
2261
+ },
2262
+ {
2263
+ internalType: "bytes32",
2264
+ name: "_assetId",
2265
+ type: "bytes32"
2266
+ },
2267
+ {
2268
+ internalType: "address",
2269
+ name: "_originalCaller",
2270
+ type: "address"
2271
+ },
2272
+ {
2273
+ internalType: "uint256",
2274
+ name: "_amount",
2275
+ type: "uint256"
2276
+ }
2277
+ ],
2278
+ name: "bridgehubDepositBaseToken",
2279
+ outputs: [],
2280
+ stateMutability: "payable",
2281
+ type: "function"
2282
+ },
2283
+ {
2284
+ inputs: [
2285
+ {
2286
+ internalType: "address",
2287
+ name: "_originalCaller",
2288
+ type: "address"
2289
+ },
2290
+ {
2291
+ internalType: "address",
2292
+ name: "_l2Receiver",
2293
+ type: "address"
2294
+ },
2295
+ {
2296
+ internalType: "address",
2297
+ name: "_l1Token",
2298
+ type: "address"
2299
+ },
2300
+ {
2301
+ internalType: "uint256",
2302
+ name: "_amount",
2303
+ type: "uint256"
2304
+ },
2305
+ {
2306
+ internalType: "uint256",
2307
+ name: "_l2TxGasLimit",
2308
+ type: "uint256"
2309
+ },
2310
+ {
2311
+ internalType: "uint256",
2312
+ name: "_l2TxGasPerPubdataByte",
2313
+ type: "uint256"
2314
+ },
2315
+ {
2316
+ internalType: "address",
2317
+ name: "_refundRecipient",
2318
+ type: "address"
2319
+ }
2320
+ ],
2321
+ name: "depositLegacyErc20Bridge",
2322
+ outputs: [
2323
+ {
2324
+ internalType: "bytes32",
2325
+ name: "txHash",
2326
+ type: "bytes32"
2327
+ }
2328
+ ],
2329
+ stateMutability: "payable",
2330
+ type: "function"
2331
+ },
2332
+ {
2333
+ inputs: [
2334
+ {
2335
+ internalType: "uint256",
2336
+ name: "_chainId",
2337
+ type: "uint256"
2338
+ },
2339
+ {
2340
+ internalType: "bytes32",
2341
+ name: "_assetId",
2342
+ type: "bytes32"
2343
+ },
2344
+ {
2345
+ internalType: "bytes",
2346
+ name: "_transferData",
2347
+ type: "bytes"
2348
+ }
2349
+ ],
2350
+ name: "finalizeDeposit",
2351
+ outputs: [],
2352
+ stateMutability: "payable",
2353
+ type: "function"
2354
+ },
2355
+ {
2356
+ inputs: [
2357
+ {
2358
+ internalType: "uint256",
2359
+ name: "_chainId",
2360
+ type: "uint256"
2361
+ },
2362
+ {
2363
+ internalType: "uint256",
2364
+ name: "_l2BatchNumber",
2365
+ type: "uint256"
2366
+ },
2367
+ {
2368
+ internalType: "uint256",
2369
+ name: "_l2MessageIndex",
2370
+ type: "uint256"
2371
+ },
2372
+ {
2373
+ internalType: "uint16",
2374
+ name: "_l2TxNumberInBatch",
2375
+ type: "uint16"
2376
+ },
2377
+ {
2378
+ internalType: "bytes",
2379
+ name: "_message",
2380
+ type: "bytes"
2381
+ },
2382
+ {
2383
+ internalType: "bytes32[]",
2384
+ name: "_merkleProof",
2385
+ type: "bytes32[]"
2386
+ }
2387
+ ],
2388
+ name: "finalizeWithdrawal",
2389
+ outputs: [],
2390
+ stateMutability: "nonpayable",
2391
+ type: "function"
2392
+ },
2393
+ {
2394
+ inputs: [
2395
+ {
2396
+ internalType: "address",
2397
+ name: "_sender",
2398
+ type: "address"
2399
+ },
2400
+ {
2401
+ internalType: "bytes32",
2402
+ name: "_assetId",
2403
+ type: "bytes32"
2404
+ },
2405
+ {
2406
+ internalType: "bytes",
2407
+ name: "_assetData",
2408
+ type: "bytes"
2409
+ }
2410
+ ],
2411
+ name: "getDepositCalldata",
2412
+ outputs: [
2413
+ {
2414
+ internalType: "bytes",
2415
+ name: "",
2416
+ type: "bytes"
2417
+ }
2418
+ ],
2419
+ stateMutability: "view",
2420
+ type: "function"
2421
+ },
2422
+ {
2423
+ inputs: [
2424
+ {
2425
+ internalType: "uint256",
2426
+ name: "_chainId",
2427
+ type: "uint256"
2428
+ },
2429
+ {
2430
+ internalType: "uint256",
2431
+ name: "_l2BatchNumber",
2432
+ type: "uint256"
2433
+ },
2434
+ {
2435
+ internalType: "uint256",
2436
+ name: "_l2MessageIndex",
2437
+ type: "uint256"
2438
+ }
2439
+ ],
2440
+ name: "isWithdrawalFinalized",
2441
+ outputs: [
2442
+ {
2443
+ internalType: "bool",
2444
+ name: "",
2445
+ type: "bool"
2446
+ }
2447
+ ],
2448
+ stateMutability: "view",
2449
+ type: "function"
2450
+ },
2451
+ {
2452
+ inputs: [
2453
+ {
2454
+ internalType: "uint256",
2455
+ name: "_chainId",
2456
+ type: "uint256"
2457
+ }
2458
+ ],
2459
+ name: "l2BridgeAddress",
2460
+ outputs: [
2461
+ {
2462
+ internalType: "address",
2463
+ name: "",
2464
+ type: "address"
2465
+ }
2466
+ ],
2467
+ stateMutability: "view",
2468
+ type: "function"
2469
+ },
2470
+ {
2471
+ inputs: [],
2472
+ name: "nativeTokenVault",
2473
+ outputs: [
2474
+ {
2475
+ internalType: "contract INativeTokenVault",
2476
+ name: "",
2477
+ type: "address"
2478
+ }
2479
+ ],
2480
+ stateMutability: "view",
2481
+ type: "function"
2482
+ },
2483
+ {
2484
+ inputs: [
2485
+ {
2486
+ internalType: "bytes32",
2487
+ name: "_assetRegistrationData",
2488
+ type: "bytes32"
2489
+ },
2490
+ {
2491
+ internalType: "address",
2492
+ name: "_assetDeploymentTracker",
2493
+ type: "address"
2494
+ }
2495
+ ],
2496
+ name: "setAssetDeploymentTracker",
2497
+ outputs: [],
2498
+ stateMutability: "nonpayable",
2499
+ type: "function"
2500
+ },
2501
+ {
2502
+ inputs: [
2503
+ {
2504
+ internalType: "bytes32",
2505
+ name: "_assetRegistrationData",
2506
+ type: "bytes32"
2507
+ },
2508
+ {
2509
+ internalType: "address",
2510
+ name: "_assetHandlerAddress",
2511
+ type: "address"
2512
+ }
2513
+ ],
2514
+ name: "setAssetHandlerAddressThisChain",
2515
+ outputs: [],
2516
+ stateMutability: "nonpayable",
2517
+ type: "function"
2518
+ },
2519
+ {
2520
+ inputs: [
2521
+ {
2522
+ internalType: "contract IL1ERC20Bridge",
2523
+ name: "_legacyBridge",
2524
+ type: "address"
2525
+ }
2526
+ ],
2527
+ name: "setL1Erc20Bridge",
2528
+ outputs: [],
2529
+ stateMutability: "nonpayable",
2530
+ type: "function"
2531
+ },
2532
+ {
2533
+ inputs: [
2534
+ {
2535
+ internalType: "contract INativeTokenVault",
2536
+ name: "_nativeTokenVault",
2537
+ type: "address"
2538
+ }
2539
+ ],
2540
+ name: "setNativeTokenVault",
2541
+ outputs: [],
2542
+ stateMutability: "nonpayable",
2543
+ type: "function"
2544
+ },
2545
+ {
2546
+ inputs: [
2547
+ {
2548
+ internalType: "bytes32",
2549
+ name: "_assetId",
2550
+ type: "bytes32"
2551
+ },
2552
+ {
2553
+ internalType: "uint256",
2554
+ name: "_amount",
2555
+ type: "uint256"
2556
+ },
2557
+ {
2558
+ internalType: "address",
2559
+ name: "_originalCaller",
2560
+ type: "address"
2561
+ }
2562
+ ],
2563
+ name: "transferFundsToNTV",
2564
+ outputs: [
2565
+ {
2566
+ internalType: "bool",
2567
+ name: "",
2568
+ type: "bool"
2569
+ }
2570
+ ],
2571
+ stateMutability: "nonpayable",
2572
+ type: "function"
2573
+ }
2574
+ ];
2575
+ var IL1AssetRouter_default = IL1AssetRouterABI;
2576
+
2577
+ // src/core/internal/abis/IL1Nullifier.ts
2578
+ var IL1NullifierABI = [
2579
+ {
2580
+ anonymous: false,
2581
+ inputs: [
2582
+ {
2583
+ indexed: true,
2584
+ internalType: "uint256",
2585
+ name: "chainId",
2586
+ type: "uint256"
2587
+ },
2588
+ {
2589
+ indexed: true,
2590
+ internalType: "bytes32",
2591
+ name: "txDataHash",
2592
+ type: "bytes32"
2593
+ },
2594
+ {
2595
+ indexed: true,
2596
+ internalType: "bytes32",
2597
+ name: "l2DepositTxHash",
2598
+ type: "bytes32"
2599
+ }
2600
+ ],
2601
+ name: "BridgehubDepositFinalized",
2602
+ type: "event"
2603
+ },
2604
+ {
2605
+ inputs: [],
2606
+ name: "BRIDGE_HUB",
2607
+ outputs: [
2608
+ {
2609
+ internalType: "contract IBridgehub",
2610
+ name: "",
2611
+ type: "address"
2612
+ }
2613
+ ],
2614
+ stateMutability: "view",
2615
+ type: "function"
2616
+ },
2617
+ {
2618
+ inputs: [
2619
+ {
2620
+ internalType: "uint256",
2621
+ name: "_chainId",
2622
+ type: "uint256"
2623
+ },
2624
+ {
2625
+ internalType: "address",
2626
+ name: "_depositSender",
2627
+ type: "address"
2628
+ },
2629
+ {
2630
+ internalType: "bytes32",
2631
+ name: "_assetId",
2632
+ type: "bytes32"
2633
+ },
2634
+ {
2635
+ internalType: "bytes",
2636
+ name: "_assetData",
2637
+ type: "bytes"
2638
+ },
2639
+ {
2640
+ internalType: "bytes32",
2641
+ name: "_l2TxHash",
2642
+ type: "bytes32"
2643
+ },
2644
+ {
2645
+ internalType: "uint256",
2646
+ name: "_l2BatchNumber",
2647
+ type: "uint256"
2648
+ },
2649
+ {
2650
+ internalType: "uint256",
2651
+ name: "_l2MessageIndex",
2652
+ type: "uint256"
2653
+ },
2654
+ {
2655
+ internalType: "uint16",
2656
+ name: "_l2TxNumberInBatch",
2657
+ type: "uint16"
2658
+ },
2659
+ {
2660
+ internalType: "bytes32[]",
2661
+ name: "_merkleProof",
2662
+ type: "bytes32[]"
2663
+ }
2664
+ ],
2665
+ name: "bridgeRecoverFailedTransfer",
2666
+ outputs: [],
2667
+ stateMutability: "nonpayable",
2668
+ type: "function"
2669
+ },
2670
+ {
2671
+ inputs: [
2672
+ {
2673
+ internalType: "uint256",
2674
+ name: "_chainId",
2675
+ type: "uint256"
2676
+ },
2677
+ {
2678
+ internalType: "bytes32",
2679
+ name: "_txDataHash",
2680
+ type: "bytes32"
2681
+ },
2682
+ {
2683
+ internalType: "bytes32",
2684
+ name: "_txHash",
2685
+ type: "bytes32"
2686
+ }
2687
+ ],
2688
+ name: "bridgehubConfirmL2TransactionForwarded",
2689
+ outputs: [],
2690
+ stateMutability: "nonpayable",
2691
+ type: "function"
2692
+ },
2693
+ {
2694
+ inputs: [
2695
+ {
2696
+ internalType: "uint256",
2697
+ name: "_chainId",
2698
+ type: "uint256"
2699
+ },
2700
+ {
2701
+ internalType: "address",
2702
+ name: "_token",
2703
+ type: "address"
2704
+ }
2705
+ ],
2706
+ name: "chainBalance",
2707
+ outputs: [
2708
+ {
2709
+ internalType: "uint256",
2710
+ name: "",
2711
+ type: "uint256"
2712
+ }
2713
+ ],
2714
+ stateMutability: "view",
2715
+ type: "function"
2716
+ },
2717
+ {
2718
+ inputs: [
2719
+ {
2720
+ internalType: "uint256",
2721
+ name: "_chainId",
2722
+ type: "uint256"
2723
+ },
2724
+ {
2725
+ internalType: "address",
2726
+ name: "_depositSender",
2727
+ type: "address"
2728
+ },
2729
+ {
2730
+ internalType: "address",
2731
+ name: "_l1Token",
2732
+ type: "address"
2733
+ },
2734
+ {
2735
+ internalType: "uint256",
2736
+ name: "_amount",
2737
+ type: "uint256"
2738
+ },
2739
+ {
2740
+ internalType: "bytes32",
2741
+ name: "_l2TxHash",
2742
+ type: "bytes32"
2743
+ },
2744
+ {
2745
+ internalType: "uint256",
2746
+ name: "_l2BatchNumber",
2747
+ type: "uint256"
2748
+ },
2749
+ {
2750
+ internalType: "uint256",
2751
+ name: "_l2MessageIndex",
2752
+ type: "uint256"
2753
+ },
2754
+ {
2755
+ internalType: "uint16",
2756
+ name: "_l2TxNumberInBatch",
2757
+ type: "uint16"
2758
+ },
2759
+ {
2760
+ internalType: "bytes32[]",
2761
+ name: "_merkleProof",
2762
+ type: "bytes32[]"
2763
+ }
2764
+ ],
2765
+ name: "claimFailedDeposit",
2766
+ outputs: [],
2767
+ stateMutability: "nonpayable",
2768
+ type: "function"
2769
+ },
2770
+ {
2771
+ inputs: [
2772
+ {
2773
+ internalType: "address",
2774
+ name: "_depositSender",
2775
+ type: "address"
2776
+ },
2777
+ {
2778
+ internalType: "address",
2779
+ name: "_l1Token",
2780
+ type: "address"
2781
+ },
2782
+ {
2783
+ internalType: "uint256",
2784
+ name: "_amount",
2785
+ type: "uint256"
2786
+ },
2787
+ {
2788
+ internalType: "bytes32",
2789
+ name: "_l2TxHash",
2790
+ type: "bytes32"
2791
+ },
2792
+ {
2793
+ internalType: "uint256",
2794
+ name: "_l2BatchNumber",
2795
+ type: "uint256"
2796
+ },
2797
+ {
2798
+ internalType: "uint256",
2799
+ name: "_l2MessageIndex",
2800
+ type: "uint256"
2801
+ },
2802
+ {
2803
+ internalType: "uint16",
2804
+ name: "_l2TxNumberInBatch",
2805
+ type: "uint16"
2806
+ },
2807
+ {
2808
+ internalType: "bytes32[]",
2809
+ name: "_merkleProof",
2810
+ type: "bytes32[]"
2811
+ }
2812
+ ],
2813
+ name: "claimFailedDepositLegacyErc20Bridge",
2814
+ outputs: [],
2815
+ stateMutability: "nonpayable",
2816
+ type: "function"
2817
+ },
2818
+ {
2819
+ inputs: [
2820
+ {
2821
+ internalType: "uint256",
2822
+ name: "_chainId",
2823
+ type: "uint256"
2824
+ },
2825
+ {
2826
+ internalType: "bytes32",
2827
+ name: "_l2TxHash",
2828
+ type: "bytes32"
2829
+ }
2830
+ ],
2831
+ name: "depositHappened",
2832
+ outputs: [
2833
+ {
2834
+ internalType: "bytes32",
2835
+ name: "",
2836
+ type: "bytes32"
2837
+ }
2838
+ ],
2839
+ stateMutability: "view",
2840
+ type: "function"
2841
+ },
2842
+ {
2843
+ inputs: [
2844
+ {
2845
+ components: [
2846
+ {
2847
+ internalType: "uint256",
2848
+ name: "chainId",
2849
+ type: "uint256"
2850
+ },
2851
+ {
2852
+ internalType: "uint256",
2853
+ name: "l2BatchNumber",
2854
+ type: "uint256"
2855
+ },
2856
+ {
2857
+ internalType: "uint256",
2858
+ name: "l2MessageIndex",
2859
+ type: "uint256"
2860
+ },
2861
+ {
2862
+ internalType: "address",
2863
+ name: "l2Sender",
2864
+ type: "address"
2865
+ },
2866
+ {
2867
+ internalType: "uint16",
2868
+ name: "l2TxNumberInBatch",
2869
+ type: "uint16"
2870
+ },
2871
+ {
2872
+ internalType: "bytes",
2873
+ name: "message",
2874
+ type: "bytes"
2875
+ },
2876
+ {
2877
+ internalType: "bytes32[]",
2878
+ name: "merkleProof",
2879
+ type: "bytes32[]"
2880
+ }
2881
+ ],
2882
+ internalType: "struct FinalizeL1DepositParams",
2883
+ name: "_finalizeWithdrawalParams",
2884
+ type: "tuple"
2885
+ }
2886
+ ],
2887
+ name: "finalizeDeposit",
2888
+ outputs: [],
2889
+ stateMutability: "nonpayable",
2890
+ type: "function"
2891
+ },
2892
+ {
2893
+ inputs: [
2894
+ {
2895
+ internalType: "uint256",
2896
+ name: "_chainId",
2897
+ type: "uint256"
2898
+ },
2899
+ {
2900
+ internalType: "uint256",
2901
+ name: "_l2BatchNumber",
2902
+ type: "uint256"
2903
+ },
2904
+ {
2905
+ internalType: "uint256",
2906
+ name: "_l2MessageIndex",
2907
+ type: "uint256"
2908
+ },
2909
+ {
2910
+ internalType: "uint16",
2911
+ name: "_l2TxNumberInBatch",
2912
+ type: "uint16"
2913
+ },
2914
+ {
2915
+ internalType: "bytes",
2916
+ name: "_message",
2917
+ type: "bytes"
2918
+ },
2919
+ {
2920
+ internalType: "bytes32[]",
2921
+ name: "_merkleProof",
2922
+ type: "bytes32[]"
2923
+ }
2924
+ ],
2925
+ name: "finalizeWithdrawal",
2926
+ outputs: [],
2927
+ stateMutability: "nonpayable",
2928
+ type: "function"
2929
+ },
2930
+ {
2931
+ inputs: [
2932
+ {
2933
+ internalType: "uint256",
2934
+ name: "_chainId",
2935
+ type: "uint256"
2936
+ },
2937
+ {
2938
+ internalType: "uint256",
2939
+ name: "_l2BatchNumber",
2940
+ type: "uint256"
2941
+ },
2942
+ {
2943
+ internalType: "uint256",
2944
+ name: "_l2MessageIndex",
2945
+ type: "uint256"
2946
+ }
2947
+ ],
2948
+ name: "isWithdrawalFinalized",
2949
+ outputs: [
2950
+ {
2951
+ internalType: "bool",
2952
+ name: "",
2953
+ type: "bool"
2954
+ }
2955
+ ],
2956
+ stateMutability: "view",
2957
+ type: "function"
2958
+ },
2959
+ {
2960
+ inputs: [],
2961
+ name: "l1NativeTokenVault",
2962
+ outputs: [
2963
+ {
2964
+ internalType: "contract IL1NativeTokenVault",
2965
+ name: "",
2966
+ type: "address"
2967
+ }
2968
+ ],
2969
+ stateMutability: "view",
2970
+ type: "function"
2971
+ },
2972
+ {
2973
+ inputs: [
2974
+ {
2975
+ internalType: "uint256",
2976
+ name: "_chainId",
2977
+ type: "uint256"
2978
+ }
2979
+ ],
2980
+ name: "l2BridgeAddress",
2981
+ outputs: [
2982
+ {
2983
+ internalType: "address",
2984
+ name: "",
2985
+ type: "address"
2986
+ }
2987
+ ],
2988
+ stateMutability: "view",
2989
+ type: "function"
2990
+ },
2991
+ {
2992
+ inputs: [],
2993
+ name: "legacyBridge",
2994
+ outputs: [
2995
+ {
2996
+ internalType: "contract IL1ERC20Bridge",
2997
+ name: "",
2998
+ type: "address"
2999
+ }
3000
+ ],
3001
+ stateMutability: "view",
3002
+ type: "function"
3003
+ },
3004
+ {
3005
+ inputs: [
3006
+ {
3007
+ internalType: "uint256",
3008
+ name: "_chainId",
3009
+ type: "uint256"
3010
+ },
3011
+ {
3012
+ internalType: "address",
3013
+ name: "_token",
3014
+ type: "address"
3015
+ }
3016
+ ],
3017
+ name: "nullifyChainBalanceByNTV",
3018
+ outputs: [],
3019
+ stateMutability: "nonpayable",
3020
+ type: "function"
3021
+ },
3022
+ {
3023
+ inputs: [
3024
+ {
3025
+ internalType: "address",
3026
+ name: "_l1AssetRouter",
3027
+ type: "address"
3028
+ }
3029
+ ],
3030
+ name: "setL1AssetRouter",
3031
+ outputs: [],
3032
+ stateMutability: "nonpayable",
3033
+ type: "function"
3034
+ },
3035
+ {
3036
+ inputs: [
3037
+ {
3038
+ internalType: "contract IL1NativeTokenVault",
3039
+ name: "_nativeTokenVault",
3040
+ type: "address"
3041
+ }
3042
+ ],
3043
+ name: "setL1NativeTokenVault",
3044
+ outputs: [],
3045
+ stateMutability: "nonpayable",
3046
+ type: "function"
3047
+ },
3048
+ {
3049
+ inputs: [
3050
+ {
3051
+ internalType: "address",
3052
+ name: "_token",
3053
+ type: "address"
3054
+ }
3055
+ ],
3056
+ name: "transferTokenToNTV",
3057
+ outputs: [],
3058
+ stateMutability: "nonpayable",
3059
+ type: "function"
3060
+ }
3061
+ ];
3062
+ var IL1Nullifier_default = IL1NullifierABI;
3063
+
3064
+ // src/core/internal/abis/IL2AssetRouter.ts
3065
+ var IL2AssetRouterABI = [
3066
+ {
3067
+ type: "function",
3068
+ name: "BASE_TOKEN_ASSET_ID",
3069
+ inputs: [],
3070
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
3071
+ stateMutability: "view"
3072
+ },
3073
+ {
3074
+ type: "function",
3075
+ name: "BRIDGE_HUB",
3076
+ inputs: [],
3077
+ outputs: [{ name: "", type: "address", internalType: "contract IBridgehub" }],
3078
+ stateMutability: "view"
3079
+ },
3080
+ {
3081
+ type: "function",
3082
+ name: "L1_ASSET_ROUTER",
3083
+ inputs: [],
3084
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3085
+ stateMutability: "view"
3086
+ },
3087
+ {
3088
+ type: "function",
3089
+ name: "L1_CHAIN_ID",
3090
+ inputs: [],
3091
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3092
+ stateMutability: "view"
3093
+ },
3094
+ {
3095
+ type: "function",
3096
+ name: "L2_LEGACY_SHARED_BRIDGE",
3097
+ inputs: [],
3098
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3099
+ stateMutability: "view"
3100
+ },
3101
+ {
3102
+ type: "function",
3103
+ name: "acceptOwnership",
3104
+ inputs: [],
3105
+ outputs: [],
3106
+ stateMutability: "nonpayable"
3107
+ },
3108
+ {
3109
+ type: "function",
3110
+ name: "assetDeploymentTracker",
3111
+ inputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }],
3112
+ outputs: [{ name: "assetDeploymentTracker", type: "address", internalType: "address" }],
3113
+ stateMutability: "view"
3114
+ },
3115
+ {
3116
+ type: "function",
3117
+ name: "assetHandlerAddress",
3118
+ inputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }],
3119
+ outputs: [{ name: "assetHandlerAddress", type: "address", internalType: "address" }],
3120
+ stateMutability: "view"
3121
+ },
3122
+ {
3123
+ type: "function",
3124
+ name: "eraChainId",
3125
+ inputs: [],
3126
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3127
+ stateMutability: "view"
3128
+ },
3129
+ {
3130
+ type: "function",
3131
+ name: "finalizeDeposit",
3132
+ inputs: [
3133
+ { name: "", type: "uint256", internalType: "uint256" },
3134
+ { name: "_assetId", type: "bytes32", internalType: "bytes32" },
3135
+ { name: "_transferData", type: "bytes", internalType: "bytes" }
3136
+ ],
3137
+ outputs: [],
3138
+ stateMutability: "payable"
3139
+ },
3140
+ {
3141
+ type: "function",
3142
+ name: "finalizeDeposit",
3143
+ inputs: [
3144
+ { name: "_l1Sender", type: "address", internalType: "address" },
3145
+ { name: "_l2Receiver", type: "address", internalType: "address" },
3146
+ { name: "_l1Token", type: "address", internalType: "address" },
3147
+ { name: "_amount", type: "uint256", internalType: "uint256" },
3148
+ { name: "_data", type: "bytes", internalType: "bytes" }
3149
+ ],
3150
+ outputs: [],
3151
+ stateMutability: "payable"
3152
+ },
3153
+ {
3154
+ type: "function",
3155
+ name: "finalizeDepositLegacyBridge",
3156
+ inputs: [
3157
+ { name: "_l1Sender", type: "address", internalType: "address" },
3158
+ { name: "_l2Receiver", type: "address", internalType: "address" },
3159
+ { name: "_l1Token", type: "address", internalType: "address" },
3160
+ { name: "_amount", type: "uint256", internalType: "uint256" },
3161
+ { name: "_data", type: "bytes", internalType: "bytes" }
3162
+ ],
3163
+ outputs: [],
3164
+ stateMutability: "nonpayable"
3165
+ },
3166
+ {
3167
+ type: "function",
3168
+ name: "initL2",
3169
+ inputs: [
3170
+ { name: "_l1ChainId", type: "uint256", internalType: "uint256" },
3171
+ { name: "_eraChainId", type: "uint256", internalType: "uint256" },
3172
+ { name: "_l1AssetRouter", type: "address", internalType: "address" },
3173
+ { name: "_legacySharedBridge", type: "address", internalType: "address" },
3174
+ { name: "_baseTokenAssetId", type: "bytes32", internalType: "bytes32" },
3175
+ { name: "_aliasedOwner", type: "address", internalType: "address" }
3176
+ ],
3177
+ outputs: [],
3178
+ stateMutability: "nonpayable"
3179
+ },
3180
+ {
3181
+ type: "function",
3182
+ name: "l1Bridge",
3183
+ inputs: [],
3184
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3185
+ stateMutability: "view"
3186
+ },
3187
+ {
3188
+ type: "function",
3189
+ name: "l1TokenAddress",
3190
+ inputs: [{ name: "_l2Token", type: "address", internalType: "address" }],
3191
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3192
+ stateMutability: "view"
3193
+ },
3194
+ {
3195
+ type: "function",
3196
+ name: "l2TokenAddress",
3197
+ inputs: [{ name: "_l1Token", type: "address", internalType: "address" }],
3198
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3199
+ stateMutability: "view"
3200
+ },
3201
+ {
3202
+ type: "function",
3203
+ name: "owner",
3204
+ inputs: [],
3205
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3206
+ stateMutability: "view"
3207
+ },
3208
+ {
3209
+ type: "function",
3210
+ name: "pause",
3211
+ inputs: [],
3212
+ outputs: [],
3213
+ stateMutability: "nonpayable"
3214
+ },
3215
+ {
3216
+ type: "function",
3217
+ name: "paused",
3218
+ inputs: [],
3219
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
3220
+ stateMutability: "view"
3221
+ },
3222
+ {
3223
+ type: "function",
3224
+ name: "pendingOwner",
3225
+ inputs: [],
3226
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3227
+ stateMutability: "view"
3228
+ },
3229
+ {
3230
+ type: "function",
3231
+ name: "renounceOwnership",
3232
+ inputs: [],
3233
+ outputs: [],
3234
+ stateMutability: "nonpayable"
3235
+ },
3236
+ {
3237
+ type: "function",
3238
+ name: "setAssetHandlerAddress",
3239
+ inputs: [
3240
+ { name: "_originChainId", type: "uint256", internalType: "uint256" },
3241
+ { name: "_assetId", type: "bytes32", internalType: "bytes32" },
3242
+ { name: "_assetHandlerAddress", type: "address", internalType: "address" }
3243
+ ],
3244
+ outputs: [],
3245
+ stateMutability: "nonpayable"
3246
+ },
3247
+ {
3248
+ type: "function",
3249
+ name: "setAssetHandlerAddressThisChain",
3250
+ inputs: [
3251
+ { name: "_assetRegistrationData", type: "bytes32", internalType: "bytes32" },
3252
+ { name: "_assetHandlerAddress", type: "address", internalType: "address" }
3253
+ ],
3254
+ outputs: [],
3255
+ stateMutability: "nonpayable"
3256
+ },
3257
+ {
3258
+ type: "function",
3259
+ name: "setLegacyTokenAssetHandler",
3260
+ inputs: [{ name: "_assetId", type: "bytes32", internalType: "bytes32" }],
3261
+ outputs: [],
3262
+ stateMutability: "nonpayable"
3263
+ },
3264
+ {
3265
+ type: "function",
3266
+ name: "transferOwnership",
3267
+ inputs: [{ name: "newOwner", type: "address", internalType: "address" }],
3268
+ outputs: [],
3269
+ stateMutability: "nonpayable"
3270
+ },
3271
+ {
3272
+ type: "function",
3273
+ name: "unpause",
3274
+ inputs: [],
3275
+ outputs: [],
3276
+ stateMutability: "nonpayable"
3277
+ },
3278
+ {
3279
+ type: "function",
3280
+ name: "updateL2",
3281
+ inputs: [
3282
+ { name: "_l1ChainId", type: "uint256", internalType: "uint256" },
3283
+ { name: "_eraChainId", type: "uint256", internalType: "uint256" },
3284
+ { name: "_l1AssetRouter", type: "address", internalType: "address" },
3285
+ { name: "_legacySharedBridge", type: "address", internalType: "address" },
3286
+ { name: "_baseTokenAssetId", type: "bytes32", internalType: "bytes32" }
3287
+ ],
3288
+ outputs: [],
3289
+ stateMutability: "nonpayable"
3290
+ },
3291
+ {
3292
+ type: "function",
3293
+ name: "withdraw",
3294
+ inputs: [
3295
+ { name: "_assetId", type: "bytes32", internalType: "bytes32" },
3296
+ { name: "_assetData", type: "bytes", internalType: "bytes" }
3297
+ ],
3298
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
3299
+ stateMutability: "nonpayable"
3300
+ },
3301
+ {
3302
+ type: "function",
3303
+ name: "withdraw",
3304
+ inputs: [
3305
+ { name: "_l1Receiver", type: "address", internalType: "address" },
3306
+ { name: "_l2Token", type: "address", internalType: "address" },
3307
+ { name: "_amount", type: "uint256", internalType: "uint256" }
3308
+ ],
3309
+ outputs: [],
3310
+ stateMutability: "nonpayable"
3311
+ },
3312
+ {
3313
+ type: "function",
3314
+ name: "withdrawLegacyBridge",
3315
+ inputs: [
3316
+ { name: "_l1Receiver", type: "address", internalType: "address" },
3317
+ { name: "_l2Token", type: "address", internalType: "address" },
3318
+ { name: "_amount", type: "uint256", internalType: "uint256" },
3319
+ { name: "_sender", type: "address", internalType: "address" }
3320
+ ],
3321
+ outputs: [],
3322
+ stateMutability: "nonpayable"
3323
+ },
3324
+ {
3325
+ type: "event",
3326
+ name: "AssetDeploymentTrackerRegistered",
3327
+ inputs: [
3328
+ { name: "assetId", type: "bytes32", indexed: true, internalType: "bytes32" },
3329
+ { name: "additionalData", type: "bytes32", indexed: true, internalType: "bytes32" },
3330
+ {
3331
+ name: "assetDeploymentTracker",
3332
+ type: "address",
3333
+ indexed: false,
3334
+ internalType: "address"
3335
+ }
3336
+ ],
3337
+ anonymous: false
3338
+ },
3339
+ {
3340
+ type: "event",
3341
+ name: "AssetHandlerRegistered",
3342
+ inputs: [
3343
+ { name: "assetId", type: "bytes32", indexed: true, internalType: "bytes32" },
3344
+ {
3345
+ name: "_assetHandlerAddress",
3346
+ type: "address",
3347
+ indexed: true,
3348
+ internalType: "address"
3349
+ }
3350
+ ],
3351
+ anonymous: false
3352
+ },
3353
+ {
3354
+ type: "event",
3355
+ name: "BridgehubDepositBaseTokenInitiated",
3356
+ inputs: [
3357
+ { name: "chainId", type: "uint256", indexed: true, internalType: "uint256" },
3358
+ { name: "from", type: "address", indexed: true, internalType: "address" },
3359
+ { name: "assetId", type: "bytes32", indexed: false, internalType: "bytes32" },
3360
+ { name: "amount", type: "uint256", indexed: false, internalType: "uint256" }
3361
+ ],
3362
+ anonymous: false
3363
+ },
3364
+ {
3365
+ type: "event",
3366
+ name: "BridgehubDepositInitiated",
3367
+ inputs: [
3368
+ { name: "chainId", type: "uint256", indexed: true, internalType: "uint256" },
3369
+ { name: "txDataHash", type: "bytes32", indexed: true, internalType: "bytes32" },
3370
+ { name: "from", type: "address", indexed: true, internalType: "address" },
3371
+ { name: "assetId", type: "bytes32", indexed: false, internalType: "bytes32" },
3372
+ { name: "bridgeMintCalldata", type: "bytes", indexed: false, internalType: "bytes" }
3373
+ ],
3374
+ anonymous: false
3375
+ },
3376
+ {
3377
+ type: "event",
3378
+ name: "BridgehubWithdrawalInitiated",
3379
+ inputs: [
3380
+ { name: "chainId", type: "uint256", indexed: false, internalType: "uint256" },
3381
+ { name: "sender", type: "address", indexed: true, internalType: "address" },
3382
+ { name: "assetId", type: "bytes32", indexed: true, internalType: "bytes32" },
3383
+ { name: "assetDataHash", type: "bytes32", indexed: false, internalType: "bytes32" }
3384
+ ],
3385
+ anonymous: false
3386
+ },
3387
+ {
3388
+ type: "event",
3389
+ name: "DepositFinalizedAssetRouter",
3390
+ inputs: [
3391
+ { name: "chainId", type: "uint256", indexed: true, internalType: "uint256" },
3392
+ { name: "assetId", type: "bytes32", indexed: true, internalType: "bytes32" },
3393
+ { name: "assetData", type: "bytes", indexed: false, internalType: "bytes" }
3394
+ ],
3395
+ anonymous: false
3396
+ },
3397
+ {
3398
+ type: "event",
3399
+ name: "Initialized",
3400
+ inputs: [{ name: "version", type: "uint8", indexed: false, internalType: "uint8" }],
3401
+ anonymous: false
3402
+ },
3403
+ {
3404
+ type: "event",
3405
+ name: "OwnershipTransferStarted",
3406
+ inputs: [
3407
+ { name: "previousOwner", type: "address", indexed: true, internalType: "address" },
3408
+ { name: "newOwner", type: "address", indexed: true, internalType: "address" }
3409
+ ],
3410
+ anonymous: false
3411
+ },
3412
+ {
3413
+ type: "event",
3414
+ name: "OwnershipTransferred",
3415
+ inputs: [
3416
+ { name: "previousOwner", type: "address", indexed: true, internalType: "address" },
3417
+ { name: "newOwner", type: "address", indexed: true, internalType: "address" }
3418
+ ],
3419
+ anonymous: false
3420
+ },
3421
+ {
3422
+ type: "event",
3423
+ name: "Paused",
3424
+ inputs: [{ name: "account", type: "address", indexed: false, internalType: "address" }],
3425
+ anonymous: false
3426
+ },
3427
+ {
3428
+ type: "event",
3429
+ name: "Unpaused",
3430
+ inputs: [{ name: "account", type: "address", indexed: false, internalType: "address" }],
3431
+ anonymous: false
3432
+ },
3433
+ {
3434
+ type: "event",
3435
+ name: "WithdrawalInitiatedAssetRouter",
3436
+ inputs: [
3437
+ { name: "chainId", type: "uint256", indexed: false, internalType: "uint256" },
3438
+ { name: "l2Sender", type: "address", indexed: true, internalType: "address" },
3439
+ { name: "assetId", type: "bytes32", indexed: true, internalType: "bytes32" },
3440
+ { name: "assetData", type: "bytes", indexed: false, internalType: "bytes" }
3441
+ ],
3442
+ anonymous: false
3443
+ },
3444
+ { type: "error", name: "AmountMustBeGreaterThanZero", inputs: [] },
3445
+ {
3446
+ type: "error",
3447
+ name: "AssetIdNotSupported",
3448
+ inputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }]
3449
+ },
3450
+ { type: "error", name: "EmptyAddress", inputs: [] },
3451
+ {
3452
+ type: "error",
3453
+ name: "InvalidCaller",
3454
+ inputs: [{ name: "", type: "address", internalType: "address" }]
3455
+ },
3456
+ { type: "error", name: "InvalidNTVBurnData", inputs: [] },
3457
+ { type: "error", name: "NotInitializedReentrancyGuard", inputs: [] },
3458
+ { type: "error", name: "Reentrancy", inputs: [] },
3459
+ { type: "error", name: "SlotOccupied", inputs: [] },
3460
+ { type: "error", name: "TokenNotLegacy", inputs: [] },
3461
+ {
3462
+ type: "error",
3463
+ name: "Unauthorized",
3464
+ inputs: [{ name: "caller", type: "address", internalType: "address" }]
3465
+ }
3466
+ ];
3467
+ var IL2AssetRouter_default = IL2AssetRouterABI;
3468
+
3469
+ // src/core/internal/abis/L1NativeTokenVault.ts
3470
+ var L1NativeTokenVaultABI = [
3471
+ {
3472
+ type: "constructor",
3473
+ inputs: [
3474
+ { name: "_l1WethAddress", type: "address", internalType: "address" },
3475
+ { name: "_l1AssetRouter", type: "address", internalType: "address" },
3476
+ { name: "_l1Nullifier", type: "address", internalType: "contract IL1Nullifier" }
3477
+ ],
3478
+ stateMutability: "nonpayable"
3479
+ },
3480
+ { type: "receive", stateMutability: "payable" },
3481
+ {
3482
+ type: "function",
3483
+ name: "ASSET_ROUTER",
3484
+ inputs: [],
3485
+ outputs: [{ name: "", type: "address", internalType: "contract IAssetRouterBase" }],
3486
+ stateMutability: "view"
3487
+ },
3488
+ {
3489
+ type: "function",
3490
+ name: "BASE_TOKEN_ASSET_ID",
3491
+ inputs: [],
3492
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
3493
+ stateMutability: "view"
3494
+ },
3495
+ {
3496
+ type: "function",
3497
+ name: "L1_CHAIN_ID",
3498
+ inputs: [],
3499
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3500
+ stateMutability: "view"
3501
+ },
3502
+ {
3503
+ type: "function",
3504
+ name: "L1_NULLIFIER",
3505
+ inputs: [],
3506
+ outputs: [{ name: "", type: "address", internalType: "contract IL1Nullifier" }],
3507
+ stateMutability: "view"
3508
+ },
3509
+ {
3510
+ type: "function",
3511
+ name: "WETH_TOKEN",
3512
+ inputs: [],
3513
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3514
+ stateMutability: "view"
3515
+ },
3516
+ {
3517
+ type: "function",
3518
+ name: "acceptOwnership",
3519
+ inputs: [],
3520
+ outputs: [],
3521
+ stateMutability: "nonpayable"
3522
+ },
3523
+ {
3524
+ type: "function",
3525
+ name: "addLegacyTokenToBridgedTokensList",
3526
+ inputs: [{ name: "_token", type: "address", internalType: "address" }],
3527
+ outputs: [],
3528
+ stateMutability: "nonpayable"
3529
+ },
3530
+ {
3531
+ type: "function",
3532
+ name: "assetId",
3533
+ inputs: [{ name: "tokenAddress", type: "address", internalType: "address" }],
3534
+ outputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }],
3535
+ stateMutability: "view"
3536
+ },
3537
+ {
3538
+ type: "function",
3539
+ name: "bridgeBurn",
3540
+ inputs: [
3541
+ { name: "_chainId", type: "uint256", internalType: "uint256" },
3542
+ { name: "_l2MsgValue", type: "uint256", internalType: "uint256" },
3543
+ { name: "_assetId", type: "bytes32", internalType: "bytes32" },
3544
+ { name: "_originalCaller", type: "address", internalType: "address" },
3545
+ { name: "_data", type: "bytes", internalType: "bytes" }
3546
+ ],
3547
+ outputs: [{ name: "_bridgeMintData", type: "bytes", internalType: "bytes" }],
3548
+ stateMutability: "payable"
3549
+ },
3550
+ {
3551
+ type: "function",
3552
+ name: "bridgeCheckCounterpartAddress",
3553
+ inputs: [
3554
+ { name: "", type: "uint256", internalType: "uint256" },
3555
+ { name: "", type: "bytes32", internalType: "bytes32" },
3556
+ { name: "", type: "address", internalType: "address" },
3557
+ {
3558
+ name: "_assetHandlerAddressOnCounterpart",
3559
+ type: "address",
3560
+ internalType: "address"
3561
+ }
3562
+ ],
3563
+ outputs: [],
3564
+ stateMutability: "view"
3565
+ },
3566
+ {
3567
+ type: "function",
3568
+ name: "bridgeMint",
3569
+ inputs: [
3570
+ { name: "_chainId", type: "uint256", internalType: "uint256" },
3571
+ { name: "_assetId", type: "bytes32", internalType: "bytes32" },
3572
+ { name: "_data", type: "bytes", internalType: "bytes" }
3573
+ ],
3574
+ outputs: [],
3575
+ stateMutability: "payable"
3576
+ },
3577
+ {
3578
+ type: "function",
3579
+ name: "bridgeRecoverFailedTransfer",
3580
+ inputs: [
3581
+ { name: "_chainId", type: "uint256", internalType: "uint256" },
3582
+ { name: "_assetId", type: "bytes32", internalType: "bytes32" },
3583
+ { name: "_depositSender", type: "address", internalType: "address" },
3584
+ { name: "_data", type: "bytes", internalType: "bytes" }
3585
+ ],
3586
+ outputs: [],
3587
+ stateMutability: "payable"
3588
+ },
3589
+ {
3590
+ type: "function",
3591
+ name: "bridgedTokenBeacon",
3592
+ inputs: [],
3593
+ outputs: [{ name: "", type: "address", internalType: "contract IBeacon" }],
3594
+ stateMutability: "view"
3595
+ },
3596
+ {
3597
+ type: "function",
3598
+ name: "bridgedTokens",
3599
+ inputs: [{ name: "count", type: "uint256", internalType: "uint256" }],
3600
+ outputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }],
3601
+ stateMutability: "view"
3602
+ },
3603
+ {
3604
+ type: "function",
3605
+ name: "bridgedTokensCount",
3606
+ inputs: [],
3607
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3608
+ stateMutability: "view"
3609
+ },
3610
+ {
3611
+ type: "function",
3612
+ name: "calculateCreate2TokenAddress",
3613
+ inputs: [
3614
+ { name: "_originChainId", type: "uint256", internalType: "uint256" },
3615
+ { name: "_nonNativeToken", type: "address", internalType: "address" }
3616
+ ],
3617
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3618
+ stateMutability: "view"
3619
+ },
3620
+ {
3621
+ type: "function",
3622
+ name: "chainBalance",
3623
+ inputs: [
3624
+ { name: "_chainId", type: "uint256", internalType: "uint256" },
3625
+ { name: "_assetId", type: "bytes32", internalType: "bytes32" }
3626
+ ],
3627
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3628
+ stateMutability: "view"
3629
+ },
3630
+ {
3631
+ type: "function",
3632
+ name: "ensureTokenIsRegistered",
3633
+ inputs: [{ name: "_nativeToken", type: "address", internalType: "address" }],
3634
+ outputs: [{ name: "tokenAssetId", type: "bytes32", internalType: "bytes32" }],
3635
+ stateMutability: "nonpayable"
3636
+ },
3637
+ {
3638
+ type: "function",
3639
+ name: "getERC20Getters",
3640
+ inputs: [
3641
+ { name: "_token", type: "address", internalType: "address" },
3642
+ { name: "_originChainId", type: "uint256", internalType: "uint256" }
3643
+ ],
3644
+ outputs: [{ name: "", type: "bytes", internalType: "bytes" }],
3645
+ stateMutability: "view"
3646
+ },
3647
+ {
3648
+ type: "function",
3649
+ name: "initialize",
3650
+ inputs: [
3651
+ { name: "_owner", type: "address", internalType: "address" },
3652
+ { name: "_bridgedTokenBeacon", type: "address", internalType: "address" }
3653
+ ],
3654
+ outputs: [],
3655
+ stateMutability: "nonpayable"
3656
+ },
3657
+ {
3658
+ type: "function",
3659
+ name: "l1AssetTracker",
3660
+ inputs: [],
3661
+ outputs: [{ name: "", type: "address", internalType: "contract IL1AssetTracker" }],
3662
+ stateMutability: "view"
3663
+ },
3664
+ {
3665
+ type: "function",
3666
+ name: "originChainId",
3667
+ inputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }],
3668
+ outputs: [{ name: "originChainId", type: "uint256", internalType: "uint256" }],
3669
+ stateMutability: "view"
3670
+ },
3671
+ {
3672
+ type: "function",
3673
+ name: "owner",
3674
+ inputs: [],
3675
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3676
+ stateMutability: "view"
3677
+ },
3678
+ {
3679
+ type: "function",
3680
+ name: "pause",
3681
+ inputs: [],
3682
+ outputs: [],
3683
+ stateMutability: "nonpayable"
3684
+ },
3685
+ {
3686
+ type: "function",
3687
+ name: "paused",
3688
+ inputs: [],
3689
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
3690
+ stateMutability: "view"
3691
+ },
3692
+ {
3693
+ type: "function",
3694
+ name: "pendingOwner",
3695
+ inputs: [],
3696
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3697
+ stateMutability: "view"
3698
+ },
3699
+ {
3700
+ type: "function",
3701
+ name: "registerEthToken",
3702
+ inputs: [],
3703
+ outputs: [],
3704
+ stateMutability: "nonpayable"
3705
+ },
3706
+ {
3707
+ type: "function",
3708
+ name: "registerToken",
3709
+ inputs: [{ name: "_nativeToken", type: "address", internalType: "address" }],
3710
+ outputs: [],
3711
+ stateMutability: "nonpayable"
3712
+ },
3713
+ {
3714
+ type: "function",
3715
+ name: "renounceOwnership",
3716
+ inputs: [],
3717
+ outputs: [],
3718
+ stateMutability: "nonpayable"
3719
+ },
3720
+ {
3721
+ type: "function",
3722
+ name: "setAssetTracker",
3723
+ inputs: [{ name: "_l1AssetTracker", type: "address", internalType: "address" }],
3724
+ outputs: [],
3725
+ stateMutability: "nonpayable"
3726
+ },
3727
+ {
3728
+ type: "function",
3729
+ name: "tokenAddress",
3730
+ inputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }],
3731
+ outputs: [{ name: "tokenAddress", type: "address", internalType: "address" }],
3732
+ stateMutability: "view"
3733
+ },
3734
+ {
3735
+ type: "function",
3736
+ name: "tokenDataOriginChainId",
3737
+ inputs: [{ name: "_erc20Data", type: "bytes", internalType: "bytes" }],
3738
+ outputs: [{ name: "tokenOriginChainId", type: "uint256", internalType: "uint256" }],
3739
+ stateMutability: "view"
3740
+ },
3741
+ {
3742
+ type: "function",
3743
+ name: "transferOwnership",
3744
+ inputs: [{ name: "newOwner", type: "address", internalType: "address" }],
3745
+ outputs: [],
3746
+ stateMutability: "nonpayable"
3747
+ },
3748
+ {
3749
+ type: "function",
3750
+ name: "tryRegisterTokenFromBurnData",
3751
+ inputs: [
3752
+ { name: "_burnData", type: "bytes", internalType: "bytes" },
3753
+ { name: "_expectedAssetId", type: "bytes32", internalType: "bytes32" }
3754
+ ],
3755
+ outputs: [],
3756
+ stateMutability: "nonpayable"
3757
+ },
3758
+ {
3759
+ type: "function",
3760
+ name: "unpause",
3761
+ inputs: [],
3762
+ outputs: [],
3763
+ stateMutability: "nonpayable"
3764
+ },
3765
+ {
3766
+ type: "event",
3767
+ name: "BridgeBurn",
3768
+ inputs: [
3769
+ { name: "chainId", type: "uint256", indexed: true, internalType: "uint256" },
3770
+ { name: "assetId", type: "bytes32", indexed: true, internalType: "bytes32" },
3771
+ { name: "sender", type: "address", indexed: true, internalType: "address" },
3772
+ { name: "receiver", type: "address", indexed: false, internalType: "address" },
3773
+ { name: "amount", type: "uint256", indexed: false, internalType: "uint256" }
3774
+ ],
3775
+ anonymous: false
3776
+ },
3777
+ {
3778
+ type: "event",
3779
+ name: "BridgeMint",
3780
+ inputs: [
3781
+ { name: "chainId", type: "uint256", indexed: true, internalType: "uint256" },
3782
+ { name: "assetId", type: "bytes32", indexed: true, internalType: "bytes32" },
3783
+ { name: "receiver", type: "address", indexed: false, internalType: "address" },
3784
+ { name: "amount", type: "uint256", indexed: false, internalType: "uint256" }
3785
+ ],
3786
+ anonymous: false
3787
+ },
3788
+ {
3789
+ type: "event",
3790
+ name: "BridgedTokenBeaconUpdated",
3791
+ inputs: [
3792
+ {
3793
+ name: "bridgedTokenBeacon",
3794
+ type: "address",
3795
+ indexed: false,
3796
+ internalType: "address"
3797
+ },
3798
+ {
3799
+ name: "bridgedTokenProxyBytecodeHash",
3800
+ type: "bytes32",
3801
+ indexed: false,
3802
+ internalType: "bytes32"
3803
+ }
3804
+ ],
3805
+ anonymous: false
3806
+ },
3807
+ {
3808
+ type: "event",
3809
+ name: "Initialized",
3810
+ inputs: [{ name: "version", type: "uint8", indexed: false, internalType: "uint8" }],
3811
+ anonymous: false
3812
+ },
3813
+ {
3814
+ type: "event",
3815
+ name: "OwnershipTransferStarted",
3816
+ inputs: [
3817
+ { name: "previousOwner", type: "address", indexed: true, internalType: "address" },
3818
+ { name: "newOwner", type: "address", indexed: true, internalType: "address" }
3819
+ ],
3820
+ anonymous: false
3821
+ },
3822
+ {
3823
+ type: "event",
3824
+ name: "OwnershipTransferred",
3825
+ inputs: [
3826
+ { name: "previousOwner", type: "address", indexed: true, internalType: "address" },
3827
+ { name: "newOwner", type: "address", indexed: true, internalType: "address" }
3828
+ ],
3829
+ anonymous: false
3830
+ },
3831
+ {
3832
+ type: "event",
3833
+ name: "Paused",
3834
+ inputs: [{ name: "account", type: "address", indexed: false, internalType: "address" }],
3835
+ anonymous: false
3836
+ },
3837
+ {
3838
+ type: "event",
3839
+ name: "TokenBeaconUpdated",
3840
+ inputs: [{ name: "l2TokenBeacon", type: "address", indexed: true, internalType: "address" }],
3841
+ anonymous: false
3842
+ },
3843
+ {
3844
+ type: "event",
3845
+ name: "Unpaused",
3846
+ inputs: [{ name: "account", type: "address", indexed: false, internalType: "address" }],
3847
+ anonymous: false
3848
+ },
3849
+ {
3850
+ type: "error",
3851
+ name: "AddressMismatch",
3852
+ inputs: [
3853
+ { name: "expected", type: "address", internalType: "address" },
3854
+ { name: "supplied", type: "address", internalType: "address" }
3855
+ ]
3856
+ },
3857
+ { type: "error", name: "AmountMustBeGreaterThanZero", inputs: [] },
3858
+ { type: "error", name: "AssetIdAlreadyRegistered", inputs: [] },
3859
+ {
3860
+ type: "error",
3861
+ name: "AssetIdMismatch",
3862
+ inputs: [
3863
+ { name: "expected", type: "bytes32", internalType: "bytes32" },
3864
+ { name: "supplied", type: "bytes32", internalType: "bytes32" }
3865
+ ]
3866
+ },
3867
+ { type: "error", name: "BurningNativeWETHNotSupported", inputs: [] },
3868
+ { type: "error", name: "ClaimFailedDepositFailed", inputs: [] },
3869
+ { type: "error", name: "DeployingBridgedTokenForNativeToken", inputs: [] },
3870
+ { type: "error", name: "EmptyDeposit", inputs: [] },
3871
+ { type: "error", name: "EmptyToken", inputs: [] },
3872
+ { type: "error", name: "InvalidNTVBurnData", inputs: [] },
3873
+ { type: "error", name: "NoFundsTransferred", inputs: [] },
3874
+ { type: "error", name: "NonEmptyMsgValue", inputs: [] },
3875
+ { type: "error", name: "OriginChainIdNotFound", inputs: [] },
3876
+ { type: "error", name: "TokenNotLegacy", inputs: [] },
3877
+ {
3878
+ type: "error",
3879
+ name: "TokenNotSupported",
3880
+ inputs: [{ name: "token", type: "address", internalType: "address" }]
3881
+ },
3882
+ { type: "error", name: "TokensWithFeesNotSupported", inputs: [] },
3883
+ {
3884
+ type: "error",
3885
+ name: "Unauthorized",
3886
+ inputs: [{ name: "caller", type: "address", internalType: "address" }]
3887
+ },
3888
+ { type: "error", name: "UnsupportedEncodingVersion", inputs: [] },
3889
+ {
3890
+ type: "error",
3891
+ name: "ValueMismatch",
3892
+ inputs: [
3893
+ { name: "expected", type: "uint256", internalType: "uint256" },
3894
+ { name: "actual", type: "uint256", internalType: "uint256" }
3895
+ ]
3896
+ },
3897
+ { type: "error", name: "WithdrawFailed", inputs: [] },
3898
+ { type: "error", name: "WrongCounterpart", inputs: [] },
3899
+ { type: "error", name: "ZeroAddress", inputs: [] }
3900
+ ];
3901
+ var L1NativeTokenVault_default = L1NativeTokenVaultABI;
3902
+
3903
+ // src/core/internal/abis/L2NativeTokenVault.ts
3904
+ var L2NativeTokenVaultABI = [
3905
+ {
3906
+ type: "constructor",
3907
+ inputs: [
3908
+ { name: "_l1ChainId", type: "uint256", internalType: "uint256" },
3909
+ { name: "_aliasedOwner", type: "address", internalType: "address" },
3910
+ { name: "_l2TokenProxyBytecodeHash", type: "bytes32", internalType: "bytes32" },
3911
+ { name: "_legacySharedBridge", type: "address", internalType: "address" },
3912
+ { name: "_bridgedTokenBeacon", type: "address", internalType: "address" },
3913
+ { name: "_contractsDeployedAlready", type: "bool", internalType: "bool" },
3914
+ { name: "_wethToken", type: "address", internalType: "address" },
3915
+ { name: "_baseTokenAssetId", type: "bytes32", internalType: "bytes32" }
3916
+ ],
3917
+ stateMutability: "nonpayable"
3918
+ },
3919
+ {
3920
+ type: "function",
3921
+ name: "ASSET_ROUTER",
3922
+ inputs: [],
3923
+ outputs: [{ name: "", type: "address", internalType: "contract IAssetRouterBase" }],
3924
+ stateMutability: "view"
3925
+ },
3926
+ {
3927
+ type: "function",
3928
+ name: "BASE_TOKEN_ASSET_ID",
3929
+ inputs: [],
3930
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
3931
+ stateMutability: "view"
3932
+ },
3933
+ {
3934
+ type: "function",
3935
+ name: "L1_CHAIN_ID",
3936
+ inputs: [],
3937
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3938
+ stateMutability: "view"
3939
+ },
3940
+ {
3941
+ type: "function",
3942
+ name: "L2_LEGACY_SHARED_BRIDGE",
3943
+ inputs: [],
3944
+ outputs: [{ name: "", type: "address", internalType: "contract IL2SharedBridgeLegacy" }],
3945
+ stateMutability: "view"
3946
+ },
3947
+ {
3948
+ type: "function",
3949
+ name: "L2_TOKEN_PROXY_BYTECODE_HASH",
3950
+ inputs: [],
3951
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
3952
+ stateMutability: "view"
3953
+ },
3954
+ {
3955
+ type: "function",
3956
+ name: "WETH_TOKEN",
3957
+ inputs: [],
3958
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3959
+ stateMutability: "view"
3960
+ },
3961
+ {
3962
+ type: "function",
3963
+ name: "acceptOwnership",
3964
+ inputs: [],
3965
+ outputs: [],
3966
+ stateMutability: "nonpayable"
3967
+ },
3968
+ {
3969
+ type: "function",
3970
+ name: "addLegacyTokenToBridgedTokensList",
3971
+ inputs: [{ name: "_token", type: "address", internalType: "address" }],
3972
+ outputs: [],
3973
+ stateMutability: "nonpayable"
3974
+ },
3975
+ {
3976
+ type: "function",
3977
+ name: "assetId",
3978
+ inputs: [{ name: "tokenAddress", type: "address", internalType: "address" }],
3979
+ outputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }],
3980
+ stateMutability: "view"
3981
+ },
3982
+ {
3983
+ type: "function",
3984
+ name: "bridgeBurn",
3985
+ inputs: [
3986
+ { name: "_chainId", type: "uint256", internalType: "uint256" },
3987
+ { name: "_l2MsgValue", type: "uint256", internalType: "uint256" },
3988
+ { name: "_assetId", type: "bytes32", internalType: "bytes32" },
3989
+ { name: "_originalCaller", type: "address", internalType: "address" },
3990
+ { name: "_data", type: "bytes", internalType: "bytes" }
3991
+ ],
3992
+ outputs: [{ name: "_bridgeMintData", type: "bytes", internalType: "bytes" }],
3993
+ stateMutability: "payable"
3994
+ },
3995
+ {
3996
+ type: "function",
3997
+ name: "bridgeMint",
3998
+ inputs: [
3999
+ { name: "_chainId", type: "uint256", internalType: "uint256" },
4000
+ { name: "_assetId", type: "bytes32", internalType: "bytes32" },
4001
+ { name: "_data", type: "bytes", internalType: "bytes" }
4002
+ ],
4003
+ outputs: [],
4004
+ stateMutability: "payable"
4005
+ },
4006
+ {
4007
+ type: "function",
4008
+ name: "bridgedTokenBeacon",
4009
+ inputs: [],
4010
+ outputs: [{ name: "", type: "address", internalType: "contract IBeacon" }],
4011
+ stateMutability: "view"
4012
+ },
4013
+ {
4014
+ type: "function",
4015
+ name: "bridgedTokens",
4016
+ inputs: [{ name: "count", type: "uint256", internalType: "uint256" }],
4017
+ outputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }],
4018
+ stateMutability: "view"
4019
+ },
4020
+ {
4021
+ type: "function",
4022
+ name: "bridgedTokensCount",
4023
+ inputs: [],
4024
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
4025
+ stateMutability: "view"
4026
+ },
4027
+ {
4028
+ type: "function",
4029
+ name: "calculateCreate2TokenAddress",
4030
+ inputs: [
4031
+ { name: "_tokenOriginChainId", type: "uint256", internalType: "uint256" },
4032
+ { name: "_nonNativeToken", type: "address", internalType: "address" }
4033
+ ],
4034
+ outputs: [{ name: "", type: "address", internalType: "address" }],
4035
+ stateMutability: "view"
4036
+ },
4037
+ {
4038
+ type: "function",
4039
+ name: "ensureTokenIsRegistered",
4040
+ inputs: [{ name: "_nativeToken", type: "address", internalType: "address" }],
4041
+ outputs: [{ name: "tokenAssetId", type: "bytes32", internalType: "bytes32" }],
4042
+ stateMutability: "nonpayable"
4043
+ },
4044
+ {
4045
+ type: "function",
4046
+ name: "getERC20Getters",
4047
+ inputs: [
4048
+ { name: "_token", type: "address", internalType: "address" },
4049
+ { name: "_originChainId", type: "uint256", internalType: "uint256" }
4050
+ ],
4051
+ outputs: [{ name: "", type: "bytes", internalType: "bytes" }],
4052
+ stateMutability: "view"
4053
+ },
4054
+ {
4055
+ type: "function",
4056
+ name: "l2TokenAddress",
4057
+ inputs: [{ name: "_l1Token", type: "address", internalType: "address" }],
4058
+ outputs: [{ name: "expectedToken", type: "address", internalType: "address" }],
4059
+ stateMutability: "view"
4060
+ },
4061
+ {
4062
+ type: "function",
4063
+ name: "originChainId",
4064
+ inputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }],
4065
+ outputs: [{ name: "originChainId", type: "uint256", internalType: "uint256" }],
4066
+ stateMutability: "view"
4067
+ },
4068
+ {
4069
+ type: "function",
4070
+ name: "owner",
4071
+ inputs: [],
4072
+ outputs: [{ name: "", type: "address", internalType: "address" }],
4073
+ stateMutability: "view"
4074
+ },
4075
+ {
4076
+ type: "function",
4077
+ name: "pause",
4078
+ inputs: [],
4079
+ outputs: [],
4080
+ stateMutability: "nonpayable"
4081
+ },
4082
+ {
4083
+ type: "function",
4084
+ name: "paused",
4085
+ inputs: [],
4086
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
4087
+ stateMutability: "view"
4088
+ },
4089
+ {
4090
+ type: "function",
4091
+ name: "pendingOwner",
4092
+ inputs: [],
4093
+ outputs: [{ name: "", type: "address", internalType: "address" }],
4094
+ stateMutability: "view"
4095
+ },
4096
+ {
4097
+ type: "function",
4098
+ name: "registerToken",
4099
+ inputs: [{ name: "_nativeToken", type: "address", internalType: "address" }],
4100
+ outputs: [],
4101
+ stateMutability: "nonpayable"
4102
+ },
4103
+ {
4104
+ type: "function",
4105
+ name: "renounceOwnership",
4106
+ inputs: [],
4107
+ outputs: [],
4108
+ stateMutability: "nonpayable"
4109
+ },
4110
+ {
4111
+ type: "function",
4112
+ name: "setLegacyTokenAssetId",
4113
+ inputs: [{ name: "_l2TokenAddress", type: "address", internalType: "address" }],
4114
+ outputs: [],
4115
+ stateMutability: "nonpayable"
4116
+ },
4117
+ {
4118
+ type: "function",
4119
+ name: "tokenAddress",
4120
+ inputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }],
4121
+ outputs: [{ name: "tokenAddress", type: "address", internalType: "address" }],
4122
+ stateMutability: "view"
4123
+ },
4124
+ {
4125
+ type: "function",
4126
+ name: "tokenDataOriginChainId",
4127
+ inputs: [{ name: "_erc20Data", type: "bytes", internalType: "bytes" }],
4128
+ outputs: [{ name: "tokenOriginChainId", type: "uint256", internalType: "uint256" }],
4129
+ stateMutability: "view"
4130
+ },
4131
+ {
4132
+ type: "function",
4133
+ name: "transferOwnership",
4134
+ inputs: [{ name: "newOwner", type: "address", internalType: "address" }],
4135
+ outputs: [],
4136
+ stateMutability: "nonpayable"
4137
+ },
4138
+ {
4139
+ type: "function",
4140
+ name: "tryRegisterTokenFromBurnData",
4141
+ inputs: [
4142
+ { name: "_burnData", type: "bytes", internalType: "bytes" },
4143
+ { name: "_expectedAssetId", type: "bytes32", internalType: "bytes32" }
4144
+ ],
4145
+ outputs: [],
4146
+ stateMutability: "nonpayable"
4147
+ },
4148
+ {
4149
+ type: "function",
4150
+ name: "unpause",
4151
+ inputs: [],
4152
+ outputs: [],
4153
+ stateMutability: "nonpayable"
4154
+ },
4155
+ {
4156
+ type: "event",
4157
+ name: "BridgeBurn",
4158
+ inputs: [
4159
+ { name: "chainId", type: "uint256", indexed: true, internalType: "uint256" },
4160
+ { name: "assetId", type: "bytes32", indexed: true, internalType: "bytes32" },
4161
+ { name: "sender", type: "address", indexed: true, internalType: "address" },
4162
+ { name: "receiver", type: "address", indexed: false, internalType: "address" },
4163
+ { name: "amount", type: "uint256", indexed: false, internalType: "uint256" }
4164
+ ],
4165
+ anonymous: false
4166
+ },
4167
+ {
4168
+ type: "event",
4169
+ name: "BridgeMint",
4170
+ inputs: [
4171
+ { name: "chainId", type: "uint256", indexed: true, internalType: "uint256" },
4172
+ { name: "assetId", type: "bytes32", indexed: true, internalType: "bytes32" },
4173
+ { name: "receiver", type: "address", indexed: false, internalType: "address" },
4174
+ { name: "amount", type: "uint256", indexed: false, internalType: "uint256" }
4175
+ ],
4176
+ anonymous: false
4177
+ },
4178
+ {
4179
+ type: "event",
4180
+ name: "BridgedTokenBeaconUpdated",
4181
+ inputs: [
4182
+ {
4183
+ name: "bridgedTokenBeacon",
4184
+ type: "address",
4185
+ indexed: false,
4186
+ internalType: "address"
4187
+ },
4188
+ {
4189
+ name: "bridgedTokenProxyBytecodeHash",
4190
+ type: "bytes32",
4191
+ indexed: false,
4192
+ internalType: "bytes32"
4193
+ }
4194
+ ],
4195
+ anonymous: false
4196
+ },
4197
+ {
4198
+ type: "event",
4199
+ name: "FinalizeDeposit",
4200
+ inputs: [
4201
+ { name: "l1Sender", type: "address", indexed: true, internalType: "address" },
4202
+ { name: "l2Receiver", type: "address", indexed: true, internalType: "address" },
4203
+ { name: "l2Token", type: "address", indexed: true, internalType: "address" },
4204
+ { name: "amount", type: "uint256", indexed: false, internalType: "uint256" }
4205
+ ],
4206
+ anonymous: false
4207
+ },
4208
+ {
4209
+ type: "event",
4210
+ name: "Initialized",
4211
+ inputs: [{ name: "version", type: "uint8", indexed: false, internalType: "uint8" }],
4212
+ anonymous: false
4213
+ },
4214
+ {
4215
+ type: "event",
4216
+ name: "L2TokenBeaconUpdated",
4217
+ inputs: [
4218
+ { name: "l2TokenBeacon", type: "address", indexed: true, internalType: "address" },
4219
+ {
4220
+ name: "l2TokenProxyBytecodeHash",
4221
+ type: "bytes32",
4222
+ indexed: true,
4223
+ internalType: "bytes32"
4224
+ }
4225
+ ],
4226
+ anonymous: false
4227
+ },
4228
+ {
4229
+ type: "event",
4230
+ name: "OwnershipTransferStarted",
4231
+ inputs: [
4232
+ { name: "previousOwner", type: "address", indexed: true, internalType: "address" },
4233
+ { name: "newOwner", type: "address", indexed: true, internalType: "address" }
4234
+ ],
4235
+ anonymous: false
4236
+ },
4237
+ {
4238
+ type: "event",
4239
+ name: "OwnershipTransferred",
4240
+ inputs: [
4241
+ { name: "previousOwner", type: "address", indexed: true, internalType: "address" },
4242
+ { name: "newOwner", type: "address", indexed: true, internalType: "address" }
4243
+ ],
4244
+ anonymous: false
4245
+ },
4246
+ {
4247
+ type: "event",
4248
+ name: "Paused",
4249
+ inputs: [{ name: "account", type: "address", indexed: false, internalType: "address" }],
4250
+ anonymous: false
4251
+ },
4252
+ {
4253
+ type: "event",
4254
+ name: "Unpaused",
4255
+ inputs: [{ name: "account", type: "address", indexed: false, internalType: "address" }],
4256
+ anonymous: false
4257
+ },
4258
+ {
4259
+ type: "event",
4260
+ name: "WithdrawalInitiated",
4261
+ inputs: [
4262
+ { name: "l2Sender", type: "address", indexed: true, internalType: "address" },
4263
+ { name: "l1Receiver", type: "address", indexed: true, internalType: "address" },
4264
+ { name: "l2Token", type: "address", indexed: true, internalType: "address" },
4265
+ { name: "amount", type: "uint256", indexed: false, internalType: "uint256" }
4266
+ ],
4267
+ anonymous: false
4268
+ },
4269
+ {
4270
+ type: "error",
4271
+ name: "AddressMismatch",
4272
+ inputs: [
4273
+ { name: "expected", type: "address", internalType: "address" },
4274
+ { name: "supplied", type: "address", internalType: "address" }
4275
+ ]
4276
+ },
4277
+ { type: "error", name: "AmountMustBeGreaterThanZero", inputs: [] },
4278
+ { type: "error", name: "AssetIdAlreadyRegistered", inputs: [] },
4279
+ {
4280
+ type: "error",
4281
+ name: "AssetIdMismatch",
4282
+ inputs: [
4283
+ { name: "expected", type: "bytes32", internalType: "bytes32" },
4284
+ { name: "supplied", type: "bytes32", internalType: "bytes32" }
4285
+ ]
4286
+ },
4287
+ {
4288
+ type: "error",
4289
+ name: "AssetIdNotSupported",
4290
+ inputs: [{ name: "assetId", type: "bytes32", internalType: "bytes32" }]
4291
+ },
4292
+ { type: "error", name: "BurningNativeWETHNotSupported", inputs: [] },
4293
+ { type: "error", name: "DeployFailed", inputs: [] },
4294
+ { type: "error", name: "DeployingBridgedTokenForNativeToken", inputs: [] },
4295
+ { type: "error", name: "EmptyAddress", inputs: [] },
4296
+ { type: "error", name: "EmptyBytes32", inputs: [] },
4297
+ { type: "error", name: "EmptyDeposit", inputs: [] },
4298
+ { type: "error", name: "EmptyToken", inputs: [] },
4299
+ { type: "error", name: "InvalidNTVBurnData", inputs: [] },
4300
+ { type: "error", name: "NoLegacySharedBridge", inputs: [] },
4301
+ { type: "error", name: "NonEmptyMsgValue", inputs: [] },
4302
+ { type: "error", name: "TokenIsLegacy", inputs: [] },
4303
+ { type: "error", name: "TokenNotLegacy", inputs: [] },
4304
+ {
4305
+ type: "error",
4306
+ name: "TokenNotSupported",
4307
+ inputs: [{ name: "token", type: "address", internalType: "address" }]
4308
+ },
4309
+ { type: "error", name: "TokensWithFeesNotSupported", inputs: [] },
4310
+ { type: "error", name: "U32CastOverflow", inputs: [] },
4311
+ {
4312
+ type: "error",
4313
+ name: "Unauthorized",
4314
+ inputs: [{ name: "caller", type: "address", internalType: "address" }]
4315
+ },
4316
+ { type: "error", name: "UnsupportedEncodingVersion", inputs: [] },
4317
+ {
4318
+ type: "error",
4319
+ name: "ValueMismatch",
4320
+ inputs: [
4321
+ { name: "expected", type: "uint256", internalType: "uint256" },
4322
+ { name: "actual", type: "uint256", internalType: "uint256" }
4323
+ ]
4324
+ },
4325
+ { type: "error", name: "ZeroAddress", inputs: [] }
4326
+ ];
4327
+ var L2NativeTokenVault_default = L2NativeTokenVaultABI;
4328
+
4329
+ // src/core/internal/abis/IBaseToken.ts
4330
+ var IBaseTokenABI = [
4331
+ {
4332
+ type: "function",
4333
+ name: "balanceOf",
4334
+ inputs: [{ name: "", type: "uint256", internalType: "uint256" }],
4335
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
4336
+ stateMutability: "view"
4337
+ },
4338
+ {
4339
+ type: "function",
4340
+ name: "mint",
4341
+ inputs: [
4342
+ { name: "_account", type: "address", internalType: "address" },
4343
+ { name: "_amount", type: "uint256", internalType: "uint256" }
4344
+ ],
4345
+ outputs: [],
4346
+ stateMutability: "nonpayable"
4347
+ },
4348
+ {
4349
+ type: "function",
4350
+ name: "totalSupply",
4351
+ inputs: [],
4352
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
4353
+ stateMutability: "view"
4354
+ },
4355
+ {
4356
+ type: "function",
4357
+ name: "transferFromTo",
4358
+ inputs: [
4359
+ { name: "_from", type: "address", internalType: "address" },
4360
+ { name: "_to", type: "address", internalType: "address" },
4361
+ { name: "_amount", type: "uint256", internalType: "uint256" }
4362
+ ],
4363
+ outputs: [],
4364
+ stateMutability: "nonpayable"
4365
+ },
4366
+ {
4367
+ type: "function",
4368
+ name: "withdraw",
4369
+ inputs: [{ name: "_l1Receiver", type: "address", internalType: "address" }],
4370
+ outputs: [],
4371
+ stateMutability: "payable"
4372
+ },
4373
+ {
4374
+ type: "function",
4375
+ name: "withdrawWithMessage",
4376
+ inputs: [
4377
+ { name: "_l1Receiver", type: "address", internalType: "address" },
4378
+ { name: "_additionalData", type: "bytes", internalType: "bytes" }
4379
+ ],
4380
+ outputs: [],
4381
+ stateMutability: "payable"
4382
+ },
4383
+ {
4384
+ type: "event",
4385
+ name: "Mint",
4386
+ inputs: [
4387
+ { name: "account", type: "address", indexed: true, internalType: "address" },
4388
+ { name: "amount", type: "uint256", indexed: false, internalType: "uint256" }
4389
+ ],
4390
+ anonymous: false
4391
+ },
4392
+ {
4393
+ type: "event",
4394
+ name: "Transfer",
4395
+ inputs: [
4396
+ { name: "from", type: "address", indexed: true, internalType: "address" },
4397
+ { name: "to", type: "address", indexed: true, internalType: "address" },
4398
+ { name: "value", type: "uint256", indexed: false, internalType: "uint256" }
4399
+ ],
4400
+ anonymous: false
4401
+ },
4402
+ {
4403
+ type: "event",
4404
+ name: "Withdrawal",
4405
+ inputs: [
4406
+ { name: "_l2Sender", type: "address", indexed: true, internalType: "address" },
4407
+ { name: "_l1Receiver", type: "address", indexed: true, internalType: "address" },
4408
+ { name: "_amount", type: "uint256", indexed: false, internalType: "uint256" }
4409
+ ],
4410
+ anonymous: false
4411
+ },
4412
+ {
4413
+ type: "event",
4414
+ name: "WithdrawalWithMessage",
4415
+ inputs: [
4416
+ { name: "_l2Sender", type: "address", indexed: true, internalType: "address" },
4417
+ { name: "_l1Receiver", type: "address", indexed: true, internalType: "address" },
4418
+ { name: "_amount", type: "uint256", indexed: false, internalType: "uint256" },
4419
+ { name: "_additionalData", type: "bytes", indexed: false, internalType: "bytes" }
4420
+ ],
4421
+ anonymous: false
4422
+ }
4423
+ ];
4424
+ var IBaseToken_default = IBaseTokenABI;
4425
+
4426
+ // src/adapters/ethers/client.ts
4427
+ function createEthersClient(args) {
4428
+ const { l1, l2, signer } = args;
4429
+ let boundSigner = signer;
4430
+ const signerProvider = signer.provider;
4431
+ const isBrowserProvider = signerProvider instanceof ethers.BrowserProvider;
4432
+ if (!isBrowserProvider && (!boundSigner.provider || boundSigner.provider !== l1)) {
4433
+ boundSigner = signer.connect(l1);
4434
+ } else if (isBrowserProvider && signerProvider) {
4435
+ void (async () => {
4436
+ try {
4437
+ const [signerNet, l1Net] = await Promise.all([
4438
+ signerProvider.getNetwork(),
4439
+ l1.getNetwork()
4440
+ ]);
4441
+ if (signerNet.chainId !== l1Net.chainId) {
4442
+ const warning = createError("STATE", {
4443
+ message: `BrowserProvider signer chainId (${signerNet.chainId}) != L1 provider chainId (${l1Net.chainId}). Ensure the wallet is connected to the correct network.`,
4444
+ resource: "helpers",
4445
+ operation: "client.browserProvider.networkMismatch",
4446
+ context: {
4447
+ signerChainId: signerNet.chainId,
4448
+ l1ChainId: l1Net.chainId
4449
+ }
4450
+ });
4451
+ console.debug("[zksync-sdk] non-fatal warning:", warning);
4452
+ }
4453
+ } catch (e) {
4454
+ }
4455
+ })();
4456
+ }
4457
+ const zks = zksRpcFromEthers(l2);
4458
+ let addrCache;
4459
+ let cCache;
4460
+ async function ensureAddresses() {
4461
+ if (addrCache) return addrCache;
4462
+ const bridgehub = args.overrides?.bridgehub ?? await zks.getBridgehubAddress();
4463
+ const IBridgehub = new ethers.Interface(IBridgehub_default);
4464
+ const bh = new ethers.Contract(bridgehub, IBridgehub, l1);
4465
+ const l1AssetRouter = args.overrides?.l1AssetRouter ?? await bh.assetRouter();
4466
+ const IL1AssetRouter = new ethers.Interface(IL1AssetRouter_default);
4467
+ const ar = new ethers.Contract(l1AssetRouter, IL1AssetRouter, l1);
4468
+ const l1Nullifier = args.overrides?.l1Nullifier ?? await ar.L1_NULLIFIER();
4469
+ const IL1Nullifier = new ethers.Interface(IL1Nullifier_default);
4470
+ const nf = new ethers.Contract(l1Nullifier, IL1Nullifier, l1);
4471
+ const l1NativeTokenVault = args.overrides?.l1NativeTokenVault ?? await nf.l1NativeTokenVault();
4472
+ const l2AssetRouter = args.overrides?.l2AssetRouter ?? L2_ASSET_ROUTER_ADDRESS;
4473
+ const l2NativeTokenVault = args.overrides?.l2NativeTokenVault ?? L2_NATIVE_TOKEN_VAULT_ADDRESS;
4474
+ const l2BaseTokenSystem = args.overrides?.l2BaseTokenSystem ?? L2_BASE_TOKEN_ADDRESS;
4475
+ addrCache = {
4476
+ bridgehub,
4477
+ l1AssetRouter,
4478
+ l1Nullifier,
4479
+ l1NativeTokenVault,
4480
+ l2AssetRouter,
4481
+ l2NativeTokenVault,
4482
+ l2BaseTokenSystem
4483
+ };
4484
+ return addrCache;
4485
+ }
4486
+ async function contracts() {
4487
+ if (cCache) return cCache;
4488
+ const a = await ensureAddresses();
4489
+ cCache = {
4490
+ bridgehub: new ethers.Contract(a.bridgehub, IBridgehub_default, l1),
4491
+ l1AssetRouter: new ethers.Contract(a.l1AssetRouter, IL1AssetRouter_default, l1),
4492
+ l1Nullifier: new ethers.Contract(a.l1Nullifier, IL1Nullifier_default, l1),
4493
+ l1NativeTokenVault: new ethers.Contract(a.l1NativeTokenVault, L1NativeTokenVault_default, l1),
4494
+ l2AssetRouter: new ethers.Contract(a.l2AssetRouter, IL2AssetRouter_default, l2),
4495
+ l2NativeTokenVault: new ethers.Contract(a.l2NativeTokenVault, L2NativeTokenVault_default, l2),
4496
+ l2BaseTokenSystem: new ethers.Contract(a.l2BaseTokenSystem, IBaseToken_default, l2)
4497
+ };
4498
+ return cCache;
4499
+ }
4500
+ function refresh() {
4501
+ addrCache = void 0;
4502
+ cCache = void 0;
4503
+ }
4504
+ function resolveSignerFor(provider) {
4505
+ const signerProvider2 = boundSigner.provider;
4506
+ if (signerProvider2 === provider) {
4507
+ return boundSigner;
4508
+ }
4509
+ if (!isBrowserProvider && typeof boundSigner.connect === "function") {
4510
+ return boundSigner.connect(provider);
4511
+ }
4512
+ if (!signerProvider2) {
4513
+ throw createError("STATE", {
4514
+ resource: "helpers",
4515
+ message: "Signer has no associated provider; cannot resolve requested signer.",
4516
+ operation: "client.resolveSignerFor"
4517
+ });
4518
+ }
4519
+ return boundSigner;
4520
+ }
4521
+ async function baseToken(chainId) {
4522
+ const { bridgehub } = await ensureAddresses();
4523
+ const bh = new ethers.Contract(bridgehub, IBridgehub_default, l1);
4524
+ return await bh.baseToken(chainId);
4525
+ }
4526
+ const client = {
4527
+ kind: "ethers",
4528
+ l1,
4529
+ l2,
4530
+ signer: boundSigner,
4531
+ getL1Signer() {
4532
+ return resolveSignerFor(l1);
4533
+ },
4534
+ getL2Signer() {
4535
+ return resolveSignerFor(l2);
4536
+ },
4537
+ zks,
4538
+ ensureAddresses,
4539
+ contracts,
4540
+ refresh,
4541
+ baseToken
4542
+ };
4543
+ return client;
4544
+ }
4545
+
4546
+ exports.createEthersClient = createEthersClient;
4547
+ //# sourceMappingURL=client.cjs.map
4548
+ //# sourceMappingURL=client.cjs.map