diff --git a/sdk/zksync-web3.js/abi/IL1Bridge.json b/sdk/zksync-web3.js/abi/IL1Bridge.json index 8908becfb..31c399ace 100644 --- a/sdk/zksync-web3.js/abi/IL1Bridge.json +++ b/sdk/zksync-web3.js/abi/IL1Bridge.json @@ -161,6 +161,11 @@ "internalType": "address", "name": "_refundRecipient", "type": "address" + }, + { + "internalType": "uint256", + "name": "_l1Amount", + "type": "uint256" } ], "name": "deposit", @@ -171,7 +176,7 @@ "type": "bytes32" } ], - "stateMutability": "payable", + "stateMutability": "nonpayable", "type": "function" }, { diff --git a/sdk/zksync-web3.js/abi/IZkSync.json b/sdk/zksync-web3.js/abi/IZkSync.json index b553291d6..24b79fda4 100644 --- a/sdk/zksync-web3.js/abi/IZkSync.json +++ b/sdk/zksync-web3.js/abi/IZkSync.json @@ -1784,31 +1784,48 @@ }, { "inputs": [ - { - "internalType": "address", - "name": "_contractL2", - "type": "address" - }, { "internalType": "uint256", - "name": "_l2Value", + "name": "_l1Value", "type": "uint256" }, + { + "components": [ + { + "internalType": "address", + "name": "l2Contract", + "type": "address" + }, + { + "internalType": "uint256", + "name": "l2Value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "l2GasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "l2GasPerPubdataByteLimit", + "type": "uint256" + } + ], + "internalType": "struct L2TransactionValue", + "name": "_txValue", + "type": "tuple" + }, { "internalType": "bytes", "name": "_calldata", "type": "bytes" }, - { - "internalType": "uint256", - "name": "_l2GasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_l2GasPerPubdataByteLimit", - "type": "uint256" - }, { "internalType": "bytes[]", "name": "_factoryDeps", @@ -1828,7 +1845,7 @@ "type": "bytes32" } ], - "stateMutability": "payable", + "stateMutability": "nonpayable", "type": "function" }, { diff --git a/sdk/zksync-web3.js/package.json b/sdk/zksync-web3.js/package.json index 6079cbc33..da5a6a131 100644 --- a/sdk/zksync-web3.js/package.json +++ b/sdk/zksync-web3.js/package.json @@ -1,6 +1,6 @@ { - "name": "zksync-web3", - "version": "0.15.2", + "name": "@xycro/zksync-web3", + "version": "0.15.2-test.1", "main": "build/src/index.js", "types": "build/src/index.d.ts", "files": [ diff --git a/sdk/zksync-web3.js/src/adapters.ts b/sdk/zksync-web3.js/src/adapters.ts index e5822eaa6..43caef6a1 100644 --- a/sdk/zksync-web3.js/src/adapters.ts +++ b/sdk/zksync-web3.js/src/adapters.ts @@ -1,5 +1,5 @@ import { BigNumber, BigNumberish, BytesLike, ethers } from 'ethers'; -import { IERC20MetadataFactory, IL1BridgeFactory, IL2BridgeFactory, IZkSyncFactory } from '../typechain'; +import { IERC20MetadataFactory, IL1Bridge, IL1BridgeFactory, IL2BridgeFactory, IZkSyncFactory } from '../typechain'; import { Provider } from './provider'; import { Address, @@ -56,7 +56,7 @@ export function AdapterL1>(Base: TBase) { const addresses = await this._providerL2().getDefaultBridgeAddresses(); return { erc20: IL1BridgeFactory.connect(addresses.erc20L1, this._signerL1()), - weth: IL1BridgeFactory.connect(addresses.wethL1, this._signerL1()) + weth: IL1BridgeFactory.connect(addresses.erc20L1, this._signerL1()), }; } @@ -177,7 +177,7 @@ export function AdapterL1>(Base: TBase) { return this.requestExecute(depositTx); } else { - const bridgeContracts = await this.getL1BridgeContracts(); + const bridgeContracts = await this.getL1BridgeContracts(); if (transaction.approveERC20) { const l2WethToken = await bridgeContracts.weth.l2TokenAddress(transaction.token); // If the token is Wrapped Ether, use its bridge. @@ -246,6 +246,7 @@ export function AdapterL1>(Base: TBase) { overrides?: ethers.PayableOverrides; }): Promise { const bridgeContracts = await this.getL1BridgeContracts(); + if (transaction.bridgeAddress != null) { bridgeContracts.erc20 = bridgeContracts.erc20.attach(transaction.bridgeAddress); } @@ -299,9 +300,8 @@ export function AdapterL1>(Base: TBase) { ); if (token == ETH_ADDRESS) { - overrides.value ??= baseCost.add(operatorTip).add(amount); - return { + l1Value: baseCost.add(operatorTip).add(amount), contractAddress: to, calldata: '0x', l2Value: amount, @@ -312,17 +312,18 @@ export function AdapterL1>(Base: TBase) { }; } else { let refundRecipient = tx.refundRecipient ?? ethers.constants.AddressZero; - const args: [Address, Address, BigNumberish, BigNumberish, BigNumberish, Address] = [ + const cost = baseCost.add(operatorTip); + const args: [Address, Address, BigNumberish, BigNumberish, BigNumberish, Address, BigNumberish] = [ to, token, amount, tx.l2GasLimit, tx.gasPerPubdataByte, - refundRecipient + refundRecipient, + cost ]; - overrides.value ??= baseCost.add(operatorTip); - await checkBaseCost(baseCost, overrides.value); + await checkBaseCost(baseCost, cost); const l2WethToken = await bridgeContracts.weth.l2TokenAddress(tx.token); const bridge = @@ -600,6 +601,7 @@ export function AdapterL1>(Base: TBase) { } async requestExecute(transaction: { + l1Value: BigNumberish; contractAddress: Address; calldata: BytesLike; l2GasLimit?: BigNumberish; @@ -615,6 +617,7 @@ export function AdapterL1>(Base: TBase) { } async estimateGasRequestExecute(transaction: { + l1Value?: BigNumberish; contractAddress: Address; calldata: BytesLike; l2GasLimit?: BigNumberish; @@ -635,6 +638,7 @@ export function AdapterL1>(Base: TBase) { } async getRequestExecuteTx(transaction: { + l1Value?: BigNumberish; contractAddress: Address; calldata: BytesLike; l2GasLimit?: BigNumberish; @@ -648,6 +652,7 @@ export function AdapterL1>(Base: TBase) { const zksyncContract = await this.getMainContract(); const { ...tx } = transaction; + tx.l1Value ??= BigNumber.from(0); tx.l2Value ??= BigNumber.from(0); tx.operatorTip ??= BigNumber.from(0); tx.factoryDeps ??= []; @@ -658,6 +663,7 @@ export function AdapterL1>(Base: TBase) { const { contractAddress, + l1Value, l2Value, calldata, l2GasLimit, @@ -677,16 +683,18 @@ export function AdapterL1>(Base: TBase) { gasLimit: l2GasLimit }); - overrides.value ??= baseCost.add(operatorTip).add(l2Value); - - await checkBaseCost(baseCost, overrides.value); + await checkBaseCost(baseCost, l1Value); return await zksyncContract.populateTransaction.requestL2Transaction( - contractAddress, - l2Value, + l1Value, + { + l2Contract: contractAddress, + l2Value, + gasAmount: baseCost.add(operatorTip), + l2GasLimit, + l2GasPerPubdataByteLimit: REQUIRED_L1_TO_L2_GAS_PER_PUBDATA_LIMIT + }, calldata, - l2GasLimit, - REQUIRED_L1_TO_L2_GAS_PER_PUBDATA_LIMIT, factoryDeps, refundRecipient, overrides diff --git a/sdk/zksync-web3.js/tests/main.test.ts b/sdk/zksync-web3.js/tests/main.test.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/sdk/zksync-web3.js/typechain/IL1Bridge.d.ts b/sdk/zksync-web3.js/typechain/IL1Bridge.d.ts index 2a1e6e414..52375481b 100644 --- a/sdk/zksync-web3.js/typechain/IL1Bridge.d.ts +++ b/sdk/zksync-web3.js/typechain/IL1Bridge.d.ts @@ -14,7 +14,6 @@ import { Contract, ContractTransaction, Overrides, - PayableOverrides, CallOverrides, } from "@ethersproject/contracts"; import { BytesLike } from "@ethersproject/bytes"; @@ -24,7 +23,7 @@ import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; interface IL1BridgeInterface extends ethers.utils.Interface { functions: { "claimFailedDeposit(address,address,bytes32,uint256,uint256,uint16,bytes32[])": FunctionFragment; - "deposit(address,address,uint256,uint256,uint256,address)": FunctionFragment; + "deposit(address,address,uint256,uint256,uint256,address,uint256)": FunctionFragment; "finalizeWithdrawal(uint256,uint256,uint16,bytes,bytes32[])": FunctionFragment; "isWithdrawalFinalized(uint256,uint256)": FunctionFragment; "l2Bridge()": FunctionFragment; @@ -32,52 +31,60 @@ interface IL1BridgeInterface extends ethers.utils.Interface { }; encodeFunctionData( - functionFragment: "claimFailedDeposit", - values: [ - string, - string, - BytesLike, - BigNumberish, - BigNumberish, - BigNumberish, - BytesLike[] - ] + functionFragment: "claimFailedDeposit", + values: [ + string, + string, + BytesLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike[] + ] ): string; encodeFunctionData( - functionFragment: "deposit", - values: [string, string, BigNumberish, BigNumberish, BigNumberish, string] + functionFragment: "deposit", + values: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + string, + BigNumberish + ] ): string; encodeFunctionData( - functionFragment: "finalizeWithdrawal", - values: [BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike[]] + functionFragment: "finalizeWithdrawal", + values: [BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike[]] ): string; encodeFunctionData( - functionFragment: "isWithdrawalFinalized", - values: [BigNumberish, BigNumberish] + functionFragment: "isWithdrawalFinalized", + values: [BigNumberish, BigNumberish] ): string; encodeFunctionData(functionFragment: "l2Bridge", values?: undefined): string; encodeFunctionData( - functionFragment: "l2TokenAddress", - values: [string] + functionFragment: "l2TokenAddress", + values: [string] ): string; decodeFunctionResult( - functionFragment: "claimFailedDeposit", - data: BytesLike + functionFragment: "claimFailedDeposit", + data: BytesLike ): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "finalizeWithdrawal", - data: BytesLike + functionFragment: "finalizeWithdrawal", + data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "isWithdrawalFinalized", - data: BytesLike + functionFragment: "isWithdrawalFinalized", + data: BytesLike ): Result; decodeFunctionResult(functionFragment: "l2Bridge", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "l2TokenAddress", - data: BytesLike + functionFragment: "l2TokenAddress", + data: BytesLike ): Result; events: { @@ -106,77 +113,79 @@ export class IL1Bridge extends Contract { functions: { claimFailedDeposit( - _depositSender: string, - _l1Token: string, - _l2TxHash: BytesLike, - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _merkleProof: BytesLike[], - overrides?: Overrides + _depositSender: string, + _l1Token: string, + _l2TxHash: BytesLike, + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; "claimFailedDeposit(address,address,bytes32,uint256,uint256,uint16,bytes32[])"( - _depositSender: string, - _l1Token: string, - _l2TxHash: BytesLike, - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _merkleProof: BytesLike[], - overrides?: Overrides + _depositSender: string, + _l1Token: string, + _l2TxHash: BytesLike, + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; deposit( - _l2Receiver: string, - _l1Token: string, - _amount: BigNumberish, - _l2TxGasLimit: BigNumberish, - _l2TxGasPerPubdataByte: BigNumberish, - _refundRecipient: string, - overrides?: PayableOverrides + _l2Receiver: string, + _l1Token: string, + _amount: BigNumberish, + _l2TxGasLimit: BigNumberish, + _l2TxGasPerPubdataByte: BigNumberish, + _refundRecipient: string, + _l1Amount: BigNumberish, + overrides?: Overrides ): Promise; - "deposit(address,address,uint256,uint256,uint256,address)"( - _l2Receiver: string, - _l1Token: string, - _amount: BigNumberish, - _l2TxGasLimit: BigNumberish, - _l2TxGasPerPubdataByte: BigNumberish, - _refundRecipient: string, - overrides?: PayableOverrides + "deposit(address,address,uint256,uint256,uint256,address,uint256)"( + _l2Receiver: string, + _l1Token: string, + _amount: BigNumberish, + _l2TxGasLimit: BigNumberish, + _l2TxGasPerPubdataByte: BigNumberish, + _refundRecipient: string, + _l1Amount: BigNumberish, + overrides?: Overrides ): Promise; finalizeWithdrawal( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _message: BytesLike, - _merkleProof: BytesLike[], - overrides?: Overrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _message: BytesLike, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; "finalizeWithdrawal(uint256,uint256,uint16,bytes,bytes32[])"( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _message: BytesLike, - _merkleProof: BytesLike[], - overrides?: Overrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _message: BytesLike, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; isWithdrawalFinalized( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + overrides?: CallOverrides ): Promise<{ 0: boolean; }>; "isWithdrawalFinalized(uint256,uint256)"( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + overrides?: CallOverrides ): Promise<{ 0: boolean; }>; @@ -190,90 +199,92 @@ export class IL1Bridge extends Contract { }>; l2TokenAddress( - _l1Token: string, - overrides?: CallOverrides + _l1Token: string, + overrides?: CallOverrides ): Promise<{ 0: string; }>; "l2TokenAddress(address)"( - _l1Token: string, - overrides?: CallOverrides + _l1Token: string, + overrides?: CallOverrides ): Promise<{ 0: string; }>; }; claimFailedDeposit( - _depositSender: string, - _l1Token: string, - _l2TxHash: BytesLike, - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _merkleProof: BytesLike[], - overrides?: Overrides + _depositSender: string, + _l1Token: string, + _l2TxHash: BytesLike, + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; "claimFailedDeposit(address,address,bytes32,uint256,uint256,uint16,bytes32[])"( - _depositSender: string, - _l1Token: string, - _l2TxHash: BytesLike, - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _merkleProof: BytesLike[], - overrides?: Overrides + _depositSender: string, + _l1Token: string, + _l2TxHash: BytesLike, + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; deposit( - _l2Receiver: string, - _l1Token: string, - _amount: BigNumberish, - _l2TxGasLimit: BigNumberish, - _l2TxGasPerPubdataByte: BigNumberish, - _refundRecipient: string, - overrides?: PayableOverrides + _l2Receiver: string, + _l1Token: string, + _amount: BigNumberish, + _l2TxGasLimit: BigNumberish, + _l2TxGasPerPubdataByte: BigNumberish, + _refundRecipient: string, + _l1Amount: BigNumberish, + overrides?: Overrides ): Promise; - "deposit(address,address,uint256,uint256,uint256,address)"( - _l2Receiver: string, - _l1Token: string, - _amount: BigNumberish, - _l2TxGasLimit: BigNumberish, - _l2TxGasPerPubdataByte: BigNumberish, - _refundRecipient: string, - overrides?: PayableOverrides + "deposit(address,address,uint256,uint256,uint256,address,uint256)"( + _l2Receiver: string, + _l1Token: string, + _amount: BigNumberish, + _l2TxGasLimit: BigNumberish, + _l2TxGasPerPubdataByte: BigNumberish, + _refundRecipient: string, + _l1Amount: BigNumberish, + overrides?: Overrides ): Promise; finalizeWithdrawal( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _message: BytesLike, - _merkleProof: BytesLike[], - overrides?: Overrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _message: BytesLike, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; "finalizeWithdrawal(uint256,uint256,uint16,bytes,bytes32[])"( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _message: BytesLike, - _merkleProof: BytesLike[], - overrides?: Overrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _message: BytesLike, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; isWithdrawalFinalized( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + overrides?: CallOverrides ): Promise; "isWithdrawalFinalized(uint256,uint256)"( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + overrides?: CallOverrides ): Promise; l2Bridge(overrides?: CallOverrides): Promise; @@ -283,81 +294,83 @@ export class IL1Bridge extends Contract { l2TokenAddress(_l1Token: string, overrides?: CallOverrides): Promise; "l2TokenAddress(address)"( - _l1Token: string, - overrides?: CallOverrides + _l1Token: string, + overrides?: CallOverrides ): Promise; callStatic: { claimFailedDeposit( - _depositSender: string, - _l1Token: string, - _l2TxHash: BytesLike, - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _merkleProof: BytesLike[], - overrides?: CallOverrides + _depositSender: string, + _l1Token: string, + _l2TxHash: BytesLike, + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _merkleProof: BytesLike[], + overrides?: CallOverrides ): Promise; "claimFailedDeposit(address,address,bytes32,uint256,uint256,uint16,bytes32[])"( - _depositSender: string, - _l1Token: string, - _l2TxHash: BytesLike, - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _merkleProof: BytesLike[], - overrides?: CallOverrides + _depositSender: string, + _l1Token: string, + _l2TxHash: BytesLike, + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _merkleProof: BytesLike[], + overrides?: CallOverrides ): Promise; deposit( - _l2Receiver: string, - _l1Token: string, - _amount: BigNumberish, - _l2TxGasLimit: BigNumberish, - _l2TxGasPerPubdataByte: BigNumberish, - _refundRecipient: string, - overrides?: CallOverrides + _l2Receiver: string, + _l1Token: string, + _amount: BigNumberish, + _l2TxGasLimit: BigNumberish, + _l2TxGasPerPubdataByte: BigNumberish, + _refundRecipient: string, + _l1Amount: BigNumberish, + overrides?: CallOverrides ): Promise; - "deposit(address,address,uint256,uint256,uint256,address)"( - _l2Receiver: string, - _l1Token: string, - _amount: BigNumberish, - _l2TxGasLimit: BigNumberish, - _l2TxGasPerPubdataByte: BigNumberish, - _refundRecipient: string, - overrides?: CallOverrides + "deposit(address,address,uint256,uint256,uint256,address,uint256)"( + _l2Receiver: string, + _l1Token: string, + _amount: BigNumberish, + _l2TxGasLimit: BigNumberish, + _l2TxGasPerPubdataByte: BigNumberish, + _refundRecipient: string, + _l1Amount: BigNumberish, + overrides?: CallOverrides ): Promise; finalizeWithdrawal( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _message: BytesLike, - _merkleProof: BytesLike[], - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _message: BytesLike, + _merkleProof: BytesLike[], + overrides?: CallOverrides ): Promise; "finalizeWithdrawal(uint256,uint256,uint16,bytes,bytes32[])"( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _message: BytesLike, - _merkleProof: BytesLike[], - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _message: BytesLike, + _merkleProof: BytesLike[], + overrides?: CallOverrides ): Promise; isWithdrawalFinalized( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + overrides?: CallOverrides ): Promise; "isWithdrawalFinalized(uint256,uint256)"( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + overrides?: CallOverrides ): Promise; l2Bridge(overrides?: CallOverrides): Promise; @@ -365,109 +378,111 @@ export class IL1Bridge extends Contract { "l2Bridge()"(overrides?: CallOverrides): Promise; l2TokenAddress( - _l1Token: string, - overrides?: CallOverrides + _l1Token: string, + overrides?: CallOverrides ): Promise; "l2TokenAddress(address)"( - _l1Token: string, - overrides?: CallOverrides + _l1Token: string, + overrides?: CallOverrides ): Promise; }; filters: { ClaimedFailedDeposit( - to: string | null, - l1Token: string | null, - amount: null + to: string | null, + l1Token: string | null, + amount: null ): EventFilter; DepositInitiated( - l2DepositTxHash: BytesLike | null, - from: string | null, - to: string | null, - l1Token: null, - amount: null + l2DepositTxHash: BytesLike | null, + from: string | null, + to: string | null, + l1Token: null, + amount: null ): EventFilter; WithdrawalFinalized( - to: string | null, - l1Token: string | null, - amount: null + to: string | null, + l1Token: string | null, + amount: null ): EventFilter; }; estimateGas: { claimFailedDeposit( - _depositSender: string, - _l1Token: string, - _l2TxHash: BytesLike, - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _merkleProof: BytesLike[], - overrides?: Overrides + _depositSender: string, + _l1Token: string, + _l2TxHash: BytesLike, + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; "claimFailedDeposit(address,address,bytes32,uint256,uint256,uint16,bytes32[])"( - _depositSender: string, - _l1Token: string, - _l2TxHash: BytesLike, - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _merkleProof: BytesLike[], - overrides?: Overrides + _depositSender: string, + _l1Token: string, + _l2TxHash: BytesLike, + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; deposit( - _l2Receiver: string, - _l1Token: string, - _amount: BigNumberish, - _l2TxGasLimit: BigNumberish, - _l2TxGasPerPubdataByte: BigNumberish, - _refundRecipient: string, - overrides?: PayableOverrides + _l2Receiver: string, + _l1Token: string, + _amount: BigNumberish, + _l2TxGasLimit: BigNumberish, + _l2TxGasPerPubdataByte: BigNumberish, + _refundRecipient: string, + _l1Amount: BigNumberish, + overrides?: Overrides ): Promise; - "deposit(address,address,uint256,uint256,uint256,address)"( - _l2Receiver: string, - _l1Token: string, - _amount: BigNumberish, - _l2TxGasLimit: BigNumberish, - _l2TxGasPerPubdataByte: BigNumberish, - _refundRecipient: string, - overrides?: PayableOverrides + "deposit(address,address,uint256,uint256,uint256,address,uint256)"( + _l2Receiver: string, + _l1Token: string, + _amount: BigNumberish, + _l2TxGasLimit: BigNumberish, + _l2TxGasPerPubdataByte: BigNumberish, + _refundRecipient: string, + _l1Amount: BigNumberish, + overrides?: Overrides ): Promise; finalizeWithdrawal( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _message: BytesLike, - _merkleProof: BytesLike[], - overrides?: Overrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _message: BytesLike, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; "finalizeWithdrawal(uint256,uint256,uint16,bytes,bytes32[])"( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _message: BytesLike, - _merkleProof: BytesLike[], - overrides?: Overrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _message: BytesLike, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; isWithdrawalFinalized( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + overrides?: CallOverrides ): Promise; "isWithdrawalFinalized(uint256,uint256)"( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + overrides?: CallOverrides ): Promise; l2Bridge(overrides?: CallOverrides): Promise; @@ -475,87 +490,89 @@ export class IL1Bridge extends Contract { "l2Bridge()"(overrides?: CallOverrides): Promise; l2TokenAddress( - _l1Token: string, - overrides?: CallOverrides + _l1Token: string, + overrides?: CallOverrides ): Promise; "l2TokenAddress(address)"( - _l1Token: string, - overrides?: CallOverrides + _l1Token: string, + overrides?: CallOverrides ): Promise; }; populateTransaction: { claimFailedDeposit( - _depositSender: string, - _l1Token: string, - _l2TxHash: BytesLike, - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _merkleProof: BytesLike[], - overrides?: Overrides + _depositSender: string, + _l1Token: string, + _l2TxHash: BytesLike, + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; "claimFailedDeposit(address,address,bytes32,uint256,uint256,uint16,bytes32[])"( - _depositSender: string, - _l1Token: string, - _l2TxHash: BytesLike, - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _merkleProof: BytesLike[], - overrides?: Overrides + _depositSender: string, + _l1Token: string, + _l2TxHash: BytesLike, + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; deposit( - _l2Receiver: string, - _l1Token: string, - _amount: BigNumberish, - _l2TxGasLimit: BigNumberish, - _l2TxGasPerPubdataByte: BigNumberish, - _refundRecipient: string, - overrides?: PayableOverrides + _l2Receiver: string, + _l1Token: string, + _amount: BigNumberish, + _l2TxGasLimit: BigNumberish, + _l2TxGasPerPubdataByte: BigNumberish, + _refundRecipient: string, + _l1Amount: BigNumberish, + overrides?: Overrides ): Promise; - "deposit(address,address,uint256,uint256,uint256,address)"( - _l2Receiver: string, - _l1Token: string, - _amount: BigNumberish, - _l2TxGasLimit: BigNumberish, - _l2TxGasPerPubdataByte: BigNumberish, - _refundRecipient: string, - overrides?: PayableOverrides + "deposit(address,address,uint256,uint256,uint256,address,uint256)"( + _l2Receiver: string, + _l1Token: string, + _amount: BigNumberish, + _l2TxGasLimit: BigNumberish, + _l2TxGasPerPubdataByte: BigNumberish, + _refundRecipient: string, + _l1Amount: BigNumberish, + overrides?: Overrides ): Promise; finalizeWithdrawal( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _message: BytesLike, - _merkleProof: BytesLike[], - overrides?: Overrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _message: BytesLike, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; "finalizeWithdrawal(uint256,uint256,uint16,bytes,bytes32[])"( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - _l2TxNumberInBlock: BigNumberish, - _message: BytesLike, - _merkleProof: BytesLike[], - overrides?: Overrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + _l2TxNumberInBlock: BigNumberish, + _message: BytesLike, + _merkleProof: BytesLike[], + overrides?: Overrides ): Promise; isWithdrawalFinalized( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + overrides?: CallOverrides ): Promise; "isWithdrawalFinalized(uint256,uint256)"( - _l2BlockNumber: BigNumberish, - _l2MessageIndex: BigNumberish, - overrides?: CallOverrides + _l2BlockNumber: BigNumberish, + _l2MessageIndex: BigNumberish, + overrides?: CallOverrides ): Promise; l2Bridge(overrides?: CallOverrides): Promise; @@ -563,13 +580,13 @@ export class IL1Bridge extends Contract { "l2Bridge()"(overrides?: CallOverrides): Promise; l2TokenAddress( - _l1Token: string, - overrides?: CallOverrides + _l1Token: string, + overrides?: CallOverrides ): Promise; "l2TokenAddress(address)"( - _l1Token: string, - overrides?: CallOverrides + _l1Token: string, + overrides?: CallOverrides ): Promise; }; } diff --git a/sdk/zksync-web3.js/typechain/IL1BridgeFactory.ts b/sdk/zksync-web3.js/typechain/IL1BridgeFactory.ts index 091a99413..67a5fbcfd 100644 --- a/sdk/zksync-web3.js/typechain/IL1BridgeFactory.ts +++ b/sdk/zksync-web3.js/typechain/IL1BridgeFactory.ts @@ -9,8 +9,8 @@ import type { IL1Bridge } from "./IL1Bridge"; export class IL1BridgeFactory { static connect( - address: string, - signerOrProvider: Signer | Provider + address: string, + signerOrProvider: Signer | Provider ): IL1Bridge { return new Contract(address, _abi, signerOrProvider) as IL1Bridge; } @@ -179,6 +179,11 @@ const _abi = [ name: "_refundRecipient", type: "address", }, + { + internalType: "uint256", + name: "_l1Amount", + type: "uint256", + }, ], name: "deposit", outputs: [ @@ -188,7 +193,7 @@ const _abi = [ type: "bytes32", }, ], - stateMutability: "payable", + stateMutability: "nonpayable", type: "function", }, { @@ -280,4 +285,4 @@ const _abi = [ stateMutability: "view", type: "function", }, -]; \ No newline at end of file +]; diff --git a/sdk/zksync-web3.js/typechain/IL2Bridge.d.ts b/sdk/zksync-web3.js/typechain/IL2Bridge.d.ts index 7e3e33ea2..e7742f25c 100644 --- a/sdk/zksync-web3.js/typechain/IL2Bridge.d.ts +++ b/sdk/zksync-web3.js/typechain/IL2Bridge.d.ts @@ -23,7 +23,6 @@ import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; interface IL2BridgeInterface extends ethers.utils.Interface { functions: { "finalizeDeposit(address,address,address,uint256,bytes)": FunctionFragment; - "initialize(address,bytes32,address)": FunctionFragment; "l1Bridge()": FunctionFragment; "l1TokenAddress(address)": FunctionFragment; "l2TokenAddress(address)": FunctionFragment; @@ -34,10 +33,6 @@ interface IL2BridgeInterface extends ethers.utils.Interface { functionFragment: "finalizeDeposit", values: [string, string, string, BigNumberish, BytesLike] ): string; - encodeFunctionData( - functionFragment: "initialize", - values: [string, BytesLike, string] - ): string; encodeFunctionData(functionFragment: "l1Bridge", values?: undefined): string; encodeFunctionData( functionFragment: "l1TokenAddress", @@ -56,7 +51,6 @@ interface IL2BridgeInterface extends ethers.utils.Interface { functionFragment: "finalizeDeposit", data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "l1Bridge", data: BytesLike): Result; decodeFunctionResult( functionFragment: "l1TokenAddress", @@ -103,20 +97,6 @@ export class IL2Bridge extends Contract { overrides?: Overrides ): Promise; - initialize( - _l1Bridge: string, - _l2TokenProxyBytecodeHash: BytesLike, - _governor: string, - overrides?: Overrides - ): Promise; - - "initialize(address,bytes32,address)"( - _l1Bridge: string, - _l2TokenProxyBytecodeHash: BytesLike, - _governor: string, - overrides?: Overrides - ): Promise; - l1Bridge(overrides?: CallOverrides): Promise<{ 0: string; }>; @@ -186,20 +166,6 @@ export class IL2Bridge extends Contract { overrides?: Overrides ): Promise; - initialize( - _l1Bridge: string, - _l2TokenProxyBytecodeHash: BytesLike, - _governor: string, - overrides?: Overrides - ): Promise; - - "initialize(address,bytes32,address)"( - _l1Bridge: string, - _l2TokenProxyBytecodeHash: BytesLike, - _governor: string, - overrides?: Overrides - ): Promise; - l1Bridge(overrides?: CallOverrides): Promise; "l1Bridge()"(overrides?: CallOverrides): Promise; @@ -251,20 +217,6 @@ export class IL2Bridge extends Contract { overrides?: CallOverrides ): Promise; - initialize( - _l1Bridge: string, - _l2TokenProxyBytecodeHash: BytesLike, - _governor: string, - overrides?: CallOverrides - ): Promise; - - "initialize(address,bytes32,address)"( - _l1Bridge: string, - _l2TokenProxyBytecodeHash: BytesLike, - _governor: string, - overrides?: CallOverrides - ): Promise; - l1Bridge(overrides?: CallOverrides): Promise; "l1Bridge()"(overrides?: CallOverrides): Promise; @@ -325,20 +277,6 @@ export class IL2Bridge extends Contract { overrides?: Overrides ): Promise; - initialize( - _l1Bridge: string, - _l2TokenProxyBytecodeHash: BytesLike, - _governor: string, - overrides?: Overrides - ): Promise; - - "initialize(address,bytes32,address)"( - _l1Bridge: string, - _l2TokenProxyBytecodeHash: BytesLike, - _governor: string, - overrides?: Overrides - ): Promise; - l1Bridge(overrides?: CallOverrides): Promise; "l1Bridge()"(overrides?: CallOverrides): Promise; @@ -397,20 +335,6 @@ export class IL2Bridge extends Contract { overrides?: Overrides ): Promise; - initialize( - _l1Bridge: string, - _l2TokenProxyBytecodeHash: BytesLike, - _governor: string, - overrides?: Overrides - ): Promise; - - "initialize(address,bytes32,address)"( - _l1Bridge: string, - _l2TokenProxyBytecodeHash: BytesLike, - _governor: string, - overrides?: Overrides - ): Promise; - l1Bridge(overrides?: CallOverrides): Promise; "l1Bridge()"(overrides?: CallOverrides): Promise; diff --git a/sdk/zksync-web3.js/typechain/IL2BridgeFactory.ts b/sdk/zksync-web3.js/typechain/IL2BridgeFactory.ts index 5de847707..94ffa3561 100644 --- a/sdk/zksync-web3.js/typechain/IL2BridgeFactory.ts +++ b/sdk/zksync-web3.js/typechain/IL2BridgeFactory.ts @@ -50,29 +50,6 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, - { - inputs: [ - { - internalType: "address", - name: "_l1Bridge", - type: "address", - }, - { - internalType: "bytes32", - name: "_l2TokenProxyBytecodeHash", - type: "bytes32", - }, - { - internalType: "address", - name: "_governor", - type: "address", - }, - ], - name: "initialize", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, { inputs: [], name: "l1Bridge", diff --git a/sdk/zksync-web3.js/typechain/IZkSync.d.ts b/sdk/zksync-web3.js/typechain/IZkSync.d.ts index 34d2062cb..7a8f9daa4 100644 --- a/sdk/zksync-web3.js/typechain/IZkSync.d.ts +++ b/sdk/zksync-web3.js/typechain/IZkSync.d.ts @@ -14,7 +14,6 @@ import { Contract, ContractTransaction, Overrides, - PayableOverrides, CallOverrides, } from "@ethersproject/contracts"; import { BytesLike } from "@ethersproject/bytes"; @@ -34,6 +33,7 @@ interface IZkSyncInterface extends ethers.utils.Interface { "facets()": FunctionFragment; "finalizeEthWithdrawal(uint256,uint256,uint16,bytes,bytes32[])": FunctionFragment; "freezeDiamond()": FunctionFragment; + "getAllowList()": FunctionFragment; "getCurrentProposalId()": FunctionFragment; "getFirstUnprocessedPriorityTx()": FunctionFragment; "getGovernor()": FunctionFragment; @@ -41,6 +41,7 @@ interface IZkSyncInterface extends ethers.utils.Interface { "getL2DefaultAccountBytecodeHash()": FunctionFragment; "getPendingGovernor()": FunctionFragment; "getPriorityQueueSize()": FunctionFragment; + "getPriorityTxMaxGasLimit()": FunctionFragment; "getProposedUpgradeHash()": FunctionFragment; "getProposedUpgradeTimestamp()": FunctionFragment; "getSecurityCouncil()": FunctionFragment; @@ -51,7 +52,6 @@ interface IZkSyncInterface extends ethers.utils.Interface { "getUpgradeProposalState()": FunctionFragment; "getVerifier()": FunctionFragment; "getVerifierParams()": FunctionFragment; - "getpriorityTxMaxGasLimit()": FunctionFragment; "isApprovedBySecurityCouncil()": FunctionFragment; "isDiamondStorageFrozen()": FunctionFragment; "isEthWithdrawalFinalized(uint256,uint256)": FunctionFragment; @@ -67,9 +67,10 @@ interface IZkSyncInterface extends ethers.utils.Interface { "proveL1ToL2TransactionStatus(bytes32,uint256,uint256,uint16,bytes32[],uint8)": FunctionFragment; "proveL2LogInclusion(uint256,uint256,tuple,bytes32[])": FunctionFragment; "proveL2MessageInclusion(uint256,uint256,tuple,bytes32[])": FunctionFragment; - "requestL2Transaction(address,uint256,bytes,uint256,uint256,bytes[],address)": FunctionFragment; + "requestL2Transaction(uint256,tuple,bytes,bytes[],address)": FunctionFragment; "revertBlocks(uint256)": FunctionFragment; "securityCouncilUpgradeApprove(bytes32)": FunctionFragment; + "setAllowList(address)": FunctionFragment; "setL2BootloaderBytecodeHash(bytes32)": FunctionFragment; "setL2DefaultAccountBytecodeHash(bytes32)": FunctionFragment; "setPendingGovernor(address)": FunctionFragment; @@ -172,6 +173,10 @@ interface IZkSyncInterface extends ethers.utils.Interface { functionFragment: "freezeDiamond", values?: undefined ): string; + encodeFunctionData( + functionFragment: "getAllowList", + values?: undefined + ): string; encodeFunctionData( functionFragment: "getCurrentProposalId", values?: undefined @@ -200,6 +205,10 @@ interface IZkSyncInterface extends ethers.utils.Interface { functionFragment: "getPriorityQueueSize", values?: undefined ): string; + encodeFunctionData( + functionFragment: "getPriorityTxMaxGasLimit", + values?: undefined + ): string; encodeFunctionData( functionFragment: "getProposedUpgradeHash", values?: undefined @@ -240,10 +249,6 @@ interface IZkSyncInterface extends ethers.utils.Interface { functionFragment: "getVerifierParams", values?: undefined ): string; - encodeFunctionData( - functionFragment: "getpriorityTxMaxGasLimit", - values?: undefined - ): string; encodeFunctionData( functionFragment: "isApprovedBySecurityCouncil", values?: undefined @@ -365,11 +370,15 @@ interface IZkSyncInterface extends ethers.utils.Interface { encodeFunctionData( functionFragment: "requestL2Transaction", values: [ - string, BigNumberish, + { + l2Contract: string; + l2Value: BigNumberish; + gasAmount: BigNumberish; + l2GasLimit: BigNumberish; + l2GasPerPubdataByteLimit: BigNumberish; + }, BytesLike, - BigNumberish, - BigNumberish, BytesLike[], string ] @@ -382,6 +391,10 @@ interface IZkSyncInterface extends ethers.utils.Interface { functionFragment: "securityCouncilUpgradeApprove", values: [BytesLike] ): string; + encodeFunctionData( + functionFragment: "setAllowList", + values: [string] + ): string; encodeFunctionData( functionFragment: "setL2BootloaderBytecodeHash", values: [BytesLike] @@ -484,6 +497,10 @@ interface IZkSyncInterface extends ethers.utils.Interface { functionFragment: "freezeDiamond", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "getAllowList", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "getCurrentProposalId", data: BytesLike @@ -512,6 +529,10 @@ interface IZkSyncInterface extends ethers.utils.Interface { functionFragment: "getPriorityQueueSize", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "getPriorityTxMaxGasLimit", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "getProposedUpgradeHash", data: BytesLike @@ -552,10 +573,6 @@ interface IZkSyncInterface extends ethers.utils.Interface { functionFragment: "getVerifierParams", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "getpriorityTxMaxGasLimit", - data: BytesLike - ): Result; decodeFunctionResult( functionFragment: "isApprovedBySecurityCouncil", data: BytesLike @@ -628,6 +645,10 @@ interface IZkSyncInterface extends ethers.utils.Interface { functionFragment: "securityCouncilUpgradeApprove", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "setAllowList", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "setL2BootloaderBytecodeHash", data: BytesLike @@ -683,6 +704,7 @@ interface IZkSyncInterface extends ethers.utils.Interface { "ExecuteUpgrade(uint256,bytes32,bytes32)": EventFragment; "Freeze()": EventFragment; "IsPorterAvailableStatusUpdate(bool)": EventFragment; + "NewAllowList(address,address)": EventFragment; "NewGovernor(address,address)": EventFragment; "NewL2BootloaderBytecodeHash(bytes32,bytes32)": EventFragment; "NewL2DefaultAccountBytecodeHash(bytes32,bytes32)": EventFragment; @@ -709,6 +731,7 @@ interface IZkSyncInterface extends ethers.utils.Interface { getEvent( nameOrSignatureOrTopic: "IsPorterAvailableStatusUpdate" ): EventFragment; + getEvent(nameOrSignatureOrTopic: "NewAllowList"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewGovernor"): EventFragment; getEvent( nameOrSignatureOrTopic: "NewL2BootloaderBytecodeHash" @@ -942,6 +965,14 @@ export class IZkSync extends Contract { "freezeDiamond()"(overrides?: Overrides): Promise; + getAllowList(overrides?: CallOverrides): Promise<{ + 0: string; + }>; + + "getAllowList()"(overrides?: CallOverrides): Promise<{ + 0: string; + }>; + getCurrentProposalId(overrides?: CallOverrides): Promise<{ 0: BigNumber; }>; @@ -998,6 +1029,14 @@ export class IZkSync extends Contract { 0: BigNumber; }>; + getPriorityTxMaxGasLimit(overrides?: CallOverrides): Promise<{ + 0: BigNumber; + }>; + + "getPriorityTxMaxGasLimit()"(overrides?: CallOverrides): Promise<{ + 0: BigNumber; + }>; + getProposedUpgradeHash(overrides?: CallOverrides): Promise<{ 0: string; }>; @@ -1092,14 +1131,6 @@ export class IZkSync extends Contract { }; }>; - getpriorityTxMaxGasLimit(overrides?: CallOverrides): Promise<{ - 0: BigNumber; - }>; - - "getpriorityTxMaxGasLimit()"(overrides?: CallOverrides): Promise<{ - 0: BigNumber; - }>; - isApprovedBySecurityCouncil(overrides?: CallOverrides): Promise<{ 0: boolean; }>; @@ -1417,25 +1448,33 @@ export class IZkSync extends Contract { }>; requestL2Transaction( - _contractL2: string, - _l2Value: BigNumberish, + _l1Value: BigNumberish, + _txValue: { + l2Contract: string; + l2Value: BigNumberish; + gasAmount: BigNumberish; + l2GasLimit: BigNumberish; + l2GasPerPubdataByteLimit: BigNumberish; + }, _calldata: BytesLike, - _l2GasLimit: BigNumberish, - _l2GasPerPubdataByteLimit: BigNumberish, _factoryDeps: BytesLike[], _refundRecipient: string, - overrides?: PayableOverrides + overrides?: Overrides ): Promise; - "requestL2Transaction(address,uint256,bytes,uint256,uint256,bytes[],address)"( - _contractL2: string, - _l2Value: BigNumberish, + "requestL2Transaction(uint256,(address,uint256,uint256,uint256,uint256),bytes,bytes[],address)"( + _l1Value: BigNumberish, + _txValue: { + l2Contract: string; + l2Value: BigNumberish; + gasAmount: BigNumberish; + l2GasLimit: BigNumberish; + l2GasPerPubdataByteLimit: BigNumberish; + }, _calldata: BytesLike, - _l2GasLimit: BigNumberish, - _l2GasPerPubdataByteLimit: BigNumberish, _factoryDeps: BytesLike[], _refundRecipient: string, - overrides?: PayableOverrides + overrides?: Overrides ): Promise; revertBlocks( @@ -1458,6 +1497,16 @@ export class IZkSync extends Contract { overrides?: Overrides ): Promise; + setAllowList( + _newAllowList: string, + overrides?: Overrides + ): Promise; + + "setAllowList(address)"( + _newAllowList: string, + overrides?: Overrides + ): Promise; + setL2BootloaderBytecodeHash( _l2BootloaderBytecodeHash: BytesLike, overrides?: Overrides @@ -1785,6 +1834,10 @@ export class IZkSync extends Contract { "freezeDiamond()"(overrides?: Overrides): Promise; + getAllowList(overrides?: CallOverrides): Promise; + + "getAllowList()"(overrides?: CallOverrides): Promise; + getCurrentProposalId(overrides?: CallOverrides): Promise; "getCurrentProposalId()"(overrides?: CallOverrides): Promise; @@ -1817,6 +1870,10 @@ export class IZkSync extends Contract { "getPriorityQueueSize()"(overrides?: CallOverrides): Promise; + getPriorityTxMaxGasLimit(overrides?: CallOverrides): Promise; + + "getPriorityTxMaxGasLimit()"(overrides?: CallOverrides): Promise; + getProposedUpgradeHash(overrides?: CallOverrides): Promise; "getProposedUpgradeHash()"(overrides?: CallOverrides): Promise; @@ -1877,10 +1934,6 @@ export class IZkSync extends Contract { 2: string; }>; - getpriorityTxMaxGasLimit(overrides?: CallOverrides): Promise; - - "getpriorityTxMaxGasLimit()"(overrides?: CallOverrides): Promise; - isApprovedBySecurityCouncil(overrides?: CallOverrides): Promise; "isApprovedBySecurityCouncil()"(overrides?: CallOverrides): Promise; @@ -2144,25 +2197,33 @@ export class IZkSync extends Contract { ): Promise; requestL2Transaction( - _contractL2: string, - _l2Value: BigNumberish, + _l1Value: BigNumberish, + _txValue: { + l2Contract: string; + l2Value: BigNumberish; + gasAmount: BigNumberish; + l2GasLimit: BigNumberish; + l2GasPerPubdataByteLimit: BigNumberish; + }, _calldata: BytesLike, - _l2GasLimit: BigNumberish, - _l2GasPerPubdataByteLimit: BigNumberish, _factoryDeps: BytesLike[], _refundRecipient: string, - overrides?: PayableOverrides + overrides?: Overrides ): Promise; - "requestL2Transaction(address,uint256,bytes,uint256,uint256,bytes[],address)"( - _contractL2: string, - _l2Value: BigNumberish, + "requestL2Transaction(uint256,(address,uint256,uint256,uint256,uint256),bytes,bytes[],address)"( + _l1Value: BigNumberish, + _txValue: { + l2Contract: string; + l2Value: BigNumberish; + gasAmount: BigNumberish; + l2GasLimit: BigNumberish; + l2GasPerPubdataByteLimit: BigNumberish; + }, _calldata: BytesLike, - _l2GasLimit: BigNumberish, - _l2GasPerPubdataByteLimit: BigNumberish, _factoryDeps: BytesLike[], _refundRecipient: string, - overrides?: PayableOverrides + overrides?: Overrides ): Promise; revertBlocks( @@ -2185,6 +2246,16 @@ export class IZkSync extends Contract { overrides?: Overrides ): Promise; + setAllowList( + _newAllowList: string, + overrides?: Overrides + ): Promise; + + "setAllowList(address)"( + _newAllowList: string, + overrides?: Overrides + ): Promise; + setL2BootloaderBytecodeHash( _l2BootloaderBytecodeHash: BytesLike, overrides?: Overrides @@ -2504,6 +2575,10 @@ export class IZkSync extends Contract { "freezeDiamond()"(overrides?: CallOverrides): Promise; + getAllowList(overrides?: CallOverrides): Promise; + + "getAllowList()"(overrides?: CallOverrides): Promise; + getCurrentProposalId(overrides?: CallOverrides): Promise; "getCurrentProposalId()"(overrides?: CallOverrides): Promise; @@ -2538,6 +2613,10 @@ export class IZkSync extends Contract { "getPriorityQueueSize()"(overrides?: CallOverrides): Promise; + getPriorityTxMaxGasLimit(overrides?: CallOverrides): Promise; + + "getPriorityTxMaxGasLimit()"(overrides?: CallOverrides): Promise; + getProposedUpgradeHash(overrides?: CallOverrides): Promise; "getProposedUpgradeHash()"(overrides?: CallOverrides): Promise; @@ -2598,10 +2677,6 @@ export class IZkSync extends Contract { 2: string; }>; - getpriorityTxMaxGasLimit(overrides?: CallOverrides): Promise; - - "getpriorityTxMaxGasLimit()"(overrides?: CallOverrides): Promise; - isApprovedBySecurityCouncil(overrides?: CallOverrides): Promise; "isApprovedBySecurityCouncil()"( @@ -2870,22 +2945,30 @@ export class IZkSync extends Contract { ): Promise; requestL2Transaction( - _contractL2: string, - _l2Value: BigNumberish, + _l1Value: BigNumberish, + _txValue: { + l2Contract: string; + l2Value: BigNumberish; + gasAmount: BigNumberish; + l2GasLimit: BigNumberish; + l2GasPerPubdataByteLimit: BigNumberish; + }, _calldata: BytesLike, - _l2GasLimit: BigNumberish, - _l2GasPerPubdataByteLimit: BigNumberish, _factoryDeps: BytesLike[], _refundRecipient: string, overrides?: CallOverrides ): Promise; - "requestL2Transaction(address,uint256,bytes,uint256,uint256,bytes[],address)"( - _contractL2: string, - _l2Value: BigNumberish, + "requestL2Transaction(uint256,(address,uint256,uint256,uint256,uint256),bytes,bytes[],address)"( + _l1Value: BigNumberish, + _txValue: { + l2Contract: string; + l2Value: BigNumberish; + gasAmount: BigNumberish; + l2GasLimit: BigNumberish; + l2GasPerPubdataByteLimit: BigNumberish; + }, _calldata: BytesLike, - _l2GasLimit: BigNumberish, - _l2GasPerPubdataByteLimit: BigNumberish, _factoryDeps: BytesLike[], _refundRecipient: string, overrides?: CallOverrides @@ -2911,6 +2994,16 @@ export class IZkSync extends Contract { overrides?: CallOverrides ): Promise; + setAllowList( + _newAllowList: string, + overrides?: CallOverrides + ): Promise; + + "setAllowList(address)"( + _newAllowList: string, + overrides?: CallOverrides + ): Promise; + setL2BootloaderBytecodeHash( _l2BootloaderBytecodeHash: BytesLike, overrides?: CallOverrides @@ -3086,6 +3179,11 @@ export class IZkSync extends Contract { IsPorterAvailableStatusUpdate(isPorterAvailable: null): EventFilter; + NewAllowList( + oldAllowList: string | null, + newAllowList: string | null + ): EventFilter; + NewGovernor( oldGovernor: string | null, newGovernor: string | null @@ -3332,6 +3430,10 @@ export class IZkSync extends Contract { "freezeDiamond()"(overrides?: Overrides): Promise; + getAllowList(overrides?: CallOverrides): Promise; + + "getAllowList()"(overrides?: CallOverrides): Promise; + getCurrentProposalId(overrides?: CallOverrides): Promise; "getCurrentProposalId()"(overrides?: CallOverrides): Promise; @@ -3370,6 +3472,10 @@ export class IZkSync extends Contract { "getPriorityQueueSize()"(overrides?: CallOverrides): Promise; + getPriorityTxMaxGasLimit(overrides?: CallOverrides): Promise; + + "getPriorityTxMaxGasLimit()"(overrides?: CallOverrides): Promise; + getProposedUpgradeHash(overrides?: CallOverrides): Promise; "getProposedUpgradeHash()"(overrides?: CallOverrides): Promise; @@ -3412,10 +3518,6 @@ export class IZkSync extends Contract { "getVerifierParams()"(overrides?: CallOverrides): Promise; - getpriorityTxMaxGasLimit(overrides?: CallOverrides): Promise; - - "getpriorityTxMaxGasLimit()"(overrides?: CallOverrides): Promise; - isApprovedBySecurityCouncil(overrides?: CallOverrides): Promise; "isApprovedBySecurityCouncil()"( @@ -3671,25 +3773,33 @@ export class IZkSync extends Contract { ): Promise; requestL2Transaction( - _contractL2: string, - _l2Value: BigNumberish, + _l1Value: BigNumberish, + _txValue: { + l2Contract: string; + l2Value: BigNumberish; + gasAmount: BigNumberish; + l2GasLimit: BigNumberish; + l2GasPerPubdataByteLimit: BigNumberish; + }, _calldata: BytesLike, - _l2GasLimit: BigNumberish, - _l2GasPerPubdataByteLimit: BigNumberish, _factoryDeps: BytesLike[], _refundRecipient: string, - overrides?: PayableOverrides + overrides?: Overrides ): Promise; - "requestL2Transaction(address,uint256,bytes,uint256,uint256,bytes[],address)"( - _contractL2: string, - _l2Value: BigNumberish, + "requestL2Transaction(uint256,(address,uint256,uint256,uint256,uint256),bytes,bytes[],address)"( + _l1Value: BigNumberish, + _txValue: { + l2Contract: string; + l2Value: BigNumberish; + gasAmount: BigNumberish; + l2GasLimit: BigNumberish; + l2GasPerPubdataByteLimit: BigNumberish; + }, _calldata: BytesLike, - _l2GasLimit: BigNumberish, - _l2GasPerPubdataByteLimit: BigNumberish, _factoryDeps: BytesLike[], _refundRecipient: string, - overrides?: PayableOverrides + overrides?: Overrides ): Promise; revertBlocks( @@ -3712,6 +3822,16 @@ export class IZkSync extends Contract { overrides?: Overrides ): Promise; + setAllowList( + _newAllowList: string, + overrides?: Overrides + ): Promise; + + "setAllowList(address)"( + _newAllowList: string, + overrides?: Overrides + ): Promise; + setL2BootloaderBytecodeHash( _l2BootloaderBytecodeHash: BytesLike, overrides?: Overrides @@ -4030,6 +4150,10 @@ export class IZkSync extends Contract { "freezeDiamond()"(overrides?: Overrides): Promise; + getAllowList(overrides?: CallOverrides): Promise; + + "getAllowList()"(overrides?: CallOverrides): Promise; + getCurrentProposalId( overrides?: CallOverrides ): Promise; @@ -4082,6 +4206,14 @@ export class IZkSync extends Contract { overrides?: CallOverrides ): Promise; + getPriorityTxMaxGasLimit( + overrides?: CallOverrides + ): Promise; + + "getPriorityTxMaxGasLimit()"( + overrides?: CallOverrides + ): Promise; + getProposedUpgradeHash( overrides?: CallOverrides ): Promise; @@ -4156,14 +4288,6 @@ export class IZkSync extends Contract { overrides?: CallOverrides ): Promise; - getpriorityTxMaxGasLimit( - overrides?: CallOverrides - ): Promise; - - "getpriorityTxMaxGasLimit()"( - overrides?: CallOverrides - ): Promise; - isApprovedBySecurityCouncil( overrides?: CallOverrides ): Promise; @@ -4427,25 +4551,33 @@ export class IZkSync extends Contract { ): Promise; requestL2Transaction( - _contractL2: string, - _l2Value: BigNumberish, + _l1Value: BigNumberish, + _txValue: { + l2Contract: string; + l2Value: BigNumberish; + gasAmount: BigNumberish; + l2GasLimit: BigNumberish; + l2GasPerPubdataByteLimit: BigNumberish; + }, _calldata: BytesLike, - _l2GasLimit: BigNumberish, - _l2GasPerPubdataByteLimit: BigNumberish, _factoryDeps: BytesLike[], _refundRecipient: string, - overrides?: PayableOverrides + overrides?: Overrides ): Promise; - "requestL2Transaction(address,uint256,bytes,uint256,uint256,bytes[],address)"( - _contractL2: string, - _l2Value: BigNumberish, + "requestL2Transaction(uint256,(address,uint256,uint256,uint256,uint256),bytes,bytes[],address)"( + _l1Value: BigNumberish, + _txValue: { + l2Contract: string; + l2Value: BigNumberish; + gasAmount: BigNumberish; + l2GasLimit: BigNumberish; + l2GasPerPubdataByteLimit: BigNumberish; + }, _calldata: BytesLike, - _l2GasLimit: BigNumberish, - _l2GasPerPubdataByteLimit: BigNumberish, _factoryDeps: BytesLike[], _refundRecipient: string, - overrides?: PayableOverrides + overrides?: Overrides ): Promise; revertBlocks( @@ -4468,6 +4600,16 @@ export class IZkSync extends Contract { overrides?: Overrides ): Promise; + setAllowList( + _newAllowList: string, + overrides?: Overrides + ): Promise; + + "setAllowList(address)"( + _newAllowList: string, + overrides?: Overrides + ): Promise; + setL2BootloaderBytecodeHash( _l2BootloaderBytecodeHash: BytesLike, overrides?: Overrides diff --git a/sdk/zksync-web3.js/typechain/IZkSyncFactory.ts b/sdk/zksync-web3.js/typechain/IZkSyncFactory.ts index 7fdf22ef1..8572c229f 100644 --- a/sdk/zksync-web3.js/typechain/IZkSyncFactory.ts +++ b/sdk/zksync-web3.js/typechain/IZkSyncFactory.ts @@ -193,6 +193,25 @@ const _abi = [ name: "IsPorterAvailableStatusUpdate", type: "event", }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "oldAllowList", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newAllowList", + type: "address", + }, + ], + name: "NewAllowList", + type: "event", + }, { anonymous: false, inputs: [ @@ -976,6 +995,19 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [], + name: "getAllowList", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, { inputs: [], name: "getCurrentProposalId", @@ -1067,6 +1099,19 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [], + name: "getPriorityTxMaxGasLimit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, { inputs: [], name: "getProposedUpgradeHash", @@ -1214,19 +1259,6 @@ const _abi = [ stateMutability: "view", type: "function", }, - { - inputs: [], - name: "getpriorityTxMaxGasLimit", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, { inputs: [], name: "isApprovedBySecurityCouncil", @@ -1769,31 +1801,48 @@ const _abi = [ }, { inputs: [ - { - internalType: "address", - name: "_contractL2", - type: "address", - }, { internalType: "uint256", - name: "_l2Value", + name: "_l1Value", type: "uint256", }, + { + components: [ + { + internalType: "address", + name: "l2Contract", + type: "address", + }, + { + internalType: "uint256", + name: "l2Value", + type: "uint256", + }, + { + internalType: "uint256", + name: "gasAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "l2GasLimit", + type: "uint256", + }, + { + internalType: "uint256", + name: "l2GasPerPubdataByteLimit", + type: "uint256", + }, + ], + internalType: "struct L2TransactionValue", + name: "_txValue", + type: "tuple", + }, { internalType: "bytes", name: "_calldata", type: "bytes", }, - { - internalType: "uint256", - name: "_l2GasLimit", - type: "uint256", - }, - { - internalType: "uint256", - name: "_l2GasPerPubdataByteLimit", - type: "uint256", - }, { internalType: "bytes[]", name: "_factoryDeps", @@ -1813,7 +1862,7 @@ const _abi = [ type: "bytes32", }, ], - stateMutability: "payable", + stateMutability: "nonpayable", type: "function", }, { @@ -1842,6 +1891,19 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [ + { + internalType: "contract IAllowList", + name: "_newAllowList", + type: "address", + }, + ], + name: "setAllowList", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, { inputs: [ {