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.
Files changed (146) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/_cjs/actions/public/call.js +2 -2
  3. package/_cjs/actions/public/call.js.map +1 -1
  4. package/_cjs/actions/public/estimateGas.js +1 -1
  5. package/_cjs/actions/public/estimateGas.js.map +1 -1
  6. package/_cjs/actions/public/simulateBlocks.js +1 -1
  7. package/_cjs/actions/public/simulateBlocks.js.map +1 -1
  8. package/_cjs/actions/public/waitForTransactionReceipt.js +9 -3
  9. package/_cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
  10. package/_cjs/actions/public/watchBlocks.js +4 -2
  11. package/_cjs/actions/public/watchBlocks.js.map +1 -1
  12. package/_cjs/chains/definitions/bitkub.js +3 -3
  13. package/_cjs/chains/definitions/bitkub.js.map +1 -1
  14. package/_cjs/chains/definitions/chiliz.js +1 -1
  15. package/_cjs/chains/definitions/chiliz.js.map +1 -1
  16. package/_cjs/chains/definitions/jbc.js +1 -1
  17. package/_cjs/chains/definitions/jbc.js.map +1 -1
  18. package/_cjs/chains/definitions/riseTestnet.js +29 -0
  19. package/_cjs/chains/definitions/riseTestnet.js.map +1 -0
  20. package/_cjs/chains/index.js +6 -4
  21. package/_cjs/chains/index.js.map +1 -1
  22. package/_cjs/errors/version.js +1 -1
  23. package/_cjs/utils/rpc/socket.js +8 -4
  24. package/_cjs/utils/rpc/socket.js.map +1 -1
  25. package/_cjs/zksync/actions/claimFailedDeposit.js +146 -0
  26. package/_cjs/zksync/actions/claimFailedDeposit.js.map +1 -0
  27. package/_cjs/zksync/actions/deposit.js +51 -4
  28. package/_cjs/zksync/actions/deposit.js.map +1 -1
  29. package/_cjs/zksync/actions/finalizeWithdrawal.js +41 -41
  30. package/_cjs/zksync/actions/finalizeWithdrawal.js.map +1 -1
  31. package/_cjs/zksync/actions/getDefaultBridgeAddresses.js +2 -0
  32. package/_cjs/zksync/actions/getDefaultBridgeAddresses.js.map +1 -1
  33. package/_cjs/zksync/actions/isWithdrawalFinalized.js +2 -17
  34. package/_cjs/zksync/actions/isWithdrawalFinalized.js.map +1 -1
  35. package/_cjs/zksync/actions/withdraw.js +49 -8
  36. package/_cjs/zksync/actions/withdraw.js.map +1 -1
  37. package/_cjs/zksync/constants/address.js +4 -1
  38. package/_cjs/zksync/constants/address.js.map +1 -1
  39. package/_cjs/zksync/decorators/walletL1.js +2 -0
  40. package/_cjs/zksync/decorators/walletL1.js.map +1 -1
  41. package/_cjs/zksync/errors/bridge.js +23 -1
  42. package/_cjs/zksync/errors/bridge.js.map +1 -1
  43. package/_cjs/zksync/index.js +4 -2
  44. package/_cjs/zksync/index.js.map +1 -1
  45. package/_esm/actions/public/call.js +2 -2
  46. package/_esm/actions/public/call.js.map +1 -1
  47. package/_esm/actions/public/estimateGas.js +1 -1
  48. package/_esm/actions/public/estimateGas.js.map +1 -1
  49. package/_esm/actions/public/simulateBlocks.js +1 -1
  50. package/_esm/actions/public/simulateBlocks.js.map +1 -1
  51. package/_esm/actions/public/waitForTransactionReceipt.js +10 -3
  52. package/_esm/actions/public/waitForTransactionReceipt.js.map +1 -1
  53. package/_esm/actions/public/watchBlocks.js +4 -2
  54. package/_esm/actions/public/watchBlocks.js.map +1 -1
  55. package/_esm/chains/definitions/bitkub.js +3 -3
  56. package/_esm/chains/definitions/bitkub.js.map +1 -1
  57. package/_esm/chains/definitions/chiliz.js +1 -1
  58. package/_esm/chains/definitions/chiliz.js.map +1 -1
  59. package/_esm/chains/definitions/jbc.js +1 -1
  60. package/_esm/chains/definitions/jbc.js.map +1 -1
  61. package/_esm/chains/definitions/riseTestnet.js +26 -0
  62. package/_esm/chains/definitions/riseTestnet.js.map +1 -0
  63. package/_esm/chains/index.js +2 -0
  64. package/_esm/chains/index.js.map +1 -1
  65. package/_esm/errors/version.js +1 -1
  66. package/_esm/utils/rpc/socket.js +10 -6
  67. package/_esm/utils/rpc/socket.js.map +1 -1
  68. package/_esm/zksync/actions/claimFailedDeposit.js +199 -0
  69. package/_esm/zksync/actions/claimFailedDeposit.js.map +1 -0
  70. package/_esm/zksync/actions/deposit.js +61 -11
  71. package/_esm/zksync/actions/deposit.js.map +1 -1
  72. package/_esm/zksync/actions/finalizeWithdrawal.js +42 -42
  73. package/_esm/zksync/actions/finalizeWithdrawal.js.map +1 -1
  74. package/_esm/zksync/actions/getDefaultBridgeAddresses.js +2 -0
  75. package/_esm/zksync/actions/getDefaultBridgeAddresses.js.map +1 -1
  76. package/_esm/zksync/actions/isWithdrawalFinalized.js +3 -18
  77. package/_esm/zksync/actions/isWithdrawalFinalized.js.map +1 -1
  78. package/_esm/zksync/actions/withdraw.js +54 -10
  79. package/_esm/zksync/actions/withdraw.js.map +1 -1
  80. package/_esm/zksync/constants/address.js +3 -0
  81. package/_esm/zksync/constants/address.js.map +1 -1
  82. package/_esm/zksync/decorators/walletL1.js +2 -0
  83. package/_esm/zksync/decorators/walletL1.js.map +1 -1
  84. package/_esm/zksync/errors/bridge.js +19 -0
  85. package/_esm/zksync/errors/bridge.js.map +1 -1
  86. package/_esm/zksync/index.js +1 -0
  87. package/_esm/zksync/index.js.map +1 -1
  88. package/_types/actions/public/call.d.ts +1 -1
  89. package/_types/actions/public/estimateGas.d.ts +1 -1
  90. package/_types/actions/public/waitForTransactionReceipt.d.ts.map +1 -1
  91. package/_types/actions/public/watchBlocks.d.ts.map +1 -1
  92. package/_types/chains/definitions/bitkub.d.ts +3 -3
  93. package/_types/chains/definitions/chiliz.d.ts +1 -1
  94. package/_types/chains/definitions/jbc.d.ts +1 -1
  95. package/_types/chains/definitions/riseTestnet.d.ts +35 -0
  96. package/_types/chains/definitions/riseTestnet.d.ts.map +1 -0
  97. package/_types/chains/index.d.ts +2 -0
  98. package/_types/chains/index.d.ts.map +1 -1
  99. package/_types/errors/version.d.ts +1 -1
  100. package/_types/utils/rpc/socket.d.ts.map +1 -1
  101. package/_types/zksync/actions/claimFailedDeposit.d.ts +77 -0
  102. package/_types/zksync/actions/claimFailedDeposit.d.ts.map +1 -0
  103. package/_types/zksync/actions/deposit.d.ts +0 -1
  104. package/_types/zksync/actions/deposit.d.ts.map +1 -1
  105. package/_types/zksync/actions/finalizeWithdrawal.d.ts.map +1 -1
  106. package/_types/zksync/actions/getDefaultBridgeAddresses.d.ts.map +1 -1
  107. package/_types/zksync/actions/isWithdrawalFinalized.d.ts.map +1 -1
  108. package/_types/zksync/actions/withdraw.d.ts +1 -1
  109. package/_types/zksync/actions/withdraw.d.ts.map +1 -1
  110. package/_types/zksync/constants/address.d.ts +3 -0
  111. package/_types/zksync/constants/address.d.ts.map +1 -1
  112. package/_types/zksync/decorators/walletL1.d.ts +32 -1
  113. package/_types/zksync/decorators/walletL1.d.ts.map +1 -1
  114. package/_types/zksync/errors/bridge.d.ts +23 -0
  115. package/_types/zksync/errors/bridge.d.ts.map +1 -1
  116. package/_types/zksync/index.d.ts +1 -0
  117. package/_types/zksync/index.d.ts.map +1 -1
  118. package/_types/zksync/types/contract.d.ts +2 -0
  119. package/_types/zksync/types/contract.d.ts.map +1 -1
  120. package/_types/zksync/types/eip1193.d.ts +2 -0
  121. package/_types/zksync/types/eip1193.d.ts.map +1 -1
  122. package/actions/public/call.ts +3 -3
  123. package/actions/public/estimateGas.ts +2 -2
  124. package/actions/public/simulateBlocks.ts +1 -1
  125. package/actions/public/waitForTransactionReceipt.ts +159 -158
  126. package/actions/public/watchBlocks.ts +7 -5
  127. package/chains/definitions/bitkub.ts +3 -3
  128. package/chains/definitions/chiliz.ts +1 -1
  129. package/chains/definitions/jbc.ts +1 -1
  130. package/chains/definitions/riseTestnet.ts +26 -0
  131. package/chains/index.ts +2 -0
  132. package/errors/version.ts +1 -1
  133. package/package.json +7 -7
  134. package/utils/rpc/socket.ts +10 -8
  135. package/zksync/actions/claimFailedDeposit.ts +319 -0
  136. package/zksync/actions/deposit.ts +116 -14
  137. package/zksync/actions/finalizeWithdrawal.ts +53 -51
  138. package/zksync/actions/getDefaultBridgeAddresses.ts +3 -0
  139. package/zksync/actions/isWithdrawalFinalized.ts +4 -22
  140. package/zksync/actions/withdraw.ts +64 -8
  141. package/zksync/constants/address.ts +9 -0
  142. package/zksync/decorators/walletL1.ts +49 -1
  143. package/zksync/errors/bridge.ts +35 -0
  144. package/zksync/index.ts +6 -0
  145. package/zksync/types/contract.ts +2 -0
  146. 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 (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client);
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: (0, index_js_1.encodeAbiParameters)((0, abitype_1.parseAbiParameters)('address x, uint256 y, address z'), [token, amount, to]),
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: (0, index_js_1.encodeAbiParameters)((0, abitype_1.parseAbiParameters)('address x, uint256 y, address z'), [address_js_2.ethAddressInContracts, 0n, to]),
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: (0, index_js_1.encodeAbiParameters)((0, abitype_1.parseAbiParameters)('address x, uint256 y, address z'), [token, amount, to]),
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":";;AAoMA,0BAoFC;AAxRD,qCAAgD;AAChD,mCAA+B;AAE/B,wEAG4C;AAC5C,0EAAmE;AACnE,oGAA6F;AAC7F,gFAKgD;AAChD,4EAG8C;AAE9C,kEAAkE;AAElE,qDAAkD;AAClD,2DAAwD;AACxD,wDAA8D;AAC9D,oDAAqE;AASrE,mDAQ6B;AAC7B,kDAAmD;AACnD,wDAIgC;AAChC,sDAAyE;AACzE,mDAG4B;AAG5B,6EAAsE;AACtE,iEAA0D;AAC1D,qFAA8E;AAC9E,iFAA0E;AAC1E,2DAAoD;AAwI7C,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,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAClE,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,iCAAoB,CAAC;YAC7B,QAAQ,EAAE,sCAAsC;SACjD,CAAC,CAAA;IACJ,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,IAAI,wCAA6B,EAAE,CAAA;IAE9D,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,6BAAgB,CAAC;QAAE,KAAK,GAAG,kCAAqB,CAAA;IAE1E,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,MAAM,IAAA,4DAA2B,EAAC,QAAQ,CAAC,CAAA;IAC7D,MAAM,SAAS,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC3C,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,sBAAY;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,EACP,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,IAAA,4BAAW,EAAC,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,IAAA,oCAAe,EAAC,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,eAGC,EACD,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,4CAAgC,EACpD,eAAe,GAAG,wBAAW,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,wCAA6B,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,IAAA,yBAAc,EAAC,SAAS,EAAE,kCAAqB,CAAC,CAAA;IACxE,IACE,CAAC,eAAe,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,kCAAqB,CAAC,CAAC;QACjE,IAAA,yBAAc,EAAC,KAAK,EAAE,SAAS,CAAC,EAChC,CAAC;QAED,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,uCAA2B,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;QAExC,IAAI,GAAG,IAAA,6BAAkB,EAAC;YACxB,GAAG,EAAE,sBAAY;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,IAAA,yBAAc,EAAC,SAAS,EAAE,kCAAqB,CAAC,EAAE,CAAC;QAE5D,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;QAC1C,KAAK,GAAG,SAAS,CAAA;QACjB,IAAI,QAAQ,GAAG,SAAS;YACtB,MAAM,IAAI,uCAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAE5D,aAAa,KAAK,eAAe,CAAC,QAAQ,CAAA;QAE1C,IAAI,GAAG,IAAA,6BAAkB,EAAC;YACxB,GAAG,EAAE,sBAAY;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,MAAM,uBAAuB,CACjD,MAAM,EACN,eAAe,CAAC,kBAAkB,EAClC,KAAK,EACL,MAAM,EACN,EAAE,CACH;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,kCAAqB,CAAC,EAAE,CAAC;QAExD,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;QAClC,KAAK,GAAG,MAAM,CAAA;QACd,IAAI,QAAQ,GAAG,SAAS;YACtB,MAAM,IAAI,uCAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAE5D,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAA;QAExC,IAAI,GAAG,IAAA,6BAAkB,EAAC;YACxB,GAAG,EAAE,sBAAY;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,MAAM,uBAAuB,CACjD,MAAM,EACN,eAAe,CAAC,kBAAkB,EAClC,kCAAqB,EACrB,MAAM,EACN,EAAE,CACH;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QAEN,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;QAClC,KAAK,KAAK,EAAE,CAAA;QACZ,IAAI,QAAQ,GAAG,SAAS;YACtB,MAAM,IAAI,uCAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAE5D,aAAa,KAAK,eAAe,CAAC,QAAQ,CAAA;QAE1C,IAAI,GAAG,IAAA,6BAAkB,EAAC;YACxB,GAAG,EAAE,sBAAY;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,MAAM,uBAAuB,CACjD,MAAM,EACN,eAAe,CAAC,kBAAkB,EAClC,KAAK,EACL,MAAM,EACN,EAAE,CACH;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,IAAA,yBAAc,EAAC,SAAS,EAAE,kCAAqB,CAAC,EAAE,CAAC;QAErD,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,IAAA,kCAAc,EAAC,MAAM,EAAE;gBAC7C,KAAK;gBACL,aAAa;gBACb,OAAO;aACR,CAAC,CAAA;YACF,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,MAAM,IAAA,gCAAa,EAAC,MAAM,EAAE;oBACvC,KAAK;oBACL,OAAO;oBACP,OAAO,EAAE,KAAK;oBACd,GAAG,EAAE,kBAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;oBAC7B,GAAG,SAAS;iBAC4B,CAAC,CAAA;gBAC3C,MAAM,IAAA,wDAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,kCAAqB,CAAC,EAAE,CAAC;QAEjD,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,IAAA,kCAAc,EAAC,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,IAAA,gCAAa,EAAC,MAAM,EAAE;oBACvC,KAAK;oBACL,OAAO;oBACP,OAAO,EAAE,SAAS;oBAClB,GAAG,EAAE,kBAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;oBAChC,GAAG,SAAS;iBAC4B,CAAC,CAAA;gBAC3C,MAAM,IAAA,wDAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,CAAC;YACD,OAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QAErC,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,IAAA,kCAAc,EAAC,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,IAAA,gCAAa,EAAC,MAAM,EAAE;oBACvC,KAAK;oBACL,OAAO;oBACP,OAAO,EAAE,SAAS;oBAClB,GAAG,EAAE,kBAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;oBAChC,GAAG,SAAS;iBAC4B,CAAC,CAAA;gBAC3C,MAAM,IAAA,wDAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAGD,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,IAAA,kCAAc,EAAC,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,IAAA,gCAAa,EAAC,MAAM,EAAE;gBACvC,KAAK;gBACL,OAAO;gBACP,OAAO,EAAE,SAAS;gBAClB,GAAG,EAAE,kBAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;gBAChC,GAAG,SAAS;aAC4B,CAAC,CAAA;YAC3C,MAAM,IAAA,wDAAyB,EAAC,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,IAAA,kCAAc,EAAC,MAAM,EAAE;YAC7C,KAAK;YACL,aAAa;YACb,OAAO;SACR,CAAC,CAAA;QACF,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,IAAA,gCAAa,EAAC,MAAM,EAAE;gBACvC,KAAK;gBACL,OAAO;gBACP,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,kBAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;gBAC7B,GAAG,SAAS;aAC4B,CAAC,CAAA;YAC3C,MAAM,IAAA,wDAAyB,EAAC,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,wCAA6B,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,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1C,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,sBAAY;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,IAAA,yBAAc,EAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QACrC,OAAO,MAAM,IAAA,wCAAiB,EAAC,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,IAAA,wDAAyB,EAAC,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,IAAA,6BAAkB,EAAC;QAClC,GAAG,EAAE,IAAA,kBAAQ,EAAC;YACZ,kHAAkH;SACnH,CAAC;QACF,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE;YACJ,IAAI;YACJ,EAAE;YACF,IAAA,yBAAc,EAAC,KAAK,EAAE,6BAAgB,CAAC,CAAC,CAAC,CAAC,kCAAqB,CAAC,CAAC,CAAC,KAAK;YACvE,MAAM;YACN,UAAU;SACX;KACF,CAAC,CAAA;IAEF,OAAO,MAAM,IAAA,wCAAiB,EAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,IAAA,sCAAgB,EAAC,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,IAAA,8BAAY,EAAC,MAAM,EAAE;QACjD,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,IAAA,kBAAQ,EAAC;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,IAAA,6BAAkB,EAAC;QAClC,GAAG,EAAE,IAAA,kBAAQ,EAAC;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,IAAA,wCAAiB,EAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAA,sCAAgB,EAAC,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,IAAA,yBAAc,EAAC,KAAK,EAAE,6BAAgB,CAAC;QAAE,MAAM,GAAG,kCAAqB,CAAA;IAC3E,IAAI,IAAI,GAAG,OAAO,CAAA;IAClB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,QAAQ,GAAG,GAAG,CAAA;IAClB,IAAI,CAAC,IAAA,yBAAc,EAAC,MAAM,EAAE,kCAAqB,CAAC,EAAE,CAAC;QACnD,IAAI,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;YAChC,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,kBAAQ;YACb,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;QACF,MAAM,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;YAClC,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,kBAAQ;YACb,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;QACF,QAAQ,GAAG,MAAM,CACf,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;YACzB,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,kBAAQ;YACb,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,EAAE;SACT,CAAC,CACH,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,8BAAmB,EAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACnE,MAAM,WAAW,GAAG,IAAA,8BAAmB,EAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IACvE,MAAM,aAAa,GAAG,IAAA,8BAAmB,EAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE5E,OAAO,IAAA,8BAAmB,EACxB,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,KAAK,UAAU,uBAAuB,CACpC,MAAgC,EAChC,kBAA2B,EAC3B,KAAc,EACd,MAAc,EACd,EAAW;IAEX,IAAI,OAAY,CAAA;IAChB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,6BAAgB,CAAC;QAAE,MAAM,GAAG,kCAAqB,CAAA;IAE3E,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAChD,OAAO,EAAE,kBAAkB;QAC3B,GAAG,EAAE,IAAA,kBAAQ,EAAC,CAAC,wDAAwD,CAAC,CAAC;QACzE,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC,CAAA;IAEF,IAAI,cAAc,IAAI,cAAc,KAAK,eAAM,CAAC,QAAQ;QACtD,OAAO,GAAG,cAAc,CAAA;SACrB,CAAC;QAQJ,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,wCAA6B,EAAE,CAAA;QAC5D,OAAO,GAAG,IAAA,oBAAS,EACjB,IAAA,8BAAmB,EACjB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,sCAAyB,EAAE,MAAM,CAAC,CAC7D,CACF,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,8BAAmB,EACjC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAC7B,CAAA;IAED,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAC9B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EACxC,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAA;IAED,OAAO,IAAA,oBAAS,EAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;AAClC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAI/B,MAAgC,EAChC,QAAoC;IAOpC,MAAM,SAAS,GAAG,MAAM,IAAA,wDAAyB,EAAC,QAAQ,CAAC,CAAA;IAC3D,IAAI,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;IACvC,IAAI,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAA;IAErD,IAAI,CAAC,WAAW;QACd,WAAW,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;YACvC,OAAO,EAAE,SAAS,CAAC,QAAQ;YAC3B,GAAG,EAAE,IAAA,kBAAQ,EAAC,CAAC,gDAAgD,CAAC,CAAC;YACjE,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;IACJ,IAAI,CAAC,kBAAkB;QACrB,kBAAkB,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;YAC9C,OAAO,EAAE,SAAS,CAAC,QAAQ;YAC3B,GAAG,EAAE,IAAA,kBAAQ,EAAC,CAAC,oDAAoD,CAAC,CAAC;YACrE,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;IAEJ,OAAO;QACL,GAAG,SAAS;QACZ,WAAW;QACX,kBAAkB;KACnB,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,yBAAa,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,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 { l1BatchNumber, l2MessageIndex, l2TxNumberInBlock, message, sender, proof, } = await getFinalizeWithdrawalParams(l2Client, { hash, index });
26
- let l1Bridge;
27
- if ((0, index_js_1.isAddressEqual)(sender, address_js_1.l2BaseTokenAddress))
28
- l1Bridge = (await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client)).sharedL1;
29
- else if (!(await isLegacyBridge(l2Client, { address: sender })))
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: abis_js_1.l1SharedBridgeAbi,
45
- functionName: 'finalizeWithdrawal',
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
- BigInt(l2Client.chain.id),
48
- l1BatchNumber,
49
- BigInt(l2MessageIndex),
50
- Number(l2TxNumberInBlock),
51
- message,
52
- proof,
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: l1Bridge,
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 isLegacyBridge(client, parameters) {
86
- try {
87
- await (0, readContract_js_1.readContract)(client, {
88
- address: parameters.address,
89
- abi: abis_js_1.l2SharedBridgeAbi,
90
- functionName: 'l1SharedBridge',
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
- return false;
94
- }
95
- catch (_e) {
96
- return true;
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":"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"}
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,8DAYC;AAZM,KAAK,UAAU,yBAAyB,CAI7C,MAAgE;IAEhE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;IAC5E,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,oBAAoB;QACvC,QAAQ,EAAE,SAAS,CAAC,qBAAqB;QACzC,QAAQ,EAAE,SAAS,CAAC,qBAAqB;KAC1C,CAAA;AACH,CAAC"}
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":";;AAuEA,sDAkDC;AAvHD,0EAAmE;AAGnE,oDAG8B;AAG9B,mDAA4D;AAC5D,kDAA2E;AAC3E,wDAA4D;AAC5D,mDAG4B;AAE5B,yFAAkF;AAClF,6EAAsE;AACtE,yEAAkE;AAClE,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;IACF,MAAM,MAAM,GAAG,IAAA,gBAAK,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,EAAE,CAAY,CAAA;IAInD,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAW,EAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,cAAe;KACvB,CAAC,CAAA;IACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,sCAA0B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,QAAiB,CAAA;IACrB,IACE,IAAA,yBAAc,EAAC,MAAM,EAAE,MAAM,IAAA,gDAAqB,EAAC,QAAQ,CAAC,CAAC;QAC7D,IAAA,yBAAc,EAAC,MAAM,EAAE,+BAAkB,CAAC;QAE1C,QAAQ,GAAG,CAAC,MAAM,IAAA,wDAAyB,EAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;;QAE/D,QAAQ,GAAG,MAAM,IAAA,8BAAY,EAAC,QAAQ,EAAE;YACtC,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,2BAAiB;YACtB,YAAY,EAAE,gBAAgB;YAC9B,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;IAEJ,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
+ {"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
- data = (0, index_js_1.encodeFunctionData)({
37
- abi: abis_js_1.l2SharedBridgeAbi,
38
- functionName: 'withdraw',
39
- args: [to, token, amount],
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
- contract = bridgeAddress
42
- ? bridgeAddress
43
- : (await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(client)).sharedL2;
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":";;AA6HA,4BA2DC;AApLD,wDAA8D;AAK9D,mDAI6B;AAC7B,kDAAqE;AACrE,wDAIgC;AAGhC,iFAA0E;AAC1E,iEAA0D;AAC1D,6DAK6B;AAgGtB,KAAK,UAAU,QAAQ,CAK5B,MAAyC,EACzC,UAA6D;IAE7D,IAAI,EACF,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,KAAK,GAAG,+BAAkB,EAC1B,EAAE,EACF,MAAM,EACN,aAAa,EACb,GAAG,IAAI,EACR,GAAG,UAAU,CAAA;IACd,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAClE,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,iCAAoB,CAAC;YAC7B,QAAQ,EAAE,sCAAsC;SACjD,CAAC,CAAA;IAEJ,IAAI,CAAC,EAAE;QAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAA;IAC7B,IAAI,IAAkC,CAAA;IACtC,IAAI,QAAiB,CAAA;IACrB,IAAI,KAAK,GAAG,EAAE,CAAA;IAEd,IACE,IAAA,yBAAc,EAAC,KAAK,EAAE,6BAAgB,CAAC;QACvC,IAAA,yBAAc,EAAC,KAAK,EAAE,kCAAqB,CAAC;QAE5C,KAAK,GAAG,MAAM,IAAA,wCAAiB,EAAC,MAAM,EAAE,EAAE,KAAK,EAAE,kCAAqB,EAAE,CAAC,CAAA;IAE3E,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,+BAAkB,CAAC,EAAE,CAAC;QAC9C,IAAI,GAAG,IAAA,6BAAkB,EAAC;YACxB,GAAG,EAAE,qBAAW;YAChB,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,EAAE,CAAC;SACX,CAAC,CAAA;QACF,KAAK,GAAG,MAAM,CAAA;QACd,QAAQ,GAAG,+BAAkB,CAAA;IAC/B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,IAAA,6BAAkB,EAAC;YACxB,GAAG,EAAE,2BAAiB;YACtB,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC;SAC1B,CAAC,CAAA;QACF,QAAQ,GAAG,aAAa;YACtB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,CAAC,MAAM,IAAA,wDAAyB,EAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;IACxD,CAAC;IAED,OAAO,MAAM,IAAA,oCAAe,EAAC,MAAM,EAAE;QACnC,OAAO;QACP,EAAE,EAAE,QAAQ;QACZ,IAAI;QACJ,KAAK;QACL,GAAG,IAAI;KACqB,CAAC,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../zksync/actions/withdraw.ts"],"names":[],"mappings":"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"}