viem 2.30.1 → 2.30.3
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 +22 -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/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/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/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/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/watchBlocks.d.ts.map +1 -1
- package/_types/chains/definitions/bitkub.d.ts +3 -3
- 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/watchBlocks.ts +7 -5
- package/chains/definitions/bitkub.ts +3 -3
- 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 +1 -1
- 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,199 @@
|
|
1
|
+
import { parseAbi } from 'abitype';
|
2
|
+
import { getTransaction } from '../../actions/public/getTransaction.js';
|
3
|
+
import { getTransactionReceipt } from '../../actions/public/getTransactionReceipt.js';
|
4
|
+
import { readContract } from '../../actions/public/readContract.js';
|
5
|
+
import { sendTransaction, } from '../../actions/wallet/sendTransaction.js';
|
6
|
+
import { zeroHash } from '../../constants/bytes.js';
|
7
|
+
import { AccountNotFoundError } from '../../errors/account.js';
|
8
|
+
import { ClientChainNotConfiguredError } from '../../errors/chain.js';
|
9
|
+
import { decodeAbiParameters, decodeFunctionData, encodeAbiParameters, encodeFunctionData, isAddressEqual, parseAccount, } from '../../utils/index.js';
|
10
|
+
import { bootloaderFormalAddress } from '../constants/address.js';
|
11
|
+
import { CannotClaimSuccessfulDepositError, L2BridgeNotFoundError, LogProofNotFoundError, } from '../errors/bridge.js';
|
12
|
+
import { undoL1ToL2Alias } from '../utils/bridge/undoL1ToL2Alias.js';
|
13
|
+
import { getDefaultBridgeAddresses } from './getDefaultBridgeAddresses.js';
|
14
|
+
import { getLogProof } from './getLogProof.js';
|
15
|
+
/**
|
16
|
+
* Withdraws funds from the initiated deposit, which failed when finalizing on L2.
|
17
|
+
* If the deposit L2 transaction has failed, it sends an L1 transaction calling `claimFailedDeposit` method of the
|
18
|
+
* L1 bridge, which results in returning L1 tokens back to the depositor.
|
19
|
+
*
|
20
|
+
* @param client - Client to use
|
21
|
+
* @param parameters - {@link ClaimFailedDepositParameters}
|
22
|
+
* @returns hash - The [Transaction](https://viem.sh/docs/glossary/terms#transaction) hash. {@link ClaimFailedDepositReturnType}
|
23
|
+
*
|
24
|
+
* @example
|
25
|
+
* import { createPublicClient, http } from 'viem'
|
26
|
+
* import { privateKeyToAccount } from 'viem/accounts'
|
27
|
+
* import { zksync, mainnet } from 'viem/chains'
|
28
|
+
* import { claimFailedDeposit, publicActionsL2 } from 'viem/zksync'
|
29
|
+
*
|
30
|
+
* const client = createPublicClient({
|
31
|
+
* chain: mainnet,
|
32
|
+
* transport: http(),
|
33
|
+
* })
|
34
|
+
*
|
35
|
+
* const clientL2 = createPublicClient({
|
36
|
+
* chain: zksync,
|
37
|
+
* transport: http(),
|
38
|
+
* }).extend(publicActionsL2())
|
39
|
+
*
|
40
|
+
* const account = privateKeyToAccount('0x…')
|
41
|
+
*
|
42
|
+
* const hash = await claimFailedDeposit(client, {
|
43
|
+
* client: clientL2,
|
44
|
+
* account,
|
45
|
+
* depositHash: <L2_HASH_OF_FAILED_DEPOSIT>,
|
46
|
+
* })
|
47
|
+
*
|
48
|
+
* @example Account Hoisting
|
49
|
+
* import { createPublicClient, createWalletClient, http } from 'viem'
|
50
|
+
* import { privateKeyToAccount } from 'viem/accounts'
|
51
|
+
* import { zksync, mainnet } from 'viem/chains'
|
52
|
+
* import { publicActionsL2 } from 'viem/zksync'
|
53
|
+
*
|
54
|
+
* const walletClient = createWalletClient({
|
55
|
+
* chain: mainnet,
|
56
|
+
* transport: http(),
|
57
|
+
* account: privateKeyToAccount('0x…'),
|
58
|
+
* })
|
59
|
+
*
|
60
|
+
* const clientL2 = createPublicClient({
|
61
|
+
* chain: zksync,
|
62
|
+
* transport: http(),
|
63
|
+
* }).extend(publicActionsL2())
|
64
|
+
*
|
65
|
+
* const hash = await claimFailedDeposit(walletClient, {
|
66
|
+
* client: clientL2,
|
67
|
+
* depositHash: <L2_HASH_OF_FAILED_DEPOSIT>,
|
68
|
+
* })
|
69
|
+
*/
|
70
|
+
export async function claimFailedDeposit(client, parameters) {
|
71
|
+
const { account: account_ = client.account, chain: chain_ = client.chain, client: l2Client, depositHash, ...rest } = parameters;
|
72
|
+
const account = account_ ? parseAccount(account_) : client.account;
|
73
|
+
if (!account)
|
74
|
+
throw new AccountNotFoundError({
|
75
|
+
docsPath: '/docs/actions/wallet/sendTransaction',
|
76
|
+
});
|
77
|
+
if (!l2Client.chain)
|
78
|
+
throw new ClientChainNotConfiguredError();
|
79
|
+
const receipt = (await getTransactionReceipt(l2Client, { hash: depositHash }));
|
80
|
+
const successL2ToL1LogIndex = receipt.l2ToL1Logs.findIndex((l2ToL1log) => isAddressEqual(l2ToL1log.sender, bootloaderFormalAddress) &&
|
81
|
+
l2ToL1log.key === depositHash);
|
82
|
+
const successL2ToL1Log = receipt.l2ToL1Logs[successL2ToL1LogIndex];
|
83
|
+
if (successL2ToL1Log?.value !== zeroHash)
|
84
|
+
throw new CannotClaimSuccessfulDepositError({ hash: depositHash });
|
85
|
+
const tx = await getTransaction(l2Client, { hash: depositHash });
|
86
|
+
// Undo the aliasing, since the Mailbox contract set it as for contract address.
|
87
|
+
const l1BridgeAddress = undoL1ToL2Alias(receipt.from);
|
88
|
+
const l2BridgeAddress = receipt.to;
|
89
|
+
if (!l2BridgeAddress)
|
90
|
+
throw new L2BridgeNotFoundError();
|
91
|
+
const l1NativeTokenVault = (await getBridgeAddresses(client, l2Client))
|
92
|
+
.l1NativeTokenVault;
|
93
|
+
let depositSender;
|
94
|
+
let assetId;
|
95
|
+
let assetData;
|
96
|
+
try {
|
97
|
+
const { args } = decodeFunctionData({
|
98
|
+
abi: parseAbi([
|
99
|
+
'function finalizeDeposit(address _l1Sender, address _l2Receiver, address _l1Token, uint256 _amount, bytes _data)',
|
100
|
+
]),
|
101
|
+
data: tx.input,
|
102
|
+
});
|
103
|
+
assetData = encodeAbiParameters([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [args[3], args[1], args[2]]);
|
104
|
+
assetId = await readContract(client, {
|
105
|
+
address: l1NativeTokenVault,
|
106
|
+
abi: parseAbi(['function assetId(address token) view returns (bytes32)']),
|
107
|
+
functionName: 'assetId',
|
108
|
+
args: [args[2]],
|
109
|
+
});
|
110
|
+
depositSender = args[0];
|
111
|
+
if (assetId === zeroHash)
|
112
|
+
throw new Error(`Token ${args[2]} not registered in NTV`);
|
113
|
+
}
|
114
|
+
catch (_e) {
|
115
|
+
const { args } = decodeFunctionData({
|
116
|
+
abi: parseAbi([
|
117
|
+
'function finalizeDeposit(uint256 _chainId, bytes32 _assetId, bytes _transferData)',
|
118
|
+
]),
|
119
|
+
data: tx.input,
|
120
|
+
});
|
121
|
+
assetId = args[1];
|
122
|
+
const transferData = args[2];
|
123
|
+
const l1TokenAddress = await readContract(client, {
|
124
|
+
address: l1NativeTokenVault,
|
125
|
+
abi: parseAbi([
|
126
|
+
'function tokenAddress(bytes32 assetId) view returns (address)',
|
127
|
+
]),
|
128
|
+
functionName: 'tokenAddress',
|
129
|
+
args: [assetId],
|
130
|
+
});
|
131
|
+
const transferDataDecoded = decodeAbiParameters([
|
132
|
+
{ type: 'address' },
|
133
|
+
{ type: 'address' },
|
134
|
+
{ type: 'address' },
|
135
|
+
{ type: 'uint256' },
|
136
|
+
{ type: 'bytes' },
|
137
|
+
], transferData);
|
138
|
+
assetData = encodeAbiParameters([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [transferDataDecoded[3], transferDataDecoded[1], l1TokenAddress]);
|
139
|
+
depositSender = transferDataDecoded[0];
|
140
|
+
}
|
141
|
+
const proof = await getLogProof(l2Client, {
|
142
|
+
txHash: depositHash,
|
143
|
+
index: successL2ToL1LogIndex,
|
144
|
+
});
|
145
|
+
if (!proof)
|
146
|
+
throw new LogProofNotFoundError({
|
147
|
+
hash: depositHash,
|
148
|
+
index: successL2ToL1LogIndex,
|
149
|
+
});
|
150
|
+
const data = encodeFunctionData({
|
151
|
+
abi: parseAbi([
|
152
|
+
'function bridgeRecoverFailedTransfer(uint256 _chainId, address _depositSender, bytes32 _assetId, bytes _assetData, bytes32 _l2TxHash, uint256 _l2BatchNumber, uint256 _l2MessageIndex, uint16 _l2TxNumberInBatch, bytes32[] _merkleProof)',
|
153
|
+
]),
|
154
|
+
functionName: 'bridgeRecoverFailedTransfer',
|
155
|
+
args: [
|
156
|
+
BigInt(l2Client.chain.id),
|
157
|
+
depositSender,
|
158
|
+
assetId,
|
159
|
+
assetData,
|
160
|
+
depositHash,
|
161
|
+
receipt.l1BatchNumber,
|
162
|
+
BigInt(proof.id),
|
163
|
+
Number(receipt.l1BatchTxIndex),
|
164
|
+
proof.proof,
|
165
|
+
],
|
166
|
+
});
|
167
|
+
return await sendTransaction(client, {
|
168
|
+
chain: chain_,
|
169
|
+
account,
|
170
|
+
to: l1BridgeAddress,
|
171
|
+
data,
|
172
|
+
...rest,
|
173
|
+
});
|
174
|
+
}
|
175
|
+
async function getBridgeAddresses(client, l2Client) {
|
176
|
+
const addresses = await getDefaultBridgeAddresses(l2Client);
|
177
|
+
let l1Nullifier = addresses.l1Nullifier;
|
178
|
+
let l1NativeTokenVault = addresses.l1NativeTokenVault;
|
179
|
+
if (!l1Nullifier)
|
180
|
+
l1Nullifier = await readContract(client, {
|
181
|
+
address: addresses.sharedL1,
|
182
|
+
abi: parseAbi(['function L1_NULLIFIER() view returns (address)']),
|
183
|
+
functionName: 'L1_NULLIFIER',
|
184
|
+
args: [],
|
185
|
+
});
|
186
|
+
if (!l1NativeTokenVault)
|
187
|
+
l1NativeTokenVault = await readContract(client, {
|
188
|
+
address: addresses.sharedL1,
|
189
|
+
abi: parseAbi(['function nativeTokenVault() view returns (address)']),
|
190
|
+
functionName: 'nativeTokenVault',
|
191
|
+
args: [],
|
192
|
+
});
|
193
|
+
return {
|
194
|
+
...addresses,
|
195
|
+
l1Nullifier,
|
196
|
+
l1NativeTokenVault,
|
197
|
+
};
|
198
|
+
}
|
199
|
+
//# 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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"}
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import { parseAbi
|
1
|
+
import { parseAbi } from 'abitype';
|
2
|
+
import { ethers } from 'ethers';
|
2
3
|
import { estimateGas, } from '../../actions/public/estimateGas.js';
|
3
4
|
import { readContract } from '../../actions/public/readContract.js';
|
4
5
|
import { waitForTransactionReceipt } from '../../actions/public/waitForTransactionReceipt.js';
|
@@ -9,9 +10,9 @@ import { erc20Abi } from '../../constants/abis.js';
|
|
9
10
|
import { zeroAddress } from '../../constants/address.js';
|
10
11
|
import { AccountNotFoundError } from '../../errors/account.js';
|
11
12
|
import { ClientChainNotConfiguredError } from '../../errors/chain.js';
|
12
|
-
import { encodeAbiParameters, encodeFunctionData, isAddressEqual, parseAccount, } from '../../utils/index.js';
|
13
|
+
import { concatHex, encodeAbiParameters, encodeFunctionData, isAddressEqual, keccak256, parseAccount, } from '../../utils/index.js';
|
13
14
|
import { bridgehubAbi } from '../constants/abis.js';
|
14
|
-
import { ethAddressInContracts, legacyEthAddress, } from '../constants/address.js';
|
15
|
+
import { ethAddressInContracts, l2NativeTokenVaultAddress, legacyEthAddress, } from '../constants/address.js';
|
15
16
|
import { requiredL1ToL2GasPerPubdataLimit } from '../constants/number.js';
|
16
17
|
import { BaseFeeHigherThanValueError, } from '../errors/bridge.js';
|
17
18
|
import { applyL1ToL2Alias } from '../utils/bridge/applyL1ToL2Alias.js';
|
@@ -77,7 +78,6 @@ import { getL1Allowance } from './getL1Allowance.js';
|
|
77
78
|
*
|
78
79
|
* const hash = await deposit(walletClient, {
|
79
80
|
* client: clientL2,
|
80
|
-
* account,
|
81
81
|
* token: legacyEthAddress,
|
82
82
|
* to: walletClient.account.address,
|
83
83
|
* amount: 1_000_000_000_000_000_000n,
|
@@ -95,7 +95,7 @@ export async function deposit(client, parameters) {
|
|
95
95
|
throw new ClientChainNotConfiguredError();
|
96
96
|
if (isAddressEqual(token, legacyEthAddress))
|
97
97
|
token = ethAddressInContracts;
|
98
|
-
const bridgeAddresses = await
|
98
|
+
const bridgeAddresses = await getBridgeAddresses(client, l2Client);
|
99
99
|
const bridgehub = await getBridgehubContractAddress(l2Client);
|
100
100
|
const baseToken = await readContract(client, {
|
101
101
|
address: bridgehub,
|
@@ -103,9 +103,7 @@ export async function deposit(client, parameters) {
|
|
103
103
|
functionName: 'baseToken',
|
104
104
|
args: [BigInt(l2Client.chain.id)],
|
105
105
|
});
|
106
|
-
const { mintValue, tx } = await getL1DepositTx(client, account,
|
107
|
-
// @ts-ignore
|
108
|
-
{ ...parameters, token }, bridgeAddresses, bridgehub, baseToken);
|
106
|
+
const { mintValue, tx } = await getL1DepositTx(client, account, { ...parameters, token }, bridgeAddresses, bridgehub, baseToken);
|
109
107
|
await approveTokens(client, chain_, tx.bridgeAddress, baseToken, mintValue, account, token, amount, approveToken, approveBaseToken);
|
110
108
|
if (!gas) {
|
111
109
|
const baseGasLimit = await estimateGas(client, {
|
@@ -190,7 +188,7 @@ async function getL1DepositTx(client, account, parameters, bridgeAddresses, brid
|
|
190
188
|
refundRecipient,
|
191
189
|
secondBridgeAddress: bridgeAddress,
|
192
190
|
secondBridgeValue: 0n,
|
193
|
-
secondBridgeCalldata:
|
191
|
+
secondBridgeCalldata: await getSecondBridgeCalldata(client, bridgeAddresses.l1NativeTokenVault, token, amount, to),
|
194
192
|
},
|
195
193
|
],
|
196
194
|
});
|
@@ -215,7 +213,7 @@ async function getL1DepositTx(client, account, parameters, bridgeAddresses, brid
|
|
215
213
|
refundRecipient,
|
216
214
|
secondBridgeAddress: bridgeAddress,
|
217
215
|
secondBridgeValue: amount,
|
218
|
-
secondBridgeCalldata:
|
216
|
+
secondBridgeCalldata: await getSecondBridgeCalldata(client, bridgeAddresses.l1NativeTokenVault, ethAddressInContracts, amount, to),
|
219
217
|
},
|
220
218
|
],
|
221
219
|
});
|
@@ -240,7 +238,7 @@ async function getL1DepositTx(client, account, parameters, bridgeAddresses, brid
|
|
240
238
|
refundRecipient,
|
241
239
|
secondBridgeAddress: bridgeAddress,
|
242
240
|
secondBridgeValue: 0n,
|
243
|
-
secondBridgeCalldata:
|
241
|
+
secondBridgeCalldata: await getSecondBridgeCalldata(client, bridgeAddresses.l1NativeTokenVault, token, amount, to),
|
244
242
|
},
|
245
243
|
],
|
246
244
|
});
|
@@ -493,6 +491,58 @@ async function encodeDefaultBridgeData(client, token) {
|
|
493
491
|
const decimalsBytes = encodeAbiParameters([{ type: 'uint256' }], [decimals]);
|
494
492
|
return encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes' }, { type: 'bytes' }], [nameBytes, symbolBytes, decimalsBytes]);
|
495
493
|
}
|
494
|
+
async function getSecondBridgeCalldata(client, l1NativeTokenVault, token, amount, to) {
|
495
|
+
let assetId;
|
496
|
+
let token_ = token;
|
497
|
+
if (isAddressEqual(token, legacyEthAddress))
|
498
|
+
token_ = ethAddressInContracts;
|
499
|
+
const assetIdFromNTV = await readContract(client, {
|
500
|
+
address: l1NativeTokenVault,
|
501
|
+
abi: parseAbi(['function assetId(address token) view returns (bytes32)']),
|
502
|
+
functionName: 'assetId',
|
503
|
+
args: [token_],
|
504
|
+
});
|
505
|
+
if (assetIdFromNTV && assetIdFromNTV !== ethers.ZeroHash)
|
506
|
+
assetId = assetIdFromNTV;
|
507
|
+
else {
|
508
|
+
// Okay, the token have not been registered within the Native token vault.
|
509
|
+
// There are two cases when it is possible:
|
510
|
+
// - The token is native to L1 (it may or may not be bridged), but it has not been
|
511
|
+
// registered within NTV after the Gateway upgrade. We assume that this is not the case
|
512
|
+
// as the SDK is expected to work only after the full migration is done.
|
513
|
+
// - The token is native to the current chain and it has never been bridged.
|
514
|
+
if (!client.chain)
|
515
|
+
throw new ClientChainNotConfiguredError();
|
516
|
+
assetId = keccak256(encodeAbiParameters([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [BigInt(client.chain.id), l2NativeTokenVaultAddress, token_]));
|
517
|
+
}
|
518
|
+
const ntvData = encodeAbiParameters([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [BigInt(amount), to, token_]);
|
519
|
+
const data = encodeAbiParameters([{ type: 'bytes32' }, { type: 'bytes' }], [assetId, ntvData]);
|
520
|
+
return concatHex(['0x01', data]);
|
521
|
+
}
|
522
|
+
async function getBridgeAddresses(client, l2Client) {
|
523
|
+
const addresses = await getDefaultBridgeAddresses(l2Client);
|
524
|
+
let l1Nullifier = addresses.l1Nullifier;
|
525
|
+
let l1NativeTokenVault = addresses.l1NativeTokenVault;
|
526
|
+
if (!l1Nullifier)
|
527
|
+
l1Nullifier = await readContract(client, {
|
528
|
+
address: addresses.sharedL1,
|
529
|
+
abi: parseAbi(['function L1_NULLIFIER() view returns (address)']),
|
530
|
+
functionName: 'L1_NULLIFIER',
|
531
|
+
args: [],
|
532
|
+
});
|
533
|
+
if (!l1NativeTokenVault)
|
534
|
+
l1NativeTokenVault = await readContract(client, {
|
535
|
+
address: addresses.sharedL1,
|
536
|
+
abi: parseAbi(['function nativeTokenVault() view returns (address)']),
|
537
|
+
functionName: 'nativeTokenVault',
|
538
|
+
args: [],
|
539
|
+
});
|
540
|
+
return {
|
541
|
+
...addresses,
|
542
|
+
l1Nullifier,
|
543
|
+
l1NativeTokenVault,
|
544
|
+
};
|
545
|
+
}
|
496
546
|
function scaleGasLimit(gasLimit) {
|
497
547
|
return (gasLimit * BigInt(12)) / BigInt(10);
|
498
548
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../zksync/actions/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEpE,OAAO,EAEL,WAAW,GACZ,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAA;AAC7F,OAAO,EAIL,eAAe,GAChB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAEL,aAAa,GACd,MAAM,uCAAuC,CAAA;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAA;AASrE,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EACL,2BAA2B,GAE5B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAwEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAQ3B,MAAyC,EACzC,UAMC;IAED,IAAI,EACF,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,EAC5B,MAAM,EAAE,QAAQ,EAChB,KAAK,EACL,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,GAAG,GACJ,GAAG,UAAU,CAAA;IAEd,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAClE,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,oBAAoB,CAAC;YAC7B,QAAQ,EAAE,sCAAsC;SACjD,CAAC,CAAA;IACJ,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,IAAI,6BAA6B,EAAE,CAAA;IAE9D,IAAI,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC;QAAE,KAAK,GAAG,qBAAqB,CAAA;IAE1E,MAAM,eAAe,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACjE,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC,QAAQ,CAAC,CAAA;IAC7D,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;QAC3C,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,YAAY;QACjB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KAClC,CAAC,CAAA;IAEF,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,MAAM,cAAc,CAC5C,MAAM,EACN,OAAO;IACP,aAAa;IACb,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,EACxB,eAAe,EACf,SAAS,EACT,SAAS,CACV,CAAA;IAED,MAAM,aAAa,CACjB,MAAM,EACN,MAAM,EACN,EAAE,CAAC,aAAa,EAChB,SAAS,EACT,SAAS,EACT,OAAO,EACP,KAAK,EACL,MAAM,EACN,YAAY,EACZ,gBAAgB,CACjB,CAAA;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;YAC7C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,IAAI,EAAE,EAAE,CAAC,IAAI;SACW,CAAC,CAAA;QAC3B,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,MAAM,eAAe,CAAC,MAAM,EAAE;QACnC,KAAK,EAAE,MAAM;QACb,OAAO;QACP,GAAG;QACH,GAAG,EAAE;KACuB,CAAC,CAAA;AACjC,CAAC;AAED,KAAK,UAAU,cAAc,CAQ3B,MAAyC,EACzC,OAAgB,EAChB,UAOC,EACD,eAAwC,EACxC,SAAkB,EAClB,SAAkB;IAElB,IAAI,EACF,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,QAAQ,EAChB,KAAK,EACL,MAAM,EACN,EAAE,EACF,WAAW,GAAG,EAAE,EAChB,UAAU,EACV,iBAAiB,GAAG,gCAAgC,EACpD,eAAe,GAAG,WAAW,EAC7B,aAAa,EACb,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,iBAAiB,EACnC,GAAG,IAAI,EACR,GAAG,UAAU,CAAA;IAEd,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,IAAI,6BAA6B,EAAE,CAAA;IAE9D,EAAE,KAAK,OAAO,CAAC,OAAO,CAAA;IACtB,IAAI,qBAAqB,GAAG,YAAY,IAAI,QAAQ,CAAA;IACpD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QAC9C,qBAAqB,GAAG,YAAY,CAAC,YAAY,CAAA;QACjD,YAAY,GAAG,YAAY,CAAC,YAAY,CAAA;QACxC,oBAAoB,KAAK,YAAY,CAAC,oBAAoB,CAAA;IAC5D,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,sBAAsB,CAC5D,MAAM,EACN,QAAQ,EACR,SAAS,EACT,qBAAqB,EACrB,OAAO,CAAC,OAAO,EACf,KAAK,EACL,MAAM,EACN,EAAE,EACF,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,aAAa,EACb,gBAAgB,CACjB,CAAA;IACD,UAAU,GAAG,WAAW,CAAA;IACxB,IAAI,SAAiB,CAAA;IACrB,IAAI,IAAS,CAAA;IAEb,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAA;IACxE,IACE,CAAC,eAAe,IAAI,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,IAAI,yBAAyB;QAC9F,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,6BAA6B;MAC9D,CAAC;QACD,qBAAqB;QACrB,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAA;QAC3C,IAAI,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;QACvD,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,EAAE;YAAE,aAAa,GAAG,SAAS,CAAA;QACrE,IAAI,QAAQ,GAAG,aAAa;YAC1B,MAAM,IAAI,2BAA2B,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;QAEhE,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5C,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAA,CAAC,sDAAsD;QAE/F,IAAI,GAAG,kBAAkB,CAAC;YACxB,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,4BAA4B;YAC1C,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,SAAS,EAAE,aAAa;oBACxB,UAAU,EAAE,EAAE;oBACd,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,IAAI;oBAChB,UAAU;oBACV,wBAAwB,EAAE,iBAAiB;oBAC3C,WAAW,EAAE,EAAE;oBACf,eAAe;iBAChB;aACF;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,cAAc,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,CAAC;QAC5D,mCAAmC;QACnC,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;QAC1C,KAAK,GAAG,SAAS,CAAA;QACjB,IAAI,QAAQ,GAAG,SAAS;YACtB,MAAM,IAAI,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAE5D,aAAa,KAAK,eAAe,CAAC,QAAQ,CAAA;QAE1C,IAAI,GAAG,kBAAkB,CAAC;YACxB,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,gCAAgC;YAC9C,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,SAAS;oBACT,OAAO,EAAE,EAAE;oBACX,UAAU;oBACV,wBAAwB,EAAE,iBAAiB;oBAC3C,eAAe;oBACf,mBAAmB,EAAE,aAAa;oBAClC,iBAAiB,EAAE,EAAE;oBACrB,oBAAoB,EAAE,mBAAmB,CACvC,kBAAkB,CAAC,iCAAiC,CAAC,EACrD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CACpB;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACxD,8BAA8B;QAC9B,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;QAClC,KAAK,GAAG,MAAM,CAAA;QACd,IAAI,QAAQ,GAAG,SAAS;YACtB,MAAM,IAAI,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAE5D,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAA;QAExC,IAAI,GAAG,kBAAkB,CAAC;YACxB,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,gCAAgC;YAC9C,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,SAAS;oBACT,OAAO,EAAE,EAAE;oBACX,UAAU;oBACV,wBAAwB,EAAE,iBAAiB;oBAC3C,eAAe;oBACf,mBAAmB,EAAE,aAAa;oBAClC,iBAAiB,EAAE,MAAM;oBACzB,oBAAoB,EAAE,mBAAmB,CACvC,kBAAkB,CAAC,iCAAiC,CAAC,EACrD,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAChC;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,gCAAgC;QAChC,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;QAClC,KAAK,KAAK,EAAE,CAAA;QACZ,IAAI,QAAQ,GAAG,SAAS;YACtB,MAAM,IAAI,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAE5D,aAAa,KAAK,eAAe,CAAC,QAAQ,CAAA;QAE1C,IAAI,GAAG,kBAAkB,CAAC;YACxB,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,gCAAgC;YAC9C,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,SAAS;oBACT,OAAO,EAAE,EAAE;oBACX,UAAU;oBACV,wBAAwB,EAAE,iBAAiB;oBAC3C,eAAe;oBACf,mBAAmB,EAAE,aAAa;oBAClC,iBAAiB,EAAE,EAAE;oBACrB,oBAAoB,EAAE,mBAAmB,CACvC,kBAAkB,CAAC,iCAAiC,CAAC,EACrD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CACpB;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,SAAS;QACT,EAAE,EAAE;YACF,aAAa;YACb,EAAE,EAAE,SAAS;YACb,IAAI;YACJ,KAAK;YACL,QAAQ;YACR,YAAY;YACZ,oBAAoB;YACpB,GAAG,IAAI;SACR;KACF,CAAA;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAK1B,MAAgC,EAChC,KAA+B,EAC/B,aAAsB,EACtB,SAAkB,EAClB,SAAiB,EACjB,OAAgB,EAChB,KAAc,EACd,MAAc,EACd,YAQa,EACb,gBAQa;IAEb,IAAI,cAAc,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACrD,mCAAmC;QACnC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;YACvE,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE;gBAC7C,KAAK;gBACL,aAAa;gBACb,OAAO;aACR,CAAC,CAAA;YACF,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;oBACvC,KAAK;oBACL,OAAO;oBACP,OAAO,EAAE,KAAK;oBACd,GAAG,EAAE,QAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;oBAC7B,GAAG,SAAS;iBAC4B,CAAC,CAAA;gBAC3C,MAAM,yBAAyB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACjD,8BAA8B;QAC9B,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;YACvE,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE;gBAC7C,KAAK,EAAE,SAAS;gBAChB,aAAa;gBACb,OAAO;aACR,CAAC,CAAA;YACF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;oBACvC,KAAK;oBACL,OAAO;oBACP,OAAO,EAAE,SAAS;oBAClB,GAAG,EAAE,QAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;oBAChC,GAAG,SAAS;iBAC4B,CAAC,CAAA;gBAC3C,MAAM,yBAAyB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,CAAC;YACD,OAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QACrC,qCAAqC;QACrC,IAAI,YAAY,IAAI,gBAAgB,EAAE,CAAC;YACrC,MAAM,SAAS,GACb,OAAO,YAAY,KAAK,SAAS;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,gBAAgB,KAAK,SAAS,CAAC;oBACvD,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,gBAAgB,CAAA;YACxB,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE;gBAC7C,KAAK,EAAE,SAAS;gBAChB,aAAa;gBACb,OAAO;aACR,CAAC,CAAA;YACF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;oBACvC,KAAK;oBACL,OAAO;oBACP,OAAO,EAAE,SAAS;oBAClB,GAAG,EAAE,QAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;oBAChC,GAAG,SAAS;iBAC4B,CAAC,CAAA;gBAC3C,MAAM,yBAAyB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAED,gCAAgC;IAChC,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;QACvE,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE;YAC7C,KAAK,EAAE,SAAS;YAChB,aAAa;YACb,OAAO;SACR,CAAC,CAAA;QACF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;gBACvC,KAAK;gBACL,OAAO;gBACP,OAAO,EAAE,SAAS;gBAClB,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;gBAChC,GAAG,SAAS;aAC4B,CAAC,CAAA;YAC3C,MAAM,yBAAyB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;QACvE,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE;YAC7C,KAAK;YACL,aAAa;YACb,OAAO;SACR,CAAC,CAAA;QACF,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;gBACvC,KAAK;gBACL,OAAO;gBACP,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;gBAC7B,GAAG,SAAS;aAC4B,CAAC,CAAA;YAC3C,MAAM,yBAAyB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAInC,MAAgC,EAChC,QAAoC,EACpC,SAAkB,EAClB,QAAgB,EAChB,IAAa,EACb,KAAc,EACd,MAAc,EACd,EAAW,EACX,iBAAyB,EACzB,SAAkB,EAClB,UAA+B,EAC/B,aAAmC,EACnC,gBAAkC;IAElC,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,IAAI,6BAA6B,EAAE,CAAA;IAE9D,IAAI,WAAW,GAAG,UAAU,CAAA;IAC5B,IAAI,CAAC,WAAW;QACd,WAAW,GAAG,aAAa;YACzB,CAAC,CAAC,MAAM,6BAA6B,CACjC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,EAAE,EACF,iBAAiB,EACjB,aAAa,EACb,gBAAgB,CACjB;YACH,CAAC,CAAC,MAAM,8BAA8B,CAClC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,EAAE,EACF,iBAAiB,EACjB,SAAS,CACV,CAAA;IAEP,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;QAC1C,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,YAAY;QACjB,YAAY,EAAE,uBAAuB;QACrC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC;KAC5E,CAAC,CAAA;IACF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;AAClC,CAAC;AAED,KAAK,UAAU,8BAA8B,CAI3C,MAAgC,EAChC,QAAoC,EACpC,IAAa,EACb,KAAc,EACd,MAAc,EACd,EAAW,EACX,iBAAyB,EACzB,SAAkB;IAElB,IAAI,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QACrC,OAAO,MAAM,iBAAiB,CAAC,QAAQ,EAAE;YACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,EAAE;YACF,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,iBAAiB;SACjC,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,CAAA;IAChB,MAAM,eAAe,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACjE,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAA;IAChD,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAA;IAChD,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAE/D,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,GAAG,EAAE,QAAQ,CAAC;YACZ,kHAAkH;SACnH,CAAC;QACF,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE;YACJ,IAAI;YACJ,EAAE;YACF,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK;YACvE,MAAM;YACN,UAAU;SACX;KACF,CAAC,CAAA;IAEF,OAAO,MAAM,iBAAiB,CAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,gBAAgB,CAAC,eAAe,CAAC;QAC1C,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,iBAAiB;QAChC,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,6BAA6B,CAI1C,MAAgC,EAChC,QAAoC,EACpC,IAAa,EACb,KAAc,EACd,MAAc,EACd,EAAW,EACX,iBAAyB,EACzB,aAAsB,EACtB,gBAAsB;IAEtB,IAAI,iBAAiB,GAAG,gBAAgB,CAAA;IACxC,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,KAAK,IAAI;QAClD,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAElE,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;QACjD,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,QAAQ,CAAC;YACZ,mEAAmE;SACpE,CAAC;QACF,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC;KACnC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,GAAG,EAAE,QAAQ,CAAC;YACZ,kHAAkH;SACnH,CAAC;QACF,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC;KACnD,CAAC,CAAA;IAEF,OAAO,MAAM,iBAAiB,CAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC;QACrC,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,iBAAiB;KACjC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,MAAgC,EAChC,KAAc;IAEd,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC;QAAE,MAAM,GAAG,qBAAqB,CAAA;IAC3E,IAAI,IAAI,GAAG,OAAO,CAAA;IAClB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,QAAQ,GAAG,GAAG,CAAA;IAClB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACnD,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;YAChC,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;QACF,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;YAClC,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;QACF,QAAQ,GAAG,MAAM,CACf,MAAM,YAAY,CAAC,MAAM,EAAE;YACzB,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,EAAE;SACT,CAAC,CACH,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACnE,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IACvE,MAAM,aAAa,GAAG,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE5E,OAAO,mBAAmB,CACxB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EACzD,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CACxC,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,MAAgC;IAEhC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;IACtC,MAAM,OAAO,GACX,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACrC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE;QAC7B,CAAC,CAAC,KAAK,CAAC,aAAa,CAAA;IACzB,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,4BAA4B,EAAE,CAAA;IAEzE,OAAO;QACL,YAAY,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,oBAAoB;QACxD,oBAAoB,EAAE,oBAAoB;KAC3C,CAAA;AACH,CAAC"}
|
1
|
+
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../zksync/actions/deposit.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,9 @@
|
|
1
|
+
import { parseAbi } from 'abitype';
|
1
2
|
import { readContract } from '../../actions/public/readContract.js';
|
2
3
|
import { sendTransaction, } from '../../actions/wallet/sendTransaction.js';
|
3
4
|
import { AccountNotFoundError } from '../../errors/account.js';
|
4
5
|
import { ChainNotFoundError, } from '../../errors/chain.js';
|
5
|
-
import { decodeAbiParameters, encodeFunctionData,
|
6
|
-
import { l1SharedBridgeAbi, l2SharedBridgeAbi } from '../constants/abis.js';
|
7
|
-
import { l2BaseTokenAddress } from '../constants/address.js';
|
6
|
+
import { decodeAbiParameters, encodeFunctionData, parseAccount, slice, } from '../../utils/index.js';
|
8
7
|
import { WithdrawalLogNotFoundError, } from '../errors/bridge.js';
|
9
8
|
import { getWithdrawalL2ToL1Log } from '../utils/bridge/getWithdrawalL2ToL1Log.js';
|
10
9
|
import { getWithdrawalLog } from '../utils/bridge/getWithdrawalLog.js';
|
@@ -70,41 +69,32 @@ export async function finalizeWithdrawal(client, parameters) {
|
|
70
69
|
});
|
71
70
|
if (!l2Client.chain)
|
72
71
|
throw new ChainNotFoundError();
|
73
|
-
const
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
l1Bridge = await readContract(l2Client, {
|
79
|
-
address: sender,
|
80
|
-
abi: l2SharedBridgeAbi,
|
81
|
-
functionName: 'l1SharedBridge',
|
82
|
-
args: [],
|
83
|
-
});
|
84
|
-
else
|
85
|
-
l1Bridge = await readContract(l2Client, {
|
86
|
-
address: sender,
|
87
|
-
abi: l2SharedBridgeAbi,
|
88
|
-
functionName: 'l1Bridge',
|
89
|
-
args: [],
|
90
|
-
});
|
72
|
+
const finalizeWithdrawalParams = await getFinalizeWithdrawalParams(l2Client, {
|
73
|
+
hash,
|
74
|
+
index,
|
75
|
+
});
|
76
|
+
const l1Nullifier = (await getBridgeAddresses(client, l2Client)).l1Nullifier;
|
91
77
|
const data = encodeFunctionData({
|
92
|
-
abi:
|
93
|
-
|
78
|
+
abi: parseAbi([
|
79
|
+
'function finalizeDeposit((uint256 chainId, uint256 l2BatchNumber, uint256 l2MessageIndex, address l2Sender, uint16 l2TxNumberInBatch, bytes message, bytes32[] merkleProof) _finalizeWithdrawalParams)',
|
80
|
+
]),
|
81
|
+
functionName: 'finalizeDeposit',
|
94
82
|
args: [
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
83
|
+
{
|
84
|
+
chainId: BigInt(l2Client.chain.id),
|
85
|
+
l2BatchNumber: finalizeWithdrawalParams.l1BatchNumber,
|
86
|
+
l2MessageIndex: BigInt(finalizeWithdrawalParams.l2MessageIndex),
|
87
|
+
l2Sender: finalizeWithdrawalParams.sender,
|
88
|
+
l2TxNumberInBatch: Number(finalizeWithdrawalParams.l2TxNumberInBlock),
|
89
|
+
message: finalizeWithdrawalParams.message,
|
90
|
+
merkleProof: finalizeWithdrawalParams.proof,
|
91
|
+
},
|
101
92
|
],
|
102
93
|
});
|
103
94
|
return await sendTransaction(client, {
|
104
95
|
account,
|
105
|
-
to:
|
96
|
+
to: l1Nullifier,
|
106
97
|
data,
|
107
|
-
value: 0n,
|
108
98
|
...rest,
|
109
99
|
});
|
110
100
|
}
|
@@ -130,18 +120,28 @@ async function getFinalizeWithdrawalParams(client, parameters) {
|
|
130
120
|
proof: proof.proof,
|
131
121
|
};
|
132
122
|
}
|
133
|
-
async function
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
123
|
+
async function getBridgeAddresses(client, l2Client) {
|
124
|
+
const addresses = await getDefaultBridgeAddresses(l2Client);
|
125
|
+
let l1Nullifier = addresses.l1Nullifier;
|
126
|
+
let l1NativeTokenVault = addresses.l1NativeTokenVault;
|
127
|
+
if (!l1Nullifier)
|
128
|
+
l1Nullifier = await readContract(client, {
|
129
|
+
address: addresses.sharedL1,
|
130
|
+
abi: parseAbi(['function L1_NULLIFIER() view returns (address)']),
|
131
|
+
functionName: 'L1_NULLIFIER',
|
139
132
|
args: [],
|
140
133
|
});
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
134
|
+
if (!l1NativeTokenVault)
|
135
|
+
l1NativeTokenVault = await readContract(client, {
|
136
|
+
address: addresses.sharedL1,
|
137
|
+
abi: parseAbi(['function nativeTokenVault() view returns (address)']),
|
138
|
+
functionName: 'nativeTokenVault',
|
139
|
+
args: [],
|
140
|
+
});
|
141
|
+
return {
|
142
|
+
...addresses,
|
143
|
+
l1Nullifier,
|
144
|
+
l1NativeTokenVault,
|
145
|
+
};
|
146
146
|
}
|
147
147
|
//# 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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"}
|
@@ -4,6 +4,8 @@ export async function getDefaultBridgeAddresses(client) {
|
|
4
4
|
erc20L1: addresses.l1Erc20DefaultBridge,
|
5
5
|
sharedL1: addresses.l1SharedDefaultBridge,
|
6
6
|
sharedL2: addresses.l2SharedDefaultBridge,
|
7
|
+
l1Nullifier: addresses.l1Nullifier,
|
8
|
+
l1NativeTokenVault: addresses.l1NativeTokenVault,
|
7
9
|
};
|
8
10
|
}
|
9
11
|
//# sourceMappingURL=getDefaultBridgeAddresses.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getDefaultBridgeAddresses.js","sourceRoot":"","sources":["../../../zksync/actions/getDefaultBridgeAddresses.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAI7C,MAAgE;IAEhE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;
|
1
|
+
{"version":3,"file":"getDefaultBridgeAddresses.js","sourceRoot":"","sources":["../../../zksync/actions/getDefaultBridgeAddresses.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,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"}
|
@@ -1,12 +1,9 @@
|
|
1
1
|
import { readContract } from '../../actions/public/readContract.js';
|
2
2
|
import { ChainNotFoundError, } from '../../errors/chain.js';
|
3
|
-
import {
|
4
|
-
import { l1SharedBridgeAbi, l2SharedBridgeAbi } from '../constants/abis.js';
|
5
|
-
import { l2BaseTokenAddress } from '../constants/address.js';
|
3
|
+
import { l1SharedBridgeAbi } from '../constants/abis.js';
|
6
4
|
import { WithdrawalLogNotFoundError, } from '../errors/bridge.js';
|
7
5
|
import { getWithdrawalL2ToL1Log } from '../utils/bridge/getWithdrawalL2ToL1Log.js';
|
8
6
|
import { getWithdrawalLog } from '../utils/bridge/getWithdrawalLog.js';
|
9
|
-
import { getBaseTokenL1Address } from './getBaseTokenL1Address.js';
|
10
7
|
import { getDefaultBridgeAddresses } from './getDefaultBridgeAddresses.js';
|
11
8
|
import { getLogProof } from './getLogProof.js';
|
12
9
|
/**
|
@@ -45,7 +42,6 @@ export async function isWithdrawalFinalized(client, parameters) {
|
|
45
42
|
hash,
|
46
43
|
index,
|
47
44
|
});
|
48
|
-
const sender = slice(log.topics[1], 12);
|
49
45
|
// `getLogProof` is called not to get proof but
|
50
46
|
// to get the index of the corresponding L2->L1 log,
|
51
47
|
// which is returned as `proof.id`.
|
@@ -53,20 +49,9 @@ export async function isWithdrawalFinalized(client, parameters) {
|
|
53
49
|
txHash: hash,
|
54
50
|
index: l2ToL1LogIndex,
|
55
51
|
});
|
56
|
-
if (!proof)
|
52
|
+
if (!proof)
|
57
53
|
throw new WithdrawalLogNotFoundError({ hash });
|
58
|
-
|
59
|
-
let l1Bridge;
|
60
|
-
if (isAddressEqual(sender, await getBaseTokenL1Address(l2Client)) ||
|
61
|
-
isAddressEqual(sender, l2BaseTokenAddress))
|
62
|
-
l1Bridge = (await getDefaultBridgeAddresses(l2Client)).sharedL1;
|
63
|
-
else
|
64
|
-
l1Bridge = await readContract(l2Client, {
|
65
|
-
address: sender,
|
66
|
-
abi: l2SharedBridgeAbi,
|
67
|
-
functionName: 'l1SharedBridge',
|
68
|
-
args: [],
|
69
|
-
});
|
54
|
+
const l1Bridge = (await getDefaultBridgeAddresses(l2Client)).sharedL1;
|
70
55
|
return await readContract(client, {
|
71
56
|
address: l1Bridge,
|
72
57
|
abi: 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":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAGnE,OAAO,EACL,kBAAkB,GAEnB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EACL,0BAA0B,GAE3B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAqB9C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,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,kBAAkB,EAAE,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACjE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE;QAChE,IAAI;QACJ,KAAK;KACN,CAAC,CAAA;IAEF,+CAA+C;IAC/C,oDAAoD;IACpD,mCAAmC;IACnC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,cAAe;KACvB,CAAC,CAAA;IACF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,0BAA0B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAE1D,MAAM,QAAQ,GAAG,CAAC,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;IAErE,OAAO,MAAM,YAAY,CAAC,MAAM,EAAE;QAChC,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,iBAAiB;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"}
|