@matterlabs/zksync-js 0.0.18 → 0.0.20
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/index.cjs +36 -26
- package/dist/adapters/ethers/index.cjs.map +1 -1
- package/dist/adapters/ethers/index.js +1 -1
- package/dist/adapters/ethers/sdk.cjs +34 -26
- package/dist/adapters/ethers/sdk.cjs.map +1 -1
- package/dist/adapters/ethers/sdk.js +1 -1
- package/dist/adapters/viem/index.cjs +34 -23
- package/dist/adapters/viem/index.cjs.map +1 -1
- package/dist/adapters/viem/index.js +1 -1
- package/dist/adapters/viem/sdk.cjs +34 -23
- package/dist/adapters/viem/sdk.cjs.map +1 -1
- package/dist/adapters/viem/sdk.js +1 -1
- package/dist/{chunk-GBS7KQFU.js → chunk-3T5V4HKS.js} +21 -8
- package/dist/{chunk-U72MNQIY.js → chunk-E2XKJCI5.js} +20 -10
- package/package.json +2 -2
|
@@ -8176,6 +8176,20 @@ function routeEthDirect() {
|
|
|
8176
8176
|
};
|
|
8177
8177
|
}
|
|
8178
8178
|
|
|
8179
|
+
// src/core/codec/ntv.ts
|
|
8180
|
+
function createNTVCodec(deps) {
|
|
8181
|
+
function encodeAssetId(originChainId, ntvAddress, tokenAddress) {
|
|
8182
|
+
const encoded = deps.encode(
|
|
8183
|
+
["uint256", "address", "address"],
|
|
8184
|
+
[originChainId, ntvAddress, tokenAddress]
|
|
8185
|
+
);
|
|
8186
|
+
return deps.keccak256(encoded);
|
|
8187
|
+
}
|
|
8188
|
+
return {
|
|
8189
|
+
encodeAssetId
|
|
8190
|
+
};
|
|
8191
|
+
}
|
|
8192
|
+
|
|
8179
8193
|
// src/adapters/viem/resources/deposits/routes/approval.ts
|
|
8180
8194
|
function errorText(error) {
|
|
8181
8195
|
const parts = [];
|
|
@@ -8226,12 +8240,25 @@ async function buildApprovalRequest({
|
|
|
8226
8240
|
// src/adapters/viem/resources/deposits/routes/erc20-nonbase.ts
|
|
8227
8241
|
var { wrapAs: wrapAs3 } = createErrorHandlers("deposits");
|
|
8228
8242
|
var ZERO_ASSET_ID = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
8243
|
+
var ntvCodec = createNTVCodec({
|
|
8244
|
+
encode: (types, values) => viem.encodeAbiParameters(
|
|
8245
|
+
types.map((t, i) => ({ type: t, name: `arg${i}` })),
|
|
8246
|
+
values
|
|
8247
|
+
),
|
|
8248
|
+
keccak256: viem.keccak256
|
|
8249
|
+
});
|
|
8229
8250
|
async function encodeSecondBridgeErc20DepositCalldata(input) {
|
|
8230
8251
|
if (!input.ctx.resolvedToken) {
|
|
8231
8252
|
return encodeSecondBridgeErc20Args(input.token, input.amount, input.receiver);
|
|
8232
8253
|
}
|
|
8233
8254
|
const l1ChainId = BigInt(await input.ctx.client.l1.getChainId());
|
|
8234
|
-
const
|
|
8255
|
+
const expectedL1AssetId = ntvCodec.encodeAssetId(
|
|
8256
|
+
l1ChainId,
|
|
8257
|
+
L2_NATIVE_TOKEN_VAULT_ADDRESS,
|
|
8258
|
+
input.token
|
|
8259
|
+
);
|
|
8260
|
+
const assetId = input.ctx.resolvedToken.assetId.toLowerCase();
|
|
8261
|
+
const isL1Origin = assetId === ZERO_ASSET_ID || assetId === expectedL1AssetId.toLowerCase();
|
|
8235
8262
|
if (isL1Origin) {
|
|
8236
8263
|
return encodeSecondBridgeErc20Args(input.token, input.amount, input.receiver);
|
|
8237
8264
|
}
|
|
@@ -8247,8 +8274,8 @@ async function getPriorityGasModel(input) {
|
|
|
8247
8274
|
const l1NativeTokenVault = await input.ctx.contracts.l1NativeTokenVault();
|
|
8248
8275
|
const l1AssetRouter = await input.ctx.contracts.l1AssetRouter();
|
|
8249
8276
|
const l1ChainId = BigInt(await input.ctx.client.l1.getChainId());
|
|
8250
|
-
const isFirstBridge = input.ctx.resolvedToken.assetId.toLowerCase() === ZERO_ASSET_ID
|
|
8251
|
-
const erc20MetadataOriginChainId = isFirstBridge ? l1ChainId : input.ctx.resolvedToken.originChainId;
|
|
8277
|
+
const isFirstBridge = input.ctx.resolvedToken.assetId.toLowerCase() === ZERO_ASSET_ID;
|
|
8278
|
+
const erc20MetadataOriginChainId = isFirstBridge ? l1ChainId : input.ctx.resolvedToken.originChainId !== 0n ? input.ctx.resolvedToken.originChainId : await l1NativeTokenVault.read.originChainId([input.ctx.resolvedToken.assetId]);
|
|
8252
8279
|
const erc20Metadata = await l1NativeTokenVault.read.getERC20Getters([
|
|
8253
8280
|
input.token,
|
|
8254
8281
|
erc20MetadataOriginChainId
|
|
@@ -8535,25 +8562,9 @@ function routeErc20NonBase() {
|
|
|
8535
8562
|
}
|
|
8536
8563
|
};
|
|
8537
8564
|
}
|
|
8538
|
-
|
|
8539
|
-
// src/core/codec/ntv.ts
|
|
8540
|
-
function createNTVCodec(deps) {
|
|
8541
|
-
function encodeAssetId(originChainId, ntvAddress, tokenAddress) {
|
|
8542
|
-
const encoded = deps.encode(
|
|
8543
|
-
["uint256", "address", "address"],
|
|
8544
|
-
[originChainId, ntvAddress, tokenAddress]
|
|
8545
|
-
);
|
|
8546
|
-
return deps.keccak256(encoded);
|
|
8547
|
-
}
|
|
8548
|
-
return {
|
|
8549
|
-
encodeAssetId
|
|
8550
|
-
};
|
|
8551
|
-
}
|
|
8552
|
-
|
|
8553
|
-
// src/adapters/viem/resources/deposits/routes/eth-nonbase.ts
|
|
8554
8565
|
var { wrapAs: wrapAs4 } = createErrorHandlers("deposits");
|
|
8555
8566
|
var ZERO_ASSET_ID2 = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
8556
|
-
var
|
|
8567
|
+
var ntvCodec2 = createNTVCodec({
|
|
8557
8568
|
encode: (types, values) => viem.encodeAbiParameters(
|
|
8558
8569
|
types.map((type, index) => ({ type, name: `arg${index}` })),
|
|
8559
8570
|
values
|
|
@@ -8565,7 +8576,7 @@ async function getPriorityGasModel2(input) {
|
|
|
8565
8576
|
const l1AssetRouter = await input.ctx.contracts.l1AssetRouter();
|
|
8566
8577
|
const l1NativeTokenVault = await input.ctx.contracts.l1NativeTokenVault();
|
|
8567
8578
|
const originChainId = input.ctx.resolvedToken.originChainId !== 0n ? input.ctx.resolvedToken.originChainId : BigInt(await input.ctx.client.l1.getChainId());
|
|
8568
|
-
const resolvedAssetId = input.ctx.resolvedToken.assetId.toLowerCase() === ZERO_ASSET_ID2 ?
|
|
8579
|
+
const resolvedAssetId = input.ctx.resolvedToken.assetId.toLowerCase() === ZERO_ASSET_ID2 ? ntvCodec2.encodeAssetId(originChainId, L2_NATIVE_TOKEN_VAULT_ADDRESS, ETH_ADDRESS) : input.ctx.resolvedToken.assetId;
|
|
8569
8580
|
const erc20Metadata = await l1NativeTokenVault.read.getERC20Getters([
|
|
8570
8581
|
ETH_ADDRESS,
|
|
8571
8582
|
originChainId
|
|
@@ -9083,7 +9094,7 @@ async function waitForL2ExecutionFromL1Tx(l1, l2, l1TxHash) {
|
|
|
9083
9094
|
return { l2Receipt, l2TxHash };
|
|
9084
9095
|
}
|
|
9085
9096
|
var { wrapAs: wrapAs6 } = createErrorHandlers("tokens");
|
|
9086
|
-
var
|
|
9097
|
+
var ntvCodec3 = createNTVCodec({
|
|
9087
9098
|
encode: (types, values) => viem.encodeAbiParameters(
|
|
9088
9099
|
types.map((t, i) => ({ type: t, name: `arg${i}` })),
|
|
9089
9100
|
values
|
|
@@ -9197,7 +9208,7 @@ function createTokensResource(client) {
|
|
|
9197
9208
|
return wrapAs6("CONTRACT", "tokens.isChainEthBased", async () => {
|
|
9198
9209
|
const baseAssetId = await getBaseTokenAssetId();
|
|
9199
9210
|
const l1ChainId = await getL1ChainId();
|
|
9200
|
-
const ethAssetId =
|
|
9211
|
+
const ethAssetId = ntvCodec3.encodeAssetId(
|
|
9201
9212
|
l1ChainId,
|
|
9202
9213
|
L2_NATIVE_TOKEN_VAULT_ADDRESS,
|
|
9203
9214
|
ETH_ADDRESS
|