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