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.
Files changed (134) hide show
  1. package/CHANGELOG.md +22 -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/watchBlocks.js +4 -2
  9. package/_cjs/actions/public/watchBlocks.js.map +1 -1
  10. package/_cjs/chains/definitions/bitkub.js +3 -3
  11. package/_cjs/chains/definitions/bitkub.js.map +1 -1
  12. package/_cjs/chains/definitions/jbc.js +1 -1
  13. package/_cjs/chains/definitions/jbc.js.map +1 -1
  14. package/_cjs/chains/definitions/riseTestnet.js +29 -0
  15. package/_cjs/chains/definitions/riseTestnet.js.map +1 -0
  16. package/_cjs/chains/index.js +6 -4
  17. package/_cjs/chains/index.js.map +1 -1
  18. package/_cjs/errors/version.js +1 -1
  19. package/_cjs/utils/rpc/socket.js +8 -4
  20. package/_cjs/utils/rpc/socket.js.map +1 -1
  21. package/_cjs/zksync/actions/claimFailedDeposit.js +146 -0
  22. package/_cjs/zksync/actions/claimFailedDeposit.js.map +1 -0
  23. package/_cjs/zksync/actions/deposit.js +51 -4
  24. package/_cjs/zksync/actions/deposit.js.map +1 -1
  25. package/_cjs/zksync/actions/finalizeWithdrawal.js +41 -41
  26. package/_cjs/zksync/actions/finalizeWithdrawal.js.map +1 -1
  27. package/_cjs/zksync/actions/getDefaultBridgeAddresses.js +2 -0
  28. package/_cjs/zksync/actions/getDefaultBridgeAddresses.js.map +1 -1
  29. package/_cjs/zksync/actions/isWithdrawalFinalized.js +2 -17
  30. package/_cjs/zksync/actions/isWithdrawalFinalized.js.map +1 -1
  31. package/_cjs/zksync/actions/withdraw.js +49 -8
  32. package/_cjs/zksync/actions/withdraw.js.map +1 -1
  33. package/_cjs/zksync/constants/address.js +4 -1
  34. package/_cjs/zksync/constants/address.js.map +1 -1
  35. package/_cjs/zksync/decorators/walletL1.js +2 -0
  36. package/_cjs/zksync/decorators/walletL1.js.map +1 -1
  37. package/_cjs/zksync/errors/bridge.js +23 -1
  38. package/_cjs/zksync/errors/bridge.js.map +1 -1
  39. package/_cjs/zksync/index.js +4 -2
  40. package/_cjs/zksync/index.js.map +1 -1
  41. package/_esm/actions/public/call.js +2 -2
  42. package/_esm/actions/public/call.js.map +1 -1
  43. package/_esm/actions/public/estimateGas.js +1 -1
  44. package/_esm/actions/public/estimateGas.js.map +1 -1
  45. package/_esm/actions/public/simulateBlocks.js +1 -1
  46. package/_esm/actions/public/simulateBlocks.js.map +1 -1
  47. package/_esm/actions/public/watchBlocks.js +4 -2
  48. package/_esm/actions/public/watchBlocks.js.map +1 -1
  49. package/_esm/chains/definitions/bitkub.js +3 -3
  50. package/_esm/chains/definitions/bitkub.js.map +1 -1
  51. package/_esm/chains/definitions/jbc.js +1 -1
  52. package/_esm/chains/definitions/jbc.js.map +1 -1
  53. package/_esm/chains/definitions/riseTestnet.js +26 -0
  54. package/_esm/chains/definitions/riseTestnet.js.map +1 -0
  55. package/_esm/chains/index.js +2 -0
  56. package/_esm/chains/index.js.map +1 -1
  57. package/_esm/errors/version.js +1 -1
  58. package/_esm/utils/rpc/socket.js +10 -6
  59. package/_esm/utils/rpc/socket.js.map +1 -1
  60. package/_esm/zksync/actions/claimFailedDeposit.js +199 -0
  61. package/_esm/zksync/actions/claimFailedDeposit.js.map +1 -0
  62. package/_esm/zksync/actions/deposit.js +61 -11
  63. package/_esm/zksync/actions/deposit.js.map +1 -1
  64. package/_esm/zksync/actions/finalizeWithdrawal.js +42 -42
  65. package/_esm/zksync/actions/finalizeWithdrawal.js.map +1 -1
  66. package/_esm/zksync/actions/getDefaultBridgeAddresses.js +2 -0
  67. package/_esm/zksync/actions/getDefaultBridgeAddresses.js.map +1 -1
  68. package/_esm/zksync/actions/isWithdrawalFinalized.js +3 -18
  69. package/_esm/zksync/actions/isWithdrawalFinalized.js.map +1 -1
  70. package/_esm/zksync/actions/withdraw.js +54 -10
  71. package/_esm/zksync/actions/withdraw.js.map +1 -1
  72. package/_esm/zksync/constants/address.js +3 -0
  73. package/_esm/zksync/constants/address.js.map +1 -1
  74. package/_esm/zksync/decorators/walletL1.js +2 -0
  75. package/_esm/zksync/decorators/walletL1.js.map +1 -1
  76. package/_esm/zksync/errors/bridge.js +19 -0
  77. package/_esm/zksync/errors/bridge.js.map +1 -1
  78. package/_esm/zksync/index.js +1 -0
  79. package/_esm/zksync/index.js.map +1 -1
  80. package/_types/actions/public/call.d.ts +1 -1
  81. package/_types/actions/public/estimateGas.d.ts +1 -1
  82. package/_types/actions/public/watchBlocks.d.ts.map +1 -1
  83. package/_types/chains/definitions/bitkub.d.ts +3 -3
  84. package/_types/chains/definitions/jbc.d.ts +1 -1
  85. package/_types/chains/definitions/riseTestnet.d.ts +35 -0
  86. package/_types/chains/definitions/riseTestnet.d.ts.map +1 -0
  87. package/_types/chains/index.d.ts +2 -0
  88. package/_types/chains/index.d.ts.map +1 -1
  89. package/_types/errors/version.d.ts +1 -1
  90. package/_types/utils/rpc/socket.d.ts.map +1 -1
  91. package/_types/zksync/actions/claimFailedDeposit.d.ts +77 -0
  92. package/_types/zksync/actions/claimFailedDeposit.d.ts.map +1 -0
  93. package/_types/zksync/actions/deposit.d.ts +0 -1
  94. package/_types/zksync/actions/deposit.d.ts.map +1 -1
  95. package/_types/zksync/actions/finalizeWithdrawal.d.ts.map +1 -1
  96. package/_types/zksync/actions/getDefaultBridgeAddresses.d.ts.map +1 -1
  97. package/_types/zksync/actions/isWithdrawalFinalized.d.ts.map +1 -1
  98. package/_types/zksync/actions/withdraw.d.ts +1 -1
  99. package/_types/zksync/actions/withdraw.d.ts.map +1 -1
  100. package/_types/zksync/constants/address.d.ts +3 -0
  101. package/_types/zksync/constants/address.d.ts.map +1 -1
  102. package/_types/zksync/decorators/walletL1.d.ts +32 -1
  103. package/_types/zksync/decorators/walletL1.d.ts.map +1 -1
  104. package/_types/zksync/errors/bridge.d.ts +23 -0
  105. package/_types/zksync/errors/bridge.d.ts.map +1 -1
  106. package/_types/zksync/index.d.ts +1 -0
  107. package/_types/zksync/index.d.ts.map +1 -1
  108. package/_types/zksync/types/contract.d.ts +2 -0
  109. package/_types/zksync/types/contract.d.ts.map +1 -1
  110. package/_types/zksync/types/eip1193.d.ts +2 -0
  111. package/_types/zksync/types/eip1193.d.ts.map +1 -1
  112. package/actions/public/call.ts +3 -3
  113. package/actions/public/estimateGas.ts +2 -2
  114. package/actions/public/simulateBlocks.ts +1 -1
  115. package/actions/public/watchBlocks.ts +7 -5
  116. package/chains/definitions/bitkub.ts +3 -3
  117. package/chains/definitions/jbc.ts +1 -1
  118. package/chains/definitions/riseTestnet.ts +26 -0
  119. package/chains/index.ts +2 -0
  120. package/errors/version.ts +1 -1
  121. package/package.json +1 -1
  122. package/utils/rpc/socket.ts +10 -8
  123. package/zksync/actions/claimFailedDeposit.ts +319 -0
  124. package/zksync/actions/deposit.ts +116 -14
  125. package/zksync/actions/finalizeWithdrawal.ts +53 -51
  126. package/zksync/actions/getDefaultBridgeAddresses.ts +3 -0
  127. package/zksync/actions/isWithdrawalFinalized.ts +4 -22
  128. package/zksync/actions/withdraw.ts +64 -8
  129. package/zksync/constants/address.ts +9 -0
  130. package/zksync/decorators/walletL1.ts +49 -1
  131. package/zksync/errors/bridge.ts +35 -0
  132. package/zksync/index.ts +6 -0
  133. package/zksync/types/contract.ts +2 -0
  134. 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":"AAAA,OAAO,EAAgB,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAIL,eAAe,GAChB,MAAM,yCAAyC,CAAA;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAA;AAWrE,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EACL,iCAAiC,EAEjC,qBAAqB,EAErB,qBAAqB,GAEtB,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AA6B9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAQtC,MAAyC,EACzC,UAMC;IAED,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,EAC5B,MAAM,EAAE,QAAQ,EAChB,WAAW,EACX,GAAG,IAAI,EACR,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,MAAM,OAAO,GAA6B,CACxC,MAAM,qBAAqB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAC7D,CAAA;IAED,MAAM,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CACxD,CAAC,SAAS,EAAE,EAAE,CACZ,cAAc,CAAM,SAAS,CAAC,MAAM,EAAE,uBAAuB,CAAC;QAC9D,SAAS,CAAC,GAAG,KAAK,WAAW,CAChC,CAAA;IACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;IAClE,IAAI,gBAAgB,EAAE,KAAK,KAAK,QAAQ;QACtC,MAAM,IAAI,iCAAiC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IAEpE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IAEhE,gFAAgF;IAChF,MAAM,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACrD,MAAM,eAAe,GAAG,OAAO,CAAC,EAAE,CAAA;IAClC,IAAI,CAAC,eAAe;QAAE,MAAM,IAAI,qBAAqB,EAAE,CAAA;IAEvD,MAAM,kBAAkB,GAAG,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SACpE,kBAAkB,CAAA;IAErB,IAAI,aAAkB,CAAA;IACtB,IAAI,OAAY,CAAA;IAChB,IAAI,SAAc,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC;YAClC,GAAG,EAAE,QAAQ,CAAC;gBACZ,kHAAkH;aACnH,CAAC;YACF,IAAI,EAAE,EAAE,CAAC,KAAK;SACf,CAAC,CAAA;QACF,SAAS,GAAG,mBAAmB,CAC7B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAC5B,CAAA;QACD,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;YACnC,OAAO,EAAE,kBAAkB;YAC3B,GAAG,EAAE,QAAQ,CAAC,CAAC,wDAAwD,CAAC,CAAC;YACzE,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAChB,CAAC,CAAA;QACF,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,OAAO,KAAK,QAAQ;YACtB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAA;IAC7D,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC;YAClC,GAAG,EAAE,QAAQ,CAAC;gBACZ,mFAAmF;aACpF,CAAC;YACF,IAAI,EAAE,EAAE,CAAC,KAAK;SACf,CAAC,CAAA;QACF,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5B,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;YAChD,OAAO,EAAE,kBAAkB;YAC3B,GAAG,EAAE,QAAQ,CAAC;gBACZ,+DAA+D;aAChE,CAAC;YACF,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,CAAC,OAAO,CAAC;SAChB,CAAC,CAAA;QACF,MAAM,mBAAmB,GAAG,mBAAmB,CAC7C;YACE,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,OAAO,EAAE;SAClB,EACD,YAAY,CACb,CAAA;QACD,SAAS,GAAG,mBAAmB,CAC7B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CACjE,CAAA;QACD,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,qBAAqB;KAC7B,CAAC,CAAA;IACF,IAAI,CAAC,KAAK;QACR,MAAM,IAAI,qBAAqB,CAAC;YAC9B,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,qBAAqB;SAC7B,CAAC,CAAA;IAEJ,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG,EAAE,QAAQ,CAAC;YACZ,2OAA2O;SAC5O,CAAC;QACF,YAAY,EAAE,6BAA6B;QAC3C,IAAI,EAAE;YACJ,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,aAAa;YACb,OAAO;YACP,SAAS;YACT,WAAW;YACX,OAAO,CAAC,aAAc;YACtB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;YAC9B,KAAK,CAAC,KAAK;SACZ;KACF,CAAC,CAAA;IAEF,OAAO,MAAM,eAAe,CAAC,MAAM,EAAE;QACnC,KAAK,EAAE,MAAM;QACb,OAAO;QACP,EAAE,EAAE,eAAe;QACnB,IAAI;QACJ,GAAG,IAAI;KACqB,CAAC,CAAA;AACjC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAI/B,MAAgC,EAChC,QAAoC;IAOpC,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,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,YAAY,CAAC,MAAM,EAAE;YACvC,OAAO,EAAE,SAAS,CAAC,QAAQ;YAC3B,GAAG,EAAE,QAAQ,CAAC,CAAC,gDAAgD,CAAC,CAAC;YACjE,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;IACJ,IAAI,CAAC,kBAAkB;QACrB,kBAAkB,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;YAC9C,OAAO,EAAE,SAAS,CAAC,QAAQ;YAC3B,GAAG,EAAE,QAAQ,CAAC,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"}
