viem 0.0.0-w-20230725184008 → 0.0.0-w-20230810155401
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/README.md +6 -0
- package/chains/utils/package.json +5 -0
- package/dist/cjs/accounts/index.js +6 -2
- package/dist/cjs/accounts/index.js.map +1 -1
- package/dist/cjs/accounts/utils/privateKeyToAddress.js +12 -0
- package/dist/cjs/accounts/utils/privateKeyToAddress.js.map +1 -0
- package/dist/cjs/accounts/utils/signMessage.js +1 -1
- package/dist/cjs/accounts/utils/signMessage.js.map +1 -1
- package/dist/cjs/accounts/utils/signTransaction.js.map +1 -1
- package/dist/cjs/accounts/utils/signTypedData.js +1 -1
- package/dist/cjs/accounts/utils/signTypedData.js.map +1 -1
- package/dist/cjs/actions/ens/getEnsAddress.js +18 -13
- package/dist/cjs/actions/ens/getEnsAddress.js.map +1 -1
- package/dist/cjs/actions/index.js.map +1 -1
- package/dist/cjs/actions/public/createContractEventFilter.js.map +1 -1
- package/dist/cjs/actions/public/createEventFilter.js +16 -8
- package/dist/cjs/actions/public/createEventFilter.js.map +1 -1
- package/dist/cjs/actions/public/estimateContractGas.js +1 -1
- package/dist/cjs/actions/public/estimateContractGas.js.map +1 -1
- package/dist/cjs/actions/public/estimateGas.js +3 -1
- package/dist/cjs/actions/public/estimateGas.js.map +1 -1
- package/dist/cjs/actions/public/getBlock.js +3 -1
- package/dist/cjs/actions/public/getBlock.js.map +1 -1
- package/dist/cjs/actions/public/getBlockNumber.js +2 -2
- package/dist/cjs/actions/public/getBlockNumber.js.map +1 -1
- package/dist/cjs/actions/public/getFilterChanges.js.map +1 -1
- package/dist/cjs/actions/public/getFilterLogs.js +1 -1
- package/dist/cjs/actions/public/getFilterLogs.js.map +1 -1
- package/dist/cjs/actions/public/getLogs.js +16 -10
- package/dist/cjs/actions/public/getLogs.js.map +1 -1
- package/dist/cjs/actions/public/getTransaction.js +2 -1
- package/dist/cjs/actions/public/getTransaction.js.map +1 -1
- package/dist/cjs/actions/public/watchBlockNumber.js +1 -1
- package/dist/cjs/actions/public/watchBlockNumber.js.map +1 -1
- package/dist/cjs/actions/public/watchBlocks.js +2 -1
- package/dist/cjs/actions/public/watchBlocks.js.map +1 -1
- package/dist/cjs/actions/public/watchContractEvent.js +135 -65
- package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
- package/dist/cjs/actions/public/watchEvent.js +138 -59
- package/dist/cjs/actions/public/watchEvent.js.map +1 -1
- package/dist/cjs/actions/wallet/sendTransaction.js.map +1 -1
- package/dist/cjs/actions/wallet/writeContract.js.map +1 -1
- package/dist/cjs/chains/{formatters/celo.js → celo/formatters.js} +1 -1
- package/dist/cjs/chains/celo/formatters.js.map +1 -0
- package/dist/cjs/chains/{serializers/celo.js → celo/serializers.js} +1 -1
- package/dist/cjs/chains/celo/serializers.js.map +1 -0
- package/dist/cjs/{types/formatter.js → chains/celo/types.js} +1 -1
- package/dist/cjs/chains/celo/types.js.map +1 -0
- package/dist/cjs/chains/index.js +30 -15
- package/dist/cjs/chains/index.js.map +1 -1
- package/dist/cjs/chains/optimism/fees.js +7 -0
- package/dist/cjs/chains/optimism/fees.js.map +1 -0
- package/dist/cjs/chains/{formatters/optimism.js → optimism/formatters.js} +13 -1
- package/dist/cjs/chains/optimism/formatters.js.map +1 -0
- package/dist/cjs/{types/serializer.js → chains/optimism/types.js} +1 -1
- package/dist/cjs/chains/optimism/types.js.map +1 -0
- package/dist/cjs/chains/utils.js +11 -0
- package/dist/cjs/chains/utils.js.map +1 -0
- package/dist/cjs/clients/createClient.js +2 -1
- package/dist/cjs/clients/createClient.js.map +1 -1
- package/dist/cjs/clients/createPublicClient.js.map +1 -1
- package/dist/cjs/clients/createTestClient.js.map +1 -1
- package/dist/cjs/clients/createWalletClient.js.map +1 -1
- package/dist/cjs/clients/decorators/public.js.map +1 -1
- package/dist/cjs/constants/abis.js +12 -2
- package/dist/cjs/constants/abis.js.map +1 -1
- package/dist/cjs/constants/number.js +101 -0
- package/dist/cjs/constants/number.js.map +1 -0
- package/dist/cjs/contract.js.map +1 -1
- package/dist/cjs/errors/abi.js +8 -1
- package/dist/cjs/errors/abi.js.map +1 -1
- package/dist/cjs/errors/contract.js +56 -32
- package/dist/cjs/errors/contract.js.map +1 -1
- package/dist/cjs/errors/node.js +1 -1
- package/dist/cjs/errors/node.js.map +1 -1
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/errors/version.js.map +1 -1
- package/dist/cjs/index.js +110 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/public.js.map +1 -1
- package/dist/cjs/utils/abi/encodeAbiParameters.js +11 -14
- package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/cjs/utils/abi/encodePacked.js +2 -0
- package/dist/cjs/utils/abi/encodePacked.js.map +1 -1
- package/dist/cjs/utils/chain.js +5 -3
- package/dist/cjs/utils/chain.js.map +1 -1
- package/dist/cjs/utils/formatters/block.js.map +1 -1
- package/dist/cjs/utils/formatters/extract.js.map +1 -1
- package/dist/cjs/utils/formatters/formatter.js +1 -0
- package/dist/cjs/utils/formatters/formatter.js.map +1 -1
- package/dist/cjs/utils/formatters/transaction.js.map +1 -1
- package/dist/cjs/utils/formatters/transactionReceipt.js.map +1 -1
- package/dist/cjs/utils/formatters/transactionRequest.js.map +1 -1
- package/dist/cjs/utils/hash/hashFunction.js +3 -2
- package/dist/cjs/utils/hash/hashFunction.js.map +1 -1
- package/dist/cjs/utils/promise/withCache.js +3 -3
- package/dist/cjs/utils/promise/withCache.js.map +1 -1
- package/dist/cjs/utils/signature/hexToSignature.js +12 -0
- package/dist/cjs/utils/signature/hexToSignature.js.map +1 -0
- package/dist/cjs/utils/signature/signatureToHex.js.map +1 -0
- package/dist/cjs/utils/transaction/prepareRequest.js +19 -12
- package/dist/cjs/utils/transaction/prepareRequest.js.map +1 -1
- package/dist/cjs/utils/unit/parseUnits.js +2 -1
- package/dist/cjs/utils/unit/parseUnits.js.map +1 -1
- package/dist/esm/accounts/index.js +3 -1
- package/dist/esm/accounts/index.js.map +1 -1
- package/dist/esm/accounts/utils/privateKeyToAddress.js +15 -0
- package/dist/esm/accounts/utils/privateKeyToAddress.js.map +1 -0
- package/dist/esm/accounts/utils/signMessage.js +1 -1
- package/dist/esm/accounts/utils/signMessage.js.map +1 -1
- package/dist/esm/accounts/utils/signTransaction.js.map +1 -1
- package/dist/esm/accounts/utils/signTypedData.js +1 -1
- package/dist/esm/accounts/utils/signTypedData.js.map +1 -1
- package/dist/esm/actions/ens/getEnsAddress.js +19 -14
- package/dist/esm/actions/ens/getEnsAddress.js.map +1 -1
- package/dist/esm/actions/index.js.map +1 -1
- package/dist/esm/actions/public/createContractEventFilter.js.map +1 -1
- package/dist/esm/actions/public/createEventFilter.js +16 -8
- package/dist/esm/actions/public/createEventFilter.js.map +1 -1
- package/dist/esm/actions/public/estimateContractGas.js +1 -1
- package/dist/esm/actions/public/estimateContractGas.js.map +1 -1
- package/dist/esm/actions/public/estimateGas.js +4 -2
- package/dist/esm/actions/public/estimateGas.js.map +1 -1
- package/dist/esm/actions/public/getBlock.js +3 -1
- package/dist/esm/actions/public/getBlock.js.map +1 -1
- package/dist/esm/actions/public/getBlockNumber.js +2 -2
- package/dist/esm/actions/public/getBlockNumber.js.map +1 -1
- package/dist/esm/actions/public/getFilterChanges.js.map +1 -1
- package/dist/esm/actions/public/getFilterLogs.js +1 -1
- package/dist/esm/actions/public/getFilterLogs.js.map +1 -1
- package/dist/esm/actions/public/getLogs.js +16 -10
- package/dist/esm/actions/public/getLogs.js.map +1 -1
- package/dist/esm/actions/public/getTransaction.js +2 -1
- package/dist/esm/actions/public/getTransaction.js.map +1 -1
- package/dist/esm/actions/public/watchBlockNumber.js +1 -1
- package/dist/esm/actions/public/watchBlockNumber.js.map +1 -1
- package/dist/esm/actions/public/watchBlocks.js +2 -1
- package/dist/esm/actions/public/watchBlocks.js.map +1 -1
- package/dist/esm/actions/public/watchContractEvent.js +145 -71
- package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
- package/dist/esm/actions/public/watchEvent.js +148 -65
- package/dist/esm/actions/public/watchEvent.js.map +1 -1
- package/dist/esm/actions/wallet/sendTransaction.js +1 -1
- package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
- package/dist/esm/actions/wallet/writeContract.js.map +1 -1
- package/dist/esm/chains/{formatters/celo.js → celo/formatters.js} +2 -2
- package/dist/esm/chains/celo/formatters.js.map +1 -0
- package/dist/esm/chains/{serializers/celo.js → celo/serializers.js} +1 -1
- package/dist/esm/chains/celo/serializers.js.map +1 -0
- package/dist/esm/chains/celo/types.js +2 -0
- package/dist/esm/chains/celo/types.js.map +1 -0
- package/dist/esm/chains/index.js +22 -7
- package/dist/esm/chains/index.js.map +1 -1
- package/dist/esm/chains/optimism/fees.js +4 -0
- package/dist/esm/chains/optimism/fees.js.map +1 -0
- package/dist/esm/chains/{formatters/optimism.js → optimism/formatters.js} +15 -2
- package/dist/esm/chains/optimism/formatters.js.map +1 -0
- package/dist/esm/chains/optimism/types.js +2 -0
- package/dist/esm/chains/optimism/types.js.map +1 -0
- package/dist/esm/chains/utils.js +4 -0
- package/dist/esm/chains/utils.js.map +1 -0
- package/dist/esm/clients/createClient.js +2 -1
- package/dist/esm/clients/createClient.js.map +1 -1
- package/dist/esm/clients/createPublicClient.js.map +1 -1
- package/dist/esm/clients/createTestClient.js.map +1 -1
- package/dist/esm/clients/createWalletClient.js.map +1 -1
- package/dist/esm/clients/decorators/public.js.map +1 -1
- package/dist/esm/constants/abis.js +11 -1
- package/dist/esm/constants/abis.js.map +1 -1
- package/dist/esm/constants/number.js +97 -0
- package/dist/esm/constants/number.js.map +1 -0
- package/dist/esm/contract.js.map +1 -1
- package/dist/esm/errors/abi.js +8 -1
- package/dist/esm/errors/abi.js.map +1 -1
- package/dist/esm/errors/contract.js +56 -32
- package/dist/esm/errors/contract.js.map +1 -1
- package/dist/esm/errors/node.js +1 -1
- package/dist/esm/errors/node.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/errors/version.js.map +1 -1
- package/dist/esm/index.js +4 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/public.js.map +1 -1
- package/dist/esm/utils/abi/encodeAbiParameters.js +13 -14
- package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/esm/utils/abi/encodePacked.js +2 -0
- package/dist/esm/utils/abi/encodePacked.js.map +1 -1
- package/dist/esm/utils/chain.js +5 -3
- package/dist/esm/utils/chain.js.map +1 -1
- package/dist/esm/utils/formatters/block.js.map +1 -1
- package/dist/esm/utils/formatters/extract.js.map +1 -1
- package/dist/esm/utils/formatters/formatter.js +1 -0
- package/dist/esm/utils/formatters/formatter.js.map +1 -1
- package/dist/esm/utils/formatters/transaction.js.map +1 -1
- package/dist/esm/utils/formatters/transactionReceipt.js.map +1 -1
- package/dist/esm/utils/formatters/transactionRequest.js.map +1 -1
- package/dist/esm/utils/hash/hashFunction.js +3 -2
- package/dist/esm/utils/hash/hashFunction.js.map +1 -1
- package/dist/esm/utils/promise/withCache.js +3 -3
- package/dist/esm/utils/promise/withCache.js.map +1 -1
- package/dist/esm/utils/signature/hexToSignature.js +18 -0
- package/dist/esm/utils/signature/hexToSignature.js.map +1 -0
- package/dist/esm/utils/signature/signatureToHex.js +21 -0
- package/dist/esm/utils/signature/signatureToHex.js.map +1 -0
- package/dist/esm/utils/transaction/prepareRequest.js +20 -13
- package/dist/esm/utils/transaction/prepareRequest.js.map +1 -1
- package/dist/esm/utils/unit/parseUnits.js +2 -1
- package/dist/esm/utils/unit/parseUnits.js.map +1 -1
- package/dist/types/accounts/index.d.ts +3 -1
- package/dist/types/accounts/index.d.ts.map +1 -1
- package/dist/types/accounts/utils/privateKeyToAddress.d.ts +11 -0
- package/dist/types/accounts/utils/privateKeyToAddress.d.ts.map +1 -0
- package/dist/types/accounts/utils/signTransaction.d.ts +2 -2
- package/dist/types/accounts/utils/signTransaction.d.ts.map +1 -1
- package/dist/types/actions/ens/getEnsAddress.d.ts +3 -1
- package/dist/types/actions/ens/getEnsAddress.d.ts.map +1 -1
- package/dist/types/actions/index.d.ts +5 -1
- package/dist/types/actions/index.d.ts.map +1 -1
- package/dist/types/actions/public/createContractEventFilter.d.ts +5 -5
- package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
- package/dist/types/actions/public/createEventFilter.d.ts +20 -7
- package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
- package/dist/types/actions/public/estimateGas.d.ts.map +1 -1
- package/dist/types/actions/public/getBlock.d.ts +5 -5
- package/dist/types/actions/public/getBlock.d.ts.map +1 -1
- package/dist/types/actions/public/getBlockNumber.d.ts +4 -2
- package/dist/types/actions/public/getBlockNumber.d.ts.map +1 -1
- package/dist/types/actions/public/getFilterChanges.d.ts +5 -8
- package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
- package/dist/types/actions/public/getFilterLogs.d.ts +5 -4
- package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
- package/dist/types/actions/public/getLogs.d.ts +17 -6
- package/dist/types/actions/public/getLogs.d.ts.map +1 -1
- package/dist/types/actions/public/getTransaction.d.ts +4 -4
- package/dist/types/actions/public/getTransaction.d.ts.map +1 -1
- package/dist/types/actions/public/getTransactionReceipt.d.ts +1 -1
- package/dist/types/actions/public/getTransactionReceipt.d.ts.map +1 -1
- package/dist/types/actions/public/simulateContract.d.ts +2 -2
- package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
- package/dist/types/actions/public/watchBlocks.d.ts +10 -10
- package/dist/types/actions/public/watchBlocks.d.ts.map +1 -1
- package/dist/types/actions/public/watchContractEvent.d.ts +35 -9
- package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
- package/dist/types/actions/public/watchEvent.d.ts +48 -14
- package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
- package/dist/types/actions/wallet/deployContract.d.ts +1 -1
- package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
- package/dist/types/actions/wallet/sendTransaction.d.ts +2 -2
- package/dist/types/actions/wallet/sendTransaction.d.ts.map +1 -1
- package/dist/types/actions/wallet/writeContract.d.ts +4 -2
- package/dist/types/actions/wallet/writeContract.d.ts.map +1 -1
- package/dist/types/chains/{formatters/celo.d.ts → celo/formatters.d.ts} +30 -85
- package/dist/types/chains/celo/formatters.d.ts.map +1 -0
- package/dist/types/chains/{serializers/celo.d.ts → celo/serializers.d.ts} +4 -4
- package/dist/types/chains/celo/serializers.d.ts.map +1 -0
- package/dist/types/chains/celo/types.d.ts +60 -0
- package/dist/types/chains/celo/types.d.ts.map +1 -0
- package/dist/types/chains/index.d.ts +2527 -2722
- package/dist/types/chains/index.d.ts.map +1 -1
- package/dist/types/chains/optimism/fees.d.ts +4 -0
- package/dist/types/chains/optimism/fees.d.ts.map +1 -0
- package/dist/types/chains/{formatters/optimism.d.ts → optimism/formatters.d.ts} +79 -54
- package/dist/types/chains/optimism/formatters.d.ts.map +1 -0
- package/dist/types/chains/optimism/types.d.ts +53 -0
- package/dist/types/chains/optimism/types.d.ts.map +1 -0
- package/dist/types/chains/utils.d.ts +6 -0
- package/dist/types/chains/utils.d.ts.map +1 -0
- package/dist/types/clients/createClient.d.ts +7 -0
- package/dist/types/clients/createClient.d.ts.map +1 -1
- package/dist/types/clients/createPublicClient.d.ts +1 -1
- package/dist/types/clients/createPublicClient.d.ts.map +1 -1
- package/dist/types/clients/createTestClient.d.ts +1 -1
- package/dist/types/clients/createTestClient.d.ts.map +1 -1
- package/dist/types/clients/createWalletClient.d.ts +1 -1
- package/dist/types/clients/createWalletClient.d.ts.map +1 -1
- package/dist/types/clients/decorators/public.d.ts +11 -10
- package/dist/types/clients/decorators/public.d.ts.map +1 -1
- package/dist/types/constants/abis.d.ts +16 -1
- package/dist/types/constants/abis.d.ts.map +1 -1
- package/dist/types/constants/number.d.ts +97 -0
- package/dist/types/constants/number.d.ts.map +1 -0
- package/dist/types/contract.d.ts +5 -1
- package/dist/types/contract.d.ts.map +1 -1
- package/dist/types/errors/abi.d.ts +1 -0
- package/dist/types/errors/abi.d.ts.map +1 -1
- package/dist/types/errors/contract.d.ts +1 -0
- package/dist/types/errors/contract.d.ts.map +1 -1
- package/dist/types/errors/node.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/errors/version.d.ts.map +1 -1
- package/dist/types/index.d.ts +24 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/public.d.ts +5 -1
- package/dist/types/public.d.ts.map +1 -1
- package/dist/types/types/block.d.ts +7 -7
- package/dist/types/types/block.d.ts.map +1 -1
- package/dist/types/types/chain.d.ts +52 -8
- package/dist/types/types/chain.d.ts.map +1 -1
- package/dist/types/types/contract.d.ts +1 -1
- package/dist/types/types/contract.d.ts.map +1 -1
- package/dist/types/types/filter.d.ts +7 -3
- package/dist/types/types/filter.d.ts.map +1 -1
- package/dist/types/types/log.d.ts +8 -8
- package/dist/types/types/log.d.ts.map +1 -1
- package/dist/types/types/misc.d.ts.map +1 -1
- package/dist/types/types/rpc.d.ts +3 -3
- package/dist/types/types/rpc.d.ts.map +1 -1
- package/dist/types/types/transaction.d.ts +8 -8
- package/dist/types/types/transaction.d.ts.map +1 -1
- package/dist/types/types/utils.d.ts +10 -0
- package/dist/types/types/utils.d.ts.map +1 -1
- package/dist/types/utils/abi/encodeAbiParameters.d.ts.map +1 -1
- package/dist/types/utils/chain.d.ts +3 -6
- package/dist/types/utils/chain.d.ts.map +1 -1
- package/dist/types/utils/formatters/block.d.ts +18 -4
- package/dist/types/utils/formatters/block.d.ts.map +1 -1
- package/dist/types/utils/formatters/extract.d.ts +2 -2
- package/dist/types/utils/formatters/extract.d.ts.map +1 -1
- package/dist/types/utils/formatters/formatter.d.ts +2 -1
- package/dist/types/utils/formatters/formatter.d.ts.map +1 -1
- package/dist/types/utils/formatters/transaction.d.ts +15 -4
- package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
- package/dist/types/utils/formatters/transactionReceipt.d.ts +4 -4
- package/dist/types/utils/formatters/transactionReceipt.d.ts.map +1 -1
- package/dist/types/utils/formatters/transactionRequest.d.ts +5 -5
- package/dist/types/utils/formatters/transactionRequest.d.ts.map +1 -1
- package/dist/types/utils/hash/hashFunction.d.ts +1 -1
- package/dist/types/utils/hash/hashFunction.d.ts.map +1 -1
- package/dist/types/utils/promise/withCache.d.ts +3 -3
- package/dist/types/utils/promise/withCache.d.ts.map +1 -1
- package/dist/types/utils/signature/hexToSignature.d.ts +13 -0
- package/dist/types/utils/signature/hexToSignature.d.ts.map +1 -0
- package/dist/types/utils/signature/signatureToHex.d.ts +17 -0
- package/dist/types/utils/signature/signatureToHex.d.ts.map +1 -0
- package/dist/types/utils/transaction/prepareRequest.d.ts +6 -11
- package/dist/types/utils/transaction/prepareRequest.d.ts.map +1 -1
- package/dist/types/utils/unit/parseUnits.d.ts.map +1 -1
- package/package.json +9 -2
- package/src/accounts/index.ts +7 -1
- package/src/accounts/utils/privateKeyToAddress.ts +20 -0
- package/src/accounts/utils/signMessage.ts +1 -1
- package/src/accounts/utils/signTransaction.ts +2 -2
- package/src/accounts/utils/signTypedData.ts +1 -1
- package/src/actions/ens/getEnsAddress.ts +24 -15
- package/src/actions/index.ts +6 -2
- package/src/actions/public/createContractEventFilter.ts +30 -7
- package/src/actions/public/createEventFilter.ts +78 -24
- package/src/actions/public/estimateContractGas.ts +1 -1
- package/src/actions/public/estimateGas.ts +11 -2
- package/src/actions/public/getBlock.ts +18 -8
- package/src/actions/public/getBlockNumber.ts +5 -3
- package/src/actions/public/getFilterChanges.ts +46 -10
- package/src/actions/public/getFilterLogs.ts +26 -10
- package/src/actions/public/getLogs.ts +73 -18
- package/src/actions/public/getTransaction.ts +15 -8
- package/src/actions/public/simulateContract.ts +2 -2
- package/src/actions/public/watchBlockNumber.ts +1 -1
- package/src/actions/public/watchBlocks.ts +37 -18
- package/src/actions/public/watchContractEvent.ts +208 -90
- package/src/actions/public/watchEvent.ts +262 -104
- package/src/actions/wallet/deployContract.ts +1 -1
- package/src/actions/wallet/sendTransaction.ts +9 -6
- package/src/actions/wallet/writeContract.ts +11 -7
- package/src/chains/{formatters/celo.ts → celo/formatters.ts} +29 -48
- package/src/chains/{serializers/celo.ts → celo/serializers.ts} +5 -5
- package/src/chains/celo/types.ts +111 -0
- package/src/chains/index.ts +22 -7
- package/src/chains/optimism/fees.ts +5 -0
- package/src/chains/optimism/formatters.ts +74 -0
- package/src/chains/optimism/types.ts +102 -0
- package/src/chains/utils.ts +41 -0
- package/src/clients/createClient.ts +9 -0
- package/src/clients/createPublicClient.ts +7 -1
- package/src/clients/createTestClient.ts +7 -1
- package/src/clients/createWalletClient.ts +7 -1
- package/src/clients/decorators/public.ts +117 -28
- package/src/constants/abis.ts +11 -1
- package/src/constants/number.ts +98 -0
- package/src/contract.ts +6 -2
- package/src/errors/abi.ts +5 -1
- package/src/errors/contract.ts +52 -31
- package/src/errors/node.ts +2 -1
- package/src/errors/version.ts +1 -1
- package/src/index.ts +133 -11
- package/src/public.ts +6 -2
- package/src/types/block.ts +25 -10
- package/src/types/chain.ts +91 -14
- package/src/types/contract.ts +7 -3
- package/src/types/filter.ts +32 -26
- package/src/types/log.ts +13 -8
- package/src/types/misc.ts +3 -0
- package/src/types/rpc.ts +16 -6
- package/src/types/transaction.ts +22 -11
- package/src/types/utils.ts +11 -0
- package/src/utils/abi/encodeAbiParameters.ts +14 -17
- package/src/utils/abi/encodePacked.ts +1 -0
- package/src/utils/chain.ts +21 -10
- package/src/utils/formatters/block.ts +34 -5
- package/src/utils/formatters/extract.ts +2 -2
- package/src/utils/formatters/formatter.ts +3 -2
- package/src/utils/formatters/transaction.ts +28 -3
- package/src/utils/formatters/transactionReceipt.ts +9 -3
- package/src/utils/formatters/transactionRequest.ts +9 -3
- package/src/utils/hash/hashFunction.ts +3 -2
- package/src/utils/promise/withCache.ts +5 -5
- package/src/utils/signature/hexToSignature.ts +20 -0
- package/src/utils/signature/signatureToHex.ts +26 -0
- package/src/utils/transaction/prepareRequest.ts +55 -30
- package/src/utils/unit/parseUnits.ts +2 -1
- package/dist/cjs/accounts/utils/signatureToHex.js.map +0 -1
- package/dist/cjs/chains/formatters/celo.js.map +0 -1
- package/dist/cjs/chains/formatters/optimism.js.map +0 -1
- package/dist/cjs/chains/serializers/celo.js.map +0 -1
- package/dist/cjs/types/formatter.js.map +0 -1
- package/dist/cjs/types/serializer.js.map +0 -1
- package/dist/esm/accounts/utils/signatureToHex.js +0 -7
- package/dist/esm/accounts/utils/signatureToHex.js.map +0 -1
- package/dist/esm/chains/formatters/celo.js.map +0 -1
- package/dist/esm/chains/formatters/optimism.js.map +0 -1
- package/dist/esm/chains/serializers/celo.js.map +0 -1
- package/dist/esm/types/formatter.js +0 -2
- package/dist/esm/types/formatter.js.map +0 -1
- package/dist/esm/types/serializer.js +0 -2
- package/dist/esm/types/serializer.js.map +0 -1
- package/dist/types/accounts/utils/signatureToHex.d.ts +0 -3
- package/dist/types/accounts/utils/signatureToHex.d.ts.map +0 -1
- package/dist/types/chains/formatters/celo.d.ts.map +0 -1
- package/dist/types/chains/formatters/optimism.d.ts.map +0 -1
- package/dist/types/chains/serializers/celo.d.ts.map +0 -1
- package/dist/types/types/formatter.d.ts +0 -14
- package/dist/types/types/formatter.d.ts.map +0 -1
- package/dist/types/types/serializer.d.ts +0 -7
- package/dist/types/types/serializer.d.ts.map +0 -1
- package/src/accounts/utils/signatureToHex.ts +0 -12
- package/src/chains/formatters/optimism.ts +0 -91
- package/src/types/formatter.ts +0 -33
- package/src/types/serializer.ts +0 -19
- /package/dist/cjs/{accounts/utils → utils/signature}/signatureToHex.js +0 -0
@@ -4,9 +4,9 @@ import { InvalidAddressError } from '../../errors/address.js'
|
|
4
4
|
import { BaseError } from '../../errors/base.js'
|
5
5
|
import { InvalidChainIdError } from '../../errors/chain.js'
|
6
6
|
import { FeeCapTooHighError, TipAboveFeeCapError } from '../../errors/node.js'
|
7
|
+
import type { ChainSerializers } from '../../types/chain.js'
|
7
8
|
import type { FeeValuesEIP1559 } from '../../types/fee.js'
|
8
9
|
import type { Signature } from '../../types/misc.js'
|
9
|
-
import type { Serializers } from '../../types/serializer.js'
|
10
10
|
import type {
|
11
11
|
AccessList,
|
12
12
|
TransactionSerializable,
|
@@ -24,7 +24,7 @@ import {
|
|
24
24
|
} from '../../utils/transaction/serializeTransaction.js'
|
25
25
|
|
26
26
|
export const serializeTransactionCelo: SerializeTransactionFn<
|
27
|
-
|
27
|
+
CeloTransactionSerializable
|
28
28
|
> = (tx, signature) => {
|
29
29
|
// Handle CIP-42 transactions
|
30
30
|
if (isCIP42(tx))
|
@@ -39,7 +39,7 @@ export const serializeTransactionCelo: SerializeTransactionFn<
|
|
39
39
|
|
40
40
|
export const serializersCelo = {
|
41
41
|
transaction: serializeTransactionCelo,
|
42
|
-
} as const satisfies
|
42
|
+
} as const satisfies ChainSerializers
|
43
43
|
|
44
44
|
//////////////////////////////////////////////////////////////////////////////
|
45
45
|
// Types
|
@@ -58,7 +58,7 @@ export type TransactionSerializableCIP42<
|
|
58
58
|
type?: 'cip42'
|
59
59
|
}
|
60
60
|
|
61
|
-
export type
|
61
|
+
export type CeloTransactionSerializable =
|
62
62
|
| TransactionSerializableCIP42
|
63
63
|
| TransactionSerializable
|
64
64
|
|
@@ -123,7 +123,7 @@ function serializeTransactionCIP42(
|
|
123
123
|
// Utilities
|
124
124
|
|
125
125
|
// process as CIP42 if any of these fields are present. realistically gatewayfee is not used but is part of spec
|
126
|
-
function isCIP42(transaction:
|
126
|
+
function isCIP42(transaction: CeloTransactionSerializable) {
|
127
127
|
if (
|
128
128
|
'maxFeePerGas' in transaction &&
|
129
129
|
'maxPriorityFeePerGas' in transaction &&
|
@@ -0,0 +1,111 @@
|
|
1
|
+
import type { Address } from 'abitype'
|
2
|
+
|
3
|
+
import type { Block, BlockTag } from '../../types/block.js'
|
4
|
+
import type { Hex } from '../../types/misc.js'
|
5
|
+
import type {
|
6
|
+
RpcBlock,
|
7
|
+
RpcTransaction,
|
8
|
+
RpcTransactionReceipt,
|
9
|
+
RpcTransactionRequest,
|
10
|
+
} from '../../types/rpc.js'
|
11
|
+
import type {
|
12
|
+
Transaction,
|
13
|
+
TransactionReceipt,
|
14
|
+
TransactionRequest,
|
15
|
+
} from '../../types/transaction.js'
|
16
|
+
import type { NeverBy } from '../../types/utils.js'
|
17
|
+
import type { OptimismRpcTransaction } from '../optimism/types.js'
|
18
|
+
|
19
|
+
type CeloBlockExclude =
|
20
|
+
| 'difficulty'
|
21
|
+
| 'gasLimit'
|
22
|
+
| 'mixHash'
|
23
|
+
| 'nonce'
|
24
|
+
| 'uncles'
|
25
|
+
|
26
|
+
export type CeloBlockOverrides = {
|
27
|
+
randomness: {
|
28
|
+
committed: Hex
|
29
|
+
revealed: Hex
|
30
|
+
}
|
31
|
+
}
|
32
|
+
export type CeloBlock<
|
33
|
+
TIncludeTransactions extends boolean = boolean,
|
34
|
+
TBlockTag extends BlockTag = BlockTag,
|
35
|
+
> = NeverBy<
|
36
|
+
Block<
|
37
|
+
bigint,
|
38
|
+
TIncludeTransactions,
|
39
|
+
TBlockTag,
|
40
|
+
CeloTransaction<TBlockTag extends 'pending' ? true : false>
|
41
|
+
>,
|
42
|
+
CeloBlockExclude
|
43
|
+
> &
|
44
|
+
CeloBlockOverrides
|
45
|
+
|
46
|
+
export type CeloRpcBlockOverrides = {
|
47
|
+
randomness: {
|
48
|
+
committed: Hex
|
49
|
+
revealed: Hex
|
50
|
+
}
|
51
|
+
}
|
52
|
+
export type CeloRpcBlock<
|
53
|
+
TBlockTag extends BlockTag = BlockTag,
|
54
|
+
TIncludeTransactions extends boolean = boolean,
|
55
|
+
> = NeverBy<
|
56
|
+
RpcBlock<
|
57
|
+
TBlockTag,
|
58
|
+
TIncludeTransactions,
|
59
|
+
OptimismRpcTransaction<TBlockTag extends 'pending' ? true : false>
|
60
|
+
>,
|
61
|
+
CeloBlockExclude
|
62
|
+
> &
|
63
|
+
CeloRpcBlockOverrides
|
64
|
+
|
65
|
+
export type CeloRpcTransactionOverrides = {
|
66
|
+
feeCurrency: Address | null
|
67
|
+
gatewayFee: Hex | null
|
68
|
+
gatewayFeeRecipient: Address | null
|
69
|
+
}
|
70
|
+
export type CeloRpcTransaction<TPending extends boolean = boolean> =
|
71
|
+
RpcTransaction<TPending> & CeloRpcTransactionOverrides
|
72
|
+
|
73
|
+
export type CeloRpcTransactionReceiptOverrides = {
|
74
|
+
feeCurrency: Address | null
|
75
|
+
gatewayFee: Hex | null
|
76
|
+
gatewayFeeRecipient: Address | null
|
77
|
+
}
|
78
|
+
export type CeloRpcTransactionReceipt = RpcTransactionReceipt &
|
79
|
+
CeloRpcTransactionReceiptOverrides
|
80
|
+
|
81
|
+
export type CeloRpcTransactionRequestOverrides = {
|
82
|
+
feeCurrency?: Address
|
83
|
+
gatewayFee?: Hex
|
84
|
+
gatewayFeeRecipient?: Address
|
85
|
+
}
|
86
|
+
export type CeloRpcTransactionRequest = RpcTransactionRequest &
|
87
|
+
CeloRpcTransactionRequestOverrides
|
88
|
+
|
89
|
+
export type CeloTransactionOverrides = {
|
90
|
+
feeCurrency: Address | null
|
91
|
+
gatewayFee: bigint | null
|
92
|
+
gatewayFeeRecipient: Address | null
|
93
|
+
}
|
94
|
+
export type CeloTransaction<TPending extends boolean = boolean> =
|
95
|
+
Transaction<TPending> & CeloTransactionOverrides
|
96
|
+
|
97
|
+
export type CeloTransactionReceiptOverrides = {
|
98
|
+
feeCurrency: Address | null
|
99
|
+
gatewayFee: bigint | null
|
100
|
+
gatewayFeeRecipient: Address | null
|
101
|
+
}
|
102
|
+
export type CeloTransactionReceipt = TransactionReceipt &
|
103
|
+
CeloTransactionReceiptOverrides
|
104
|
+
|
105
|
+
export type CeloTransactionRequestOverrides = {
|
106
|
+
feeCurrency?: Address
|
107
|
+
gatewayFee?: bigint
|
108
|
+
gatewayFeeRecipient?: Address
|
109
|
+
}
|
110
|
+
export type CeloTransactionRequest = TransactionRequest &
|
111
|
+
CeloTransactionRequestOverrides
|
package/src/chains/index.ts
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
import * as chains from '@wagmi/chains'
|
2
2
|
|
3
3
|
import { defineChain } from '../utils/chain.js'
|
4
|
-
import { formattersCelo } from './formatters
|
5
|
-
import {
|
6
|
-
import {
|
4
|
+
import { formattersCelo } from './celo/formatters.js'
|
5
|
+
import { serializersCelo } from './celo/serializers.js'
|
6
|
+
import { feesOptimism } from './optimism/fees.js'
|
7
|
+
import { formattersOptimism } from './optimism/formatters.js'
|
7
8
|
|
8
9
|
export const arbitrum = /*#__PURE__*/ defineChain(chains.arbitrum)
|
9
10
|
export const arbitrumGoerli = /*#__PURE__*/ defineChain(chains.arbitrumGoerli)
|
@@ -11,8 +12,14 @@ export const aurora = /*#__PURE__*/ defineChain(chains.aurora)
|
|
11
12
|
export const auroraTestnet = /*#__PURE__*/ defineChain(chains.auroraTestnet)
|
12
13
|
export const avalanche = /*#__PURE__*/ defineChain(chains.avalanche)
|
13
14
|
export const avalancheFuji = /*#__PURE__*/ defineChain(chains.avalancheFuji)
|
14
|
-
export const base = /*#__PURE__*/ defineChain(chains.base
|
15
|
-
|
15
|
+
export const base = /*#__PURE__*/ defineChain(chains.base, {
|
16
|
+
fees: feesOptimism,
|
17
|
+
formatters: formattersOptimism,
|
18
|
+
})
|
19
|
+
export const baseGoerli = /*#__PURE__*/ defineChain(chains.baseGoerli, {
|
20
|
+
fees: feesOptimism,
|
21
|
+
formatters: formattersOptimism,
|
22
|
+
})
|
16
23
|
export const boba = /*#__PURE__*/ defineChain(chains.boba)
|
17
24
|
export const bronos = /*#__PURE__*/ defineChain(chains.bronos)
|
18
25
|
export const bronosTestnet = /*#__PURE__*/ defineChain(chains.bronosTestnet)
|
@@ -72,9 +79,11 @@ export const moonriver = /*#__PURE__*/ defineChain(chains.moonriver)
|
|
72
79
|
export const nexi = /*#__PURE__*/ defineChain(chains.nexi)
|
73
80
|
export const okc = /*#__PURE__*/ defineChain(chains.okc)
|
74
81
|
export const optimism = /*#__PURE__*/ defineChain(chains.optimism, {
|
82
|
+
fees: feesOptimism,
|
75
83
|
formatters: formattersOptimism,
|
76
84
|
})
|
77
85
|
export const optimismGoerli = /*#__PURE__*/ defineChain(chains.optimismGoerli, {
|
86
|
+
fees: feesOptimism,
|
78
87
|
formatters: formattersOptimism,
|
79
88
|
})
|
80
89
|
export const polygon = /*#__PURE__*/ defineChain(chains.polygon)
|
@@ -136,7 +145,13 @@ export const xdcTestnet = /*#__PURE__*/ defineChain(chains.xdcTestnet)
|
|
136
145
|
export const zhejiang = /*#__PURE__*/ defineChain(chains.zhejiang)
|
137
146
|
export const zkSync = /*#__PURE__*/ defineChain(chains.zkSync)
|
138
147
|
export const zkSyncTestnet = /*#__PURE__*/ defineChain(chains.zkSyncTestnet)
|
139
|
-
export const zora = /*#__PURE__*/ defineChain(chains.zora
|
140
|
-
|
148
|
+
export const zora = /*#__PURE__*/ defineChain(chains.zora, {
|
149
|
+
fees: feesOptimism,
|
150
|
+
formatters: formattersOptimism,
|
151
|
+
})
|
152
|
+
export const zoraTestnet = /*#__PURE__*/ defineChain(chains.zoraTestnet, {
|
153
|
+
fees: feesOptimism,
|
154
|
+
formatters: formattersOptimism,
|
155
|
+
})
|
141
156
|
|
142
157
|
export type { Chain } from '../types/chain.js'
|
@@ -0,0 +1,74 @@
|
|
1
|
+
import { type ChainFormatters } from '../../types/chain.js'
|
2
|
+
import type { Hash } from '../../types/misc.js'
|
3
|
+
import { type RpcTransaction } from '../../types/rpc.js'
|
4
|
+
import { hexToBigInt } from '../../utils/encoding/fromHex.js'
|
5
|
+
import { defineBlock } from '../../utils/formatters/block.js'
|
6
|
+
import {
|
7
|
+
defineTransaction,
|
8
|
+
formatTransaction,
|
9
|
+
} from '../../utils/formatters/transaction.js'
|
10
|
+
import { defineTransactionReceipt } from '../../utils/formatters/transactionReceipt.js'
|
11
|
+
import type {
|
12
|
+
OptimismBlockOverrides,
|
13
|
+
OptimismRpcBlockOverrides,
|
14
|
+
OptimismRpcTransaction,
|
15
|
+
OptimismRpcTransactionReceiptOverrides,
|
16
|
+
OptimismTransaction,
|
17
|
+
OptimismTransactionReceiptOverrides,
|
18
|
+
} from './types.js'
|
19
|
+
|
20
|
+
export const formattersOptimism = {
|
21
|
+
block: /*#__PURE__*/ defineBlock({
|
22
|
+
format(
|
23
|
+
args: OptimismRpcBlockOverrides & {
|
24
|
+
transactions: Hash[] | OptimismRpcTransaction[]
|
25
|
+
},
|
26
|
+
): OptimismBlockOverrides & {
|
27
|
+
transactions: Hash[] | OptimismTransaction[]
|
28
|
+
} {
|
29
|
+
const transactions = args.transactions?.map((transaction) => {
|
30
|
+
if (typeof transaction === 'string') return transaction
|
31
|
+
const formatted = formatTransaction(
|
32
|
+
transaction as RpcTransaction,
|
33
|
+
) as OptimismTransaction
|
34
|
+
if (formatted.typeHex === '0x7e') {
|
35
|
+
formatted.isSystemTx = transaction.isSystemTx
|
36
|
+
formatted.mint = transaction.mint
|
37
|
+
? hexToBigInt(transaction.mint)
|
38
|
+
: undefined
|
39
|
+
formatted.sourceHash = transaction.sourceHash
|
40
|
+
formatted.type = 'deposit'
|
41
|
+
}
|
42
|
+
return formatted
|
43
|
+
}) as Hash[] | OptimismTransaction[]
|
44
|
+
return {
|
45
|
+
transactions,
|
46
|
+
stateRoot: args.stateRoot,
|
47
|
+
}
|
48
|
+
},
|
49
|
+
}),
|
50
|
+
transaction: /*#__PURE__*/ defineTransaction({
|
51
|
+
format(args: OptimismRpcTransaction): OptimismTransaction {
|
52
|
+
const transaction = {} as OptimismTransaction
|
53
|
+
if (args.type === '0x7e') {
|
54
|
+
transaction.isSystemTx = args.isSystemTx
|
55
|
+
transaction.mint = args.mint ? hexToBigInt(args.mint) : undefined
|
56
|
+
transaction.sourceHash = args.sourceHash
|
57
|
+
transaction.type = 'deposit'
|
58
|
+
}
|
59
|
+
return transaction
|
60
|
+
},
|
61
|
+
}),
|
62
|
+
transactionReceipt: /*#__PURE__*/ defineTransactionReceipt({
|
63
|
+
format(
|
64
|
+
args: OptimismRpcTransactionReceiptOverrides,
|
65
|
+
): OptimismTransactionReceiptOverrides {
|
66
|
+
return {
|
67
|
+
l1GasPrice: args.l1GasPrice ? hexToBigInt(args.l1GasPrice) : null,
|
68
|
+
l1GasUsed: args.l1GasUsed ? hexToBigInt(args.l1GasUsed) : null,
|
69
|
+
l1Fee: args.l1Fee ? hexToBigInt(args.l1Fee) : null,
|
70
|
+
l1FeeScalar: args.l1FeeScalar ? Number(args.l1FeeScalar) : null,
|
71
|
+
}
|
72
|
+
},
|
73
|
+
}),
|
74
|
+
} as const satisfies ChainFormatters
|
@@ -0,0 +1,102 @@
|
|
1
|
+
import type { Block, BlockTag } from '../../types/block.js'
|
2
|
+
import type { FeeValuesEIP1559 } from '../../types/fee.js'
|
3
|
+
import type { Hash, Hex } from '../../types/misc.js'
|
4
|
+
import type {
|
5
|
+
Index,
|
6
|
+
Quantity,
|
7
|
+
RpcBlock,
|
8
|
+
RpcTransaction as RpcTransaction_,
|
9
|
+
RpcTransactionReceipt,
|
10
|
+
} from '../../types/rpc.js'
|
11
|
+
import type {
|
12
|
+
Transaction as Transaction_,
|
13
|
+
TransactionBase,
|
14
|
+
TransactionReceipt,
|
15
|
+
} from '../../types/transaction.js'
|
16
|
+
|
17
|
+
export type OptimismBlockOverrides = {
|
18
|
+
stateRoot: Hash
|
19
|
+
}
|
20
|
+
export type OptimismBlock<
|
21
|
+
TIncludeTransactions extends boolean = boolean,
|
22
|
+
TBlockTag extends BlockTag = BlockTag,
|
23
|
+
> = Block<
|
24
|
+
bigint,
|
25
|
+
TIncludeTransactions,
|
26
|
+
TBlockTag,
|
27
|
+
OptimismTransaction<TBlockTag extends 'pending' ? true : false>
|
28
|
+
> &
|
29
|
+
OptimismBlockOverrides
|
30
|
+
|
31
|
+
export type OptimismRpcBlockOverrides = {
|
32
|
+
stateRoot: Hash
|
33
|
+
}
|
34
|
+
export type OptimismRpcBlock<
|
35
|
+
TBlockTag extends BlockTag = BlockTag,
|
36
|
+
TIncludeTransactions extends boolean = boolean,
|
37
|
+
> = RpcBlock<
|
38
|
+
TBlockTag,
|
39
|
+
TIncludeTransactions,
|
40
|
+
OptimismRpcTransaction<TBlockTag extends 'pending' ? true : false>
|
41
|
+
> &
|
42
|
+
OptimismRpcBlockOverrides
|
43
|
+
|
44
|
+
type RpcTransaction<TPending extends boolean = boolean> =
|
45
|
+
RpcTransaction_<TPending> & {
|
46
|
+
isSystemTx?: undefined
|
47
|
+
mint?: undefined
|
48
|
+
sourceHash?: undefined
|
49
|
+
}
|
50
|
+
|
51
|
+
export type OptimismRpcDepositTransaction<TPending extends boolean = boolean> =
|
52
|
+
Omit<TransactionBase<Quantity, Index, TPending>, 'typeHex'> &
|
53
|
+
FeeValuesEIP1559<Quantity> & {
|
54
|
+
isSystemTx?: boolean
|
55
|
+
mint?: Hex
|
56
|
+
sourceHash: Hex
|
57
|
+
type: '0x7e'
|
58
|
+
}
|
59
|
+
export type OptimismRpcTransaction<TPending extends boolean = boolean> =
|
60
|
+
| RpcTransaction<TPending>
|
61
|
+
| OptimismRpcDepositTransaction<TPending>
|
62
|
+
|
63
|
+
export type OptimismRpcTransactionReceiptOverrides = {
|
64
|
+
l1GasPrice: Hex | null
|
65
|
+
l1GasUsed: Hex | null
|
66
|
+
l1Fee: Hex | null
|
67
|
+
l1FeeScalar: `${number}` | null
|
68
|
+
}
|
69
|
+
export type OptimismRpcTransactionReceipt = RpcTransactionReceipt &
|
70
|
+
OptimismRpcTransactionReceiptOverrides
|
71
|
+
|
72
|
+
type Transaction<TPending extends boolean = boolean> = Transaction_<
|
73
|
+
bigint,
|
74
|
+
number,
|
75
|
+
TPending
|
76
|
+
> & {
|
77
|
+
isSystemTx?: undefined
|
78
|
+
mint?: undefined
|
79
|
+
sourceHash?: undefined
|
80
|
+
}
|
81
|
+
|
82
|
+
export type OptimismDepositTransaction<TPending extends boolean = boolean> =
|
83
|
+
TransactionBase<bigint, number, TPending> &
|
84
|
+
FeeValuesEIP1559 & {
|
85
|
+
isSystemTx?: boolean
|
86
|
+
mint?: bigint
|
87
|
+
sourceHash: Hex
|
88
|
+
type: 'deposit'
|
89
|
+
}
|
90
|
+
|
91
|
+
export type OptimismTransaction<TPending extends boolean = boolean> =
|
92
|
+
| Transaction<TPending>
|
93
|
+
| OptimismDepositTransaction<TPending>
|
94
|
+
|
95
|
+
export type OptimismTransactionReceiptOverrides = {
|
96
|
+
l1GasPrice: bigint | null
|
97
|
+
l1GasUsed: bigint | null
|
98
|
+
l1Fee: bigint | null
|
99
|
+
l1FeeScalar: number | null
|
100
|
+
}
|
101
|
+
export type OptimismTransactionReceipt = TransactionReceipt &
|
102
|
+
OptimismTransactionReceiptOverrides
|
@@ -0,0 +1,41 @@
|
|
1
|
+
export { formattersCelo } from './celo/formatters.js'
|
2
|
+
export {
|
3
|
+
type CeloTransactionSerializable,
|
4
|
+
type TransactionSerializableCIP42,
|
5
|
+
serializeTransactionCelo,
|
6
|
+
serializersCelo,
|
7
|
+
} from './celo/serializers.js'
|
8
|
+
export type {
|
9
|
+
CeloBlock,
|
10
|
+
CeloBlockOverrides,
|
11
|
+
CeloRpcBlock,
|
12
|
+
CeloRpcBlockOverrides,
|
13
|
+
CeloRpcTransaction,
|
14
|
+
CeloRpcTransactionOverrides,
|
15
|
+
CeloRpcTransactionReceipt,
|
16
|
+
CeloRpcTransactionReceiptOverrides,
|
17
|
+
CeloRpcTransactionRequest,
|
18
|
+
CeloRpcTransactionRequestOverrides,
|
19
|
+
CeloTransaction,
|
20
|
+
CeloTransactionOverrides,
|
21
|
+
CeloTransactionReceipt,
|
22
|
+
CeloTransactionReceiptOverrides,
|
23
|
+
CeloTransactionRequest,
|
24
|
+
CeloTransactionRequestOverrides,
|
25
|
+
} from './celo/types.js'
|
26
|
+
|
27
|
+
export { formattersOptimism } from './optimism/formatters.js'
|
28
|
+
export type {
|
29
|
+
OptimismBlock,
|
30
|
+
OptimismBlockOverrides,
|
31
|
+
OptimismDepositTransaction,
|
32
|
+
OptimismRpcBlock,
|
33
|
+
OptimismRpcBlockOverrides,
|
34
|
+
OptimismRpcDepositTransaction,
|
35
|
+
OptimismRpcTransaction,
|
36
|
+
OptimismRpcTransactionReceipt,
|
37
|
+
OptimismRpcTransactionReceiptOverrides,
|
38
|
+
OptimismTransaction,
|
39
|
+
OptimismTransactionReceipt,
|
40
|
+
OptimismTransactionReceiptOverrides,
|
41
|
+
} from './optimism/types.js'
|
@@ -29,6 +29,11 @@ export type ClientConfig<
|
|
29
29
|
multicall?: boolean | Prettify<MulticallBatchOptions> | undefined
|
30
30
|
}
|
31
31
|
| undefined
|
32
|
+
/**
|
33
|
+
* Time (in ms) that cached data will remain in memory.
|
34
|
+
* @default 4_000
|
35
|
+
*/
|
36
|
+
cacheTime?: number | undefined
|
32
37
|
/** Chain for the client. */
|
33
38
|
chain?: Chain | undefined | chain
|
34
39
|
/** A key for the client. */
|
@@ -79,6 +84,8 @@ type Client_Base<
|
|
79
84
|
account: account
|
80
85
|
/** Flags for batch settings. */
|
81
86
|
batch?: ClientConfig['batch']
|
87
|
+
/** Time (in ms) that cached data will remain in memory. */
|
88
|
+
cacheTime: number
|
82
89
|
/** Chain for the client. */
|
83
90
|
chain: chain
|
84
91
|
/** A key for the client. */
|
@@ -135,6 +142,7 @@ export function createClient<
|
|
135
142
|
export function createClient(parameters: ClientConfig): Client {
|
136
143
|
const {
|
137
144
|
batch,
|
145
|
+
cacheTime = parameters.pollingInterval ?? 4_000,
|
138
146
|
key = 'base',
|
139
147
|
name = 'Base Client',
|
140
148
|
pollingInterval = 4_000,
|
@@ -154,6 +162,7 @@ export function createClient(parameters: ClientConfig): Client {
|
|
154
162
|
const client = {
|
155
163
|
account,
|
156
164
|
batch,
|
165
|
+
cacheTime,
|
157
166
|
chain,
|
158
167
|
key,
|
159
168
|
name,
|
@@ -11,7 +11,13 @@ export type PublicClientConfig<
|
|
11
11
|
> = Prettify<
|
12
12
|
Pick<
|
13
13
|
ClientConfig<transport, chain>,
|
14
|
-
|
14
|
+
| 'batch'
|
15
|
+
| 'cacheTime'
|
16
|
+
| 'chain'
|
17
|
+
| 'key'
|
18
|
+
| 'name'
|
19
|
+
| 'pollingInterval'
|
20
|
+
| 'transport'
|
15
21
|
>
|
16
22
|
>
|
17
23
|
|
@@ -21,7 +21,13 @@ export type TestClientConfig<
|
|
21
21
|
> = Prettify<
|
22
22
|
Pick<
|
23
23
|
ClientConfig<transport, chain, accountOrAddress>,
|
24
|
-
|
24
|
+
| 'account'
|
25
|
+
| 'cacheTime'
|
26
|
+
| 'chain'
|
27
|
+
| 'key'
|
28
|
+
| 'name'
|
29
|
+
| 'pollingInterval'
|
30
|
+
| 'transport'
|
25
31
|
> & {
|
26
32
|
/** Mode of the test client. */
|
27
33
|
mode: mode | ('anvil' | 'hardhat' | 'ganache') // TODO: Type utility that expands `TestClientMode`
|
@@ -19,7 +19,13 @@ export type WalletClientConfig<
|
|
19
19
|
> = Prettify<
|
20
20
|
Pick<
|
21
21
|
ClientConfig<transport, chain, accountOrAddress>,
|
22
|
-
|
22
|
+
| 'account'
|
23
|
+
| 'cacheTime'
|
24
|
+
| 'chain'
|
25
|
+
| 'key'
|
26
|
+
| 'name'
|
27
|
+
| 'pollingInterval'
|
28
|
+
| 'transport'
|
23
29
|
>
|
24
30
|
>
|
25
31
|
|