@matterlabs/zksync-js 0.0.14 → 0.0.16
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/dist/adapters/ethers/client.cjs.map +1 -1
- package/dist/adapters/ethers/client.d.ts +1 -2
- package/dist/adapters/ethers/client.js +4 -5
- package/dist/adapters/ethers/index.cjs +200 -32
- package/dist/adapters/ethers/index.cjs.map +1 -1
- package/dist/adapters/ethers/index.js +6 -7
- package/dist/adapters/ethers/resources/interop/index.d.ts +4 -1
- package/dist/adapters/ethers/resources/interop/services/finalization/bundle.d.ts +4 -0
- package/dist/adapters/ethers/resources/interop/services/gas.d.ts +12 -0
- package/dist/adapters/ethers/sdk.cjs +200 -32
- package/dist/adapters/ethers/sdk.cjs.map +1 -1
- package/dist/adapters/ethers/sdk.js +5 -6
- package/dist/adapters/viem/client.cjs +787 -3
- package/dist/adapters/viem/client.cjs.map +1 -1
- package/dist/adapters/viem/client.d.ts +6 -1
- package/dist/adapters/viem/client.js +4 -5
- package/dist/adapters/viem/index.cjs +6502 -2966
- package/dist/adapters/viem/index.cjs.map +1 -1
- package/dist/adapters/viem/index.d.ts +5 -0
- package/dist/adapters/viem/index.js +6 -7
- package/dist/adapters/viem/resources/interop/address.d.ts +18 -0
- package/dist/adapters/viem/resources/interop/attributes/resource.d.ts +6 -0
- package/dist/adapters/viem/resources/interop/context.d.ts +31 -0
- package/dist/adapters/viem/resources/interop/index.d.ts +65 -0
- package/dist/adapters/viem/resources/interop/resolvers.d.ts +4 -0
- package/dist/adapters/viem/resources/interop/routes/direct.d.ts +2 -0
- package/dist/adapters/viem/resources/interop/routes/indirect.d.ts +2 -0
- package/dist/adapters/viem/resources/interop/routes/types.d.ts +23 -0
- package/dist/adapters/viem/resources/interop/services/erc20.d.ts +25 -0
- package/dist/adapters/viem/resources/interop/services/fee.d.ts +12 -0
- package/dist/adapters/viem/resources/interop/services/finalization/bundle.d.ts +19 -0
- package/dist/adapters/viem/resources/interop/services/finalization/data-fetchers.d.ts +17 -0
- package/dist/adapters/viem/resources/interop/services/finalization/decoders.d.ts +11 -0
- package/dist/adapters/viem/resources/interop/services/finalization/index.d.ts +13 -0
- package/dist/adapters/viem/resources/interop/services/finalization/polling.d.ts +7 -0
- package/dist/adapters/viem/resources/interop/services/finalization/status.d.ts +5 -0
- package/dist/adapters/viem/resources/interop/services/finalization/topics.d.ts +4 -0
- package/dist/adapters/viem/resources/interop/services/gas.d.ts +12 -0
- package/dist/adapters/viem/resources/interop/services/starter-data.d.ts +6 -0
- package/dist/adapters/viem/resources/interop/types.d.ts +8 -0
- package/dist/adapters/viem/sdk.cjs +6665 -3173
- package/dist/adapters/viem/sdk.cjs.map +1 -1
- package/dist/adapters/viem/sdk.d.ts +8 -1
- package/dist/adapters/viem/sdk.js +5 -5
- package/dist/{chunk-7CAVFIMW.js → chunk-24TE2NNJ.js} +2 -3
- package/dist/{chunk-75IOOODG.js → chunk-3KH5PCD6.js} +1233 -31
- package/dist/{chunk-XKRNLFET.js → chunk-5HG2DUYW.js} +150 -375
- package/dist/{chunk-OTXPSNNC.js → chunk-CK5UFAZK.js} +64 -7
- package/dist/{chunk-HP3EWKJL.js → chunk-JSBMIT4S.js} +1 -1
- package/dist/{chunk-5RRJDPAJ.js → chunk-NJK325XV.js} +2 -2
- package/dist/chunk-NLUCYVMX.js +658 -0
- package/dist/{chunk-XDRCN4FC.js → chunk-SBGBYZJM.js} +10 -2
- package/dist/{chunk-J47RI3G7.js → chunk-TYYUG5GA.js} +1 -1
- package/dist/{chunk-JY62QO3W.js → chunk-UEKFQAOS.js} +420 -6
- package/dist/core/index.js +2 -3
- package/dist/core/resources/deposits/chains.d.ts +1 -0
- package/dist/core/resources/deposits/gas.d.ts +7 -0
- package/dist/core/resources/deposits/priority.d.ts +4 -0
- package/dist/core/resources/interop/protocol.d.ts +3 -0
- package/dist/core/types/errors.d.ts +1 -0
- package/dist/core/types/flows/interop.d.ts +0 -2
- package/dist/core/types/primitives.d.ts +2 -0
- package/dist/index.js +2 -3
- package/package.json +1 -1
- package/dist/chunk-DYJKK5FW.js +0 -417
- package/dist/chunk-EOBXYHTZ.js +0 -265
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { createErrorHandlers } from './chunk-
|
|
1
|
+
import { createErrorHandlers } from './chunk-SBGBYZJM.js';
|
|
2
2
|
import { makeTransportFromViem } from './chunk-BWKWWLY4.js';
|
|
3
|
-
import { createZksRpc } from './chunk-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { getContract, createWalletClient } from 'viem';
|
|
3
|
+
import { OP_CLIENT, IBridgehub_default, IL1AssetRouter_default, IL1Nullifier_default, IBaseToken_default, L2NativeTokenVault_default, IL2AssetRouter_default, L1NativeTokenVault_default, createError, createZksRpc } from './chunk-UEKFQAOS.js';
|
|
4
|
+
import { L2_ASSET_ROUTER_ADDRESS, L2_NATIVE_TOKEN_VAULT_ADDRESS, L2_BASE_TOKEN_ADDRESS, L2_INTEROP_CENTER_ADDRESS, L2_INTEROP_HANDLER_ADDRESS, L2_MESSAGE_VERIFICATION_ADDRESS, FORMAL_ETH_ADDRESS } from './chunk-MT4X5FEO.js';
|
|
5
|
+
import { getContract, createWalletClient, custom } from 'viem';
|
|
7
6
|
|
|
8
7
|
// src/adapters/viem/rpc.ts
|
|
9
8
|
function zksRpcFromViem(l2Client) {
|
|
@@ -15,6 +14,15 @@ function zksRpcFromViem(l2Client) {
|
|
|
15
14
|
|
|
16
15
|
// src/adapters/viem/client.ts
|
|
17
16
|
var { wrap } = createErrorHandlers("client");
|
|
17
|
+
var ChainTypeManagerABI = [
|
|
18
|
+
{
|
|
19
|
+
type: "function",
|
|
20
|
+
name: "getSemverProtocolVersion",
|
|
21
|
+
inputs: [],
|
|
22
|
+
outputs: [{ type: "uint32" }, { type: "uint32" }, { type: "uint32" }],
|
|
23
|
+
stateMutability: "view"
|
|
24
|
+
}
|
|
25
|
+
];
|
|
18
26
|
function createViemClient(args) {
|
|
19
27
|
const { l1, l2, l1Wallet, l2Wallet } = args;
|
|
20
28
|
if (!l1Wallet.account) {
|
|
@@ -48,6 +56,9 @@ function createViemClient(args) {
|
|
|
48
56
|
const l2AssetRouter = args.overrides?.l2AssetRouter ?? L2_ASSET_ROUTER_ADDRESS;
|
|
49
57
|
const l2NativeTokenVault = args.overrides?.l2NativeTokenVault ?? L2_NATIVE_TOKEN_VAULT_ADDRESS;
|
|
50
58
|
const l2BaseTokenSystem = args.overrides?.l2BaseTokenSystem ?? L2_BASE_TOKEN_ADDRESS;
|
|
59
|
+
const interopCenter = args.overrides?.interopCenter ?? L2_INTEROP_CENTER_ADDRESS;
|
|
60
|
+
const interopHandler = args.overrides?.interopHandler ?? L2_INTEROP_HANDLER_ADDRESS;
|
|
61
|
+
const l2MessageVerification = args.overrides?.l2MessageVerification ?? L2_MESSAGE_VERIFICATION_ADDRESS;
|
|
51
62
|
addrCache = {
|
|
52
63
|
bridgehub,
|
|
53
64
|
l1AssetRouter,
|
|
@@ -55,7 +66,10 @@ function createViemClient(args) {
|
|
|
55
66
|
l1NativeTokenVault,
|
|
56
67
|
l2AssetRouter,
|
|
57
68
|
l2NativeTokenVault,
|
|
58
|
-
l2BaseTokenSystem
|
|
69
|
+
l2BaseTokenSystem,
|
|
70
|
+
interopCenter,
|
|
71
|
+
interopHandler,
|
|
72
|
+
l2MessageVerification
|
|
59
73
|
};
|
|
60
74
|
return addrCache;
|
|
61
75
|
},
|
|
@@ -105,13 +119,55 @@ function createViemClient(args) {
|
|
|
105
119
|
});
|
|
106
120
|
return token;
|
|
107
121
|
}
|
|
122
|
+
async function getProtocolVersion(chainId) {
|
|
123
|
+
const targetChainId = chainId ?? BigInt(await l2.getChainId());
|
|
124
|
+
const { bridgehub } = await ensureAddresses();
|
|
125
|
+
const chainTypeManager = await wrap(
|
|
126
|
+
OP_CLIENT.getSemverProtocolVersion,
|
|
127
|
+
() => l1.readContract({
|
|
128
|
+
address: bridgehub,
|
|
129
|
+
abi: IBridgehub_default,
|
|
130
|
+
functionName: "chainTypeManager",
|
|
131
|
+
args: [targetChainId]
|
|
132
|
+
}),
|
|
133
|
+
{
|
|
134
|
+
ctx: { where: "bridgehub.chainTypeManager", bridgehub, chainId: targetChainId },
|
|
135
|
+
message: "Failed to read chain type manager."
|
|
136
|
+
}
|
|
137
|
+
);
|
|
138
|
+
if (chainTypeManager.toLowerCase() === FORMAL_ETH_ADDRESS.toLowerCase()) {
|
|
139
|
+
throw createError("STATE", {
|
|
140
|
+
resource: "client",
|
|
141
|
+
operation: OP_CLIENT.getSemverProtocolVersion,
|
|
142
|
+
message: "No registered chain type manager for the chain.",
|
|
143
|
+
context: { chainId }
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
const semver = await wrap(
|
|
147
|
+
OP_CLIENT.getSemverProtocolVersion,
|
|
148
|
+
() => l1.readContract({
|
|
149
|
+
address: chainTypeManager,
|
|
150
|
+
abi: ChainTypeManagerABI,
|
|
151
|
+
functionName: "getSemverProtocolVersion"
|
|
152
|
+
}),
|
|
153
|
+
{
|
|
154
|
+
ctx: {
|
|
155
|
+
where: "chainTypeManager.getSemverProtocolVersion",
|
|
156
|
+
chainId: targetChainId,
|
|
157
|
+
chainTypeManager
|
|
158
|
+
},
|
|
159
|
+
message: "Failed to read semver protocol version."
|
|
160
|
+
}
|
|
161
|
+
);
|
|
162
|
+
return semver;
|
|
163
|
+
}
|
|
108
164
|
let lazyL2;
|
|
109
165
|
function getL2Wallet() {
|
|
110
166
|
if (l2Wallet) return l2Wallet;
|
|
111
167
|
if (!lazyL2) {
|
|
112
168
|
lazyL2 = createWalletClient({
|
|
113
169
|
account: l1Wallet.account,
|
|
114
|
-
transport: l2.transport
|
|
170
|
+
transport: custom(l2.transport)
|
|
115
171
|
});
|
|
116
172
|
}
|
|
117
173
|
return lazyL2;
|
|
@@ -128,6 +184,7 @@ function createViemClient(args) {
|
|
|
128
184
|
contracts,
|
|
129
185
|
refresh,
|
|
130
186
|
baseToken,
|
|
187
|
+
getProtocolVersion,
|
|
131
188
|
getL2Wallet
|
|
132
189
|
};
|
|
133
190
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createErrorOps, REVERT_TO_READINESS } from './chunk-
|
|
2
|
-
import { IL1Nullifier_default, IERC20_default, L1NativeTokenVault_default, L2NativeTokenVault_default, Mailbox_default, IL1ContractErrors_default, IInteropErrors_default } from './chunk-
|
|
1
|
+
import { createErrorOps, REVERT_TO_READINESS } from './chunk-JSBMIT4S.js';
|
|
2
|
+
import { IL1Nullifier_default, IERC20_default, L1NativeTokenVault_default, L2NativeTokenVault_default, Mailbox_default, IL1ContractErrors_default, IInteropErrors_default } from './chunk-UEKFQAOS.js';
|
|
3
3
|
import { Interface } from 'ethers';
|
|
4
4
|
|
|
5
5
|
var ERROR_IFACES = [];
|