Releases: zksync-sdk/zksync2-go
Releases · zksync-sdk/zksync2-go
v1.0.0
1.0.0 (2024-11-06)
Bug Fixes
- accounts: implement lazy chaching in wallets (60f84ab)
Features
- accounts: add
Cache
which provides lazy caching for bridge contracts (542647f) - accounts: add
PaymasterParams
andGasPerPubdata
toTransferCallMsg
(8cf5594) - accounts: add
PaymasterParams
andGasPerPubdata
toWithdrawalCallMsg
(d294db0) - accounts: add
TransactionOpts
with ZKsync features (f4321a3) - accounts: change
SmartAccount.Balance
to utilizeCallOpts
(e4155d6) - accounts: change
WalletL2.Balance
to utilizeCallOpts
(1d28994) - accounts: remove
PaymasterParams
from transfer and withdrawal tx (efc0f60) - accounts: rename
DepositTransaction
fields (c070cfe) - accounts: rename
NewBaseSignerFromMnemonic
method (1b2bf80) - accounts: rename
Transaction
method (fb1bbe9) - accounts: rename
TransactionOpts
toTransactionOptsL1
(ba3ad1e) - accounts: rename
WalletL1.ApproveERC20
toWalletL1.ApproveToken
(80dd564) - accounts: rename
WalletL1.EstimateCustomBridgeDepositL2Gas
(f310974) - accounts: rename
WalletL1.EstimateDefaultBridgeDepositL2Gas
(bbc0b48) - accounts: use
TransactionOptsL1
inWalletL1
(2757f4b) - accounts: use
TransactOpts
inDeployer
(5491f63) - accounts: use zksync transaction for transfer and withdrawal (99762f5)
- clients: add
CustomSignature
andGasPerPubdata
toTransferCallMsq
(df00687) - clients: add
CustomSignature
andGasPerPubdata
toWithdrawalCallMsq
(4cd0dcf) - clients: rename
TransferCallMsg
methods (487b902) - clients: rename
WithdrawalCallMsg
methods (bd63b3d) - eip712: change the API of
Domain
struct (670010a) - eip712: remove
TypedData
interface (9f69f2e) - redesign
Signer
and replaceBaseSigner
withECDSASigner
(a38b8bc) - remove
AllowList
field from transaction and message types (571fb96) - remove
Deployer
,AdapterL1
andAdapterL1
interfaces (dfcc937) - remove
EIP712Meta
struct and inline its properties inCallMsg
(4e48d91) - remove deprecated code (269f787)
- rename
BaseClient
toClient
(e91f3bc) - types: improve the design of L2 transaction (c2aa297)
- types: rename
EIP712TxType
toTxType
(f009818) - types: rename the fields for default ERC20 bridges in
BridgeContracts
(5fb3925) - types: update
FeeParams
field types fromuint64
tobig.Int
(02d02a2) - types: use
big.Int
for block and batch number inBlockDetails
(8fb632b) - types: use
big.Int
for gas prices and block numbers inBatchDetails
(02a6e8e)
BREAKING CHANGES
- accounts: Rename
NewBaseSignerFromMnemonic
method to
NewECDSASignerFromMenmonic
. - types: Change
FeeParams
field types fromuint64
to
big.Int
. - accounts: Rename
Transaction.ToTransaction712
to
Transaction.ToTransaction
. - accounts: Renamed
DepositTransaction
fields:
ApproveERC20
toApproveToken
,ApproveBaseERC20
to
ApproveBaseToken
. - accounts: Rename
WalletL1.ApproveERC20
toWalletL1.ApproveToken
. - accounts: The
SmartAccount.Balance
method utilizesCallOpts
. - accounts: The
WalletL2.Balance
method utilizesCallOpts
. - accounts: Remove
PaymasterParams
fromTransferTransaction
andWithdrawalTransaction
since it can be utilze usingTransactionOpts
. - accounts: Use
TransactionOptsL1
inWalletL1
when
interacting with contract API. - accounts: The
TransactionOpts
is renamed to
TransactionOptsL1
since it's changed to be used only for
L1 interaction. - accounts:
WalletL2
andWallet
fortransfer
and
withdraw
methods use zksync transaction in order to provide
utilization of zksync features. - clients: Rename
WithdrawalCallMsg.ToCallMsg
to
WithdrawalCallMsg.ToL1CallMsg
andWithdrawalCallMsg.ToZkCallMsg
toWithdrawalCallMsg.ToCallMsg
. - clients: Rename
TransferCallMsg.ToCallMsg
to
TransferCallMsg.ToL1CallMsg
andTransferCallMsg.ToZkCallMsg
to
TransferCallMsg.ToCallMsg
. - eip712: The
eip712.Domain
methods have been renamed
to be more convenient. - eip712: Removed
eip712.TypedData
interface. - types: Rename properties
L1Erc20DefaultBridge
toL1Erc20Bridge
andL2Erc20DefaultBridge
toL2Erc20Bridge
inBridgeContracts
. - types: Use
big.Int
type inBlockDetails
forNumber
andL1BatchNumber
. - types: Use
big.Int
type inBatchDetails
forNumber
,
L2FairGasPrice
andL1GasPrice
. - The
EIP712Meta
struct has been removed, and its properties
are now directly inlined into theCallMsg
struct. - types: Rename constant
EIP712TxType
toTxType
. - The
Signer
interface has been redesigned to be minimal and more
extensible. TheBaseSigner
has been replaced byECDSASigner
. Additionally,
Wallet
,WalletL1
, andWalletL2
now useECDSASigner
in their constructors. - types:
Transaction712
has been replaced byTransaction
, an improved version
that offers a more convenient API and greater extensibility. - accounts: Rename
WalletL1.EstimateCustomBridgeDepositL2Gas
to
WalletL1.EstimateDepositL2GasFromCustomBridge
. Added the missing
l2Value
parameter. - accounts: Rename
WalletL1.EstimateDefaultBridgeDepositL2Gas
to
WalletL1.EstimateDepositL2GasFromDefaultBridge
. - Remove
Deployer
,AdapterL1
andAdapterL2
interfaces. RenameBaseDeployer
toDeployer
. - Remove
Client
interface and renameBaseClient
toClient
. - Remove
AllowList
field from transaction and message types. - Remove deprecated code.
v0.7.0
0.7.0 (2024-07-27)
Features
- clients: add
BaseClient.BalanceAtByTag
method (abff602) - clients: add
BaseClient.BlockByTag
method (d86c806) - clients: add
BaseClient.CallContractByTag
method (1d64eab) - clients: add
BaseClient.CodeAtByTag
method (b8ab9e4) - clients: add
BaseClient.HeaderByTag
method (12cddcd) - clients: add
BaseClient.IsMessageSignatureCorrect
(e2d1312) - clients: add
BaseClient.IsTypedDataSignatureCorrect
(f95918a) - clients: add
BaseClient.NonceAtByTag
method (1dc6a59) - clients: add
BaseClient.StorageAtByTag
method (24c3361) - clients: add
BaseClient.TransactionCountByTag
method (b01170e) - utils: add
HashedL2ToL1Msg
method (98e7825) - utils: add
IsMessageSignatureCorrect
(001cfef) - utils: add
IsTypedDataSignatureCorrect
function (09d9b5d)
v0.6.0
0.6.0 (2024-06-24)
Features
- align types and RPC endpoints with version
v24.7.0
of a node (a411218) - clients,types: add support for
zks_getFeeParams
RPC method (b6bce81) - clients,types: add support for
zks_getProtocolVersion
RPC method (72f2247) - clients,types: add support for
zks_sendRawTransactionWithDetailedOutput
RPC method (fa9c571) - clients: add
BaseClient.IsL2BridgeLegacy
method (8209dc3) - clients: add
BaseClient.L2TokenAddressFromCustomBridge()
method (ec03104) - provider support for custom shared bridge (cfdd543)
BREAKING CHANGES
- Types and RPC endpoints are aligned with version
v24.7.0
of a node.
v0.5.0
v0.4.0
0.4.0 (2024-02-23)
Bug Fixes
- accounts:
FullRequiredDepositFee
use default bridge address when missingmsg.BridgeAddress
(840c653) - accounts:
WalletL2.SignTransaction
populates transaction before signing (13f8d7f) - accounts: change default priority fee to 0 for zksync tx (37dbd47)
- accounts: resolve error in formating string (6be5c6b)
- clients: allow
requestExecute
transactions in block without signatrues (1744ee7) - clients: deprecate
client.ConfirmedTokens
(33372c4) - clients: deprecate
client.TokenPrice
(d5acec3) - clients: patch to work with
geth:1.13.13
version #27 (8ee9d08) - resolve colision among dependencies #29 (dc8ad7a)
- types: aligned types with
zksync-core
v18 (191cc74) - types: extend bridge contracts with WETH bridges (a21f294)
- utils: pass bytes to
GetGeneralPaymasterInput
function #30 (8e62183)
Features
v0.3.2
v0.3.1
v0.3.0
The design of the SDK is intended to align with the structure of the geth
library, making migration easier. To achieve this, certain breakable changes and deprecations were necessary.
Breakable changes
- All abstractions (
Client
,AdapterL1
,AdapterL2
,Deployer
,Adapter
) now have context-aware methods through:bind.CallOpts
,bind.TransactOpts
,accounts.CallOpts
,accounts.TransactOpts
, orcontext.Context
. - Method parameters have been organized into structures to provide clearer functions and facilitate easier usage.
- The return type of
Wallet.ClaimFailedDeposit
has been changed fromcommon.Hash
to*types.Transaction
. - The return type of
Wallet.Transfer
has been changed fromcommon.Hash
to*types.Transaction
. - The return type of
Wallet.Withdraw
has been changed fromcommon.Hash
to*types.Transaction
. - The method
Wallet.EstimateAndSend
has been removed. - The method
Wallet.GetProvider
has been removed. - The method
EthSigner.GetAddress
has been renamed toEthSigner.Address
. - The method
EthSigner.GetDomain
has been renamed toEthSigner.Domain
. - The methods in
eip712.TypedData
no longer have theGet
prefix. eip712.DefaultEip712Domain
has been renamed toZkSyncEraEIP712Domain
.types.MessengerAddress
has been renamed toL1MessengerAddress
.- The method
utils.ComputeL2Create2Address
has been renamed toCreate2Address
. - The method
utils.ComputeL2CreateAddress
has been renamed toCreateAddress
.
Deprecations:
EthereumProvider
has been deprecated in favor of theAdapterL1
interface and its implementation,WalletL1
.Provider
is deprecated in favor of theClient
interface and its implementation,BaseClient
.EthSigner
is deprecated in favor ofSigner
and its implementation,BaseSigner
.
v0.2.0
- Add support for account abstraction and paymaster.
- Eliminated the need to specify
bind.TransactOpts.GasTipCap
value (maxPriorityFeePerGas
) when performing write operation on a smart contract.
Breakable changes
The source code is organized to several packages and because of that import statements needs to be updated.