viem 2.10.11 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/_cjs/celo/formatters.js +1 -10
- package/_cjs/celo/formatters.js.map +1 -1
- package/_cjs/celo/serializers.js +0 -25
- package/_cjs/celo/serializers.js.map +1 -1
- package/_cjs/celo/utils.js +2 -15
- package/_cjs/celo/utils.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/errors/version.js.map +1 -1
- package/_cjs/zksync/actions/estimateFee.js +26 -0
- package/_cjs/zksync/actions/estimateFee.js.map +1 -0
- package/_cjs/zksync/actions/estimateGasL1ToL2.js +20 -0
- package/_cjs/zksync/actions/estimateGasL1ToL2.js.map +1 -0
- package/_cjs/zksync/actions/getAllBalances.js +19 -0
- package/_cjs/zksync/actions/getAllBalances.js.map +1 -0
- package/_cjs/zksync/actions/getBaseTokenL1Address.js +9 -0
- package/_cjs/zksync/actions/getBaseTokenL1Address.js.map +1 -0
- package/_cjs/zksync/actions/getBlockDetails.js +12 -0
- package/_cjs/zksync/actions/getBlockDetails.js.map +1 -0
- package/_cjs/zksync/actions/getBridgehubContractAddress.js +9 -0
- package/_cjs/zksync/actions/getBridgehubContractAddress.js.map +1 -0
- package/_cjs/zksync/actions/getDefaultBridgeAddresses.js +13 -0
- package/_cjs/zksync/actions/getDefaultBridgeAddresses.js.map +1 -0
- package/_cjs/zksync/actions/getL1Allowance.js +19 -0
- package/_cjs/zksync/actions/getL1Allowance.js.map +1 -0
- package/_cjs/zksync/actions/getL1Balance.js +23 -0
- package/_cjs/zksync/actions/getL1Balance.js.map +1 -0
- package/_cjs/zksync/actions/getL1BatchBlockRange.js +13 -0
- package/_cjs/zksync/actions/getL1BatchBlockRange.js.map +1 -0
- package/_cjs/zksync/actions/getL1BatchDetails.js +12 -0
- package/_cjs/zksync/actions/getL1BatchDetails.js.map +1 -0
- package/_cjs/zksync/actions/getL1BatchNumber.js +9 -0
- package/_cjs/zksync/actions/getL1BatchNumber.js.map +1 -0
- package/_cjs/zksync/actions/getL1ChainId.js +9 -0
- package/_cjs/zksync/actions/getL1ChainId.js.map +1 -0
- package/_cjs/zksync/actions/getL1TokenBalance.js +24 -0
- package/_cjs/zksync/actions/getL1TokenBalance.js.map +1 -0
- package/_cjs/zksync/actions/getLogProof.js +12 -0
- package/_cjs/zksync/actions/getLogProof.js.map +1 -0
- package/_cjs/zksync/actions/getMainContractAddress.js +9 -0
- package/_cjs/zksync/actions/getMainContractAddress.js.map +1 -0
- package/_cjs/zksync/actions/getRawBlockTransactions.js +13 -0
- package/_cjs/zksync/actions/getRawBlockTransactions.js.map +1 -0
- package/_cjs/zksync/actions/getTestnetPaymasterAddress.js +9 -0
- package/_cjs/zksync/actions/getTestnetPaymasterAddress.js.map +1 -0
- package/_cjs/zksync/actions/getTransactionDetails.js +12 -0
- package/_cjs/zksync/actions/getTransactionDetails.js.map +1 -0
- package/_cjs/zksync/constants/address.js +4 -1
- package/_cjs/zksync/constants/address.js.map +1 -1
- package/_cjs/zksync/decorators/publicL1.js +15 -0
- package/_cjs/zksync/decorators/publicL1.js.map +1 -0
- package/_cjs/zksync/decorators/publicL2.js +43 -0
- package/_cjs/zksync/decorators/publicL2.js.map +1 -0
- package/_cjs/zksync/errors/token-is-eth.js +17 -0
- package/_cjs/zksync/errors/token-is-eth.js.map +1 -0
- package/_cjs/zksync/index.js +41 -3
- package/_cjs/zksync/index.js.map +1 -1
- package/_cjs/zksync/types/eip1193.js +3 -0
- package/_cjs/zksync/types/eip1193.js.map +1 -0
- package/_cjs/zksync/types/proof.js +3 -0
- package/_cjs/zksync/types/proof.js.map +1 -0
- package/_cjs/zksync/utils/camelCaseKeys.js +17 -0
- package/_cjs/zksync/utils/camelCaseKeys.js.map +1 -0
- package/_cjs/zksync/utils/isEth.js +17 -0
- package/_cjs/zksync/utils/isEth.js.map +1 -0
- package/_cjs/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js +4 -3
- package/_cjs/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js.map +1 -1
- package/_cjs/zksync/utils/paymaster/getGeneralPaymasterInput.js +4 -3
- package/_cjs/zksync/utils/paymaster/getGeneralPaymasterInput.js.map +1 -1
- package/_esm/celo/formatters.js +2 -11
- package/_esm/celo/formatters.js.map +1 -1
- package/_esm/celo/serializers.js +1 -29
- package/_esm/celo/serializers.js.map +1 -1
- package/_esm/celo/utils.js +1 -15
- package/_esm/celo/utils.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/errors/version.js.map +1 -1
- package/_esm/zksync/actions/estimateFee.js +22 -0
- package/_esm/zksync/actions/estimateFee.js.map +1 -0
- package/_esm/zksync/actions/estimateGasL1ToL2.js +16 -0
- package/_esm/zksync/actions/estimateGasL1ToL2.js.map +1 -0
- package/_esm/zksync/actions/getAllBalances.js +15 -0
- package/_esm/zksync/actions/getAllBalances.js.map +1 -0
- package/_esm/zksync/actions/getBaseTokenL1Address.js +5 -0
- package/_esm/zksync/actions/getBaseTokenL1Address.js.map +1 -0
- package/_esm/zksync/actions/getBlockDetails.js +8 -0
- package/_esm/zksync/actions/getBlockDetails.js.map +1 -0
- package/_esm/zksync/actions/getBridgehubContractAddress.js +5 -0
- package/_esm/zksync/actions/getBridgehubContractAddress.js.map +1 -0
- package/_esm/zksync/actions/getDefaultBridgeAddresses.js +9 -0
- package/_esm/zksync/actions/getDefaultBridgeAddresses.js.map +1 -0
- package/_esm/zksync/actions/getL1Allowance.js +15 -0
- package/_esm/zksync/actions/getL1Allowance.js.map +1 -0
- package/_esm/zksync/actions/getL1Balance.js +19 -0
- package/_esm/zksync/actions/getL1Balance.js.map +1 -0
- package/_esm/zksync/actions/getL1BatchBlockRange.js +9 -0
- package/_esm/zksync/actions/getL1BatchBlockRange.js.map +1 -0
- package/_esm/zksync/actions/getL1BatchDetails.js +8 -0
- package/_esm/zksync/actions/getL1BatchDetails.js.map +1 -0
- package/_esm/zksync/actions/getL1BatchNumber.js +5 -0
- package/_esm/zksync/actions/getL1BatchNumber.js.map +1 -0
- package/_esm/zksync/actions/getL1ChainId.js +5 -0
- package/_esm/zksync/actions/getL1ChainId.js.map +1 -0
- package/_esm/zksync/actions/getL1TokenBalance.js +20 -0
- package/_esm/zksync/actions/getL1TokenBalance.js.map +1 -0
- package/_esm/zksync/actions/getLogProof.js +8 -0
- package/_esm/zksync/actions/getLogProof.js.map +1 -0
- package/_esm/zksync/actions/getMainContractAddress.js +5 -0
- package/_esm/zksync/actions/getMainContractAddress.js.map +1 -0
- package/_esm/zksync/actions/getRawBlockTransactions.js +9 -0
- package/_esm/zksync/actions/getRawBlockTransactions.js.map +1 -0
- package/_esm/zksync/actions/getTestnetPaymasterAddress.js +5 -0
- package/_esm/zksync/actions/getTestnetPaymasterAddress.js.map +1 -0
- package/_esm/zksync/actions/getTransactionDetails.js +8 -0
- package/_esm/zksync/actions/getTransactionDetails.js.map +1 -0
- package/_esm/zksync/constants/address.js +3 -0
- package/_esm/zksync/constants/address.js.map +1 -1
- package/_esm/zksync/decorators/publicL1.js +12 -0
- package/_esm/zksync/decorators/publicL1.js.map +1 -0
- package/_esm/zksync/decorators/publicL2.js +39 -0
- package/_esm/zksync/decorators/publicL2.js.map +1 -0
- package/_esm/zksync/errors/token-is-eth.js +13 -0
- package/_esm/zksync/errors/token-is-eth.js.map +1 -0
- package/_esm/zksync/index.js +20 -1
- package/_esm/zksync/index.js.map +1 -1
- package/_esm/zksync/types/eip1193.js +2 -0
- package/_esm/zksync/types/eip1193.js.map +1 -0
- package/_esm/zksync/types/proof.js +2 -0
- package/_esm/zksync/types/proof.js.map +1 -0
- package/_esm/zksync/utils/camelCaseKeys.js +13 -0
- package/_esm/zksync/utils/camelCaseKeys.js.map +1 -0
- package/_esm/zksync/utils/isEth.js +13 -0
- package/_esm/zksync/utils/isEth.js.map +1 -0
- package/_esm/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js +2 -1
- package/_esm/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js.map +1 -1
- package/_esm/zksync/utils/paymaster/getGeneralPaymasterInput.js +2 -1
- package/_esm/zksync/utils/paymaster/getGeneralPaymasterInput.js.map +1 -1
- package/_types/celo/chainConfig.d.ts +58 -526
- package/_types/celo/chainConfig.d.ts.map +1 -1
- package/_types/celo/formatters.d.ts +29 -263
- package/_types/celo/formatters.d.ts.map +1 -1
- package/_types/celo/index.d.ts +1 -1
- package/_types/celo/index.d.ts.map +1 -1
- package/_types/celo/serializers.d.ts +2 -3
- package/_types/celo/serializers.d.ts.map +1 -1
- package/_types/celo/types.d.ts +5 -29
- package/_types/celo/types.d.ts.map +1 -1
- package/_types/celo/utils.d.ts +1 -2
- package/_types/celo/utils.d.ts.map +1 -1
- package/_types/chains/definitions/celo.d.ts +58 -526
- package/_types/chains/definitions/celo.d.ts.map +1 -1
- package/_types/chains/definitions/celoAlfajores.d.ts +58 -526
- package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
- package/_types/chains/definitions/lisk.d.ts +8 -8
- package/_types/chains/definitions/playfiAlbireo.d.ts +8 -8
- package/_types/chains/definitions/zkSync.d.ts +8 -8
- package/_types/chains/definitions/zkSyncInMemoryNode.d.ts +8 -8
- package/_types/chains/definitions/zkSyncLocalNode.d.ts +8 -8
- package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +8 -8
- package/_types/chains/definitions/zkSyncTestnet.d.ts +8 -8
- package/_types/chains/index.d.ts +1 -1
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/errors/version.d.ts.map +1 -1
- package/_types/zksync/actions/estimateFee.d.ts +11 -0
- package/_types/zksync/actions/estimateFee.d.ts.map +1 -0
- package/_types/zksync/actions/estimateGasL1ToL2.d.ts +10 -0
- package/_types/zksync/actions/estimateGasL1ToL2.d.ts.map +1 -0
- package/_types/zksync/actions/getAllBalances.d.ts +12 -0
- package/_types/zksync/actions/getAllBalances.d.ts.map +1 -0
- package/_types/zksync/actions/getBaseTokenL1Address.d.ts +9 -0
- package/_types/zksync/actions/getBaseTokenL1Address.d.ts.map +1 -0
- package/_types/zksync/actions/getBlockDetails.d.ts +10 -0
- package/_types/zksync/actions/getBlockDetails.d.ts.map +1 -0
- package/_types/zksync/actions/getBridgehubContractAddress.d.ts +9 -0
- package/_types/zksync/actions/getBridgehubContractAddress.d.ts.map +1 -0
- package/_types/zksync/actions/getDefaultBridgeAddresses.d.ts +9 -0
- package/_types/zksync/actions/getDefaultBridgeAddresses.d.ts.map +1 -0
- package/_types/zksync/actions/getL1Allowance.d.ts +17 -0
- package/_types/zksync/actions/getL1Allowance.d.ts.map +1 -0
- package/_types/zksync/actions/getL1Balance.d.ts +23 -0
- package/_types/zksync/actions/getL1Balance.d.ts.map +1 -0
- package/_types/zksync/actions/getL1BatchBlockRange.d.ts +11 -0
- package/_types/zksync/actions/getL1BatchBlockRange.d.ts.map +1 -0
- package/_types/zksync/actions/getL1BatchDetails.d.ts +10 -0
- package/_types/zksync/actions/getL1BatchDetails.d.ts.map +1 -0
- package/_types/zksync/actions/getL1BatchNumber.d.ts +9 -0
- package/_types/zksync/actions/getL1BatchNumber.d.ts.map +1 -0
- package/_types/zksync/actions/getL1ChainId.d.ts +9 -0
- package/_types/zksync/actions/getL1ChainId.d.ts.map +1 -0
- package/_types/zksync/actions/getL1TokenBalance.d.ts +24 -0
- package/_types/zksync/actions/getL1TokenBalance.d.ts.map +1 -0
- package/_types/zksync/actions/getLogProof.d.ts +14 -0
- package/_types/zksync/actions/getLogProof.d.ts.map +1 -0
- package/_types/zksync/actions/getMainContractAddress.d.ts +9 -0
- package/_types/zksync/actions/getMainContractAddress.d.ts.map +1 -0
- package/_types/zksync/actions/getRawBlockTransactions.d.ts +11 -0
- package/_types/zksync/actions/getRawBlockTransactions.d.ts.map +1 -0
- package/_types/zksync/actions/getTestnetPaymasterAddress.d.ts +9 -0
- package/_types/zksync/actions/getTestnetPaymasterAddress.d.ts.map +1 -0
- package/_types/zksync/actions/getTransactionDetails.d.ts +13 -0
- package/_types/zksync/actions/getTransactionDetails.d.ts.map +1 -0
- package/_types/zksync/chainConfig.d.ts +8 -8
- package/_types/zksync/constants/address.d.ts +3 -0
- package/_types/zksync/constants/address.d.ts.map +1 -1
- package/_types/zksync/decorators/publicL1.d.ts +145 -0
- package/_types/zksync/decorators/publicL1.d.ts.map +1 -0
- package/_types/zksync/decorators/publicL2.d.ts +322 -0
- package/_types/zksync/decorators/publicL2.d.ts.map +1 -0
- package/_types/zksync/errors/token-is-eth.d.ts +9 -0
- package/_types/zksync/errors/token-is-eth.d.ts.map +1 -0
- package/_types/zksync/formatters.d.ts +8 -8
- package/_types/zksync/index.d.ts +21 -2
- package/_types/zksync/index.d.ts.map +1 -1
- package/_types/zksync/types/block.d.ts +30 -1
- package/_types/zksync/types/block.d.ts.map +1 -1
- package/_types/zksync/types/contract.d.ts +6 -0
- package/_types/zksync/types/contract.d.ts.map +1 -1
- package/_types/zksync/types/eip1193.d.ts +152 -0
- package/_types/zksync/types/eip1193.d.ts.map +1 -0
- package/_types/zksync/types/fee.d.ts +6 -0
- package/_types/zksync/types/fee.d.ts.map +1 -1
- package/_types/zksync/types/proof.d.ts +7 -0
- package/_types/zksync/types/proof.d.ts.map +1 -0
- package/_types/zksync/types/transaction.d.ts +65 -5
- package/_types/zksync/types/transaction.d.ts.map +1 -1
- package/_types/zksync/utils/camelCaseKeys.d.ts +2 -0
- package/_types/zksync/utils/camelCaseKeys.d.ts.map +1 -0
- package/_types/zksync/utils/isEth.d.ts +3 -0
- package/_types/zksync/utils/isEth.d.ts.map +1 -0
- package/_types/zksync/utils/paymaster/getApprovalBasedPaymasterInput.d.ts +1 -1
- package/_types/zksync/utils/paymaster/getApprovalBasedPaymasterInput.d.ts.map +1 -1
- package/_types/zksync/utils/paymaster/getGeneralPaymasterInput.d.ts +1 -1
- package/_types/zksync/utils/paymaster/getGeneralPaymasterInput.d.ts.map +1 -1
- package/celo/formatters.ts +3 -11
- package/celo/index.ts +0 -2
- package/celo/serializers.ts +2 -50
- package/celo/types.ts +3 -38
- package/celo/utils.ts +1 -24
- package/chains/index.ts +0 -2
- package/errors/version.ts +1 -1
- package/package.json +1 -1
- package/zksync/actions/estimateFee.ts +46 -0
- package/zksync/actions/estimateGasL1ToL2.ts +38 -0
- package/zksync/actions/getAllBalances.ts +33 -0
- package/zksync/actions/getBaseTokenL1Address.ts +18 -0
- package/zksync/actions/getBlockDetails.ts +27 -0
- package/zksync/actions/getBridgehubContractAddress.ts +18 -0
- package/zksync/actions/getDefaultBridgeAddresses.ts +22 -0
- package/zksync/actions/getL1Allowance.ts +43 -0
- package/zksync/actions/getL1Balance.ts +68 -0
- package/zksync/actions/getL1BatchBlockRange.ts +26 -0
- package/zksync/actions/getL1BatchDetails.ts +27 -0
- package/zksync/actions/getL1BatchNumber.ts +18 -0
- package/zksync/actions/getL1ChainId.ts +18 -0
- package/zksync/actions/getL1TokenBalance.ts +63 -0
- package/zksync/actions/getLogProof.ts +28 -0
- package/zksync/actions/getMainContractAddress.ts +18 -0
- package/zksync/actions/getRawBlockTransactions.ts +26 -0
- package/zksync/actions/getTestnetPaymasterAddress.ts +18 -0
- package/zksync/actions/getTransactionDetails.ts +27 -0
- package/zksync/constants/address.ts +9 -0
- package/zksync/decorators/publicL1.ts +180 -0
- package/zksync/decorators/publicL2.ts +443 -0
- package/zksync/errors/token-is-eth.ts +16 -0
- package/zksync/index.ts +85 -6
- package/zksync/types/block.ts +37 -1
- package/zksync/types/contract.ts +8 -0
- package/zksync/types/eip1193.ts +155 -0
- package/zksync/types/fee.ts +7 -0
- package/zksync/types/proof.ts +7 -0
- package/zksync/types/transaction.ts +84 -10
- package/zksync/utils/camelCaseKeys.ts +11 -0
- package/zksync/utils/isEth.ts +20 -0
- package/zksync/utils/paymaster/getApprovalBasedPaymasterInput.ts +5 -2
- package/zksync/utils/paymaster/getGeneralPaymasterInput.ts +5 -2
package/celo/types.ts
CHANGED
@@ -76,7 +76,6 @@ export type CeloRpcTransaction<TPending extends boolean = boolean> =
|
|
76
76
|
|
77
77
|
export type CeloRpcTransactionRequest =
|
78
78
|
| RpcTransactionRequest
|
79
|
-
| RpcTransactionRequestCIP42
|
80
79
|
| RpcTransactionRequestCIP64
|
81
80
|
|
82
81
|
export type CeloTransaction<TPending extends boolean = boolean> =
|
@@ -86,13 +85,10 @@ export type CeloTransaction<TPending extends boolean = boolean> =
|
|
86
85
|
|
87
86
|
export type CeloTransactionRequest =
|
88
87
|
| TransactionRequest
|
89
|
-
| TransactionRequestCIP42
|
90
88
|
| TransactionRequestCIP64
|
91
89
|
|
92
90
|
export type CeloTransactionSerializable = OneOf<
|
93
|
-
|
|
94
|
-
| TransactionSerializableCIP42
|
95
|
-
| TransactionSerializableCIP64
|
91
|
+
TransactionSerializable | TransactionSerializableCIP64
|
96
92
|
>
|
97
93
|
|
98
94
|
export type CeloTransactionSerialized<
|
@@ -113,8 +109,6 @@ type RpcTransaction<TPending extends boolean = boolean> =
|
|
113
109
|
|
114
110
|
type RpcTransactionRequest = RpcTransactionRequest_ & {
|
115
111
|
feeCurrency?: Address | undefined
|
116
|
-
gatewayFee?: Hex | undefined
|
117
|
-
gatewayFeeRecipient?: Address | undefined
|
118
112
|
}
|
119
113
|
|
120
114
|
export type RpcTransactionCIP42<TPending extends boolean = boolean> = Omit<
|
@@ -139,18 +133,6 @@ export type RpcTransactionCIP64<TPending extends boolean = boolean> = Omit<
|
|
139
133
|
type: '0x7b'
|
140
134
|
}
|
141
135
|
|
142
|
-
export type RpcTransactionRequestCIP42 = TransactionRequestBase<
|
143
|
-
Quantity,
|
144
|
-
Index
|
145
|
-
> &
|
146
|
-
ExactPartial<FeeValuesEIP1559<Quantity>> & {
|
147
|
-
accessList?: AccessList | undefined
|
148
|
-
feeCurrency?: Address | undefined
|
149
|
-
gatewayFee?: Hex | undefined
|
150
|
-
gatewayFeeRecipient?: Address | undefined
|
151
|
-
type?: '0x7c' | undefined
|
152
|
-
}
|
153
|
-
|
154
136
|
export type RpcTransactionRequestCIP64 = TransactionRequestBase<
|
155
137
|
Quantity,
|
156
138
|
Index
|
@@ -158,8 +140,6 @@ export type RpcTransactionRequestCIP64 = TransactionRequestBase<
|
|
158
140
|
ExactPartial<FeeValuesEIP1559<Quantity>> & {
|
159
141
|
accessList?: AccessList | undefined
|
160
142
|
feeCurrency?: Address | undefined
|
161
|
-
gatewayFee?: undefined
|
162
|
-
gatewayFeeRecipient?: undefined
|
163
143
|
type?: '0x7b' | undefined
|
164
144
|
}
|
165
145
|
|
@@ -169,8 +149,8 @@ type Transaction<TPending extends boolean = boolean> = Transaction_<
|
|
169
149
|
TPending
|
170
150
|
> & {
|
171
151
|
feeCurrency: Address | null
|
172
|
-
gatewayFee
|
173
|
-
gatewayFeeRecipient
|
152
|
+
gatewayFee?: undefined
|
153
|
+
gatewayFeeRecipient?: undefined
|
174
154
|
}
|
175
155
|
|
176
156
|
export type TransactionCIP42<TPending extends boolean = boolean> =
|
@@ -193,25 +173,12 @@ export type TransactionCIP64<TPending extends boolean = boolean> =
|
|
193
173
|
|
194
174
|
type TransactionRequest = TransactionRequest_ & {
|
195
175
|
feeCurrency?: Address | undefined
|
196
|
-
gatewayFee?: bigint | undefined
|
197
|
-
gatewayFeeRecipient?: Address | undefined
|
198
176
|
}
|
199
177
|
|
200
|
-
export type TransactionRequestCIP42 = TransactionRequestBase &
|
201
|
-
ExactPartial<FeeValuesEIP1559> & {
|
202
|
-
accessList?: AccessList | undefined
|
203
|
-
feeCurrency?: Address | undefined
|
204
|
-
gatewayFee?: bigint | undefined
|
205
|
-
gatewayFeeRecipient?: Address | undefined
|
206
|
-
type?: 'cip42' | undefined
|
207
|
-
}
|
208
|
-
|
209
178
|
export type TransactionRequestCIP64 = TransactionRequestBase &
|
210
179
|
ExactPartial<FeeValuesEIP1559> & {
|
211
180
|
accessList?: AccessList | undefined
|
212
181
|
feeCurrency?: Address | undefined
|
213
|
-
gatewayFee?: undefined
|
214
|
-
gatewayFeeRecipient?: undefined
|
215
182
|
type?: 'cip64' | undefined
|
216
183
|
}
|
217
184
|
|
@@ -235,8 +202,6 @@ export type TransactionSerializableCIP64<
|
|
235
202
|
ExactPartial<FeeValuesEIP1559<TQuantity>> & {
|
236
203
|
accessList?: AccessList | undefined
|
237
204
|
feeCurrency?: Address | undefined
|
238
|
-
gatewayFee?: undefined
|
239
|
-
gatewayFeeRecipient?: undefined
|
240
205
|
chainId: number
|
241
206
|
type?: 'cip64' | undefined
|
242
207
|
}
|
package/celo/utils.ts
CHANGED
@@ -3,7 +3,6 @@ import { trim } from '../utils/data/trim.js'
|
|
3
3
|
import type {
|
4
4
|
CeloTransactionRequest,
|
5
5
|
CeloTransactionSerializable,
|
6
|
-
TransactionSerializableCIP42,
|
7
6
|
TransactionSerializableCIP64,
|
8
7
|
} from './types.js'
|
9
8
|
|
@@ -38,23 +37,6 @@ export function isEIP1559(
|
|
38
37
|
)
|
39
38
|
}
|
40
39
|
|
41
|
-
// process as CIP42 if any of these fields are present. realistically gatewayfee is not used but is part of spec
|
42
|
-
export function isCIP42(
|
43
|
-
transaction: CeloTransactionSerializable | CeloTransactionRequest,
|
44
|
-
): transaction is TransactionSerializableCIP42 {
|
45
|
-
// Enable end-user to force the tx to be considered as a cip42
|
46
|
-
if (transaction.type === 'cip42') {
|
47
|
-
return true
|
48
|
-
}
|
49
|
-
|
50
|
-
return (
|
51
|
-
isEIP1559(transaction) &&
|
52
|
-
(isPresent(transaction.feeCurrency) ||
|
53
|
-
isPresent(transaction.gatewayFeeRecipient) ||
|
54
|
-
isPresent(transaction.gatewayFee))
|
55
|
-
)
|
56
|
-
}
|
57
|
-
|
58
40
|
export function isCIP64(
|
59
41
|
transaction: CeloTransactionSerializable | CeloTransactionRequest,
|
60
42
|
): transaction is TransactionSerializableCIP64 {
|
@@ -72,10 +54,5 @@ export function isCIP64(
|
|
72
54
|
return true
|
73
55
|
}
|
74
56
|
|
75
|
-
return (
|
76
|
-
isEIP1559(transaction) &&
|
77
|
-
isPresent(transaction.feeCurrency) &&
|
78
|
-
isEmpty(transaction.gatewayFee) &&
|
79
|
-
isEmpty(transaction.gatewayFeeRecipient)
|
80
|
-
)
|
57
|
+
return isEIP1559(transaction) && isPresent(transaction.feeCurrency)
|
81
58
|
}
|
package/chains/index.ts
CHANGED
@@ -302,11 +302,9 @@ export type {
|
|
302
302
|
CeloTransactionSerialized,
|
303
303
|
RpcTransactionCIP42,
|
304
304
|
RpcTransactionCIP64,
|
305
|
-
RpcTransactionRequestCIP42,
|
306
305
|
RpcTransactionRequestCIP64,
|
307
306
|
TransactionCIP42,
|
308
307
|
TransactionCIP64,
|
309
|
-
TransactionRequestCIP42,
|
310
308
|
TransactionRequestCIP64,
|
311
309
|
TransactionSerializableCIP42,
|
312
310
|
TransactionSerializableCIP64,
|
package/errors/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = '2.
|
1
|
+
export const version = '2.11.0'
|
package/package.json
CHANGED
@@ -0,0 +1,46 @@
|
|
1
|
+
import { parseAccount } from '../../accounts/utils/parseAccount.js'
|
2
|
+
import type { SendTransactionParameters } from '../../actions/wallet/sendTransaction.js'
|
3
|
+
import type { Client } from '../../clients/createClient.js'
|
4
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
5
|
+
import type { Account } from '../../types/account.js'
|
6
|
+
import { hexToBigInt } from '../../utils/encoding/fromHex.js'
|
7
|
+
import type { ChainEIP712 } from '../types/chain.js'
|
8
|
+
import type { PublicZkSyncRpcSchema } from '../types/eip1193.js'
|
9
|
+
import type { ZkSyncFee } from '../types/fee.js'
|
10
|
+
|
11
|
+
export type EstimateFeeParameters<
|
12
|
+
chain extends ChainEIP712 | undefined = ChainEIP712 | undefined,
|
13
|
+
account extends Account | undefined = Account | undefined,
|
14
|
+
chainOverride extends ChainEIP712 | undefined = ChainEIP712 | undefined,
|
15
|
+
> = SendTransactionParameters<chain, account, chainOverride>
|
16
|
+
|
17
|
+
export type EstimateFeeReturnType = ZkSyncFee
|
18
|
+
|
19
|
+
export async function estimateFee<
|
20
|
+
chain extends ChainEIP712 | undefined,
|
21
|
+
account extends Account | undefined,
|
22
|
+
>(
|
23
|
+
client: Client<Transport, chain, account, PublicZkSyncRpcSchema>,
|
24
|
+
parameters: EstimateFeeParameters<chain, account>,
|
25
|
+
): Promise<EstimateFeeReturnType> {
|
26
|
+
const { account: account_, ...request } = parameters
|
27
|
+
const account = account_ ? parseAccount(account_) : client.account
|
28
|
+
|
29
|
+
const formatters = client.chain?.formatters
|
30
|
+
const formatted = formatters?.transactionRequest?.format({
|
31
|
+
...request,
|
32
|
+
from: account?.address,
|
33
|
+
})
|
34
|
+
|
35
|
+
const result = await client.request({
|
36
|
+
method: 'zks_estimateFee',
|
37
|
+
params: [formatted],
|
38
|
+
})
|
39
|
+
|
40
|
+
return {
|
41
|
+
gasLimit: hexToBigInt(result.gas_limit),
|
42
|
+
gasPerPubdataLimit: hexToBigInt(result.gas_per_pubdata_limit),
|
43
|
+
maxPriorityFeePerGas: hexToBigInt(result.max_priority_fee_per_gas),
|
44
|
+
maxFeePerGas: hexToBigInt(result.max_fee_per_gas),
|
45
|
+
}
|
46
|
+
}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import type { SendTransactionParameters } from '../../actions/wallet/sendTransaction.js'
|
2
|
+
import type { Client } from '../../clients/createClient.js'
|
3
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
4
|
+
import type { Account } from '../../types/account.js'
|
5
|
+
import { parseAccount } from '../../utils/accounts.js'
|
6
|
+
import type { ChainEIP712 } from '../types/chain.js'
|
7
|
+
import type { PublicZkSyncRpcSchema } from '../types/eip1193.js'
|
8
|
+
|
9
|
+
export type EstimateGasL1ToL2Parameters<
|
10
|
+
chain extends ChainEIP712 | undefined = ChainEIP712 | undefined,
|
11
|
+
account extends Account | undefined = Account | undefined,
|
12
|
+
> = SendTransactionParameters<chain, account>
|
13
|
+
|
14
|
+
export type EstimateGasL1ToL2ReturnType = bigint
|
15
|
+
|
16
|
+
export async function estimateGasL1ToL2<
|
17
|
+
chain extends ChainEIP712 | undefined,
|
18
|
+
account extends Account | undefined,
|
19
|
+
>(
|
20
|
+
client: Client<Transport, chain, account, PublicZkSyncRpcSchema>,
|
21
|
+
parameters: EstimateGasL1ToL2Parameters<chain, account>,
|
22
|
+
): Promise<EstimateGasL1ToL2ReturnType> {
|
23
|
+
const { account: account_, ...request } = parameters
|
24
|
+
const account = account_ ? parseAccount(account_) : client.account
|
25
|
+
|
26
|
+
const formatters = client.chain?.formatters
|
27
|
+
const formatted = formatters?.transactionRequest?.format({
|
28
|
+
...request,
|
29
|
+
from: account?.address,
|
30
|
+
})
|
31
|
+
|
32
|
+
const result = await client.request({
|
33
|
+
method: 'zks_estimateGasL1ToL2',
|
34
|
+
params: [formatted],
|
35
|
+
})
|
36
|
+
|
37
|
+
return result
|
38
|
+
}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import type { Address } from 'abitype'
|
2
|
+
import type { Client } from '../../clients/createClient.js'
|
3
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
4
|
+
import type { Account, GetAccountParameter } from '../../types/account.js'
|
5
|
+
import type { Chain } from '../../types/chain.js'
|
6
|
+
import { parseAccount } from '../../utils/accounts.js'
|
7
|
+
import { hexToBigInt } from '../../utils/encoding/fromHex.js'
|
8
|
+
import type { PublicZkSyncRpcSchema } from '../types/eip1193.js'
|
9
|
+
|
10
|
+
export type GetAllBalancesParameters<
|
11
|
+
TAccount extends Account | undefined = Account | undefined,
|
12
|
+
> = GetAccountParameter<TAccount>
|
13
|
+
|
14
|
+
export type GetAllBalancesReturnType = { [key: Address]: bigint }
|
15
|
+
|
16
|
+
export async function getAllBalances<
|
17
|
+
TChain extends Chain | undefined,
|
18
|
+
TAccount extends Account | undefined,
|
19
|
+
>(
|
20
|
+
client: Client<Transport, TChain, TAccount, PublicZkSyncRpcSchema>,
|
21
|
+
parameters: GetAllBalancesParameters<TAccount>,
|
22
|
+
): Promise<GetAllBalancesReturnType> {
|
23
|
+
const { account: account_ } = parameters
|
24
|
+
const account = account_ ? parseAccount(account_) : client.account
|
25
|
+
const balances = await client.request({
|
26
|
+
method: 'zks_getAllAccountBalances',
|
27
|
+
params: [account!.address],
|
28
|
+
})
|
29
|
+
const convertedBalances: GetAllBalancesReturnType = {}
|
30
|
+
for (const token in balances)
|
31
|
+
(convertedBalances as any)[token] = hexToBigInt((balances as any)[token])
|
32
|
+
return convertedBalances
|
33
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import type { Address } from 'abitype'
|
2
|
+
import type { Client } from '../../clients/createClient.js'
|
3
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
4
|
+
import type { Account } from '../../types/account.js'
|
5
|
+
import type { Chain } from '../../types/chain.js'
|
6
|
+
import type { PublicZkSyncRpcSchema } from '../types/eip1193.js'
|
7
|
+
|
8
|
+
export type GetBaseTokenL1AddressReturnType = Address
|
9
|
+
|
10
|
+
export async function getBaseTokenL1Address<
|
11
|
+
TChain extends Chain | undefined,
|
12
|
+
TAccount extends Account | undefined,
|
13
|
+
>(
|
14
|
+
client: Client<Transport, TChain, TAccount, PublicZkSyncRpcSchema>,
|
15
|
+
): Promise<GetBaseTokenL1AddressReturnType> {
|
16
|
+
const result = await client.request({ method: 'zks_getBaseTokenL1Address' })
|
17
|
+
return result
|
18
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import type { Client } from '../../clients/createClient.js'
|
2
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
3
|
+
import type { Account } from '../../types/account.js'
|
4
|
+
import type { Chain } from '../../types/chain.js'
|
5
|
+
import type {
|
6
|
+
ZkSyncBlockDetails,
|
7
|
+
ZkSyncNumberParameter,
|
8
|
+
} from '../types/block.js'
|
9
|
+
import type { PublicZkSyncRpcSchema } from '../types/eip1193.js'
|
10
|
+
|
11
|
+
export type GetBlockDetailsParameters = ZkSyncNumberParameter
|
12
|
+
|
13
|
+
export type GetBlockDetailsReturnType = ZkSyncBlockDetails
|
14
|
+
|
15
|
+
export async function getBlockDetails<
|
16
|
+
TChain extends Chain | undefined,
|
17
|
+
TAccount extends Account | undefined,
|
18
|
+
>(
|
19
|
+
client: Client<Transport, TChain, TAccount, PublicZkSyncRpcSchema>,
|
20
|
+
parameters: GetBlockDetailsParameters,
|
21
|
+
): Promise<GetBlockDetailsReturnType> {
|
22
|
+
const result = await client.request({
|
23
|
+
method: 'zks_getBlockDetails',
|
24
|
+
params: [parameters.number],
|
25
|
+
})
|
26
|
+
return result
|
27
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import type { Address } from 'abitype'
|
2
|
+
import type { Client } from '../../clients/createClient.js'
|
3
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
4
|
+
import type { Account } from '../../types/account.js'
|
5
|
+
import type { Chain } from '../../types/chain.js'
|
6
|
+
import type { PublicZkSyncRpcSchema } from '../types/eip1193.js'
|
7
|
+
|
8
|
+
export type GetBridgehubContractAddressReturnType = Address
|
9
|
+
|
10
|
+
export async function getBridgehubContractAddress<
|
11
|
+
TChain extends Chain | undefined,
|
12
|
+
TAccount extends Account | undefined,
|
13
|
+
>(
|
14
|
+
client: Client<Transport, TChain, TAccount, PublicZkSyncRpcSchema>,
|
15
|
+
): Promise<GetBridgehubContractAddressReturnType> {
|
16
|
+
const result = await client.request({ method: 'zks_getBridgehubContract' })
|
17
|
+
return result
|
18
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import type { Client } from '../../clients/createClient.js'
|
2
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
3
|
+
import type { Account } from '../../types/account.js'
|
4
|
+
import type { Chain } from '../../types/chain.js'
|
5
|
+
import type { BridgeContractAddresses } from '../types/contract.js'
|
6
|
+
import type { PublicZkSyncRpcSchema } from '../types/eip1193.js'
|
7
|
+
|
8
|
+
export type GetDefaultBridgeAddressesReturnType = BridgeContractAddresses
|
9
|
+
|
10
|
+
export async function getDefaultBridgeAddresses<
|
11
|
+
TChain extends Chain | undefined,
|
12
|
+
TAccount extends Account | undefined,
|
13
|
+
>(
|
14
|
+
client: Client<Transport, TChain, TAccount, PublicZkSyncRpcSchema>,
|
15
|
+
): Promise<GetDefaultBridgeAddressesReturnType> {
|
16
|
+
const addresses = await client.request({ method: 'zks_getBridgeContracts' })
|
17
|
+
return {
|
18
|
+
erc20L1: addresses.l1Erc20DefaultBridge,
|
19
|
+
sharedL1: addresses.l1SharedDefaultBridge,
|
20
|
+
sharedL2: addresses.l2SharedDefaultBridge,
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import type { Address } from 'abitype'
|
2
|
+
import { readContract } from '../../actions/public/readContract.js'
|
3
|
+
import type { Client } from '../../clients/createClient.js'
|
4
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
5
|
+
import { erc20Abi } from '../../constants/abis.js'
|
6
|
+
import type { AccountNotFoundError } from '../../errors/account.js'
|
7
|
+
import type { BaseError } from '../../errors/base.js'
|
8
|
+
import type { Account, GetAccountParameter } from '../../types/account.js'
|
9
|
+
import type { BlockTag } from '../../types/block.js'
|
10
|
+
import type { Chain } from '../../types/chain.js'
|
11
|
+
import { parseAccount } from '../../utils/accounts.js'
|
12
|
+
|
13
|
+
export type GetL1AllowanceParameters<
|
14
|
+
TAccount extends Account | undefined = Account | undefined,
|
15
|
+
> = GetAccountParameter<TAccount> & {
|
16
|
+
bridgeAddress: Address
|
17
|
+
blockTag?: BlockTag
|
18
|
+
token: Address
|
19
|
+
}
|
20
|
+
|
21
|
+
export type GetL1AllowanceReturnType = bigint
|
22
|
+
|
23
|
+
export type GetL1AllowanceErrorType = AccountNotFoundError | BaseError
|
24
|
+
|
25
|
+
export async function getL1Allowance<
|
26
|
+
TChain extends Chain | undefined,
|
27
|
+
TAccount extends Account | undefined,
|
28
|
+
>(
|
29
|
+
client: Client<Transport, TChain, TAccount>,
|
30
|
+
parameters: GetL1AllowanceParameters<TAccount>,
|
31
|
+
): Promise<GetL1AllowanceReturnType> {
|
32
|
+
const { token, bridgeAddress, blockTag, account: account_ } = parameters
|
33
|
+
|
34
|
+
const account = account_ ? parseAccount(account_) : client.account
|
35
|
+
|
36
|
+
return await readContract(client, {
|
37
|
+
abi: erc20Abi,
|
38
|
+
address: token,
|
39
|
+
functionName: 'allowance',
|
40
|
+
args: [account!.address, bridgeAddress],
|
41
|
+
blockTag: blockTag,
|
42
|
+
})
|
43
|
+
}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
import type { Address } from 'abitype'
|
2
|
+
import {
|
3
|
+
type GetBalanceParameters,
|
4
|
+
getBalance,
|
5
|
+
} from '../../actions/public/getBalance.js'
|
6
|
+
import type { Client } from '../../clients/createClient.js'
|
7
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
8
|
+
import type { AccountNotFoundError } from '../../errors/account.js'
|
9
|
+
import type { BaseError } from '../../errors/base.js'
|
10
|
+
import type { Account, GetAccountParameter } from '../../types/account.js'
|
11
|
+
import type { BlockTag } from '../../types/block.js'
|
12
|
+
import type { Chain } from '../../types/chain.js'
|
13
|
+
import { parseAccount } from '../../utils/accounts.js'
|
14
|
+
import { legacyEthAddress } from '../constants/address.js'
|
15
|
+
import { isEth } from '../utils/isEth.js'
|
16
|
+
import {
|
17
|
+
type GetL1TokenBalanceParameters,
|
18
|
+
getL1TokenBalance,
|
19
|
+
} from './getL1TokenBalance.js'
|
20
|
+
|
21
|
+
export type GetL1BalanceParameters<
|
22
|
+
TAccount extends Account | undefined = Account | undefined,
|
23
|
+
> = GetAccountParameter<TAccount> & { token?: Address | undefined } & (
|
24
|
+
| {
|
25
|
+
/** The balance of the account at a block number. */
|
26
|
+
blockNumber?: bigint | undefined
|
27
|
+
blockTag?: never | undefined
|
28
|
+
}
|
29
|
+
| {
|
30
|
+
blockNumber?: never | undefined
|
31
|
+
/** The balance of the account at a block tag. */
|
32
|
+
blockTag?: BlockTag | undefined
|
33
|
+
}
|
34
|
+
)
|
35
|
+
|
36
|
+
export type GetL1BalanceReturnType = bigint
|
37
|
+
|
38
|
+
export type GetL1BalanceErrorType = AccountNotFoundError | BaseError
|
39
|
+
|
40
|
+
export async function getL1Balance<
|
41
|
+
TChain extends Chain | undefined,
|
42
|
+
TAccount extends Account | undefined,
|
43
|
+
>(
|
44
|
+
client: Client<Transport, TChain, TAccount>,
|
45
|
+
...[parameters = {}]: TAccount extends undefined
|
46
|
+
? [GetL1BalanceParameters<TAccount>]
|
47
|
+
: [GetL1BalanceParameters<TAccount>] | []
|
48
|
+
): Promise<GetL1BalanceReturnType> {
|
49
|
+
const {
|
50
|
+
account: account_ = client.account,
|
51
|
+
blockNumber,
|
52
|
+
blockTag,
|
53
|
+
token = legacyEthAddress,
|
54
|
+
} = parameters
|
55
|
+
|
56
|
+
const account = account_ ? parseAccount(account_) : undefined
|
57
|
+
|
58
|
+
if (isEth(token))
|
59
|
+
return await getBalance(client, {
|
60
|
+
address: account!.address,
|
61
|
+
blockNumber,
|
62
|
+
blockTag,
|
63
|
+
} as GetBalanceParameters)
|
64
|
+
|
65
|
+
return await getL1TokenBalance(client, {
|
66
|
+
...(parameters as GetL1TokenBalanceParameters<TAccount>),
|
67
|
+
})
|
68
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import type { Client } from '../../clients/createClient.js'
|
2
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
3
|
+
import type { Account } from '../../types/account.js'
|
4
|
+
import type { Chain } from '../../types/chain.js'
|
5
|
+
import { hexToNumber } from '../../utils/encoding/fromHex.js'
|
6
|
+
import type { PublicZkSyncRpcSchema } from '../types/eip1193.js'
|
7
|
+
|
8
|
+
export type GetL1BatchBlockRangeParameters = {
|
9
|
+
l1BatchNumber: number
|
10
|
+
}
|
11
|
+
|
12
|
+
export type GetL1BatchBlockRangeReturnParameters = [number, number]
|
13
|
+
|
14
|
+
export async function getL1BatchBlockRange<
|
15
|
+
TChain extends Chain | undefined,
|
16
|
+
TAccount extends Account | undefined,
|
17
|
+
>(
|
18
|
+
client: Client<Transport, TChain, TAccount, PublicZkSyncRpcSchema>,
|
19
|
+
parameters: GetL1BatchBlockRangeParameters,
|
20
|
+
): Promise<GetL1BatchBlockRangeReturnParameters> {
|
21
|
+
const [number_1, number_2] = await client.request({
|
22
|
+
method: 'zks_getL1BatchBlockRange',
|
23
|
+
params: [parameters.l1BatchNumber],
|
24
|
+
})
|
25
|
+
return [hexToNumber(number_1), hexToNumber(number_2)]
|
26
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import type { Client } from '../../clients/createClient.js'
|
2
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
3
|
+
import type { Account } from '../../types/account.js'
|
4
|
+
import type { Chain } from '../../types/chain.js'
|
5
|
+
import type {
|
6
|
+
ZkSyncBatchDetails,
|
7
|
+
ZkSyncNumberParameter,
|
8
|
+
} from '../types/block.js'
|
9
|
+
import type { PublicZkSyncRpcSchema } from '../types/eip1193.js'
|
10
|
+
|
11
|
+
export type GetL1BatchDetailsParameters = ZkSyncNumberParameter
|
12
|
+
|
13
|
+
export type GetL1BatchDetailsReturnType = ZkSyncBatchDetails
|
14
|
+
|
15
|
+
export async function getL1BatchDetails<
|
16
|
+
TChain extends Chain | undefined,
|
17
|
+
TAccount extends Account | undefined,
|
18
|
+
>(
|
19
|
+
client: Client<Transport, TChain, TAccount, PublicZkSyncRpcSchema>,
|
20
|
+
parameters: GetL1BatchDetailsParameters,
|
21
|
+
): Promise<GetL1BatchDetailsReturnType> {
|
22
|
+
const result = await client.request({
|
23
|
+
method: 'zks_getL1BatchDetails',
|
24
|
+
params: [parameters.number],
|
25
|
+
})
|
26
|
+
return result
|
27
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import type { Client } from '../../clients/createClient.js'
|
2
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
3
|
+
import type { Account } from '../../types/account.js'
|
4
|
+
import type { Chain } from '../../types/chain.js'
|
5
|
+
import type { Hex } from '../../types/misc.js'
|
6
|
+
import type { PublicZkSyncRpcSchema } from '../types/eip1193.js'
|
7
|
+
|
8
|
+
export type GetL1BatchNumberReturnType = Hex
|
9
|
+
|
10
|
+
export async function getL1BatchNumber<
|
11
|
+
TChain extends Chain | undefined,
|
12
|
+
TAccount extends Account | undefined,
|
13
|
+
>(
|
14
|
+
client: Client<Transport, TChain, TAccount, PublicZkSyncRpcSchema>,
|
15
|
+
): Promise<GetL1BatchNumberReturnType> {
|
16
|
+
const result = await client.request({ method: 'zks_L1BatchNumber' })
|
17
|
+
return result
|
18
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import type { Client } from '../../clients/createClient.js'
|
2
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
3
|
+
import type { Account } from '../../types/account.js'
|
4
|
+
import type { Chain } from '../../types/chain.js'
|
5
|
+
import type { Hex } from '../../types/misc.js'
|
6
|
+
import type { PublicZkSyncRpcSchema } from '../types/eip1193.js'
|
7
|
+
|
8
|
+
export type GetL1ChainIdReturnType = Hex
|
9
|
+
|
10
|
+
export async function getL1ChainId<
|
11
|
+
TChain extends Chain | undefined,
|
12
|
+
TAccount extends Account | undefined,
|
13
|
+
>(
|
14
|
+
client: Client<Transport, TChain, TAccount, PublicZkSyncRpcSchema>,
|
15
|
+
): Promise<GetL1ChainIdReturnType> {
|
16
|
+
const result = await client.request({ method: 'zks_L1ChainId' })
|
17
|
+
return result
|
18
|
+
}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import type { Address } from '../../accounts/index.js'
|
2
|
+
import { readContract } from '../../actions/index.js'
|
3
|
+
import type { Client } from '../../clients/createClient.js'
|
4
|
+
import type { Transport } from '../../clients/transports/createTransport.js'
|
5
|
+
import { erc20Abi } from '../../constants/abis.js'
|
6
|
+
import type { AccountNotFoundError } from '../../errors/account.js'
|
7
|
+
import type { BaseError } from '../../errors/base.js'
|
8
|
+
import type { Account, GetAccountParameter } from '../../types/account.js'
|
9
|
+
import type { BlockTag } from '../../types/block.js'
|
10
|
+
import type { Chain } from '../../types/chain.js'
|
11
|
+
import { parseAccount } from '../../utils/accounts.js'
|
12
|
+
import { TokenIsEthError } from '../errors/token-is-eth.js'
|
13
|
+
import { isEth } from '../utils/isEth.js'
|
14
|
+
|
15
|
+
export type GetL1TokenBalanceParameters<
|
16
|
+
TAccount extends Account | undefined = Account | undefined,
|
17
|
+
> = GetAccountParameter<TAccount> & { token: Address } & (
|
18
|
+
| {
|
19
|
+
/** The balance of the account at a block number. */
|
20
|
+
blockNumber?: bigint | undefined
|
21
|
+
blockTag?: never | undefined
|
22
|
+
}
|
23
|
+
| {
|
24
|
+
blockNumber?: never | undefined
|
25
|
+
/** The balance of the account at a block tag. */
|
26
|
+
blockTag?: BlockTag | undefined
|
27
|
+
}
|
28
|
+
)
|
29
|
+
|
30
|
+
export type GetL1TokenBalanceReturnType = bigint
|
31
|
+
|
32
|
+
export type GetL1TokenBalanceErrorType =
|
33
|
+
| AccountNotFoundError
|
34
|
+
| BaseError
|
35
|
+
| TokenIsEthError
|
36
|
+
|
37
|
+
export async function getL1TokenBalance<
|
38
|
+
TChain extends Chain | undefined,
|
39
|
+
TAccount extends Account | undefined,
|
40
|
+
>(
|
41
|
+
client: Client<Transport, TChain, TAccount>,
|
42
|
+
parameters: GetL1TokenBalanceParameters<TAccount>,
|
43
|
+
): Promise<GetL1TokenBalanceReturnType> {
|
44
|
+
const {
|
45
|
+
account: account_ = client.account,
|
46
|
+
blockTag,
|
47
|
+
blockNumber,
|
48
|
+
token,
|
49
|
+
} = parameters
|
50
|
+
|
51
|
+
if (isEth(token!)) throw new TokenIsEthError()
|
52
|
+
|
53
|
+
const account = account_ ? parseAccount(account_) : client.account
|
54
|
+
|
55
|
+
return await readContract(client, {
|
56
|
+
abi: erc20Abi,
|
57
|
+
address: token!,
|
58
|
+
functionName: 'balanceOf',
|
59
|
+
args: [account!.address],
|
60
|
+
blockNumber: blockNumber,
|
61
|
+
blockTag: blockTag,
|
62
|
+
})
|
63
|
+
}
|