@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.
- package/LICENSE +21 -0
- package/README.md +124 -0
- package/dist/adapters/ethers/client.cjs +4548 -0
- package/dist/adapters/ethers/client.cjs.map +1 -0
- package/dist/adapters/ethers/client.d.ts +61 -0
- package/dist/adapters/ethers/client.js +5 -0
- package/dist/adapters/ethers/errors/error-ops.d.ts +20 -0
- package/dist/adapters/ethers/errors/revert.d.ts +28 -0
- package/dist/adapters/ethers/index.cjs +7537 -0
- package/dist/adapters/ethers/index.cjs.map +1 -0
- package/dist/adapters/ethers/index.d.ts +12 -0
- package/dist/adapters/ethers/index.js +8 -0
- package/dist/adapters/ethers/resources/deposits/context.d.ts +27 -0
- package/dist/adapters/ethers/resources/deposits/index.d.ts +46 -0
- package/dist/adapters/ethers/resources/deposits/routes/erc20-base.d.ts +2 -0
- package/dist/adapters/ethers/resources/deposits/routes/erc20-nonbase.d.ts +2 -0
- package/dist/adapters/ethers/resources/deposits/routes/eth-nonbase.d.ts +2 -0
- package/dist/adapters/ethers/resources/deposits/routes/eth.d.ts +2 -0
- package/dist/adapters/ethers/resources/deposits/routes/types.d.ts +10 -0
- package/dist/adapters/ethers/resources/deposits/services/verification.d.ts +9 -0
- package/dist/adapters/ethers/resources/token-info.d.ts +31 -0
- package/dist/adapters/ethers/resources/utils.d.ts +39 -0
- package/dist/adapters/ethers/resources/withdrawals/context.d.ts +19 -0
- package/dist/adapters/ethers/resources/withdrawals/index.d.ts +56 -0
- package/dist/adapters/ethers/resources/withdrawals/routes/erc20-nonbase.d.ts +2 -0
- package/dist/adapters/ethers/resources/withdrawals/routes/eth-nonbase.d.ts +2 -0
- package/dist/adapters/ethers/resources/withdrawals/routes/eth.d.ts +2 -0
- package/dist/adapters/ethers/resources/withdrawals/routes/types.d.ts +18 -0
- package/dist/adapters/ethers/resources/withdrawals/services/finalization.d.ts +33 -0
- package/dist/adapters/ethers/rpc.d.ts +4 -0
- package/dist/adapters/ethers/sdk.cjs +6245 -0
- package/dist/adapters/ethers/sdk.cjs.map +1 -0
- package/dist/adapters/ethers/sdk.d.ts +29 -0
- package/dist/adapters/ethers/sdk.js +6 -0
- package/dist/adapters/ethers/typechain/IAssetRouterBase.d.ts +198 -0
- package/dist/adapters/ethers/typechain/IBridgehub.d.ts +731 -0
- package/dist/adapters/ethers/typechain/IERC20.d.ts +108 -0
- package/dist/adapters/ethers/typechain/IL1AssetRouter.d.ts +570 -0
- package/dist/adapters/ethers/typechain/IL1NativeTokenVault.d.ts +154 -0
- package/dist/adapters/ethers/typechain/IL1Nullifier.d.ts +305 -0
- package/dist/adapters/ethers/typechain/IL2AssetRouter.d.ts +288 -0
- package/dist/adapters/ethers/typechain/IL2NativeTokenVault.d.ts +380 -0
- package/dist/adapters/ethers/typechain/common.d.ts +46 -0
- package/dist/adapters/ethers/typechain/factories/IAssetRouterBase__factory.d.ts +203 -0
- package/dist/adapters/ethers/typechain/factories/IBridgehub__factory.d.ts +998 -0
- package/dist/adapters/ethers/typechain/factories/IERC20__factory.d.ts +177 -0
- package/dist/adapters/ethers/typechain/factories/IL1AssetRouter__factory.d.ts +666 -0
- package/dist/adapters/ethers/typechain/factories/IL1NativeTokenVault__factory.d.ts +234 -0
- package/dist/adapters/ethers/typechain/factories/IL1Nullifier__factory.d.ts +382 -0
- package/dist/adapters/ethers/typechain/factories/IL2AssetRouter__factory.d.ts +327 -0
- package/dist/adapters/ethers/typechain/factories/IL2NativeTokenVault__factory.d.ts +696 -0
- package/dist/adapters/ethers/typechain/factories/index.d.ts +8 -0
- package/dist/adapters/ethers/typechain/index.d.ts +17 -0
- package/dist/adapters/viem/client.cjs +4534 -0
- package/dist/adapters/viem/client.cjs.map +1 -0
- package/dist/adapters/viem/client.d.ts +44 -0
- package/dist/adapters/viem/client.js +5 -0
- package/dist/adapters/viem/errors/error-ops.d.ts +20 -0
- package/dist/adapters/viem/errors/revert.d.ts +25 -0
- package/dist/adapters/viem/index.cjs +7772 -0
- package/dist/adapters/viem/index.cjs.map +1 -0
- package/dist/adapters/viem/index.d.ts +11 -0
- package/dist/adapters/viem/index.js +8 -0
- package/dist/adapters/viem/resources/deposits/context.d.ts +27 -0
- package/dist/adapters/viem/resources/deposits/index.d.ts +46 -0
- package/dist/adapters/viem/resources/deposits/routes/erc20-base.d.ts +2 -0
- package/dist/adapters/viem/resources/deposits/routes/erc20-nonbase.d.ts +2 -0
- package/dist/adapters/viem/resources/deposits/routes/eth-nonbase.d.ts +2 -0
- package/dist/adapters/viem/resources/deposits/routes/eth.d.ts +2 -0
- package/dist/adapters/viem/resources/deposits/routes/types.d.ts +20 -0
- package/dist/adapters/viem/resources/deposits/services/verification.d.ts +7 -0
- package/dist/adapters/viem/resources/token-info.d.ts +34 -0
- package/dist/adapters/viem/resources/utils.d.ts +42 -0
- package/dist/adapters/viem/resources/withdrawals/context.d.ts +22 -0
- package/dist/adapters/viem/resources/withdrawals/index.d.ts +56 -0
- package/dist/adapters/viem/resources/withdrawals/routes/erc20-nonbase.d.ts +2 -0
- package/dist/adapters/viem/resources/withdrawals/routes/eth-nonbase.d.ts +2 -0
- package/dist/adapters/viem/resources/withdrawals/routes/eth.d.ts +2 -0
- package/dist/adapters/viem/resources/withdrawals/routes/types.d.ts +19 -0
- package/dist/adapters/viem/resources/withdrawals/services/finalization.d.ts +33 -0
- package/dist/adapters/viem/rpc.d.ts +2 -0
- package/dist/adapters/viem/sdk.cjs +6481 -0
- package/dist/adapters/viem/sdk.cjs.map +1 -0
- package/dist/adapters/viem/sdk.d.ts +32 -0
- package/dist/adapters/viem/sdk.js +6 -0
- package/dist/chunk-263G6636.js +36 -0
- package/dist/chunk-3LALBFFE.js +138 -0
- package/dist/chunk-4HLJJKIY.js +262 -0
- package/dist/chunk-6GCT6TLS.js +45 -0
- package/dist/chunk-7M4V3FMT.js +2444 -0
- package/dist/chunk-B77GWPO5.js +339 -0
- package/dist/chunk-BD2LUO5T.js +123 -0
- package/dist/chunk-CGO27P7F.js +2187 -0
- package/dist/chunk-DI2CJDPZ.js +76 -0
- package/dist/chunk-Y75OMFK6.js +4489 -0
- package/dist/core/constants.cjs +39 -0
- package/dist/core/constants.cjs.map +1 -0
- package/dist/core/constants.d.ts +36 -0
- package/dist/core/constants.js +1 -0
- package/dist/core/errors/factory.d.ts +10 -0
- package/dist/core/errors/formatter.d.ts +2 -0
- package/dist/core/errors/rpc.d.ts +4 -0
- package/dist/core/errors/withdrawal-revert-map.d.ts +3 -0
- package/dist/core/index.cjs +552 -0
- package/dist/core/index.cjs.map +1 -0
- package/dist/core/index.d.ts +18 -0
- package/dist/core/index.js +4 -0
- package/dist/core/internal/abi-registry.d.ts +9 -0
- package/dist/core/internal/abis/IAssetRouterBase.d.ts +198 -0
- package/dist/core/internal/abis/IBaseToken.d.ts +162 -0
- package/dist/core/internal/abis/IBridgehub.d.ts +994 -0
- package/dist/core/internal/abis/IERC20.d.ts +224 -0
- package/dist/core/internal/abis/IL1AssetRouter.d.ts +661 -0
- package/dist/core/internal/abis/IL1Nullifier.d.ts +377 -0
- package/dist/core/internal/abis/IL2AssetRouter.d.ts +690 -0
- package/dist/core/internal/abis/L1NativeTokenVault.d.ts +719 -0
- package/dist/core/internal/abis/L2NativeTokenVault.d.ts +735 -0
- package/dist/core/internal/abis/Mailbox.d.ts +779 -0
- package/dist/core/resources/deposits/route.d.ts +6 -0
- package/dist/core/resources/withdrawals/events.d.ts +9 -0
- package/dist/core/resources/withdrawals/logs.d.ts +5 -0
- package/dist/core/resources/withdrawals/route.d.ts +6 -0
- package/dist/core/rpc/transport.d.ts +10 -0
- package/dist/core/rpc/types.d.ts +40 -0
- package/dist/core/rpc/zks.d.ts +12 -0
- package/dist/core/types/errors.d.ts +177 -0
- package/dist/core/types/flows/base.d.ts +51 -0
- package/dist/core/types/flows/deposits.d.ts +43 -0
- package/dist/core/types/flows/route.d.ts +12 -0
- package/dist/core/types/flows/withdrawals.d.ts +83 -0
- package/dist/core/types/index.d.ts +2 -0
- package/dist/core/types/primitives.d.ts +3 -0
- package/dist/core/utils/addr.d.ts +5 -0
- package/dist/core/utils/gas.d.ts +13 -0
- package/dist/index.cjs +571 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +4 -0
- package/package.json +177 -0
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,571 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var sha3 = require('@noble/hashes/sha3');
|
|
4
|
+
var utils = require('@noble/hashes/utils');
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
// src/core/constants.ts
|
|
13
|
+
var constants_exports = {};
|
|
14
|
+
__export(constants_exports, {
|
|
15
|
+
ETH_ADDRESS: () => ETH_ADDRESS,
|
|
16
|
+
FORMAL_ETH_ADDRESS: () => FORMAL_ETH_ADDRESS,
|
|
17
|
+
L1_FEE_ESTIMATION_COEF_DENOMINATOR: () => L1_FEE_ESTIMATION_COEF_DENOMINATOR,
|
|
18
|
+
L1_FEE_ESTIMATION_COEF_NUMERATOR: () => L1_FEE_ESTIMATION_COEF_NUMERATOR,
|
|
19
|
+
L1_MESSENGER_ADDRESS: () => L1_MESSENGER_ADDRESS,
|
|
20
|
+
L1_SOPH_TOKEN_ADDRESS: () => L1_SOPH_TOKEN_ADDRESS,
|
|
21
|
+
L2_ASSET_ROUTER_ADDRESS: () => L2_ASSET_ROUTER_ADDRESS,
|
|
22
|
+
L2_BASE_TOKEN_ADDRESS: () => L2_BASE_TOKEN_ADDRESS,
|
|
23
|
+
L2_NATIVE_TOKEN_VAULT_ADDRESS: () => L2_NATIVE_TOKEN_VAULT_ADDRESS,
|
|
24
|
+
TOPIC_CANONICAL_ASSIGNED: () => TOPIC_CANONICAL_ASSIGNED,
|
|
25
|
+
TOPIC_CANONICAL_SUCCESS: () => TOPIC_CANONICAL_SUCCESS,
|
|
26
|
+
TOPIC_L1_MESSAGE_SENT: () => TOPIC_L1_MESSAGE_SENT,
|
|
27
|
+
TOPIC_L1_MESSAGE_SENT_LEG: () => TOPIC_L1_MESSAGE_SENT_LEG,
|
|
28
|
+
TOPIC_L1_MESSAGE_SENT_NEW: () => TOPIC_L1_MESSAGE_SENT_NEW,
|
|
29
|
+
k256hex: () => k256hex
|
|
30
|
+
});
|
|
31
|
+
var k256hex = (s) => `0x${utils.bytesToHex(sha3.keccak_256(utils.utf8ToBytes(s)))}`.toLowerCase();
|
|
32
|
+
var FORMAL_ETH_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
33
|
+
var ETH_ADDRESS = "0x0000000000000000000000000000000000000001";
|
|
34
|
+
var L2_ASSET_ROUTER_ADDRESS = "0x0000000000000000000000000000000000010003";
|
|
35
|
+
var L2_NATIVE_TOKEN_VAULT_ADDRESS = "0x0000000000000000000000000000000000010004";
|
|
36
|
+
var L1_MESSENGER_ADDRESS = "0x0000000000000000000000000000000000008008";
|
|
37
|
+
var L2_BASE_TOKEN_ADDRESS = "0x000000000000000000000000000000000000800A";
|
|
38
|
+
var L1_SOPH_TOKEN_ADDRESS = "0xa9544a49d4aEa4c8E074431c89C79fA9592049d8";
|
|
39
|
+
var TOPIC_L1_MESSAGE_SENT = "0x2632cc0d58b0cb1017b99cc0b6cc66ad86440cc0dd923bfdaa294f95ba1b0201";
|
|
40
|
+
var TOPIC_L1_MESSAGE_SENT_NEW = k256hex("L1MessageSent(uint256,bytes32,bytes)");
|
|
41
|
+
var TOPIC_L1_MESSAGE_SENT_LEG = k256hex("L1MessageSent(address,bytes32,bytes)");
|
|
42
|
+
var TOPIC_CANONICAL_ASSIGNED = "0x779f441679936c5441b671969f37400b8c3ed0071cb47444431bf985754560df";
|
|
43
|
+
var TOPIC_CANONICAL_SUCCESS = "0xe4def01b981193a97a9e81230d7b9f31812ceaf23f864a828a82c687911cb2df";
|
|
44
|
+
var L1_FEE_ESTIMATION_COEF_NUMERATOR = 12;
|
|
45
|
+
var L1_FEE_ESTIMATION_COEF_DENOMINATOR = 10;
|
|
46
|
+
|
|
47
|
+
// src/core/errors/factory.ts
|
|
48
|
+
var factory_exports = {};
|
|
49
|
+
__export(factory_exports, {
|
|
50
|
+
createError: () => createError,
|
|
51
|
+
shapeCause: () => shapeCause
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// src/core/errors/formatter.ts
|
|
55
|
+
function elideMiddle(s, max = 96) {
|
|
56
|
+
if (s.length <= max) return s;
|
|
57
|
+
const keep = Math.max(10, Math.floor((max - 1) / 2));
|
|
58
|
+
return `${s.slice(0, keep)}\u2026${s.slice(-keep)}`;
|
|
59
|
+
}
|
|
60
|
+
function shortJSON(v, max = 240) {
|
|
61
|
+
try {
|
|
62
|
+
const s = JSON.stringify(
|
|
63
|
+
v,
|
|
64
|
+
(_k, val) => typeof val === "bigint" ? `${val.toString()}n` : val
|
|
65
|
+
);
|
|
66
|
+
return s.length > max ? elideMiddle(s, max) : s;
|
|
67
|
+
} catch {
|
|
68
|
+
return String(v);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function kv(label, value) {
|
|
72
|
+
const width = 10;
|
|
73
|
+
const pad = label.length >= width ? " " : " ".repeat(width - label.length);
|
|
74
|
+
return `${label + pad}: ${value}`;
|
|
75
|
+
}
|
|
76
|
+
function formatContextLine(ctx) {
|
|
77
|
+
if (!ctx) return;
|
|
78
|
+
const txHash = ctx["txHash"] ?? ctx["l1TxHash"] ?? ctx["hash"];
|
|
79
|
+
const nonce = ctx["nonce"];
|
|
80
|
+
const parts = [];
|
|
81
|
+
if (txHash !== void 0)
|
|
82
|
+
parts.push(`txHash=${typeof txHash === "string" ? txHash : shortJSON(txHash, 96)}`);
|
|
83
|
+
if (nonce !== void 0) {
|
|
84
|
+
const nonceStr = typeof nonce === "string" || typeof nonce === "number" || typeof nonce === "bigint" ? String(nonce) : shortJSON(nonce, 48);
|
|
85
|
+
parts.push(`nonce=${nonceStr}`);
|
|
86
|
+
}
|
|
87
|
+
return parts.length ? ` ${kv("Context", parts.join(" \u2022 "))}` : void 0;
|
|
88
|
+
}
|
|
89
|
+
function formatStep(ctx) {
|
|
90
|
+
const step = ctx && typeof ctx["step"] === "string" ? ctx["step"] : void 0;
|
|
91
|
+
return step ? ` ${kv("Step", step)}` : void 0;
|
|
92
|
+
}
|
|
93
|
+
function formatRevert(r) {
|
|
94
|
+
if (!r) return;
|
|
95
|
+
const first = [`selector=${r.selector}`];
|
|
96
|
+
const lines = [];
|
|
97
|
+
lines.push(` ${kv("Revert", first.join(" "))}`);
|
|
98
|
+
if (r.name) lines.push(` name=${r.name}`);
|
|
99
|
+
if (r.contract) lines.push(` contract=${r.contract}`);
|
|
100
|
+
if (r.fn) lines.push(` fn=${r.fn}`);
|
|
101
|
+
if (r.args && r.args.length) {
|
|
102
|
+
lines.push(` args=${shortJSON(r.args, 120)}`);
|
|
103
|
+
}
|
|
104
|
+
return lines.join("\n");
|
|
105
|
+
}
|
|
106
|
+
function formatCause(c) {
|
|
107
|
+
if (!c) return [];
|
|
108
|
+
const out = [];
|
|
109
|
+
if (typeof c === "object" && c !== null) {
|
|
110
|
+
const obj = c;
|
|
111
|
+
const head = [];
|
|
112
|
+
if (obj.name !== void 0) {
|
|
113
|
+
const nameVal = obj.name;
|
|
114
|
+
const nameStr = typeof nameVal === "string" || typeof nameVal === "number" || typeof nameVal === "bigint" || typeof nameVal === "boolean" ? String(nameVal) : shortJSON(nameVal, 120);
|
|
115
|
+
head.push(`name=${nameStr}`);
|
|
116
|
+
}
|
|
117
|
+
if (obj.code !== void 0) {
|
|
118
|
+
const codeVal = obj.code;
|
|
119
|
+
const codeStr = typeof codeVal === "string" || typeof codeVal === "number" || typeof codeVal === "bigint" || typeof codeVal === "boolean" ? String(codeVal) : shortJSON(codeVal, 120);
|
|
120
|
+
head.push(`code=${codeStr}`);
|
|
121
|
+
}
|
|
122
|
+
if (head.length) out.push(` ${kv("Cause", head.join(" "))}`);
|
|
123
|
+
if (obj.message) {
|
|
124
|
+
const messageStr = typeof obj.message === "string" || typeof obj.message === "number" || typeof obj.message === "bigint" || typeof obj.message === "boolean" ? String(obj.message) : shortJSON(obj.message, 600);
|
|
125
|
+
out.push(` message=${elideMiddle(messageStr, 600)}`);
|
|
126
|
+
}
|
|
127
|
+
if (obj.data) {
|
|
128
|
+
const dataStr = shortJSON(obj.data, 200);
|
|
129
|
+
out.push(` data=${elideMiddle(dataStr, 200)}`);
|
|
130
|
+
}
|
|
131
|
+
} else {
|
|
132
|
+
out.push(` ${kv("Cause", shortJSON(c, 200))}`);
|
|
133
|
+
}
|
|
134
|
+
return out;
|
|
135
|
+
}
|
|
136
|
+
function formatEnvelopePretty(e) {
|
|
137
|
+
const lines = [];
|
|
138
|
+
lines.push(`\u2716 ZKsyncError [${e.type}]`);
|
|
139
|
+
lines.push(` ${kv("Message", e.message)}`);
|
|
140
|
+
lines.push("");
|
|
141
|
+
lines.push(` ${kv("Operation", e.operation)}`);
|
|
142
|
+
const ctx = (() => {
|
|
143
|
+
const u = e;
|
|
144
|
+
if (!u || typeof u !== "object") return void 0;
|
|
145
|
+
const obj = u;
|
|
146
|
+
const candidate = obj["ctx"] ?? obj["context"];
|
|
147
|
+
if (candidate && typeof candidate === "object" && candidate !== null) {
|
|
148
|
+
return candidate;
|
|
149
|
+
}
|
|
150
|
+
return void 0;
|
|
151
|
+
})();
|
|
152
|
+
const ctxLine = formatContextLine(ctx);
|
|
153
|
+
if (ctxLine) lines.push(ctxLine);
|
|
154
|
+
const stepLine = formatStep(ctx);
|
|
155
|
+
if (stepLine) lines.push(stepLine);
|
|
156
|
+
const rv = formatRevert(e.revert);
|
|
157
|
+
if (rv) lines.push(rv);
|
|
158
|
+
const causeLines = formatCause(e.cause);
|
|
159
|
+
if (causeLines.length) {
|
|
160
|
+
if (!ctxLine && !rv) lines.push("");
|
|
161
|
+
lines.push(...causeLines);
|
|
162
|
+
}
|
|
163
|
+
return lines.join("\n");
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// src/core/types/errors.ts
|
|
167
|
+
var hasSymbolInspect = typeof Symbol === "function" && typeof Symbol.for === "function";
|
|
168
|
+
var kInspect = hasSymbolInspect ? Symbol.for("nodejs.util.inspect.custom") : void 0;
|
|
169
|
+
var ZKsyncError = class extends Error {
|
|
170
|
+
constructor(envelope) {
|
|
171
|
+
super(formatEnvelopePretty(envelope), envelope.cause ? { cause: envelope.cause } : void 0);
|
|
172
|
+
this.envelope = envelope;
|
|
173
|
+
this.name = "ZKsyncError";
|
|
174
|
+
}
|
|
175
|
+
toJSON() {
|
|
176
|
+
return { name: this.name, ...this.envelope };
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
if (kInspect) {
|
|
180
|
+
Object.defineProperty(ZKsyncError.prototype, kInspect, {
|
|
181
|
+
value() {
|
|
182
|
+
return `${this.name}: ${formatEnvelopePretty(this.envelope)}`;
|
|
183
|
+
},
|
|
184
|
+
enumerable: false
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
function isZKsyncError(e) {
|
|
188
|
+
if (!e || typeof e !== "object") return false;
|
|
189
|
+
const maybe = e;
|
|
190
|
+
if (!("envelope" in maybe)) return false;
|
|
191
|
+
const envelope = maybe.envelope;
|
|
192
|
+
return typeof envelope?.type === "string" && typeof envelope?.message === "string";
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// src/core/errors/factory.ts
|
|
196
|
+
function createError(type, input) {
|
|
197
|
+
return new ZKsyncError({ ...input, type });
|
|
198
|
+
}
|
|
199
|
+
function shapeCause(err) {
|
|
200
|
+
const isRecord = (x) => x !== null && typeof x === "object";
|
|
201
|
+
let data = void 0;
|
|
202
|
+
if (isRecord(err)) {
|
|
203
|
+
const r2 = err;
|
|
204
|
+
const d = r2.data;
|
|
205
|
+
if (isRecord(d) && "data" in d) {
|
|
206
|
+
data = d.data;
|
|
207
|
+
} else if ("error" in r2 && isRecord(r2.error) && "data" in r2.error) {
|
|
208
|
+
data = r2.error.data;
|
|
209
|
+
} else if ("data" in r2) {
|
|
210
|
+
data = r2.data;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
const r = isRecord(err) ? err : void 0;
|
|
214
|
+
const name = r && typeof r.name === "string" ? r.name : void 0;
|
|
215
|
+
const message = r && typeof r.message === "string" ? r.message : r && typeof r.shortMessage === "string" ? r.shortMessage : void 0;
|
|
216
|
+
const code = r && "code" in r ? r.code : void 0;
|
|
217
|
+
return {
|
|
218
|
+
name,
|
|
219
|
+
message,
|
|
220
|
+
code,
|
|
221
|
+
data: typeof data === "string" && data.startsWith("0x") ? `${data.slice(0, 10)}\u2026` : void 0
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// src/core/rpc/zks.ts
|
|
226
|
+
var zks_exports = {};
|
|
227
|
+
__export(zks_exports, {
|
|
228
|
+
createZksRpc: () => createZksRpc,
|
|
229
|
+
normalizeGenesis: () => normalizeGenesis,
|
|
230
|
+
normalizeProof: () => normalizeProof
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
// src/core/errors/rpc.ts
|
|
234
|
+
async function withRpcOp(operation, message, ctx, fn) {
|
|
235
|
+
try {
|
|
236
|
+
return await fn();
|
|
237
|
+
} catch (e) {
|
|
238
|
+
if (isZKsyncError(e)) throw e;
|
|
239
|
+
throw createError("RPC", {
|
|
240
|
+
resource: "zksrpc",
|
|
241
|
+
operation,
|
|
242
|
+
message,
|
|
243
|
+
context: ctx,
|
|
244
|
+
cause: shapeCause(e)
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// src/core/rpc/zks.ts
|
|
250
|
+
var METHODS = {
|
|
251
|
+
getBridgehub: "zks_getBridgehubContract",
|
|
252
|
+
getL2ToL1LogProof: "zks_getL2ToL1LogProof",
|
|
253
|
+
getReceipt: "eth_getTransactionReceipt",
|
|
254
|
+
getGenesis: "zks_getGenesis"
|
|
255
|
+
};
|
|
256
|
+
function toHexArray(arr) {
|
|
257
|
+
const list = Array.isArray(arr) ? arr : [];
|
|
258
|
+
return list.map((x) => x);
|
|
259
|
+
}
|
|
260
|
+
function normalizeProof(p) {
|
|
261
|
+
try {
|
|
262
|
+
const raw = p ?? {};
|
|
263
|
+
const idRaw = raw?.id ?? raw?.index;
|
|
264
|
+
const bnRaw = raw?.batch_number ?? raw?.batchNumber;
|
|
265
|
+
if (idRaw == null || bnRaw == null) {
|
|
266
|
+
throw createError("RPC", {
|
|
267
|
+
resource: "zksrpc",
|
|
268
|
+
operation: "zksrpc.normalizeProof",
|
|
269
|
+
message: "Malformed proof: missing id or batch number.",
|
|
270
|
+
context: { keys: Object.keys(raw ?? {}) }
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
const toBig = (x) => typeof x === "bigint" ? x : typeof x === "number" ? BigInt(x) : typeof x === "string" ? BigInt(x) : (() => {
|
|
274
|
+
throw createError("RPC", {
|
|
275
|
+
resource: "zksrpc",
|
|
276
|
+
operation: "zksrpc.normalizeProof",
|
|
277
|
+
message: "Malformed proof: invalid numeric field.",
|
|
278
|
+
context: { valueType: typeof x }
|
|
279
|
+
});
|
|
280
|
+
})();
|
|
281
|
+
return {
|
|
282
|
+
id: toBig(idRaw),
|
|
283
|
+
batchNumber: toBig(bnRaw),
|
|
284
|
+
proof: toHexArray(raw?.proof)
|
|
285
|
+
};
|
|
286
|
+
} catch (e) {
|
|
287
|
+
if (isZKsyncError(e)) throw e;
|
|
288
|
+
throw createError("RPC", {
|
|
289
|
+
resource: "zksrpc",
|
|
290
|
+
operation: "zksrpc.normalizeProof",
|
|
291
|
+
message: "Failed to normalize proof.",
|
|
292
|
+
context: { receivedType: typeof p },
|
|
293
|
+
cause: shapeCause(e)
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
function ensureHex(value, field, context) {
|
|
298
|
+
if (typeof value === "string" && value.startsWith("0x")) return value;
|
|
299
|
+
throw createError("RPC", {
|
|
300
|
+
resource: "zksrpc",
|
|
301
|
+
operation: "zksrpc.normalizeGenesis",
|
|
302
|
+
message: "Malformed genesis response: expected 0x-prefixed hex value.",
|
|
303
|
+
context: { field, valueType: typeof value, ...context }
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
function ensureNumber(value, field) {
|
|
307
|
+
if (typeof value === "number" && Number.isFinite(value)) return value;
|
|
308
|
+
if (typeof value === "bigint") return Number(value);
|
|
309
|
+
if (typeof value === "string" && value.trim() !== "") {
|
|
310
|
+
const parsed = Number(value);
|
|
311
|
+
if (Number.isFinite(parsed)) return parsed;
|
|
312
|
+
}
|
|
313
|
+
throw createError("RPC", {
|
|
314
|
+
resource: "zksrpc",
|
|
315
|
+
operation: "zksrpc.normalizeGenesis",
|
|
316
|
+
message: "Malformed genesis response: expected numeric value.",
|
|
317
|
+
context: { field, valueType: typeof value }
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
function normalizeContractTuple(tuple, index) {
|
|
321
|
+
if (!Array.isArray(tuple) || tuple.length < 2) {
|
|
322
|
+
throw createError("RPC", {
|
|
323
|
+
resource: "zksrpc",
|
|
324
|
+
operation: "zksrpc.normalizeGenesis",
|
|
325
|
+
message: "Malformed genesis response: invalid contract tuple.",
|
|
326
|
+
context: { index, valueType: typeof tuple }
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
const [addrRaw, bytecodeRaw] = tuple;
|
|
330
|
+
return {
|
|
331
|
+
address: ensureHex(addrRaw, "initial_contracts.address", { index }),
|
|
332
|
+
bytecode: ensureHex(bytecodeRaw, "initial_contracts.bytecode", { index })
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
function normalizeStorageTuple(tuple, index) {
|
|
336
|
+
if (!Array.isArray(tuple) || tuple.length < 2) {
|
|
337
|
+
throw createError("RPC", {
|
|
338
|
+
resource: "zksrpc",
|
|
339
|
+
operation: "zksrpc.normalizeGenesis",
|
|
340
|
+
message: "Malformed genesis response: invalid storage tuple.",
|
|
341
|
+
context: { index, valueType: typeof tuple }
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
const [keyRaw, valueRaw] = tuple;
|
|
345
|
+
return {
|
|
346
|
+
key: ensureHex(keyRaw, "additional_storage.key", { index }),
|
|
347
|
+
value: ensureHex(valueRaw, "additional_storage.value", { index })
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
function normalizeGenesis(raw) {
|
|
351
|
+
try {
|
|
352
|
+
if (!raw || typeof raw !== "object") {
|
|
353
|
+
throw createError("RPC", {
|
|
354
|
+
resource: "zksrpc",
|
|
355
|
+
operation: "zksrpc.normalizeGenesis",
|
|
356
|
+
message: "Malformed genesis response: expected object.",
|
|
357
|
+
context: { receivedType: typeof raw }
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
const record = raw;
|
|
361
|
+
const contractsRaw = record["initial_contracts"];
|
|
362
|
+
if (!Array.isArray(contractsRaw)) {
|
|
363
|
+
throw createError("RPC", {
|
|
364
|
+
resource: "zksrpc",
|
|
365
|
+
operation: "zksrpc.normalizeGenesis",
|
|
366
|
+
message: "Malformed genesis response: initial_contracts must be an array.",
|
|
367
|
+
context: { valueType: typeof contractsRaw }
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
const storageRaw = record["additional_storage"];
|
|
371
|
+
if (!Array.isArray(storageRaw)) {
|
|
372
|
+
throw createError("RPC", {
|
|
373
|
+
resource: "zksrpc",
|
|
374
|
+
operation: "zksrpc.normalizeGenesis",
|
|
375
|
+
message: "Malformed genesis response: additional_storage must be an array.",
|
|
376
|
+
context: { valueType: typeof storageRaw }
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
const executionVersion = ensureNumber(record["execution_version"], "execution_version");
|
|
380
|
+
const genesisRoot = ensureHex(record["genesis_root"], "genesis_root", {});
|
|
381
|
+
const initialContracts = contractsRaw.map(
|
|
382
|
+
(entry, index) => normalizeContractTuple(entry, index)
|
|
383
|
+
);
|
|
384
|
+
const additionalStorage = storageRaw.map((entry, index) => normalizeStorageTuple(entry, index));
|
|
385
|
+
return {
|
|
386
|
+
initialContracts,
|
|
387
|
+
additionalStorage,
|
|
388
|
+
executionVersion,
|
|
389
|
+
genesisRoot
|
|
390
|
+
};
|
|
391
|
+
} catch (e) {
|
|
392
|
+
if (isZKsyncError(e)) throw e;
|
|
393
|
+
throw createError("RPC", {
|
|
394
|
+
resource: "zksrpc",
|
|
395
|
+
operation: "zksrpc.normalizeGenesis",
|
|
396
|
+
message: "Failed to normalize genesis response.",
|
|
397
|
+
context: { receivedType: typeof raw },
|
|
398
|
+
cause: shapeCause(e)
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
function createZksRpc(transport) {
|
|
403
|
+
return {
|
|
404
|
+
// Fetches the Bridgehub contract address.
|
|
405
|
+
async getBridgehubAddress() {
|
|
406
|
+
return withRpcOp(
|
|
407
|
+
"zksrpc.getBridgehubAddress",
|
|
408
|
+
"Failed to fetch Bridgehub address.",
|
|
409
|
+
{},
|
|
410
|
+
async () => {
|
|
411
|
+
const addrRaw = await transport(METHODS.getBridgehub, []);
|
|
412
|
+
if (typeof addrRaw !== "string" || !addrRaw.startsWith("0x")) {
|
|
413
|
+
throw createError("RPC", {
|
|
414
|
+
resource: "zksrpc",
|
|
415
|
+
operation: "zksrpc.getBridgehubAddress",
|
|
416
|
+
message: "Unexpected Bridgehub address response.",
|
|
417
|
+
context: { valueType: typeof addrRaw }
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
return addrRaw;
|
|
421
|
+
}
|
|
422
|
+
);
|
|
423
|
+
},
|
|
424
|
+
// Fetches a proof for an L2→L1 log emitted in the given transaction.
|
|
425
|
+
async getL2ToL1LogProof(txHash, index) {
|
|
426
|
+
return withRpcOp(
|
|
427
|
+
"zksrpc.getL2ToL1LogProof",
|
|
428
|
+
"Failed to fetch L2\u2192L1 log proof.",
|
|
429
|
+
{ txHash, index },
|
|
430
|
+
async () => {
|
|
431
|
+
const proof = await transport(METHODS.getL2ToL1LogProof, [txHash, index]);
|
|
432
|
+
if (!proof) {
|
|
433
|
+
throw createError("STATE", {
|
|
434
|
+
resource: "zksrpc",
|
|
435
|
+
operation: "zksrpc.getL2ToL1LogProof",
|
|
436
|
+
message: "Proof not yet available. Please try again later.",
|
|
437
|
+
context: { txHash, index }
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
return normalizeProof(proof);
|
|
441
|
+
}
|
|
442
|
+
);
|
|
443
|
+
},
|
|
444
|
+
// Fetches the transaction receipt, including the `l2ToL1Logs` field.
|
|
445
|
+
async getReceiptWithL2ToL1(txHash) {
|
|
446
|
+
return withRpcOp(
|
|
447
|
+
"zksrpc.getReceiptWithL2ToL1",
|
|
448
|
+
"Failed to fetch transaction receipt.",
|
|
449
|
+
{ txHash },
|
|
450
|
+
async () => {
|
|
451
|
+
const rcptRaw = await transport(METHODS.getReceipt, [txHash]);
|
|
452
|
+
if (!rcptRaw) return null;
|
|
453
|
+
const rcptObj = rcptRaw;
|
|
454
|
+
const logs = Array.isArray(rcptObj["l2ToL1Logs"]) ? rcptObj["l2ToL1Logs"] : [];
|
|
455
|
+
rcptObj["l2ToL1Logs"] = logs;
|
|
456
|
+
return rcptObj;
|
|
457
|
+
}
|
|
458
|
+
);
|
|
459
|
+
},
|
|
460
|
+
// Fetches the genesis configuration returned by `zks_getGenesis`.
|
|
461
|
+
async getGenesis() {
|
|
462
|
+
return withRpcOp(
|
|
463
|
+
"zksrpc.getGenesis",
|
|
464
|
+
"Failed to fetch genesis configuration.",
|
|
465
|
+
{},
|
|
466
|
+
async () => {
|
|
467
|
+
const genesisRaw = await transport(METHODS.getGenesis, []);
|
|
468
|
+
return normalizeGenesis(genesisRaw);
|
|
469
|
+
}
|
|
470
|
+
);
|
|
471
|
+
}
|
|
472
|
+
};
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
// src/core/rpc/transport.ts
|
|
476
|
+
function makeTransportFromEthers(provider) {
|
|
477
|
+
return (m, p = []) => provider.send(m, p);
|
|
478
|
+
}
|
|
479
|
+
function makeTransportFromViem(client) {
|
|
480
|
+
return (m, p = []) => client.request({ method: m, params: p });
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
// src/core/utils/addr.ts
|
|
484
|
+
var isHash66 = (x) => !!x && x.startsWith("0x") && x.length === 66;
|
|
485
|
+
function isAddressEq(a, b) {
|
|
486
|
+
return a.toLowerCase() === b.toLowerCase();
|
|
487
|
+
}
|
|
488
|
+
function isETH(token) {
|
|
489
|
+
return isAddressEq(token, FORMAL_ETH_ADDRESS) || isAddressEq(token, L2_BASE_TOKEN_ADDRESS) || isAddressEq(token, ETH_ADDRESS);
|
|
490
|
+
}
|
|
491
|
+
function normalizeAddrEq(a, b) {
|
|
492
|
+
if (!a || !b) return false;
|
|
493
|
+
const normalize = (s) => {
|
|
494
|
+
const hasPrefix = s.slice(0, 2).toLowerCase() === "0x";
|
|
495
|
+
const body = hasPrefix ? s.slice(2) : s;
|
|
496
|
+
return `0x${body.toLowerCase()}`;
|
|
497
|
+
};
|
|
498
|
+
return normalize(a) === normalize(b);
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
// src/core/resources/deposits/route.ts
|
|
502
|
+
async function pickDepositRoute(client, chainIdL2, token) {
|
|
503
|
+
if (isETH(token)) {
|
|
504
|
+
const base2 = await client.baseToken(chainIdL2);
|
|
505
|
+
return isETH(base2) ? "eth-base" : "eth-nonbase";
|
|
506
|
+
}
|
|
507
|
+
const base = await client.baseToken(chainIdL2);
|
|
508
|
+
return normalizeAddrEq(token, base) ? "erc20-base" : "erc20-nonbase";
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
// src/core/resources/withdrawals/route.ts
|
|
512
|
+
function normalizeTokenForRouting(token) {
|
|
513
|
+
const t = token.toLowerCase();
|
|
514
|
+
if (t === ETH_ADDRESS.toLowerCase()) return L2_BASE_TOKEN_ADDRESS;
|
|
515
|
+
return token;
|
|
516
|
+
}
|
|
517
|
+
function pickWithdrawRoute(args) {
|
|
518
|
+
const tokenNorm = normalizeTokenForRouting(args.token);
|
|
519
|
+
const isL2BaseAlias = tokenNorm.toLowerCase() === L2_BASE_TOKEN_ADDRESS.toLowerCase();
|
|
520
|
+
if (isL2BaseAlias) return args.baseIsEth ? "eth-base" : "eth-nonbase";
|
|
521
|
+
return "erc20-nonbase";
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
// src/core/resources/withdrawals/events.ts
|
|
525
|
+
function findL1MessageSentLog(receipt, opts) {
|
|
526
|
+
const index = opts?.index ?? 0;
|
|
527
|
+
const preferAddr = typeof opts?.prefer === "object" ? opts?.prefer.address : opts?.prefer === "assetRouter" ? L2_ASSET_ROUTER_ADDRESS : L1_MESSENGER_ADDRESS;
|
|
528
|
+
const prefer = (preferAddr ?? L1_MESSENGER_ADDRESS).toLowerCase();
|
|
529
|
+
const matches = receipt.logs.filter((lg) => {
|
|
530
|
+
const t0 = (lg.topics?.[0] ?? "").toLowerCase();
|
|
531
|
+
return t0 === TOPIC_L1_MESSAGE_SENT_NEW || t0 === TOPIC_L1_MESSAGE_SENT_LEG;
|
|
532
|
+
});
|
|
533
|
+
if (!matches.length) {
|
|
534
|
+
throw new Error("No L1MessageSent event found in L2 receipt logs.");
|
|
535
|
+
}
|
|
536
|
+
const preferred = matches.find((lg) => (lg.address ?? "").toLowerCase() === prefer);
|
|
537
|
+
const chosen = preferred ?? matches[index] ?? matches[0];
|
|
538
|
+
if (!chosen) {
|
|
539
|
+
throw new Error("No suitable L1MessageSent event found.");
|
|
540
|
+
}
|
|
541
|
+
return chosen;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
// src/core/resources/withdrawals/logs.ts
|
|
545
|
+
function messengerLogIndex(raw, opts) {
|
|
546
|
+
const index = opts?.index ?? 0;
|
|
547
|
+
const messenger = (opts?.messenger ?? L1_MESSENGER_ADDRESS).toLowerCase();
|
|
548
|
+
const arr = Array.isArray(raw?.l2ToL1Logs) ? raw.l2ToL1Logs : [];
|
|
549
|
+
const hits = arr.map((lg, i) => ({ i, lg })).filter(({ lg }) => (lg?.sender ?? "").toLowerCase() === messenger);
|
|
550
|
+
if (!hits.length) {
|
|
551
|
+
throw new Error("No L2->L1 messenger logs found in receipt.");
|
|
552
|
+
}
|
|
553
|
+
return (hits[index] ?? hits[0]).i;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
exports.constants = constants_exports;
|
|
557
|
+
exports.errors = factory_exports;
|
|
558
|
+
exports.findL1MessageSentLog = findL1MessageSentLog;
|
|
559
|
+
exports.formatEnvelopePretty = formatEnvelopePretty;
|
|
560
|
+
exports.isAddressEq = isAddressEq;
|
|
561
|
+
exports.isETH = isETH;
|
|
562
|
+
exports.isHash66 = isHash66;
|
|
563
|
+
exports.makeTransportFromEthers = makeTransportFromEthers;
|
|
564
|
+
exports.makeTransportFromViem = makeTransportFromViem;
|
|
565
|
+
exports.messengerLogIndex = messengerLogIndex;
|
|
566
|
+
exports.normalizeAddrEq = normalizeAddrEq;
|
|
567
|
+
exports.pickDepositRoute = pickDepositRoute;
|
|
568
|
+
exports.pickWithdrawRoute = pickWithdrawRoute;
|
|
569
|
+
exports.zksRpc = zks_exports;
|
|
570
|
+
//# sourceMappingURL=index.cjs.map
|
|
571
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/constants.ts","../src/core/errors/factory.ts","../src/core/errors/formatter.ts","../src/core/types/errors.ts","../src/core/rpc/zks.ts","../src/core/errors/rpc.ts","../src/core/rpc/transport.ts","../src/core/utils/addr.ts","../src/core/resources/deposits/route.ts","../src/core/resources/withdrawals/route.ts","../src/core/resources/withdrawals/events.ts","../src/core/resources/withdrawals/logs.ts"],"names":["bytesToHex","keccak_256","utf8ToBytes","r","base"],"mappings":"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","file":"index.cjs"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * as constants from './core/constants';
|
|
2
|
+
export * as errors from './core/errors/factory';
|
|
3
|
+
export { formatEnvelopePretty } from './core/errors/formatter';
|
|
4
|
+
export * as zksRpc from './core/rpc/zks';
|
|
5
|
+
export type { ZksRpc } from './core/rpc/zks';
|
|
6
|
+
export { makeTransportFromEthers, makeTransportFromViem } from './core/rpc/transport';
|
|
7
|
+
export * from './core/utils/addr';
|
|
8
|
+
export * from './core/resources/deposits/route';
|
|
9
|
+
export * from './core/resources/withdrawals/route';
|
|
10
|
+
export * from './core/resources/withdrawals/events';
|
|
11
|
+
export * from './core/resources/withdrawals/logs';
|
|
12
|
+
export type * from './core/types';
|
|
13
|
+
export type * from './core/types/errors';
|
|
14
|
+
export type * from './core/types/flows/base';
|
|
15
|
+
export type * from './core/types/flows/deposits';
|
|
16
|
+
export type * from './core/types/flows/withdrawals';
|
|
17
|
+
export type * from './core/types/flows/route';
|
|
18
|
+
export type * from './core/types/primitives';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { findL1MessageSentLog, isAddressEq, isETH, isHash66, messengerLogIndex, normalizeAddrEq, pickDepositRoute, pickWithdrawRoute } from './chunk-DI2CJDPZ.js';
|
|
2
|
+
export { makeTransportFromEthers, makeTransportFromViem, zks_exports as zksRpc } from './chunk-4HLJJKIY.js';
|
|
3
|
+
export { factory_exports as errors, formatEnvelopePretty } from './chunk-B77GWPO5.js';
|
|
4
|
+
export { constants_exports as constants } from './chunk-6GCT6TLS.js';
|