@@ -1,4 +1,5 @@
1
- import { parseAbi, parseAbiParameters } from 'abitype';
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 getDefaultBridgeAddresses(l2Client);
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: encodeAbiParameters(parseAbiParameters('address x, uint256 y, address z'), [token, amount, to]),
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: encodeAbiParameters(parseAbiParameters('address x, uint256 y, address z'), [ethAddressInContracts, 0n, to]),
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: encodeAbiParameters(parseAbiParameters('address x, uint256 y, address z'), [token, amount, to]),
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":"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"}
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, isAddressEqual, parseAccount, slice, } from '../../utils/index.js';
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 { l1BatchNumber, l2MessageIndex, l2TxNumberInBlock, message, sender, proof, } = await getFinalizeWithdrawalParams(l2Client, { hash, index });
74
- let l1Bridge;
75
- if (isAddressEqual(sender, l2BaseTokenAddress))
76
- l1Bridge = (await getDefaultBridgeAddresses(l2Client)).sharedL1;
77
- else if (!(await isLegacyBridge(l2Client, { address: sender })))
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: l1SharedBridgeAbi,
93
- functionName: 'finalizeWithdrawal',
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
- BigInt(l2Client.chain.id),
96
- l1BatchNumber,
97
- BigInt(l2MessageIndex),
98
- Number(l2TxNumberInBlock),
99
- message,
100
- proof,
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: l1Bridge,
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 isLegacyBridge(client, parameters) {
134
- try {
135
- await readContract(client, {
136
- address: parameters.address,
137
- abi: l2SharedBridgeAbi,
138
- functionName: 'l1SharedBridge',
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
- return false;
142
- }
143
- catch (_e) {
144
- return true;
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":"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"}
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;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,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 { isAddressEqual, slice } from '../../utils/index.js';
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":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAGnE,OAAO,EACL,kBAAkB,GAEnB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,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,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,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;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,EAAE,CAAY,CAAA;IACnD,+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,EAAE,CAAC;QACX,MAAM,IAAI,0BAA0B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,QAAiB,CAAA;IACrB,IACE,cAAc,CAAC,MAAM,EAAE,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC7D,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC;QAE1C,QAAQ,GAAG,CAAC,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;;QAE/D,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE;YACtC,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,iBAAiB;YACtB,YAAY,EAAE,gBAAgB;YAC9B,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;IAEJ,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"}
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"}