viem 2.30.0 → 2.30.2
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/CHANGELOG.md +26 -0
- package/_cjs/actions/public/call.js +2 -2
- package/_cjs/actions/public/call.js.map +1 -1
- package/_cjs/actions/public/estimateGas.js +1 -1
- package/_cjs/actions/public/estimateGas.js.map +1 -1
- package/_cjs/actions/public/simulateBlocks.js +1 -1
- package/_cjs/actions/public/simulateBlocks.js.map +1 -1
- package/_cjs/actions/public/waitForTransactionReceipt.js +9 -3
- package/_cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
- package/_cjs/actions/public/watchBlocks.js +4 -2
- package/_cjs/actions/public/watchBlocks.js.map +1 -1
- package/_cjs/chains/definitions/bitkub.js +3 -3
- package/_cjs/chains/definitions/bitkub.js.map +1 -1
- package/_cjs/chains/definitions/chiliz.js +1 -1
- package/_cjs/chains/definitions/chiliz.js.map +1 -1
- package/_cjs/chains/definitions/jbc.js +1 -1
- package/_cjs/chains/definitions/jbc.js.map +1 -1
- package/_cjs/chains/definitions/riseTestnet.js +29 -0
- package/_cjs/chains/definitions/riseTestnet.js.map +1 -0
- package/_cjs/chains/index.js +6 -4
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/utils/rpc/socket.js +8 -4
- package/_cjs/utils/rpc/socket.js.map +1 -1
- package/_cjs/zksync/actions/claimFailedDeposit.js +146 -0
- package/_cjs/zksync/actions/claimFailedDeposit.js.map +1 -0
- package/_cjs/zksync/actions/deposit.js +51 -4
- package/_cjs/zksync/actions/deposit.js.map +1 -1
- package/_cjs/zksync/actions/finalizeWithdrawal.js +41 -41
- package/_cjs/zksync/actions/finalizeWithdrawal.js.map +1 -1
- package/_cjs/zksync/actions/getDefaultBridgeAddresses.js +2 -0
- package/_cjs/zksync/actions/getDefaultBridgeAddresses.js.map +1 -1
- package/_cjs/zksync/actions/isWithdrawalFinalized.js +2 -17
- package/_cjs/zksync/actions/isWithdrawalFinalized.js.map +1 -1
- package/_cjs/zksync/actions/withdraw.js +49 -8
- package/_cjs/zksync/actions/withdraw.js.map +1 -1
- package/_cjs/zksync/constants/address.js +4 -1
- package/_cjs/zksync/constants/address.js.map +1 -1
- package/_cjs/zksync/decorators/walletL1.js +2 -0
- package/_cjs/zksync/decorators/walletL1.js.map +1 -1
- package/_cjs/zksync/errors/bridge.js +23 -1
- package/_cjs/zksync/errors/bridge.js.map +1 -1
- package/_cjs/zksync/index.js +4 -2
- package/_cjs/zksync/index.js.map +1 -1
- package/_esm/actions/public/call.js +2 -2
- package/_esm/actions/public/call.js.map +1 -1
- package/_esm/actions/public/estimateGas.js +1 -1
- package/_esm/actions/public/estimateGas.js.map +1 -1
- package/_esm/actions/public/simulateBlocks.js +1 -1
- package/_esm/actions/public/simulateBlocks.js.map +1 -1
- package/_esm/actions/public/waitForTransactionReceipt.js +10 -3
- package/_esm/actions/public/waitForTransactionReceipt.js.map +1 -1
- package/_esm/actions/public/watchBlocks.js +4 -2
- package/_esm/actions/public/watchBlocks.js.map +1 -1
- package/_esm/chains/definitions/bitkub.js +3 -3
- package/_esm/chains/definitions/bitkub.js.map +1 -1
- package/_esm/chains/definitions/chiliz.js +1 -1
- package/_esm/chains/definitions/chiliz.js.map +1 -1
- package/_esm/chains/definitions/jbc.js +1 -1
- package/_esm/chains/definitions/jbc.js.map +1 -1
- package/_esm/chains/definitions/riseTestnet.js +26 -0
- package/_esm/chains/definitions/riseTestnet.js.map +1 -0
- package/_esm/chains/index.js +2 -0
- package/_esm/chains/index.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/utils/rpc/socket.js +10 -6
- package/_esm/utils/rpc/socket.js.map +1 -1
- package/_esm/zksync/actions/claimFailedDeposit.js +199 -0
- package/_esm/zksync/actions/claimFailedDeposit.js.map +1 -0
- package/_esm/zksync/actions/deposit.js +61 -11
- package/_esm/zksync/actions/deposit.js.map +1 -1
- package/_esm/zksync/actions/finalizeWithdrawal.js +42 -42
- package/_esm/zksync/actions/finalizeWithdrawal.js.map +1 -1
- package/_esm/zksync/actions/getDefaultBridgeAddresses.js +2 -0
- package/_esm/zksync/actions/getDefaultBridgeAddresses.js.map +1 -1
- package/_esm/zksync/actions/isWithdrawalFinalized.js +3 -18
- package/_esm/zksync/actions/isWithdrawalFinalized.js.map +1 -1
- package/_esm/zksync/actions/withdraw.js +54 -10
- package/_esm/zksync/actions/withdraw.js.map +1 -1
- package/_esm/zksync/constants/address.js +3 -0
- package/_esm/zksync/constants/address.js.map +1 -1
- package/_esm/zksync/decorators/walletL1.js +2 -0
- package/_esm/zksync/decorators/walletL1.js.map +1 -1
- package/_esm/zksync/errors/bridge.js +19 -0
- package/_esm/zksync/errors/bridge.js.map +1 -1
- package/_esm/zksync/index.js +1 -0
- package/_esm/zksync/index.js.map +1 -1
- package/_types/actions/public/call.d.ts +1 -1
- package/_types/actions/public/estimateGas.d.ts +1 -1
- package/_types/actions/public/waitForTransactionReceipt.d.ts.map +1 -1
- package/_types/actions/public/watchBlocks.d.ts.map +1 -1
- package/_types/chains/definitions/bitkub.d.ts +3 -3
- package/_types/chains/definitions/chiliz.d.ts +1 -1
- package/_types/chains/definitions/jbc.d.ts +1 -1
- package/_types/chains/definitions/riseTestnet.d.ts +35 -0
- package/_types/chains/definitions/riseTestnet.d.ts.map +1 -0
- package/_types/chains/index.d.ts +2 -0
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/utils/rpc/socket.d.ts.map +1 -1
- package/_types/zksync/actions/claimFailedDeposit.d.ts +77 -0
- package/_types/zksync/actions/claimFailedDeposit.d.ts.map +1 -0
- package/_types/zksync/actions/deposit.d.ts +0 -1
- package/_types/zksync/actions/deposit.d.ts.map +1 -1
- package/_types/zksync/actions/finalizeWithdrawal.d.ts.map +1 -1
- package/_types/zksync/actions/getDefaultBridgeAddresses.d.ts.map +1 -1
- package/_types/zksync/actions/isWithdrawalFinalized.d.ts.map +1 -1
- package/_types/zksync/actions/withdraw.d.ts +1 -1
- package/_types/zksync/actions/withdraw.d.ts.map +1 -1
- package/_types/zksync/constants/address.d.ts +3 -0
- package/_types/zksync/constants/address.d.ts.map +1 -1
- package/_types/zksync/decorators/walletL1.d.ts +32 -1
- package/_types/zksync/decorators/walletL1.d.ts.map +1 -1
- package/_types/zksync/errors/bridge.d.ts +23 -0
- package/_types/zksync/errors/bridge.d.ts.map +1 -1
- package/_types/zksync/index.d.ts +1 -0
- package/_types/zksync/index.d.ts.map +1 -1
- package/_types/zksync/types/contract.d.ts +2 -0
- package/_types/zksync/types/contract.d.ts.map +1 -1
- package/_types/zksync/types/eip1193.d.ts +2 -0
- package/_types/zksync/types/eip1193.d.ts.map +1 -1
- package/actions/public/call.ts +3 -3
- package/actions/public/estimateGas.ts +2 -2
- package/actions/public/simulateBlocks.ts +1 -1
- package/actions/public/waitForTransactionReceipt.ts +159 -158
- package/actions/public/watchBlocks.ts +7 -5
- package/chains/definitions/bitkub.ts +3 -3
- package/chains/definitions/chiliz.ts +1 -1
- package/chains/definitions/jbc.ts +1 -1
- package/chains/definitions/riseTestnet.ts +26 -0
- package/chains/index.ts +2 -0
- package/errors/version.ts +1 -1
- package/package.json +7 -7
- package/utils/rpc/socket.ts +10 -8
- package/zksync/actions/claimFailedDeposit.ts +319 -0
- package/zksync/actions/deposit.ts +116 -14
- package/zksync/actions/finalizeWithdrawal.ts +53 -51
- package/zksync/actions/getDefaultBridgeAddresses.ts +3 -0
- package/zksync/actions/isWithdrawalFinalized.ts +4 -22
- package/zksync/actions/withdraw.ts +64 -8
- package/zksync/constants/address.ts +9 -0
- package/zksync/decorators/walletL1.ts +49 -1
- package/zksync/errors/bridge.ts +35 -0
- package/zksync/index.ts +6 -0
- package/zksync/types/contract.ts +2 -0
- package/zksync/types/eip1193.ts +2 -0
@@ -0,0 +1,146 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.claimFailedDeposit = claimFailedDeposit;
|
4
|
+
const abitype_1 = require("abitype");
|
5
|
+
const ethers_1 = require("ethers");
|
6
|
+
const getTransaction_js_1 = require("../../actions/public/getTransaction.js");
|
7
|
+
const getTransactionReceipt_js_1 = require("../../actions/public/getTransactionReceipt.js");
|
8
|
+
const readContract_js_1 = require("../../actions/public/readContract.js");
|
9
|
+
const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js");
|
10
|
+
const account_js_1 = require("../../errors/account.js");
|
11
|
+
const chain_js_1 = require("../../errors/chain.js");
|
12
|
+
const index_js_1 = require("../../utils/index.js");
|
13
|
+
const address_js_1 = require("../constants/address.js");
|
14
|
+
const bridge_js_1 = require("../errors/bridge.js");
|
15
|
+
const undoL1ToL2Alias_js_1 = require("../utils/bridge/undoL1ToL2Alias.js");
|
16
|
+
const getDefaultBridgeAddresses_js_1 = require("./getDefaultBridgeAddresses.js");
|
17
|
+
const getLogProof_js_1 = require("./getLogProof.js");
|
18
|
+
async function claimFailedDeposit(client, parameters) {
|
19
|
+
const { account: account_ = client.account, chain: chain_ = client.chain, client: l2Client, depositHash, ...rest } = parameters;
|
20
|
+
const account = account_ ? (0, index_js_1.parseAccount)(account_) : client.account;
|
21
|
+
if (!account)
|
22
|
+
throw new account_js_1.AccountNotFoundError({
|
23
|
+
docsPath: '/docs/actions/wallet/sendTransaction',
|
24
|
+
});
|
25
|
+
if (!l2Client.chain)
|
26
|
+
throw new chain_js_1.ClientChainNotConfiguredError();
|
27
|
+
const receipt = (await (0, getTransactionReceipt_js_1.getTransactionReceipt)(l2Client, { hash: depositHash }));
|
28
|
+
const successL2ToL1LogIndex = receipt.l2ToL1Logs.findIndex((l2ToL1log) => (0, index_js_1.isAddressEqual)(l2ToL1log.sender, address_js_1.bootloaderFormalAddress) &&
|
29
|
+
l2ToL1log.key === depositHash);
|
30
|
+
const successL2ToL1Log = receipt.l2ToL1Logs[successL2ToL1LogIndex];
|
31
|
+
if (successL2ToL1Log?.value !== ethers_1.ethers.ZeroHash)
|
32
|
+
throw new bridge_js_1.CannotClaimSuccessfulDepositError({ hash: depositHash });
|
33
|
+
const tx = await (0, getTransaction_js_1.getTransaction)(l2Client, { hash: depositHash });
|
34
|
+
const l1BridgeAddress = (0, undoL1ToL2Alias_js_1.undoL1ToL2Alias)(receipt.from);
|
35
|
+
const l2BridgeAddress = receipt.to;
|
36
|
+
if (!l2BridgeAddress)
|
37
|
+
throw new bridge_js_1.L2BridgeNotFoundError();
|
38
|
+
const l1NativeTokenVault = (await getBridgeAddresses(client, l2Client))
|
39
|
+
.l1NativeTokenVault;
|
40
|
+
let depositSender;
|
41
|
+
let assetId;
|
42
|
+
let assetData;
|
43
|
+
try {
|
44
|
+
const { args } = (0, index_js_1.decodeFunctionData)({
|
45
|
+
abi: (0, abitype_1.parseAbi)([
|
46
|
+
'function finalizeDeposit(address _l1Sender, address _l2Receiver, address _l1Token, uint256 _amount, bytes _data)',
|
47
|
+
]),
|
48
|
+
data: tx.input,
|
49
|
+
});
|
50
|
+
assetData = (0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [args[3], args[1], args[2]]);
|
51
|
+
assetId = await (0, readContract_js_1.readContract)(client, {
|
52
|
+
address: l1NativeTokenVault,
|
53
|
+
abi: (0, abitype_1.parseAbi)(['function assetId(address token) view returns (bytes32)']),
|
54
|
+
functionName: 'assetId',
|
55
|
+
args: [args[2]],
|
56
|
+
});
|
57
|
+
depositSender = args[0];
|
58
|
+
if (assetId === ethers_1.ethers.ZeroHash)
|
59
|
+
throw new Error(`Token ${args[2]} not registered in NTV`);
|
60
|
+
}
|
61
|
+
catch (_e) {
|
62
|
+
const { args } = (0, index_js_1.decodeFunctionData)({
|
63
|
+
abi: (0, abitype_1.parseAbi)([
|
64
|
+
'function finalizeDeposit(uint256 _chainId, bytes32 _assetId, bytes _transferData)',
|
65
|
+
]),
|
66
|
+
data: tx.input,
|
67
|
+
});
|
68
|
+
assetId = args[1];
|
69
|
+
const transferData = args[2];
|
70
|
+
const l1TokenAddress = await (0, readContract_js_1.readContract)(client, {
|
71
|
+
address: l1NativeTokenVault,
|
72
|
+
abi: (0, abitype_1.parseAbi)([
|
73
|
+
'function tokenAddress(bytes32 assetId) view returns (address)',
|
74
|
+
]),
|
75
|
+
functionName: 'tokenAddress',
|
76
|
+
args: [assetId],
|
77
|
+
});
|
78
|
+
const transferDataDecoded = (0, index_js_1.decodeAbiParameters)([
|
79
|
+
{ type: 'address' },
|
80
|
+
{ type: 'address' },
|
81
|
+
{ type: 'address' },
|
82
|
+
{ type: 'uint256' },
|
83
|
+
{ type: 'bytes' },
|
84
|
+
], transferData);
|
85
|
+
assetData = (0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [transferDataDecoded[3], transferDataDecoded[1], l1TokenAddress]);
|
86
|
+
depositSender = transferDataDecoded[0];
|
87
|
+
}
|
88
|
+
const proof = await (0, getLogProof_js_1.getLogProof)(l2Client, {
|
89
|
+
txHash: depositHash,
|
90
|
+
index: successL2ToL1LogIndex,
|
91
|
+
});
|
92
|
+
if (!proof)
|
93
|
+
throw new bridge_js_1.LogProofNotFoundError({
|
94
|
+
hash: depositHash,
|
95
|
+
index: successL2ToL1LogIndex,
|
96
|
+
});
|
97
|
+
const data = (0, index_js_1.encodeFunctionData)({
|
98
|
+
abi: (0, abitype_1.parseAbi)([
|
99
|
+
'function bridgeRecoverFailedTransfer(uint256 _chainId, address _depositSender, bytes32 _assetId, bytes _assetData, bytes32 _l2TxHash, uint256 _l2BatchNumber, uint256 _l2MessageIndex, uint16 _l2TxNumberInBatch, bytes32[] _merkleProof)',
|
100
|
+
]),
|
101
|
+
functionName: 'bridgeRecoverFailedTransfer',
|
102
|
+
args: [
|
103
|
+
BigInt(l2Client.chain.id),
|
104
|
+
depositSender,
|
105
|
+
assetId,
|
106
|
+
assetData,
|
107
|
+
depositHash,
|
108
|
+
receipt.l1BatchNumber,
|
109
|
+
BigInt(proof.id),
|
110
|
+
Number(receipt.l1BatchTxIndex),
|
111
|
+
proof.proof,
|
112
|
+
],
|
113
|
+
});
|
114
|
+
return await (0, sendTransaction_js_1.sendTransaction)(client, {
|
115
|
+
chain: chain_,
|
116
|
+
account,
|
117
|
+
to: l1BridgeAddress,
|
118
|
+
data,
|
119
|
+
...rest,
|
120
|
+
});
|
121
|
+
}
|
122
|
+
async function getBridgeAddresses(client, l2Client) {
|
123
|
+
const addresses = await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client);
|
124
|
+
let l1Nullifier = addresses.l1Nullifier;
|
125
|
+
let l1NativeTokenVault = addresses.l1NativeTokenVault;
|
126
|
+
if (!l1Nullifier)
|
127
|
+
l1Nullifier = await (0, readContract_js_1.readContract)(client, {
|
128
|
+
address: addresses.sharedL1,
|
129
|
+
abi: (0, abitype_1.parseAbi)(['function L1_NULLIFIER() view returns (address)']),
|
130
|
+
functionName: 'L1_NULLIFIER',
|
131
|
+
args: [],
|
132
|
+
});
|
133
|
+
if (!l1NativeTokenVault)
|
134
|
+
l1NativeTokenVault = await (0, readContract_js_1.readContract)(client, {
|
135
|
+
address: addresses.sharedL1,
|
136
|
+
abi: (0, abitype_1.parseAbi)(['function nativeTokenVault() view returns (address)']),
|
137
|
+
functionName: 'nativeTokenVault',
|
138
|
+
args: [],
|
139
|
+
});
|
140
|
+
return {
|
141
|
+
...addresses,
|
142
|
+
l1Nullifier,
|
143
|
+
l1NativeTokenVault,
|
144
|
+
};
|
145
|
+
}
|
146
|
+
//# sourceMappingURL=claimFailedDeposit.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"claimFailedDeposit.js","sourceRoot":"","sources":["../../../zksync/actions/claimFailedDeposit.ts"],"names":[],"mappings":"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"}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.deposit = deposit;
|
4
4
|
const abitype_1 = require("abitype");
|
5
|
+
const ethers_1 = require("ethers");
|
5
6
|
const estimateGas_js_1 = require("../../actions/public/estimateGas.js");
|
6
7
|
const readContract_js_1 = require("../../actions/public/readContract.js");
|
7
8
|
const waitForTransactionReceipt_js_1 = require("../../actions/public/waitForTransactionReceipt.js");
|
@@ -33,7 +34,7 @@ async function deposit(client, parameters) {
|
|
33
34
|
throw new chain_js_1.ClientChainNotConfiguredError();
|
34
35
|
if ((0, index_js_1.isAddressEqual)(token, address_js_2.legacyEthAddress))
|
35
36
|
token = address_js_2.ethAddressInContracts;
|
36
|
-
const bridgeAddresses = await (
|
37
|
+
const bridgeAddresses = await getBridgeAddresses(client, l2Client);
|
37
38
|
const bridgehub = await (0, getBridgehubContractAddress_js_1.getBridgehubContractAddress)(l2Client);
|
38
39
|
const baseToken = await (0, readContract_js_1.readContract)(client, {
|
39
40
|
address: bridgehub,
|
@@ -123,7 +124,7 @@ async function getL1DepositTx(client, account, parameters, bridgeAddresses, brid
|
|
123
124
|
refundRecipient,
|
124
125
|
secondBridgeAddress: bridgeAddress,
|
125
126
|
secondBridgeValue: 0n,
|
126
|
-
secondBridgeCalldata:
|
127
|
+
secondBridgeCalldata: await getSecondBridgeCalldata(client, bridgeAddresses.l1NativeTokenVault, token, amount, to),
|
127
128
|
},
|
128
129
|
],
|
129
130
|
});
|
@@ -147,7 +148,7 @@ async function getL1DepositTx(client, account, parameters, bridgeAddresses, brid
|
|
147
148
|
refundRecipient,
|
148
149
|
secondBridgeAddress: bridgeAddress,
|
149
150
|
secondBridgeValue: amount,
|
150
|
-
secondBridgeCalldata:
|
151
|
+
secondBridgeCalldata: await getSecondBridgeCalldata(client, bridgeAddresses.l1NativeTokenVault, address_js_2.ethAddressInContracts, amount, to),
|
151
152
|
},
|
152
153
|
],
|
153
154
|
});
|
@@ -171,7 +172,7 @@ async function getL1DepositTx(client, account, parameters, bridgeAddresses, brid
|
|
171
172
|
refundRecipient,
|
172
173
|
secondBridgeAddress: bridgeAddress,
|
173
174
|
secondBridgeValue: 0n,
|
174
|
-
secondBridgeCalldata:
|
175
|
+
secondBridgeCalldata: await getSecondBridgeCalldata(client, bridgeAddresses.l1NativeTokenVault, token, amount, to),
|
175
176
|
},
|
176
177
|
],
|
177
178
|
});
|
@@ -420,6 +421,52 @@ async function encodeDefaultBridgeData(client, token) {
|
|
420
421
|
const decimalsBytes = (0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }], [decimals]);
|
421
422
|
return (0, index_js_1.encodeAbiParameters)([{ type: 'bytes' }, { type: 'bytes' }, { type: 'bytes' }], [nameBytes, symbolBytes, decimalsBytes]);
|
422
423
|
}
|
424
|
+
async function getSecondBridgeCalldata(client, l1NativeTokenVault, token, amount, to) {
|
425
|
+
let assetId;
|
426
|
+
let token_ = token;
|
427
|
+
if ((0, index_js_1.isAddressEqual)(token, address_js_2.legacyEthAddress))
|
428
|
+
token_ = address_js_2.ethAddressInContracts;
|
429
|
+
const assetIdFromNTV = await (0, readContract_js_1.readContract)(client, {
|
430
|
+
address: l1NativeTokenVault,
|
431
|
+
abi: (0, abitype_1.parseAbi)(['function assetId(address token) view returns (bytes32)']),
|
432
|
+
functionName: 'assetId',
|
433
|
+
args: [token_],
|
434
|
+
});
|
435
|
+
if (assetIdFromNTV && assetIdFromNTV !== ethers_1.ethers.ZeroHash)
|
436
|
+
assetId = assetIdFromNTV;
|
437
|
+
else {
|
438
|
+
if (!client.chain)
|
439
|
+
throw new chain_js_1.ClientChainNotConfiguredError();
|
440
|
+
assetId = (0, index_js_1.keccak256)((0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [BigInt(client.chain.id), address_js_2.l2NativeTokenVaultAddress, token_]));
|
441
|
+
}
|
442
|
+
const ntvData = (0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [BigInt(amount), to, token_]);
|
443
|
+
const data = (0, index_js_1.encodeAbiParameters)([{ type: 'bytes32' }, { type: 'bytes' }], [assetId, ntvData]);
|
444
|
+
return (0, index_js_1.concatHex)(['0x01', data]);
|
445
|
+
}
|
446
|
+
async function getBridgeAddresses(client, l2Client) {
|
447
|
+
const addresses = await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client);
|
448
|
+
let l1Nullifier = addresses.l1Nullifier;
|
449
|
+
let l1NativeTokenVault = addresses.l1NativeTokenVault;
|
450
|
+
if (!l1Nullifier)
|
451
|
+
l1Nullifier = await (0, readContract_js_1.readContract)(client, {
|
452
|
+
address: addresses.sharedL1,
|
453
|
+
abi: (0, abitype_1.parseAbi)(['function L1_NULLIFIER() view returns (address)']),
|
454
|
+
functionName: 'L1_NULLIFIER',
|
455
|
+
args: [],
|
456
|
+
});
|
457
|
+
if (!l1NativeTokenVault)
|
458
|
+
l1NativeTokenVault = await (0, readContract_js_1.readContract)(client, {
|
459
|
+
address: addresses.sharedL1,
|
460
|
+
abi: (0, abitype_1.parseAbi)(['function nativeTokenVault() view returns (address)']),
|
461
|
+
functionName: 'nativeTokenVault',
|
462
|
+
args: [],
|
463
|
+
});
|
464
|
+
return {
|
465
|
+
...addresses,
|
466
|
+
l1Nullifier,
|
467
|
+
l1NativeTokenVault,
|
468
|
+
};
|
469
|
+
}
|
423
470
|
function scaleGasLimit(gasLimit) {
|
424
471
|
return (gasLimit * BigInt(12)) / BigInt(10);
|
425
472
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../zksync/actions/deposit.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../zksync/actions/deposit.ts"],"names":[],"mappings":"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"}
|
@@ -1,13 +1,12 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.finalizeWithdrawal = finalizeWithdrawal;
|
4
|
+
const abitype_1 = require("abitype");
|
4
5
|
const readContract_js_1 = require("../../actions/public/readContract.js");
|
5
6
|
const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js");
|
6
7
|
const account_js_1 = require("../../errors/account.js");
|
7
8
|
const chain_js_1 = require("../../errors/chain.js");
|
8
9
|
const index_js_1 = require("../../utils/index.js");
|
9
|
-
const abis_js_1 = require("../constants/abis.js");
|
10
|
-
const address_js_1 = require("../constants/address.js");
|
11
10
|
const bridge_js_1 = require("../errors/bridge.js");
|
12
11
|
const getWithdrawalL2ToL1Log_js_1 = require("../utils/bridge/getWithdrawalL2ToL1Log.js");
|
13
12
|
const getWithdrawalLog_js_1 = require("../utils/bridge/getWithdrawalLog.js");
|
@@ -22,41 +21,32 @@ async function finalizeWithdrawal(client, parameters) {
|
|
22
21
|
});
|
23
22
|
if (!l2Client.chain)
|
24
23
|
throw new chain_js_1.ChainNotFoundError();
|
25
|
-
const
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
l1Bridge = await (0, readContract_js_1.readContract)(l2Client, {
|
31
|
-
address: sender,
|
32
|
-
abi: abis_js_1.l2SharedBridgeAbi,
|
33
|
-
functionName: 'l1SharedBridge',
|
34
|
-
args: [],
|
35
|
-
});
|
36
|
-
else
|
37
|
-
l1Bridge = await (0, readContract_js_1.readContract)(l2Client, {
|
38
|
-
address: sender,
|
39
|
-
abi: abis_js_1.l2SharedBridgeAbi,
|
40
|
-
functionName: 'l1Bridge',
|
41
|
-
args: [],
|
42
|
-
});
|
24
|
+
const finalizeWithdrawalParams = await getFinalizeWithdrawalParams(l2Client, {
|
25
|
+
hash,
|
26
|
+
index,
|
27
|
+
});
|
28
|
+
const l1Nullifier = (await getBridgeAddresses(client, l2Client)).l1Nullifier;
|
43
29
|
const data = (0, index_js_1.encodeFunctionData)({
|
44
|
-
abi:
|
45
|
-
|
30
|
+
abi: (0, abitype_1.parseAbi)([
|
31
|
+
'function finalizeDeposit((uint256 chainId, uint256 l2BatchNumber, uint256 l2MessageIndex, address l2Sender, uint16 l2TxNumberInBatch, bytes message, bytes32[] merkleProof) _finalizeWithdrawalParams)',
|
32
|
+
]),
|
33
|
+
functionName: 'finalizeDeposit',
|
46
34
|
args: [
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
35
|
+
{
|
36
|
+
chainId: BigInt(l2Client.chain.id),
|
37
|
+
l2BatchNumber: finalizeWithdrawalParams.l1BatchNumber,
|
38
|
+
l2MessageIndex: BigInt(finalizeWithdrawalParams.l2MessageIndex),
|
39
|
+
l2Sender: finalizeWithdrawalParams.sender,
|
40
|
+
l2TxNumberInBatch: Number(finalizeWithdrawalParams.l2TxNumberInBlock),
|
41
|
+
message: finalizeWithdrawalParams.message,
|
42
|
+
merkleProof: finalizeWithdrawalParams.proof,
|
43
|
+
},
|
53
44
|
],
|
54
45
|
});
|
55
46
|
return await (0, sendTransaction_js_1.sendTransaction)(client, {
|
56
47
|
account,
|
57
|
-
to:
|
48
|
+
to: l1Nullifier,
|
58
49
|
data,
|
59
|
-
value: 0n,
|
60
50
|
...rest,
|
61
51
|
});
|
62
52
|
}
|
@@ -82,18 +72,28 @@ async function getFinalizeWithdrawalParams(client, parameters) {
|
|
82
72
|
proof: proof.proof,
|
83
73
|
};
|
84
74
|
}
|
85
|
-
async function
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
75
|
+
async function getBridgeAddresses(client, l2Client) {
|
76
|
+
const addresses = await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client);
|
77
|
+
let l1Nullifier = addresses.l1Nullifier;
|
78
|
+
let l1NativeTokenVault = addresses.l1NativeTokenVault;
|
79
|
+
if (!l1Nullifier)
|
80
|
+
l1Nullifier = await (0, readContract_js_1.readContract)(client, {
|
81
|
+
address: addresses.sharedL1,
|
82
|
+
abi: (0, abitype_1.parseAbi)(['function L1_NULLIFIER() view returns (address)']),
|
83
|
+
functionName: 'L1_NULLIFIER',
|
91
84
|
args: [],
|
92
85
|
});
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
86
|
+
if (!l1NativeTokenVault)
|
87
|
+
l1NativeTokenVault = await (0, readContract_js_1.readContract)(client, {
|
88
|
+
address: addresses.sharedL1,
|
89
|
+
abi: (0, abitype_1.parseAbi)(['function nativeTokenVault() view returns (address)']),
|
90
|
+
functionName: 'nativeTokenVault',
|
91
|
+
args: [],
|
92
|
+
});
|
93
|
+
return {
|
94
|
+
...addresses,
|
95
|
+
l1Nullifier,
|
96
|
+
l1NativeTokenVault,
|
97
|
+
};
|
98
98
|
}
|
99
99
|
//# sourceMappingURL=finalizeWithdrawal.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"finalizeWithdrawal.js","sourceRoot":"","sources":["../../../zksync/actions/finalizeWithdrawal.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"finalizeWithdrawal.js","sourceRoot":"","sources":["../../../zksync/actions/finalizeWithdrawal.ts"],"names":[],"mappings":"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"}
|
@@ -7,6 +7,8 @@ async function getDefaultBridgeAddresses(client) {
|
|
7
7
|
erc20L1: addresses.l1Erc20DefaultBridge,
|
8
8
|
sharedL1: addresses.l1SharedDefaultBridge,
|
9
9
|
sharedL2: addresses.l2SharedDefaultBridge,
|
10
|
+
l1Nullifier: addresses.l1Nullifier,
|
11
|
+
l1NativeTokenVault: addresses.l1NativeTokenVault,
|
10
12
|
};
|
11
13
|
}
|
12
14
|
//# sourceMappingURL=getDefaultBridgeAddresses.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getDefaultBridgeAddresses.js","sourceRoot":"","sources":["../../../zksync/actions/getDefaultBridgeAddresses.ts"],"names":[],"mappings":";;AASA,
|
1
|
+
{"version":3,"file":"getDefaultBridgeAddresses.js","sourceRoot":"","sources":["../../../zksync/actions/getDefaultBridgeAddresses.ts"],"names":[],"mappings":";;AASA,8DAeC;AAfM,KAAK,UAAU,yBAAyB,CAI7C,MAAgE;IAEhE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;IAE5E,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,oBAAoB;QACvC,QAAQ,EAAE,SAAS,CAAC,qBAAqB;QACzC,QAAQ,EAAE,SAAS,CAAC,qBAAqB;QACzC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;KACjD,CAAA;AACH,CAAC"}
|
@@ -3,13 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isWithdrawalFinalized = isWithdrawalFinalized;
|
4
4
|
const readContract_js_1 = require("../../actions/public/readContract.js");
|
5
5
|
const chain_js_1 = require("../../errors/chain.js");
|
6
|
-
const index_js_1 = require("../../utils/index.js");
|
7
6
|
const abis_js_1 = require("../constants/abis.js");
|
8
|
-
const address_js_1 = require("../constants/address.js");
|
9
7
|
const bridge_js_1 = require("../errors/bridge.js");
|
10
8
|
const getWithdrawalL2ToL1Log_js_1 = require("../utils/bridge/getWithdrawalL2ToL1Log.js");
|
11
9
|
const getWithdrawalLog_js_1 = require("../utils/bridge/getWithdrawalLog.js");
|
12
|
-
const getBaseTokenL1Address_js_1 = require("./getBaseTokenL1Address.js");
|
13
10
|
const getDefaultBridgeAddresses_js_1 = require("./getDefaultBridgeAddresses.js");
|
14
11
|
const getLogProof_js_1 = require("./getLogProof.js");
|
15
12
|
async function isWithdrawalFinalized(client, parameters) {
|
@@ -21,25 +18,13 @@ async function isWithdrawalFinalized(client, parameters) {
|
|
21
18
|
hash,
|
22
19
|
index,
|
23
20
|
});
|
24
|
-
const sender = (0, index_js_1.slice)(log.topics[1], 12);
|
25
21
|
const proof = await (0, getLogProof_js_1.getLogProof)(l2Client, {
|
26
22
|
txHash: hash,
|
27
23
|
index: l2ToL1LogIndex,
|
28
24
|
});
|
29
|
-
if (!proof)
|
25
|
+
if (!proof)
|
30
26
|
throw new bridge_js_1.WithdrawalLogNotFoundError({ hash });
|
31
|
-
|
32
|
-
let l1Bridge;
|
33
|
-
if ((0, index_js_1.isAddressEqual)(sender, await (0, getBaseTokenL1Address_js_1.getBaseTokenL1Address)(l2Client)) ||
|
34
|
-
(0, index_js_1.isAddressEqual)(sender, address_js_1.l2BaseTokenAddress))
|
35
|
-
l1Bridge = (await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client)).sharedL1;
|
36
|
-
else
|
37
|
-
l1Bridge = await (0, readContract_js_1.readContract)(l2Client, {
|
38
|
-
address: sender,
|
39
|
-
abi: abis_js_1.l2SharedBridgeAbi,
|
40
|
-
functionName: 'l1SharedBridge',
|
41
|
-
args: [],
|
42
|
-
});
|
27
|
+
const l1Bridge = (await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client)).sharedL1;
|
43
28
|
return await (0, readContract_js_1.readContract)(client, {
|
44
29
|
address: l1Bridge,
|
45
30
|
abi: abis_js_1.l1SharedBridgeAbi,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"isWithdrawalFinalized.js","sourceRoot":"","sources":["../../../zksync/actions/isWithdrawalFinalized.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"isWithdrawalFinalized.js","sourceRoot":"","sources":["../../../zksync/actions/isWithdrawalFinalized.ts"],"names":[],"mappings":";;AAmEA,sDAoCC;AAtGD,0EAAmE;AAGnE,oDAG8B;AAG9B,kDAAwD;AACxD,mDAG4B;AAE5B,yFAAkF;AAClF,6EAAsE;AACtE,iFAA0E;AAC1E,qDAA8C;AAgDvC,KAAK,UAAU,qBAAqB,CAMzC,MAAyC,EACzC,UAA+D;IAE/D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,UAAU,CAAA;IAExD,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,IAAI,6BAAkB,EAAE,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,sCAAgB,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACjE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,kDAAsB,EAAC,QAAQ,EAAE;QAChE,IAAI;QACJ,KAAK;KACN,CAAC,CAAA;IAKF,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAW,EAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,cAAe;KACvB,CAAC,CAAA;IACF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,sCAA0B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAE1D,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAA,wDAAyB,EAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;IAErE,OAAO,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAChC,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,2BAAiB;QACtB,YAAY,EAAE,uBAAuB;QACrC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,aAAc,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACxE,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,15 +1,19 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.withdraw = withdraw;
|
4
|
+
const abitype_1 = require("abitype");
|
5
|
+
const readContract_js_1 = require("../../actions/public/readContract.js");
|
4
6
|
const account_js_1 = require("../../errors/account.js");
|
7
|
+
const chain_js_1 = require("../../errors/chain.js");
|
5
8
|
const index_js_1 = require("../../utils/index.js");
|
6
9
|
const abis_js_1 = require("../constants/abis.js");
|
7
10
|
const address_js_1 = require("../constants/address.js");
|
8
11
|
const getDefaultBridgeAddresses_js_1 = require("./getDefaultBridgeAddresses.js");
|
12
|
+
const getL1ChainId_js_1 = require("./getL1ChainId.js");
|
9
13
|
const getL2TokenAddress_js_1 = require("./getL2TokenAddress.js");
|
10
14
|
const sendTransaction_js_1 = require("./sendTransaction.js");
|
11
15
|
async function withdraw(client, parameters) {
|
12
|
-
let { account: account_ = client.account, token = address_js_1.l2BaseTokenAddress, to, amount, bridgeAddress, ...rest } = parameters;
|
16
|
+
let { account: account_ = client.account, chain: chain_ = client.chain, token = address_js_1.l2BaseTokenAddress, to, amount, bridgeAddress, ...rest } = parameters;
|
13
17
|
const account = account_ ? (0, index_js_1.parseAccount)(account_) : client.account;
|
14
18
|
if (!account)
|
15
19
|
throw new account_js_1.AccountNotFoundError({
|
@@ -33,16 +37,53 @@ async function withdraw(client, parameters) {
|
|
33
37
|
contract = address_js_1.l2BaseTokenAddress;
|
34
38
|
}
|
35
39
|
else {
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
+
const assetId = await (0, readContract_js_1.readContract)(client, {
|
41
|
+
address: address_js_1.l2NativeTokenVaultAddress,
|
42
|
+
abi: (0, abitype_1.parseAbi)(['function assetId(address token) view returns (bytes32)']),
|
43
|
+
functionName: 'assetId',
|
44
|
+
args: [token],
|
45
|
+
});
|
46
|
+
const originChainId = await (0, readContract_js_1.readContract)(client, {
|
47
|
+
address: address_js_1.l2NativeTokenVaultAddress,
|
48
|
+
abi: (0, abitype_1.parseAbi)([
|
49
|
+
'function originChainId(bytes32 assetId) view returns (uint256)',
|
50
|
+
]),
|
51
|
+
functionName: 'originChainId',
|
52
|
+
args: [assetId],
|
40
53
|
});
|
41
|
-
|
42
|
-
|
43
|
-
|
54
|
+
const l1ChainId = await (0, getL1ChainId_js_1.getL1ChainId)(client);
|
55
|
+
const isTokenL1Native = originChainId === BigInt(l1ChainId) || token === address_js_1.ethAddressInContracts;
|
56
|
+
if (!bridgeAddress) {
|
57
|
+
bridgeAddress = isTokenL1Native
|
58
|
+
? (await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(client)).sharedL2
|
59
|
+
: address_js_1.l2AssetRouterAddress;
|
60
|
+
}
|
61
|
+
if (!isTokenL1Native) {
|
62
|
+
contract = address_js_1.l2AssetRouterAddress;
|
63
|
+
if (!chain_)
|
64
|
+
throw new chain_js_1.ClientChainNotConfiguredError();
|
65
|
+
const chainId = chain_.id;
|
66
|
+
const assetId = (0, index_js_1.keccak256)((0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [BigInt(chainId), address_js_1.l2NativeTokenVaultAddress, token]));
|
67
|
+
const assetData = (0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [BigInt(amount), to, token]);
|
68
|
+
data = (0, index_js_1.encodeFunctionData)({
|
69
|
+
abi: (0, abitype_1.parseAbi)([
|
70
|
+
'function withdraw(bytes32 _assetId, bytes _transferData)',
|
71
|
+
]),
|
72
|
+
functionName: 'withdraw',
|
73
|
+
args: [assetId, assetData],
|
74
|
+
});
|
75
|
+
}
|
76
|
+
else {
|
77
|
+
contract = bridgeAddress;
|
78
|
+
data = (0, index_js_1.encodeFunctionData)({
|
79
|
+
abi: abis_js_1.l2SharedBridgeAbi,
|
80
|
+
functionName: 'withdraw',
|
81
|
+
args: [to, token, amount],
|
82
|
+
});
|
83
|
+
}
|
44
84
|
}
|
45
85
|
return await (0, sendTransaction_js_1.sendTransaction)(client, {
|
86
|
+
chain: chain_,
|
46
87
|
account,
|
47
88
|
to: contract,
|
48
89
|
data,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../zksync/actions/withdraw.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../zksync/actions/withdraw.ts"],"names":[],"mappings":"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"}
|