@matterlabs/zksync-js 0.0.18 → 0.0.19
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 +34 -24
- package/dist/adapters/ethers/index.cjs.map +1 -1
- package/dist/adapters/ethers/index.js +1 -1
- package/dist/adapters/ethers/sdk.cjs +32 -24
- 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-5H3VTIYD.js} +18 -8
- package/package.json +2 -2
|
@@ -8556,15 +8556,41 @@ function routeEthDirect() {
|
|
|
8556
8556
|
}
|
|
8557
8557
|
};
|
|
8558
8558
|
}
|
|
8559
|
+
|
|
8560
|
+
// src/core/codec/ntv.ts
|
|
8561
|
+
function createNTVCodec(deps) {
|
|
8562
|
+
function encodeAssetId(originChainId, ntvAddress, tokenAddress) {
|
|
8563
|
+
const encoded = deps.encode(
|
|
8564
|
+
["uint256", "address", "address"],
|
|
8565
|
+
[originChainId, ntvAddress, tokenAddress]
|
|
8566
|
+
);
|
|
8567
|
+
return deps.keccak256(encoded);
|
|
8568
|
+
}
|
|
8569
|
+
return {
|
|
8570
|
+
encodeAssetId
|
|
8571
|
+
};
|
|
8572
|
+
}
|
|
8573
|
+
|
|
8574
|
+
// src/adapters/ethers/resources/deposits/routes/erc20-nonbase.ts
|
|
8559
8575
|
var { wrapAs: wrapAs3 } = createErrorHandlers("deposits");
|
|
8560
8576
|
var ZERO_L2_TOKEN_ADDRESS2 = "0x0000000000000000000000000000000000000000";
|
|
8561
8577
|
var ZERO_ASSET_ID = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
8578
|
+
var ntvCodec = createNTVCodec({
|
|
8579
|
+
encode: (types, values) => ethers.AbiCoder.defaultAbiCoder().encode(types, values),
|
|
8580
|
+
keccak256: (data) => ethers.keccak256(data)
|
|
8581
|
+
});
|
|
8562
8582
|
async function encodeSecondBridgeErc20DepositCalldata(input) {
|
|
8563
8583
|
if (!input.ctx.resolvedToken) {
|
|
8564
8584
|
return encodeSecondBridgeErc20Args(input.token, input.amount, input.receiver);
|
|
8565
8585
|
}
|
|
8566
|
-
const { chainId
|
|
8567
|
-
const
|
|
8586
|
+
const { chainId } = await input.ctx.client.l1.getNetwork();
|
|
8587
|
+
const expectedL1AssetId = ntvCodec.encodeAssetId(
|
|
8588
|
+
BigInt(chainId),
|
|
8589
|
+
L2_NATIVE_TOKEN_VAULT_ADDRESS,
|
|
8590
|
+
input.token
|
|
8591
|
+
);
|
|
8592
|
+
const assetId = input.ctx.resolvedToken.assetId.toLowerCase();
|
|
8593
|
+
const isL1Origin = assetId === ZERO_ASSET_ID || assetId === expectedL1AssetId.toLowerCase();
|
|
8568
8594
|
if (isL1Origin) {
|
|
8569
8595
|
return encodeSecondBridgeErc20Args(input.token, input.amount, input.receiver);
|
|
8570
8596
|
}
|
|
@@ -8580,8 +8606,8 @@ async function getPriorityGasModel(input) {
|
|
|
8580
8606
|
const l1NativeTokenVault = await input.ctx.contracts.l1NativeTokenVault();
|
|
8581
8607
|
const l1AssetRouter = await input.ctx.contracts.l1AssetRouter();
|
|
8582
8608
|
const { chainId: l1ChainId } = await input.ctx.client.l1.getNetwork();
|
|
8583
|
-
const isFirstBridge = input.ctx.resolvedToken.assetId.toLowerCase() === ZERO_ASSET_ID
|
|
8584
|
-
const erc20MetadataOriginChainId = isFirstBridge ? BigInt(l1ChainId) : input.ctx.resolvedToken.originChainId;
|
|
8609
|
+
const isFirstBridge = input.ctx.resolvedToken.assetId.toLowerCase() === ZERO_ASSET_ID;
|
|
8610
|
+
const erc20MetadataOriginChainId = isFirstBridge ? BigInt(l1ChainId) : input.ctx.resolvedToken.originChainId !== 0n ? input.ctx.resolvedToken.originChainId : await l1NativeTokenVault.originChainId(input.ctx.resolvedToken.assetId);
|
|
8585
8611
|
const erc20Metadata = await l1NativeTokenVault.getERC20Getters(
|
|
8586
8612
|
input.token,
|
|
8587
8613
|
erc20MetadataOriginChainId
|
|
@@ -8788,26 +8814,10 @@ function routeErc20NonBase() {
|
|
|
8788
8814
|
}
|
|
8789
8815
|
};
|
|
8790
8816
|
}
|
|
8791
|
-
|
|
8792
|
-
// src/core/codec/ntv.ts
|
|
8793
|
-
function createNTVCodec(deps) {
|
|
8794
|
-
function encodeAssetId(originChainId, ntvAddress, tokenAddress) {
|
|
8795
|
-
const encoded = deps.encode(
|
|
8796
|
-
["uint256", "address", "address"],
|
|
8797
|
-
[originChainId, ntvAddress, tokenAddress]
|
|
8798
|
-
);
|
|
8799
|
-
return deps.keccak256(encoded);
|
|
8800
|
-
}
|
|
8801
|
-
return {
|
|
8802
|
-
encodeAssetId
|
|
8803
|
-
};
|
|
8804
|
-
}
|
|
8805
|
-
|
|
8806
|
-
// src/adapters/ethers/resources/deposits/routes/eth-nonbase.ts
|
|
8807
8817
|
var { wrapAs: wrapAs4 } = createErrorHandlers("deposits");
|
|
8808
8818
|
var ZERO_L2_TOKEN_ADDRESS3 = "0x0000000000000000000000000000000000000000";
|
|
8809
8819
|
var ZERO_ASSET_ID2 = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
8810
|
-
var
|
|
8820
|
+
var ntvCodec2 = createNTVCodec({
|
|
8811
8821
|
encode: (types, values) => ethers.AbiCoder.defaultAbiCoder().encode(types, values),
|
|
8812
8822
|
keccak256: (data) => ethers.keccak256(data)
|
|
8813
8823
|
});
|
|
@@ -8816,7 +8826,7 @@ async function getPriorityGasModel2(input) {
|
|
|
8816
8826
|
const l1AssetRouter = await input.ctx.contracts.l1AssetRouter();
|
|
8817
8827
|
const l1NativeTokenVault = await input.ctx.contracts.l1NativeTokenVault();
|
|
8818
8828
|
const originChainId = input.ctx.resolvedToken.originChainId !== 0n ? input.ctx.resolvedToken.originChainId : BigInt((await input.ctx.client.l1.getNetwork()).chainId);
|
|
8819
|
-
const resolvedAssetId = input.ctx.resolvedToken.assetId.toLowerCase() === ZERO_ASSET_ID2 ?
|
|
8829
|
+
const resolvedAssetId = input.ctx.resolvedToken.assetId.toLowerCase() === ZERO_ASSET_ID2 ? ntvCodec2.encodeAssetId(originChainId, L2_NATIVE_TOKEN_VAULT_ADDRESS, ETH_ADDRESS) : input.ctx.resolvedToken.assetId;
|
|
8820
8830
|
const erc20Metadata = await l1NativeTokenVault.getERC20Getters(
|
|
8821
8831
|
ETH_ADDRESS,
|
|
8822
8832
|
originChainId
|
|
@@ -9154,7 +9164,7 @@ function routeErc20Base() {
|
|
|
9154
9164
|
}
|
|
9155
9165
|
var { wrapAs: wrapAs6 } = createErrorHandlers("tokens");
|
|
9156
9166
|
var abi = ethers.AbiCoder.defaultAbiCoder();
|
|
9157
|
-
var
|
|
9167
|
+
var ntvCodec3 = createNTVCodec({
|
|
9158
9168
|
encode: (types, values) => abi.encode(types, values),
|
|
9159
9169
|
keccak256: (data) => ethers.ethers.keccak256(data)
|
|
9160
9170
|
});
|
|
@@ -9273,7 +9283,7 @@ function createTokensResource(client) {
|
|
|
9273
9283
|
return wrapAs6("CONTRACT", "tokens.isChainEthBased", async () => {
|
|
9274
9284
|
const baseAssetId = await getBaseTokenAssetId();
|
|
9275
9285
|
const l1ChainId = await getL1ChainId();
|
|
9276
|
-
const ethAssetId =
|
|
9286
|
+
const ethAssetId = ntvCodec3.encodeAssetId(
|
|
9277
9287
|
l1ChainId,
|
|
9278
9288
|
L2_NATIVE_TOKEN_VAULT_ADDRESS,
|
|
9279
9289
|
ETH_ADDRESS
|