@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
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { FORMAL_ETH_ADDRESS, L2_BASE_TOKEN_ADDRESS, ETH_ADDRESS, L2_ASSET_ROUTER_ADDRESS, L1_MESSENGER_ADDRESS, TOPIC_L1_MESSAGE_SENT_NEW, TOPIC_L1_MESSAGE_SENT_LEG } from './chunk-6GCT6TLS.js';
|
|
2
|
+
|
|
3
|
+
// src/core/utils/addr.ts
|
|
4
|
+
var isHash66 = (x) => !!x && x.startsWith("0x") && x.length === 66;
|
|
5
|
+
function isAddressEq(a, b) {
|
|
6
|
+
return a.toLowerCase() === b.toLowerCase();
|
|
7
|
+
}
|
|
8
|
+
function isETH(token) {
|
|
9
|
+
return isAddressEq(token, FORMAL_ETH_ADDRESS) || isAddressEq(token, L2_BASE_TOKEN_ADDRESS) || isAddressEq(token, ETH_ADDRESS);
|
|
10
|
+
}
|
|
11
|
+
function normalizeAddrEq(a, b) {
|
|
12
|
+
if (!a || !b) return false;
|
|
13
|
+
const normalize = (s) => {
|
|
14
|
+
const hasPrefix = s.slice(0, 2).toLowerCase() === "0x";
|
|
15
|
+
const body = hasPrefix ? s.slice(2) : s;
|
|
16
|
+
return `0x${body.toLowerCase()}`;
|
|
17
|
+
};
|
|
18
|
+
return normalize(a) === normalize(b);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// src/core/resources/deposits/route.ts
|
|
22
|
+
async function pickDepositRoute(client, chainIdL2, token) {
|
|
23
|
+
if (isETH(token)) {
|
|
24
|
+
const base2 = await client.baseToken(chainIdL2);
|
|
25
|
+
return isETH(base2) ? "eth-base" : "eth-nonbase";
|
|
26
|
+
}
|
|
27
|
+
const base = await client.baseToken(chainIdL2);
|
|
28
|
+
return normalizeAddrEq(token, base) ? "erc20-base" : "erc20-nonbase";
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// src/core/resources/withdrawals/route.ts
|
|
32
|
+
function normalizeTokenForRouting(token) {
|
|
33
|
+
const t = token.toLowerCase();
|
|
34
|
+
if (t === ETH_ADDRESS.toLowerCase()) return L2_BASE_TOKEN_ADDRESS;
|
|
35
|
+
return token;
|
|
36
|
+
}
|
|
37
|
+
function pickWithdrawRoute(args) {
|
|
38
|
+
const tokenNorm = normalizeTokenForRouting(args.token);
|
|
39
|
+
const isL2BaseAlias = tokenNorm.toLowerCase() === L2_BASE_TOKEN_ADDRESS.toLowerCase();
|
|
40
|
+
if (isL2BaseAlias) return args.baseIsEth ? "eth-base" : "eth-nonbase";
|
|
41
|
+
return "erc20-nonbase";
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/core/resources/withdrawals/events.ts
|
|
45
|
+
function findL1MessageSentLog(receipt, opts) {
|
|
46
|
+
const index = opts?.index ?? 0;
|
|
47
|
+
const preferAddr = typeof opts?.prefer === "object" ? opts?.prefer.address : opts?.prefer === "assetRouter" ? L2_ASSET_ROUTER_ADDRESS : L1_MESSENGER_ADDRESS;
|
|
48
|
+
const prefer = (preferAddr ?? L1_MESSENGER_ADDRESS).toLowerCase();
|
|
49
|
+
const matches = receipt.logs.filter((lg) => {
|
|
50
|
+
const t0 = (lg.topics?.[0] ?? "").toLowerCase();
|
|
51
|
+
return t0 === TOPIC_L1_MESSAGE_SENT_NEW || t0 === TOPIC_L1_MESSAGE_SENT_LEG;
|
|
52
|
+
});
|
|
53
|
+
if (!matches.length) {
|
|
54
|
+
throw new Error("No L1MessageSent event found in L2 receipt logs.");
|
|
55
|
+
}
|
|
56
|
+
const preferred = matches.find((lg) => (lg.address ?? "").toLowerCase() === prefer);
|
|
57
|
+
const chosen = preferred ?? matches[index] ?? matches[0];
|
|
58
|
+
if (!chosen) {
|
|
59
|
+
throw new Error("No suitable L1MessageSent event found.");
|
|
60
|
+
}
|
|
61
|
+
return chosen;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// src/core/resources/withdrawals/logs.ts
|
|
65
|
+
function messengerLogIndex(raw, opts) {
|
|
66
|
+
const index = opts?.index ?? 0;
|
|
67
|
+
const messenger = (opts?.messenger ?? L1_MESSENGER_ADDRESS).toLowerCase();
|
|
68
|
+
const arr = Array.isArray(raw?.l2ToL1Logs) ? raw.l2ToL1Logs : [];
|
|
69
|
+
const hits = arr.map((lg, i) => ({ i, lg })).filter(({ lg }) => (lg?.sender ?? "").toLowerCase() === messenger);
|
|
70
|
+
if (!hits.length) {
|
|
71
|
+
throw new Error("No L2->L1 messenger logs found in receipt.");
|
|
72
|
+
}
|
|
73
|
+
return (hits[index] ?? hits[0]).i;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export { findL1MessageSentLog, isAddressEq, isETH, isHash66, messengerLogIndex, normalizeAddrEq, pickDepositRoute, pickWithdrawRoute };
|