viem 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/chains.js.map +1 -1
- package/dist/cjs/errors/base.js +4 -11
- package/dist/cjs/errors/base.js.map +1 -1
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/utils/encoding/toBytes.js.map +1 -1
- package/dist/cjs/utils/encoding/toHex.js.map +1 -1
- package/dist/cjs/utils/formatters/block.js +3 -1
- package/dist/cjs/utils/formatters/block.js.map +1 -1
- package/dist/cjs/utils/formatters/transaction.js +3 -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/observe.js.map +1 -1
- package/dist/cjs/utils/promise/createBatchScheduler.js.map +1 -1
- package/dist/cjs/utils/promise/withCache.js.map +1 -1
- package/dist/cjs/utils/rpc.js.map +1 -1
- package/dist/cjs/utils/unit/parseUnits.js +1 -2
- package/dist/cjs/utils/unit/parseUnits.js.map +1 -1
- package/dist/esm/accounts/generateMnemonic.js +7 -0
- package/dist/esm/accounts/generateMnemonic.js.map +1 -1
- package/dist/esm/accounts/generatePrivateKey.js +5 -0
- package/dist/esm/accounts/generatePrivateKey.js.map +1 -1
- package/dist/esm/accounts/hdKeyToAccount.js +5 -0
- package/dist/esm/accounts/hdKeyToAccount.js.map +1 -1
- package/dist/esm/accounts/mnemonicToAccount.js +5 -0
- package/dist/esm/accounts/mnemonicToAccount.js.map +1 -1
- package/dist/esm/accounts/privateKeyToAccount.js +5 -0
- package/dist/esm/accounts/privateKeyToAccount.js.map +1 -1
- package/dist/esm/accounts/toAccount.js +5 -0
- package/dist/esm/accounts/toAccount.js.map +1 -1
- package/dist/esm/accounts/utils/publicKeyToAddress.js +7 -0
- package/dist/esm/accounts/utils/publicKeyToAddress.js.map +1 -1
- package/dist/esm/accounts/utils/sign.js +8 -0
- package/dist/esm/accounts/utils/sign.js.map +1 -1
- package/dist/esm/accounts/utils/signMessage.js +6 -0
- package/dist/esm/accounts/utils/signMessage.js.map +1 -1
- package/dist/esm/accounts/utils/signTypedData.js +6 -0
- package/dist/esm/accounts/utils/signTypedData.js.map +1 -1
- package/dist/esm/actions/ens/getEnsAddress.js +28 -0
- package/dist/esm/actions/ens/getEnsAddress.js.map +1 -1
- package/dist/esm/actions/ens/getEnsAvatar.js +28 -0
- package/dist/esm/actions/ens/getEnsAvatar.js.map +1 -1
- package/dist/esm/actions/ens/getEnsName.js +27 -0
- package/dist/esm/actions/ens/getEnsName.js.map +1 -1
- package/dist/esm/actions/ens/getEnsResolver.js +28 -0
- package/dist/esm/actions/ens/getEnsResolver.js.map +1 -1
- package/dist/esm/actions/ens/getEnsText.js +29 -0
- package/dist/esm/actions/ens/getEnsText.js.map +1 -1
- package/dist/esm/actions/getContract.js +36 -0
- package/dist/esm/actions/getContract.js.map +1 -1
- package/dist/esm/actions/public/call.js +31 -0
- package/dist/esm/actions/public/call.js.map +1 -1
- package/dist/esm/actions/public/createBlockFilter.js +21 -0
- package/dist/esm/actions/public/createBlockFilter.js.map +1 -1
- package/dist/esm/actions/public/createContractEventFilter.js +22 -0
- package/dist/esm/actions/public/createContractEventFilter.js.map +1 -1
- package/dist/esm/actions/public/createEventFilter.js +23 -0
- package/dist/esm/actions/public/createEventFilter.js.map +1 -1
- package/dist/esm/actions/public/createPendingTransactionFilter.js +21 -0
- package/dist/esm/actions/public/createPendingTransactionFilter.js.map +1 -1
- package/dist/esm/actions/public/estimateContractGas.js +27 -0
- package/dist/esm/actions/public/estimateContractGas.js.map +1 -1
- package/dist/esm/actions/public/estimateGas.js +26 -0
- package/dist/esm/actions/public/estimateGas.js.map +1 -1
- package/dist/esm/actions/public/getBalance.js +35 -0
- package/dist/esm/actions/public/getBalance.js.map +1 -1
- package/dist/esm/actions/public/getBlock.js +24 -0
- package/dist/esm/actions/public/getBlock.js.map +1 -1
- package/dist/esm/actions/public/getBlockNumber.js +23 -0
- package/dist/esm/actions/public/getBlockNumber.js.map +1 -1
- package/dist/esm/actions/public/getBlockTransactionCount.js +23 -0
- package/dist/esm/actions/public/getBlockTransactionCount.js.map +1 -1
- package/dist/esm/actions/public/getBytecode.js +23 -0
- package/dist/esm/actions/public/getBytecode.js.map +1 -1
- package/dist/esm/actions/public/getChainId.js +21 -0
- package/dist/esm/actions/public/getChainId.js.map +1 -1
- package/dist/esm/actions/public/getFeeHistory.js +24 -0
- package/dist/esm/actions/public/getFeeHistory.js.map +1 -1
- package/dist/esm/actions/public/getFilterChanges.js +84 -0
- package/dist/esm/actions/public/getFilterChanges.js.map +1 -1
- package/dist/esm/actions/public/getFilterLogs.js +29 -0
- package/dist/esm/actions/public/getFilterLogs.js.map +1 -1
- package/dist/esm/actions/public/getGasPrice.js +20 -0
- package/dist/esm/actions/public/getGasPrice.js.map +1 -1
- package/dist/esm/actions/public/getLogs.js +24 -0
- package/dist/esm/actions/public/getLogs.js.map +1 -1
- package/dist/esm/actions/public/getStorageAt.js +24 -0
- package/dist/esm/actions/public/getStorageAt.js.map +1 -1
- package/dist/esm/actions/public/getTransaction.js +24 -0
- package/dist/esm/actions/public/getTransaction.js.map +1 -1
- package/dist/esm/actions/public/getTransactionConfirmations.js +24 -0
- package/dist/esm/actions/public/getTransactionConfirmations.js.map +1 -1
- package/dist/esm/actions/public/getTransactionCount.js +23 -0
- package/dist/esm/actions/public/getTransactionCount.js.map +1 -1
- package/dist/esm/actions/public/getTransactionReceipt.js +24 -0
- package/dist/esm/actions/public/getTransactionReceipt.js.map +1 -1
- package/dist/esm/actions/public/multicall.js +40 -0
- package/dist/esm/actions/public/multicall.js.map +1 -1
- package/dist/esm/actions/public/readContract.js +31 -0
- package/dist/esm/actions/public/readContract.js.map +1 -1
- package/dist/esm/actions/public/simulateContract.js +31 -0
- package/dist/esm/actions/public/simulateContract.js.map +1 -1
- package/dist/esm/actions/public/uninstallFilter.js +24 -0
- package/dist/esm/actions/public/uninstallFilter.js.map +1 -1
- package/dist/esm/actions/public/verifyHash.js +10 -0
- package/dist/esm/actions/public/verifyHash.js.map +1 -1
- package/dist/esm/actions/public/verifyMessage.js +11 -0
- package/dist/esm/actions/public/verifyMessage.js.map +1 -1
- package/dist/esm/actions/public/verifyTypedData.js +9 -0
- package/dist/esm/actions/public/verifyTypedData.js.map +1 -1
- package/dist/esm/actions/public/waitForTransactionReceipt.js +52 -0
- package/dist/esm/actions/public/waitForTransactionReceipt.js.map +1 -1
- package/dist/esm/actions/public/watchBlockNumber.js +31 -0
- package/dist/esm/actions/public/watchBlockNumber.js.map +1 -1
- package/dist/esm/actions/public/watchBlocks.js +35 -1
- package/dist/esm/actions/public/watchBlocks.js.map +1 -1
- package/dist/esm/actions/public/watchContractEvent.js +36 -0
- package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
- package/dist/esm/actions/public/watchEvent.js +38 -0
- package/dist/esm/actions/public/watchEvent.js.map +1 -1
- package/dist/esm/actions/public/watchPendingTransactions.js +29 -0
- package/dist/esm/actions/public/watchPendingTransactions.js.map +1 -1
- package/dist/esm/actions/test/dropTransaction.js +22 -0
- package/dist/esm/actions/test/dropTransaction.js.map +1 -1
- package/dist/esm/actions/test/getAutomine.js +20 -0
- package/dist/esm/actions/test/getAutomine.js.map +1 -1
- package/dist/esm/actions/test/getTxpoolContent.js +20 -0
- package/dist/esm/actions/test/getTxpoolContent.js.map +1 -1
- package/dist/esm/actions/test/getTxpoolStatus.js +20 -0
- package/dist/esm/actions/test/getTxpoolStatus.js.map +1 -1
- package/dist/esm/actions/test/impersonateAccount.js +22 -0
- package/dist/esm/actions/test/impersonateAccount.js.map +1 -1
- package/dist/esm/actions/test/increaseTime.js +22 -0
- package/dist/esm/actions/test/increaseTime.js.map +1 -1
- package/dist/esm/actions/test/inspectTxpool.js +20 -0
- package/dist/esm/actions/test/inspectTxpool.js.map +1 -1
- package/dist/esm/actions/test/mine.js +20 -0
- package/dist/esm/actions/test/mine.js.map +1 -1
- package/dist/esm/actions/test/removeBlockTimestampInterval.js +19 -0
- package/dist/esm/actions/test/removeBlockTimestampInterval.js.map +1 -1
- package/dist/esm/actions/test/reset.js +20 -0
- package/dist/esm/actions/test/reset.js.map +1 -1
- package/dist/esm/actions/test/revert.js +20 -0
- package/dist/esm/actions/test/revert.js.map +1 -1
- package/dist/esm/actions/test/sendUnsignedTransaction.js +25 -0
- package/dist/esm/actions/test/sendUnsignedTransaction.js.map +1 -1
- package/dist/esm/actions/test/setAutomine.js +19 -0
- package/dist/esm/actions/test/setAutomine.js.map +1 -1
- package/dist/esm/actions/test/setBalance.js +23 -0
- package/dist/esm/actions/test/setBalance.js.map +1 -1
- package/dist/esm/actions/test/setBlockGasLimit.js +20 -0
- package/dist/esm/actions/test/setBlockGasLimit.js.map +1 -1
- package/dist/esm/actions/test/setBlockTimestampInterval.js +20 -0
- package/dist/esm/actions/test/setBlockTimestampInterval.js.map +1 -1
- package/dist/esm/actions/test/setCode.js +23 -0
- package/dist/esm/actions/test/setCode.js.map +1 -1
- package/dist/esm/actions/test/setCoinbase.js +22 -0
- package/dist/esm/actions/test/setCoinbase.js.map +1 -1
- package/dist/esm/actions/test/setIntervalMining.js +20 -0
- package/dist/esm/actions/test/setIntervalMining.js.map +1 -1
- package/dist/esm/actions/test/setLoggingEnabled.js +19 -0
- package/dist/esm/actions/test/setLoggingEnabled.js.map +1 -1
- package/dist/esm/actions/test/setMinGasPrice.js +24 -0
- package/dist/esm/actions/test/setMinGasPrice.js.map +1 -1
- package/dist/esm/actions/test/setNextBlockBaseFeePerGas.js +22 -0
- package/dist/esm/actions/test/setNextBlockBaseFeePerGas.js.map +1 -1
- package/dist/esm/actions/test/setNextBlockTimestamp.js +20 -0
- package/dist/esm/actions/test/setNextBlockTimestamp.js.map +1 -1
- package/dist/esm/actions/test/setNonce.js +23 -0
- package/dist/esm/actions/test/setNonce.js.map +1 -1
- package/dist/esm/actions/test/setRpcUrl.js +20 -0
- package/dist/esm/actions/test/setRpcUrl.js.map +1 -1
- package/dist/esm/actions/test/setStorageAt.js +24 -0
- package/dist/esm/actions/test/setStorageAt.js.map +1 -1
- package/dist/esm/actions/test/snapshot.js +19 -0
- package/dist/esm/actions/test/snapshot.js.map +1 -1
- package/dist/esm/actions/test/stopImpersonatingAccount.js +22 -0
- package/dist/esm/actions/test/stopImpersonatingAccount.js.map +1 -1
- package/dist/esm/actions/wallet/addChain.js +19 -0
- package/dist/esm/actions/wallet/addChain.js.map +1 -1
- package/dist/esm/actions/wallet/deployContract.js +27 -0
- package/dist/esm/actions/wallet/deployContract.js.map +1 -1
- package/dist/esm/actions/wallet/getAddresses.js +20 -0
- package/dist/esm/actions/wallet/getAddresses.js.map +1 -1
- package/dist/esm/actions/wallet/getPermissions.js +20 -0
- package/dist/esm/actions/wallet/getPermissions.js.map +1 -1
- package/dist/esm/actions/wallet/requestAddresses.js +24 -0
- package/dist/esm/actions/wallet/requestAddresses.js.map +1 -1
- package/dist/esm/actions/wallet/requestPermissions.js +23 -0
- package/dist/esm/actions/wallet/requestPermissions.js.map +1 -1
- package/dist/esm/actions/wallet/sendTransaction.js +47 -0
- package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
- package/dist/esm/actions/wallet/signMessage.js +46 -0
- package/dist/esm/actions/wallet/signMessage.js.map +1 -1
- package/dist/esm/actions/wallet/signTypedData.js +100 -0
- package/dist/esm/actions/wallet/signTypedData.js.map +1 -1
- package/dist/esm/actions/wallet/switchChain.js +20 -0
- package/dist/esm/actions/wallet/switchChain.js.map +1 -1
- package/dist/esm/actions/wallet/watchAsset.js +28 -0
- package/dist/esm/actions/wallet/watchAsset.js.map +1 -1
- package/dist/esm/actions/wallet/writeContract.js +50 -0
- package/dist/esm/actions/wallet/writeContract.js.map +1 -1
- package/dist/esm/chains.js +96 -96
- package/dist/esm/chains.js.map +1 -1
- package/dist/esm/clients/createClient.js +3 -0
- package/dist/esm/clients/createClient.js.map +1 -1
- package/dist/esm/clients/createPublicClient.js +19 -0
- package/dist/esm/clients/createPublicClient.js.map +1 -1
- package/dist/esm/clients/createTestClient.js +23 -0
- package/dist/esm/clients/createTestClient.js.map +1 -1
- package/dist/esm/clients/createWalletClient.js +36 -0
- package/dist/esm/clients/createWalletClient.js.map +1 -1
- package/dist/esm/clients/transports/createTransport.js +3 -0
- package/dist/esm/clients/transports/createTransport.js.map +1 -1
- package/dist/esm/clients/transports/custom.js +3 -0
- package/dist/esm/clients/transports/custom.js.map +1 -1
- package/dist/esm/clients/transports/fallback.js +11 -0
- package/dist/esm/clients/transports/fallback.js.map +1 -1
- package/dist/esm/clients/transports/http.js +6 -1
- package/dist/esm/clients/transports/http.js.map +1 -1
- package/dist/esm/clients/transports/webSocket.js +6 -1
- package/dist/esm/clients/transports/webSocket.js.map +1 -1
- package/dist/esm/constants/abis.js +6 -0
- package/dist/esm/constants/abis.js.map +1 -1
- package/dist/esm/constants/solidity.js +1 -0
- package/dist/esm/constants/solidity.js.map +1 -1
- package/dist/esm/contract.js +0 -1
- package/dist/esm/contract.js.map +1 -1
- package/dist/esm/errors/base.js +4 -11
- package/dist/esm/errors/base.js.map +1 -1
- package/dist/esm/errors/node.js +9 -0
- package/dist/esm/errors/node.js.map +1 -1
- package/dist/esm/errors/rpc.js +103 -0
- package/dist/esm/errors/rpc.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/index.js +0 -52
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/types/account.js +1 -1
- package/dist/esm/types/account.js.map +1 -1
- package/dist/esm/types/eip1193.js +2 -0
- package/dist/esm/types/eip1193.js.map +1 -1
- package/dist/esm/utils/abi/decodeAbiParameters.js +29 -0
- package/dist/esm/utils/abi/decodeAbiParameters.js.map +1 -1
- package/dist/esm/utils/abi/decodeEventLog.js +2 -0
- package/dist/esm/utils/abi/decodeEventLog.js.map +1 -1
- package/dist/esm/utils/abi/encodeAbiParameters.js +10 -1
- package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/esm/utils/abi/getAbiItem.js +7 -0
- package/dist/esm/utils/abi/getAbiItem.js.map +1 -1
- package/dist/esm/utils/accounts.js +3 -0
- package/dist/esm/utils/accounts.js.map +1 -1
- package/dist/esm/utils/buildRequest.js +2 -0
- package/dist/esm/utils/buildRequest.js.map +1 -1
- package/dist/esm/utils/data/size.js +6 -0
- package/dist/esm/utils/data/size.js.map +1 -1
- package/dist/esm/utils/data/slice.js +21 -0
- package/dist/esm/utils/data/slice.js.map +1 -1
- package/dist/esm/utils/encoding/fromBytes.js +79 -0
- package/dist/esm/utils/encoding/fromBytes.js.map +1 -1
- package/dist/esm/utils/encoding/fromHex.js +106 -0
- package/dist/esm/utils/encoding/fromHex.js.map +1 -1
- package/dist/esm/utils/encoding/toBytes.js +102 -1
- package/dist/esm/utils/encoding/toBytes.js.map +1 -1
- package/dist/esm/utils/encoding/toHex.js +108 -2
- package/dist/esm/utils/encoding/toHex.js.map +1 -1
- package/dist/esm/utils/ens/avatar/parseAvatarRecord.js +6 -2
- package/dist/esm/utils/ens/avatar/parseAvatarRecord.js.map +1 -1
- package/dist/esm/utils/ens/avatar/utils.js +10 -0
- package/dist/esm/utils/ens/avatar/utils.js.map +1 -1
- package/dist/esm/utils/ens/labelhash.js +9 -0
- package/dist/esm/utils/ens/labelhash.js.map +1 -1
- package/dist/esm/utils/ens/namehash.js +12 -0
- package/dist/esm/utils/ens/namehash.js.map +1 -1
- package/dist/esm/utils/ens/normalize.js +10 -0
- package/dist/esm/utils/ens/normalize.js.map +1 -1
- package/dist/esm/utils/ens/packetToBytes.js +6 -0
- package/dist/esm/utils/ens/packetToBytes.js.map +1 -1
- package/dist/esm/utils/filters/createFilterRequestScope.js +5 -0
- package/dist/esm/utils/filters/createFilterRequestScope.js.map +1 -1
- package/dist/esm/utils/formatters/block.js +4 -1
- package/dist/esm/utils/formatters/block.js.map +1 -1
- package/dist/esm/utils/formatters/extract.js +3 -0
- package/dist/esm/utils/formatters/extract.js.map +1 -1
- package/dist/esm/utils/formatters/format.js +3 -0
- package/dist/esm/utils/formatters/format.js.map +1 -1
- package/dist/esm/utils/formatters/transaction.js +3 -1
- package/dist/esm/utils/formatters/transaction.js.map +1 -1
- package/dist/esm/utils/formatters/transactionReceipt.js +1 -1
- package/dist/esm/utils/formatters/transactionReceipt.js.map +1 -1
- package/dist/esm/utils/formatters/transactionRequest.js +1 -1
- package/dist/esm/utils/formatters/transactionRequest.js.map +1 -1
- package/dist/esm/utils/observe.js +7 -2
- package/dist/esm/utils/observe.js.map +1 -1
- package/dist/esm/utils/poll.js +3 -0
- package/dist/esm/utils/poll.js.map +1 -1
- package/dist/esm/utils/promise/createBatchScheduler.js +1 -1
- package/dist/esm/utils/promise/createBatchScheduler.js.map +1 -1
- package/dist/esm/utils/promise/withCache.js +15 -2
- package/dist/esm/utils/promise/withCache.js.map +1 -1
- package/dist/esm/utils/regex.js +4 -0
- package/dist/esm/utils/regex.js.map +1 -1
- package/dist/esm/utils/rpc.js +14 -1
- package/dist/esm/utils/rpc.js.map +1 -1
- package/dist/esm/utils/signature/hashTypedData.js +3 -0
- package/dist/esm/utils/signature/hashTypedData.js.map +1 -1
- package/dist/esm/utils/signature/recoverPublicKey.js +2 -0
- package/dist/esm/utils/signature/recoverPublicKey.js.map +1 -1
- package/dist/esm/utils/signature/verifyMessage.js +12 -0
- package/dist/esm/utils/signature/verifyMessage.js.map +1 -1
- package/dist/esm/utils/signature/verifyTypedData.js +12 -0
- package/dist/esm/utils/signature/verifyTypedData.js.map +1 -1
- package/dist/esm/utils/transaction/prepareRequest.js +5 -1
- package/dist/esm/utils/transaction/prepareRequest.js.map +1 -1
- package/dist/esm/utils/transaction/serializeTransaction.js +4 -2
- package/dist/esm/utils/transaction/serializeTransaction.js.map +1 -1
- package/dist/esm/utils/typedData.js +4 -0
- package/dist/esm/utils/typedData.js.map +1 -1
- package/dist/esm/utils/unit/parseUnits.js +3 -2
- package/dist/esm/utils/unit/parseUnits.js.map +1 -1
- package/dist/types/actions/public/getBlockNumber.d.ts +2 -2
- package/dist/types/actions/public/getBlockNumber.d.ts.map +1 -1
- package/dist/types/chains.d.ts.map +1 -1
- package/dist/types/contract.d.ts +1 -1
- package/dist/types/contract.d.ts.map +1 -1
- package/dist/types/errors/base.d.ts +0 -1
- package/dist/types/errors/base.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/index.d.ts +52 -52
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/account.d.ts +1 -1
- package/dist/types/types/account.d.ts.map +1 -1
- package/dist/types/utils/formatters/block.d.ts.map +1 -1
- package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
- package/dist/types/utils/observe.d.ts.map +1 -1
- package/dist/types/utils/promise/withCache.d.ts.map +1 -1
- package/dist/types/utils/unit/parseUnits.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/chains.ts +120 -97
- package/src/contract.ts +3 -3
- package/src/errors/base.ts +6 -6
- package/src/errors/version.ts +1 -1
- package/src/index.ts +221 -221
- package/src/types/account.ts +9 -9
- package/src/utils/encoding/toBytes.ts +1 -1
- package/src/utils/encoding/toHex.ts +2 -2
- package/src/utils/formatters/block.ts +3 -1
- package/src/utils/formatters/transaction.ts +3 -1
- package/src/utils/formatters/transactionReceipt.ts +1 -1
- package/src/utils/formatters/transactionRequest.ts +1 -1
- package/src/utils/observe.ts +2 -2
- package/src/utils/promise/createBatchScheduler.ts +1 -1
- package/src/utils/promise/withCache.ts +2 -2
- package/src/utils/rpc.ts +1 -1
- package/src/utils/unit/parseUnits.ts +1 -5
@@ -39,7 +39,7 @@ export function formatTransactionReceipt(transactionReceipt) {
|
|
39
39
|
: null,
|
40
40
|
};
|
41
41
|
}
|
42
|
-
export const defineTransactionReceipt = defineFormatter({
|
42
|
+
export const defineTransactionReceipt = /*#__PURE__*/ defineFormatter({
|
43
43
|
format: formatTransactionReceipt,
|
44
44
|
});
|
45
45
|
//# sourceMappingURL=transactionReceipt.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transactionReceipt.js","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionReceipt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAGL,eAAe,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAgBlD,MAAM,QAAQ,GAAG;IACf,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,SAAS;CACR,CAAA;AAEV,MAAM,UAAU,wBAAwB,CACtC,kBAAkD;IAElD,OAAO;QACL,GAAG,kBAAkB;QACrB,WAAW,EAAE,kBAAkB,CAAC,WAAW;YACzC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACxC,CAAC,CAAC,IAAI;QACR,eAAe,EAAE,kBAAkB,CAAC,eAAe;YACjD,CAAC,CAAC,kBAAkB,CAAC,eAAe;YACpC,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,OAAO,EAAE,kBAAkB,CAAC,OAAO;YACjC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACpC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI;QACR,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QACxD,gBAAgB,EAAE,kBAAkB,CAAC,gBAAgB;YACnD,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;YAClD,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,kBAAkB,CAAC,MAAM;YAC/B,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC;YACrC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC1C,CAAC,CAAC,IAAI;KACa,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"transactionReceipt.js","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionReceipt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAGL,eAAe,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAgBlD,MAAM,QAAQ,GAAG;IACf,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,SAAS;CACR,CAAA;AAEV,MAAM,UAAU,wBAAwB,CACtC,kBAAkD;IAElD,OAAO;QACL,GAAG,kBAAkB;QACrB,WAAW,EAAE,kBAAkB,CAAC,WAAW;YACzC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACxC,CAAC,CAAC,IAAI;QACR,eAAe,EAAE,kBAAkB,CAAC,eAAe;YACjD,CAAC,CAAC,kBAAkB,CAAC,eAAe;YACpC,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,OAAO,EAAE,kBAAkB,CAAC,OAAO;YACjC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACpC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI;QACR,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QACxD,gBAAgB,EAAE,kBAAkB,CAAC,gBAAgB;YACnD,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;YAClD,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,kBAAkB,CAAC,MAAM;YAC/B,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC;YACrC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC1C,CAAC,CAAC,IAAI;KACa,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC,eAAe,CAAC;IACpE,MAAM,EAAE,wBAAwB;CACjC,CAAC,CAAA"}
|
@@ -23,7 +23,7 @@ export function formatTransactionRequest(transactionRequest) {
|
|
23
23
|
: undefined,
|
24
24
|
};
|
25
25
|
}
|
26
|
-
export const defineTransactionRequest = defineFormatter({
|
26
|
+
export const defineTransactionRequest = /*#__PURE__*/ defineFormatter({
|
27
27
|
format: formatTransactionRequest,
|
28
28
|
});
|
29
29
|
//# sourceMappingURL=transactionRequest.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transactionRequest.js","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionRequest.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAGL,eAAe,GAChB,MAAM,aAAa,CAAA;AAgBpB,MAAM,UAAU,wBAAwB,CACtC,kBAA+C;IAE/C,OAAO;QACL,GAAG,kBAAkB;QACrB,GAAG,EACD,OAAO,kBAAkB,CAAC,GAAG,KAAK,WAAW;YAC3C,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC;YACrC,CAAC,CAAC,SAAS;QACf,QAAQ,EACN,OAAO,kBAAkB,CAAC,QAAQ,KAAK,WAAW;YAChD,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YAC1C,CAAC,CAAC,SAAS;QACf,YAAY,EACV,OAAO,kBAAkB,CAAC,YAAY,KAAK,WAAW;YACpD,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,CAAC;YAC9C,CAAC,CAAC,SAAS;QACf,oBAAoB,EAClB,OAAO,kBAAkB,CAAC,oBAAoB,KAAK,WAAW;YAC5D,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;YACtD,CAAC,CAAC,SAAS;QACf,KAAK,EACH,OAAO,kBAAkB,CAAC,KAAK,KAAK,WAAW;YAC7C,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACvC,CAAC,CAAC,SAAS;QACf,KAAK,EACH,OAAO,kBAAkB,CAAC,KAAK,KAAK,WAAW;YAC7C,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACvC,CAAC,CAAC,SAAS;KACS,CAAA;AAC5B,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"transactionRequest.js","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionRequest.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAGL,eAAe,GAChB,MAAM,aAAa,CAAA;AAgBpB,MAAM,UAAU,wBAAwB,CACtC,kBAA+C;IAE/C,OAAO;QACL,GAAG,kBAAkB;QACrB,GAAG,EACD,OAAO,kBAAkB,CAAC,GAAG,KAAK,WAAW;YAC3C,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC;YACrC,CAAC,CAAC,SAAS;QACf,QAAQ,EACN,OAAO,kBAAkB,CAAC,QAAQ,KAAK,WAAW;YAChD,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YAC1C,CAAC,CAAC,SAAS;QACf,YAAY,EACV,OAAO,kBAAkB,CAAC,YAAY,KAAK,WAAW;YACpD,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,CAAC;YAC9C,CAAC,CAAC,SAAS;QACf,oBAAoB,EAClB,OAAO,kBAAkB,CAAC,oBAAoB,KAAK,WAAW;YAC5D,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;YACtD,CAAC,CAAC,SAAS;QACf,KAAK,EACH,OAAO,kBAAkB,CAAC,KAAK,KAAK,WAAW;YAC7C,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACvC,CAAC,CAAC,SAAS;QACf,KAAK,EACH,OAAO,kBAAkB,CAAC,KAAK,KAAK,WAAW;YAC7C,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACvC,CAAC,CAAC,SAAS;KACS,CAAA;AAC5B,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC,eAAe,CAAC;IACpE,MAAM,EAAE,wBAAwB;CACjC,CAAC,CAAA"}
|
@@ -1,6 +1,11 @@
|
|
1
|
-
export const listenersCache = new Map();
|
2
|
-
export const cleanupCache = new Map();
|
1
|
+
export const listenersCache = /*#__PURE__*/ new Map();
|
2
|
+
export const cleanupCache = /*#__PURE__*/ new Map();
|
3
3
|
let callbackCount = 0;
|
4
|
+
/**
|
5
|
+
* @description Sets up an observer for a given function. If another function
|
6
|
+
* is set up under the same observer id, the function will only be called once
|
7
|
+
* for both instances of the observer.
|
8
|
+
*/
|
4
9
|
export function observe(observerId, callbacks, fn) {
|
5
10
|
const callbackId = ++callbackCount;
|
6
11
|
const getListeners = () => listenersCache.get(observerId) || [];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../../src/utils/observe.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../../src/utils/observe.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,GAAG,EAGhD,CAAA;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,EAAsB,CAAA;AAMvE,IAAI,aAAa,GAAG,CAAC,CAAA;AAErB;;;;GAIG;AACH,MAAM,UAAU,OAAO,CACrB,UAAkB,EAClB,SAAqB,EACrB,EAA4B;IAE5B,MAAM,UAAU,GAAG,EAAE,aAAa,CAAA;IAElC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IAE/D,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;QAChC,cAAc,CAAC,GAAG,CAChB,UAAU,EACV,SAAS,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CACpD,CAAA;IACH,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5C,IAAI,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO;YAAE,OAAO,EAAE,CAAA;QACrD,WAAW,EAAE,CAAA;IACf,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE;QAC7B,GAAG,SAAS;QACZ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE;KACnC,CAAC,CAAA;IAEF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAA;IAErD,MAAM,IAAI,GAAe,EAAgB,CAAA;IACzC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;QAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CACX,GAAG,IAA2D,EAC9D,EAAE;YACF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;YAChC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAClC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QAC/D,CAAC,CAAkD,CAAA;KACpD;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAExE,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
package/dist/esm/utils/poll.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../src/utils/poll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
1
|
+
{"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../src/utils/poll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAWhC;;GAEG;AACH,MAAM,UAAU,IAAI,CAClB,EAAiE,EACjE,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAsB;IAE9D,IAAI,MAAM,GAAG,IAAI,CAAA;IAEjB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;IAEtC,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,IAAkB,CAAA;QACtB,IAAI,WAAW;YAAE,IAAI,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QAErD,MAAM,WAAW,GAAG,CAAC,MAAM,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;QAC/D,MAAM,IAAI,CAAC,WAAW,CAAC,CAAA;QAEvB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC,MAAM;gBAAE,OAAM;YACnB,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpB,IAAI,EAAE,CAAA;QACR,CAAC,CAAA;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAA;IACD,KAAK,EAAE,CAAA;IAEP,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createBatchScheduler.js","sourceRoot":"","sources":["../../../../src/utils/promise/createBatchScheduler.ts"],"names":[],"mappings":"AA+BA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoC,CAAA;
|
1
|
+
{"version":3,"file":"createBatchScheduler.js","sourceRoot":"","sources":["../../../../src/utils/promise/createBatchScheduler.ts"],"names":[],"mappings":"AA+BA,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,GAAG,EAAoC,CAAA;AAEhF,MAAM,UAAU,oBAAoB,CAGlC,EACA,EAAE,EACF,EAAE,EACF,gBAAgB,EAChB,IAAI,GAAG,CAAC,GAIT;IACC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;QAChC,KAAK,EAAE,CAAA;QAEP,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;QAE9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAE7B,EAAE,CAAC,IAAqB,CAAC;aACtB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAC1C,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAC1C,CAAA;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QACzE,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAE7C,MAAM,cAAc,GAAG,GAAG,EAAE,CAC1B,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAkB,CAAA;IAEzD,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;IAEvD,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAE,EAAE,CAC3C,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;IAEnD,OAAO;QACL,KAAK;QACL,KAAK,CAAC,QAAQ,CAAC,IAAiB;YAC9B,MAAM,cAAc,GAAgC,EAAE,CAAA;YACtD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrE,cAAc,CAAC,OAAO,GAAG,OAAO,CAAA;gBAChC,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;YAChC,CAAC,CAAC,CAAA;YAEF,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC,CAAC,GAAG,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;YAE7D,IAAI,KAAK;gBAAE,IAAI,EAAE,CAAA;YAEjB,MAAM,kBAAkB,GAAG,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;YACpD,IAAI,kBAAkB,EAAE;gBACtB,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;gBACtC,OAAO,OAAO,CAAA;aACf;YAED,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;YACtC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACtB,OAAO,OAAO,CAAA;QAChB,CAAC;KACqE,CAAA;AAC1E,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
export const promiseCache = new Map();
|
2
|
-
export const responseCache = new Map();
|
1
|
+
export const promiseCache = /*#__PURE__*/ new Map();
|
2
|
+
export const responseCache = /*#__PURE__*/ new Map();
|
3
3
|
export function getCache(cacheKey) {
|
4
4
|
const buildCache = (cacheKey, cache) => ({
|
5
5
|
clear: () => cache.delete(cacheKey),
|
@@ -17,8 +17,15 @@ export function getCache(cacheKey) {
|
|
17
17
|
response,
|
18
18
|
};
|
19
19
|
}
|
20
|
+
/**
|
21
|
+
* @description Returns the result of a given promise, and caches the result for
|
22
|
+
* subsequent invocations against a provided cache key.
|
23
|
+
*/
|
20
24
|
export async function withCache(fn, { cacheKey, maxAge = Infinity }) {
|
21
25
|
const cache = getCache(cacheKey);
|
26
|
+
// If a response exists in the cache, and it's not expired, return it
|
27
|
+
// and do not invoke the promise.
|
28
|
+
// If the max age is 0, the cache is disabled.
|
22
29
|
const response = cache.response.get();
|
23
30
|
if (response && maxAge > 0) {
|
24
31
|
const age = new Date().getTime() - response.created.getTime();
|
@@ -28,14 +35,20 @@ export async function withCache(fn, { cacheKey, maxAge = Infinity }) {
|
|
28
35
|
let promise = cache.promise.get();
|
29
36
|
if (!promise) {
|
30
37
|
promise = fn();
|
38
|
+
// Store the promise in the cache so that subsequent invocations
|
39
|
+
// will wait for the same promise to resolve (deduping).
|
31
40
|
cache.promise.set(promise);
|
32
41
|
}
|
33
42
|
try {
|
34
43
|
const data = await promise;
|
44
|
+
// Store the response in the cache so that subsequent invocations
|
45
|
+
// will return the same response.
|
35
46
|
cache.response.set({ created: new Date(), data });
|
36
47
|
return data;
|
37
48
|
}
|
38
49
|
finally {
|
50
|
+
// Clear the promise cache so that subsequent invocations will
|
51
|
+
// invoke the promise again.
|
39
52
|
cache.promise.clear();
|
40
53
|
}
|
41
54
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"withCache.js","sourceRoot":"","sources":["../../../../src/utils/promise/withCache.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAA;
|
1
|
+
{"version":3,"file":"withCache.js","sourceRoot":"","sources":["../../../../src/utils/promise/withCache.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,CAAA;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,CAAA;AAEpD,MAAM,UAAU,QAAQ,CAAQ,QAAgB;IAC9C,MAAM,UAAU,GAAG,CAAQ,QAAgB,EAAE,KAAyB,EAAE,EAAE,CAAC,CAAC;QAC1E,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QACnC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,GAAG,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;KAChD,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,UAAU,CAAiB,QAAQ,EAAE,YAAY,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,UAAU,CACzB,QAAQ,EACR,aAAa,CACd,CAAA;IAED,OAAO;QACL,KAAK,EAAE,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,QAAQ,CAAC,KAAK,EAAE,CAAA;QAClB,CAAC;QACD,OAAO;QACP,QAAQ;KACT,CAAA;AACH,CAAC;AASD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAwB,EACxB,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAuB;IAEpD,MAAM,KAAK,GAAG,QAAQ,CAAQ,QAAQ,CAAC,CAAA;IAEvC,qEAAqE;IACrE,iCAAiC;IACjC,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;IACrC,IAAI,QAAQ,IAAI,MAAM,GAAG,CAAC,EAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAC7D,IAAI,GAAG,GAAG,MAAM;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAA;KACvC;IAED,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;IACjC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAG,EAAE,EAAE,CAAA;QAEd,gEAAgE;QAChE,wDAAwD;QACxD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;KAC3B;IAED,IAAI;QACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAA;QAE1B,iEAAiE;QACjE,iCAAiC;QACjC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAEjD,OAAO,IAAI,CAAA;KACZ;YAAS;QACR,8DAA8D;QAC9D,4BAA4B;QAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;KACtB;AACH,CAAC"}
|
package/dist/esm/utils/regex.js
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
export const arrayRegex = /^(.*)\[([0-9]*)\]$/;
|
2
|
+
// `bytes<M>`: binary type of `M` bytes, `0 < M <= 32`
|
3
|
+
// https://regexr.com/6va55
|
2
4
|
export const bytesRegex = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/;
|
5
|
+
// `(u)int<M>`: (un)signed integer type of `M` bits, `0 < M <= 256`, `M % 8 == 0`
|
6
|
+
// https://regexr.com/6v8hp
|
3
7
|
export const integerRegex = /^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;
|
4
8
|
//# sourceMappingURL=regex.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"regex.js","sourceRoot":"","sources":["../../../src/utils/regex.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAA;
|
1
|
+
{"version":3,"file":"regex.js","sourceRoot":"","sources":["../../../src/utils/regex.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAA;AAE9C,sDAAsD;AACtD,2BAA2B;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAG,sCAAsC,CAAA;AAEhE,iFAAiF;AACjF,2BAA2B;AAC3B,MAAM,CAAC,MAAM,YAAY,GACvB,gIAAgI,CAAA"}
|
package/dist/esm/utils/rpc.js
CHANGED
@@ -59,17 +59,21 @@ async function http(url, { body, fetchOptions = {}, timeout = 10000 }) {
|
|
59
59
|
});
|
60
60
|
}
|
61
61
|
}
|
62
|
-
const sockets = new Map();
|
62
|
+
const sockets = /*#__PURE__*/ new Map();
|
63
63
|
export async function getSocket(url_) {
|
64
64
|
const url = new URL(url_);
|
65
65
|
const urlKey = url.toString();
|
66
66
|
let socket = sockets.get(urlKey);
|
67
|
+
// If the socket already exists, return it.
|
67
68
|
if (socket)
|
68
69
|
return socket;
|
69
70
|
const { schedule } = createBatchScheduler({
|
70
71
|
id: urlKey,
|
71
72
|
fn: async () => {
|
72
73
|
let WebSocket = await import('isomorphic-ws');
|
74
|
+
// Workaround for Vite.
|
75
|
+
// https://github.com/vitejs/vite/issues/9703
|
76
|
+
// TODO: Remove when issue is resolved.
|
73
77
|
if (WebSocket.default
|
74
78
|
?.constructor)
|
75
79
|
WebSocket = WebSocket
|
@@ -77,7 +81,9 @@ export async function getSocket(url_) {
|
|
77
81
|
else
|
78
82
|
WebSocket = WebSocket.WebSocket;
|
79
83
|
const webSocket = new WebSocket(url);
|
84
|
+
// Set up a cache for incoming "synchronous" requests.
|
80
85
|
const requests = new Map();
|
86
|
+
// Set up a cache for subscriptions (eth_subscribe).
|
81
87
|
const subscriptions = new Map();
|
82
88
|
const onMessage = ({ data }) => {
|
83
89
|
const message = JSON.parse(data);
|
@@ -95,8 +101,10 @@ export async function getSocket(url_) {
|
|
95
101
|
webSocket.removeEventListener('close', onClose);
|
96
102
|
webSocket.removeEventListener('message', onMessage);
|
97
103
|
};
|
104
|
+
// Setup event listeners for RPC & subscription responses.
|
98
105
|
webSocket.addEventListener('close', onClose);
|
99
106
|
webSocket.addEventListener('message', onMessage);
|
107
|
+
// Wait for the socket to open.
|
100
108
|
if (webSocket.readyState === WebSocket.CONNECTING) {
|
101
109
|
await new Promise((resolve, reject) => {
|
102
110
|
if (!webSocket)
|
@@ -105,6 +113,7 @@ export async function getSocket(url_) {
|
|
105
113
|
webSocket.onerror = reject;
|
106
114
|
});
|
107
115
|
}
|
116
|
+
// Create a new socket instance.
|
108
117
|
socket = Object.assign(webSocket, {
|
109
118
|
requests,
|
110
119
|
subscriptions,
|
@@ -130,9 +139,12 @@ function webSocket(socket, { body, onResponse }) {
|
|
130
139
|
if (typeof message.id === 'number' && id_ !== message.id)
|
131
140
|
return;
|
132
141
|
onResponse?.(message);
|
142
|
+
// If we are subscribing to a topic, we want to set up a listener for incoming
|
143
|
+
// messages.
|
133
144
|
if (body.method === 'eth_subscribe' && typeof message.result === 'string') {
|
134
145
|
socket.subscriptions.set(message.result, callback);
|
135
146
|
}
|
147
|
+
// If we are unsubscribing from a topic, we want to remove the listener.
|
136
148
|
if (body.method === 'eth_unsubscribe') {
|
137
149
|
socket.subscriptions.delete(body.params?.[0]);
|
138
150
|
}
|
@@ -150,6 +162,7 @@ async function webSocketAsync(socket, { body, timeout = 10000 }) {
|
|
150
162
|
timeout,
|
151
163
|
});
|
152
164
|
}
|
165
|
+
///////////////////////////////////////////////////
|
153
166
|
export const rpc = {
|
154
167
|
http,
|
155
168
|
webSocket,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/utils/rpc.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,GACtB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,IAAI,EAAE,GAAG,CAAC,CAAA;AA0DV,KAAK,UAAU,IAAI,CACjB,GAAW,EACX,EAAE,IAAI,EAAE,YAAY,GAAG,EAAE,EAAE,OAAO,GAAG,KAAM,EAAsB;IAEjE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAA;IACzD,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACnB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,GAAG,YAAY;gBACf,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;oBACvB,CAAC,CAAC,SAAS,CACP,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAClB,OAAO,EAAE,KAAK;wBACd,EAAE,EAAE,EAAE,EAAE;wBACR,GAAG,IAAI;qBACR,CAAC,CAAC,CACJ;oBACH,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;gBACpD,OAAO,EAAE;oBACP,GAAG,OAAO;oBACV,cAAc,EAAE,kBAAkB;iBACnC;gBACD,MAAM,EAAE,MAAM,IAAI,MAAM;gBACxB,MAAM,EAAE,OAAO,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;aACtD,CAAC,CAAA;YACF,OAAO,QAAQ,CAAA;QACjB,CAAC,EACD;YACE,aAAa,EAAE,IAAI,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YAC9C,OAAO;YACP,MAAM,EAAE,IAAI;SACb,CACF,CAAA;QAED,IAAI,IAAI,CAAA;QACR,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,EAAE;YACxE,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;SAC7B;aAAM;YACL,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;SAC7B;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,gBAAgB,CAAC;gBACzB,IAAI;gBACJ,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU;gBACrD,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,GAAG;aACJ,CAAC,CAAA;SACH;QAED,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,YAAY,gBAAgB;YAAE,MAAM,GAAG,CAAA;QAC9C,IAAI,GAAG,YAAY,YAAY;YAAE,MAAM,GAAG,CAAA;QAC1C,MAAM,IAAI,gBAAgB,CAAC;YACzB,IAAI;YACJ,OAAO,EAAG,GAAa,CAAC,OAAO;YAC/B,GAAG;SACJ,CAAC,CAAA;KACH;AACH,CAAC;AAcD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/utils/rpc.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
// Implementation forked and adapted from https://github.com/MetaMask/eth-sig-util/blob/main/src/sign-typed-data.ts
|
1
2
|
import { encodeAbiParameters } from '../abi/encodeAbiParameters.js';
|
2
3
|
import { concat } from '../data/concat.js';
|
3
4
|
import { toHex } from '../encoding/toHex.js';
|
@@ -18,6 +19,8 @@ export function hashTypedData({ domain: domain_, message, primaryType, types: ty
|
|
18
19
|
].filter(Boolean),
|
19
20
|
...types_,
|
20
21
|
};
|
22
|
+
// Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc
|
23
|
+
// as we can't statically check this with TypeScript.
|
21
24
|
validateTypedData({
|
22
25
|
domain,
|
23
26
|
message,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hashTypedData.js","sourceRoot":"","sources":["../../../../src/utils/signature/hashTypedData.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"hashTypedData.js","sourceRoot":"","sources":["../../../../src/utils/signature/hashTypedData.ts"],"names":[],"mappings":"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"}
|
@@ -4,6 +4,8 @@ import { toHex } from '../encoding/toHex.js';
|
|
4
4
|
export async function recoverPublicKey({ hash, signature, }) {
|
5
5
|
const signatureHex = isHex(signature) ? signature : toHex(signature);
|
6
6
|
const hashHex = isHex(hash) ? hash : toHex(hash);
|
7
|
+
// Derive v = recoveryId + 27 from end of the signature (27 is added when signing the message)
|
8
|
+
// The recoveryId represents the y-coordinate on the secp256k1 elliptic curve and can have a value [0, 1].
|
7
9
|
let v = hexToNumber(`0x${signatureHex.slice(130)}`);
|
8
10
|
if (v === 0 || v === 1)
|
9
11
|
v += 27;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"recoverPublicKey.js","sourceRoot":"","sources":["../../../../src/utils/signature/recoverPublicKey.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAQ5C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,IAAI,EACJ,SAAS,GACkB;IAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;
|
1
|
+
{"version":3,"file":"recoverPublicKey.js","sourceRoot":"","sources":["../../../../src/utils/signature/recoverPublicKey.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAQ5C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,IAAI,EACJ,SAAS,GACkB;IAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAEhD,8FAA8F;IAC9F,0GAA0G;IAC1G,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACnD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,CAAC,IAAI,EAAE,CAAA;IAE/B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;IAC7D,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAC/C,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAC/B;SACE,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC;SACtB,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACtC,KAAK,CAAC,KAAK,CAAC,CAAA;IACf,OAAO,KAAK,SAAS,EAAE,CAAA;AACzB,CAAC"}
|
@@ -1,6 +1,18 @@
|
|
1
1
|
import { getAddress } from '../address/getAddress.js';
|
2
2
|
import { isAddressEqual } from '../address/isAddressEqual.js';
|
3
3
|
import { recoverMessageAddress } from './recoverMessageAddress.js';
|
4
|
+
/**
|
5
|
+
* Verify that a message was signed by the provided address.
|
6
|
+
*
|
7
|
+
* Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.
|
8
|
+
* It is highly recommended to use `publicClient.verifyMessage` instead to ensure
|
9
|
+
* wallet interoperability.
|
10
|
+
*
|
11
|
+
* - Docs {@link https://viem.sh/docs/utilities/verifyMessage.html}
|
12
|
+
*
|
13
|
+
* @param parameters - {@link VerifyMessageParameters}
|
14
|
+
* @returns Whether or not the signature is valid. {@link VerifyMessageReturnType}
|
15
|
+
*/
|
4
16
|
export async function verifyMessage({ address, message, signature, }) {
|
5
17
|
return isAddressEqual(getAddress(address), await recoverMessageAddress({ message, signature }));
|
6
18
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verifyMessage.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyMessage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;
|
1
|
+
{"version":3,"file":"verifyMessage.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyMessage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAalE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,OAAO,EACP,OAAO,EACP,SAAS,GACe;IACxB,OAAO,cAAc,CACnB,UAAU,CAAC,OAAO,CAAC,EACnB,MAAM,qBAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CACpD,CAAA;AACH,CAAC"}
|
@@ -1,6 +1,18 @@
|
|
1
1
|
import { getAddress } from '../address/getAddress.js';
|
2
2
|
import { isAddressEqual } from '../address/isAddressEqual.js';
|
3
3
|
import { recoverTypedDataAddress, } from './recoverTypedDataAddress.js';
|
4
|
+
/**
|
5
|
+
* Verify that typed data was signed by the provided address.
|
6
|
+
*
|
7
|
+
* Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.
|
8
|
+
* It is highly recommended to use `publicClient.verifyTypedData` instead to ensure
|
9
|
+
* wallet interoperability.
|
10
|
+
*
|
11
|
+
* - Docs {@link https://viem.sh/docs/utilities/verifyTypedData.html}
|
12
|
+
*
|
13
|
+
* @param parameters - {@link VerifyTypedDataParameters}
|
14
|
+
* @returns Whether or not the signature is valid. {@link VerifyTypedDataReturnType}
|
15
|
+
*/
|
4
16
|
export async function verifyTypedData({ address, domain, message, primaryType, signature, types, }) {
|
5
17
|
return isAddressEqual(getAddress(address), await recoverTypedDataAddress({
|
6
18
|
domain,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verifyTypedData.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyTypedData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAEL,uBAAuB,GACxB,MAAM,8BAA8B,CAAA;
|
1
|
+
{"version":3,"file":"verifyTypedData.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyTypedData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAEL,uBAAuB,GACxB,MAAM,8BAA8B,CAAA;AAcrC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAGnC,EACA,OAAO,EACP,MAAM,EACN,OAAO,EACP,WAAW,EACX,SAAS,EACT,KAAK,GAIN;IACC,OAAO,cAAc,CACnB,UAAU,CAAC,OAAO,CAAC,EACnB,MAAM,uBAAuB,CAAC;QAC5B,MAAM;QACN,OAAO;QACP,WAAW;QACX,SAAS;QACT,KAAK;KAC+B,CAAC,CACxC,CAAA;AACH,CAAC"}
|
@@ -6,7 +6,7 @@ import { getTransactionCount } from '../../actions/public/getTransactionCount.js
|
|
6
6
|
import { AccountNotFoundError } from '../../errors/account.js';
|
7
7
|
import { BaseError } from '../../errors/base.js';
|
8
8
|
import { assertRequest } from './assertRequest.js';
|
9
|
-
export const defaultTip = 1500000000n;
|
9
|
+
export const defaultTip = 1500000000n; // 1.5 gwei
|
10
10
|
export async function prepareRequest(client, args) {
|
11
11
|
const { account: account_, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, } = args;
|
12
12
|
if (!account_)
|
@@ -22,7 +22,9 @@ export async function prepareRequest(client, args) {
|
|
22
22
|
if (block.baseFeePerGas) {
|
23
23
|
if (typeof gasPrice !== 'undefined')
|
24
24
|
throw new BaseError('Chain does not support legacy `gasPrice`.');
|
25
|
+
// EIP-1559 fees
|
25
26
|
if (typeof maxFeePerGas === 'undefined') {
|
27
|
+
// Set a buffer of 1.2x on top of the base fee to account for fluctuations.
|
26
28
|
request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultTip;
|
27
29
|
request.maxFeePerGas =
|
28
30
|
(block.baseFeePerGas * 120n) / 100n + request.maxPriorityFeePerGas;
|
@@ -39,7 +41,9 @@ export async function prepareRequest(client, args) {
|
|
39
41
|
if (typeof maxFeePerGas !== 'undefined' ||
|
40
42
|
typeof maxPriorityFeePerGas !== 'undefined')
|
41
43
|
throw new BaseError('Chain does not support EIP-1559 fees.');
|
44
|
+
// Legacy fees
|
42
45
|
if (typeof gasPrice === 'undefined')
|
46
|
+
// Set a buffer of 1.2x on top of the base fee to account for fluctuations.
|
43
47
|
request.gasPrice = ((await getGasPrice(client)) * 120n) / 100n;
|
44
48
|
}
|
45
49
|
if (typeof gas === 'undefined')
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"prepareRequest.js","sourceRoot":"","sources":["../../../../src/utils/transaction/prepareRequest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAEL,WAAW,GACZ,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AAKjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIhD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAwBlD,MAAM,CAAC,MAAM,UAAU,GAAG,WAAc,CAAA;
|
1
|
+
{"version":3,"file":"prepareRequest.js","sourceRoot":"","sources":["../../../../src/utils/transaction/prepareRequest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAEL,WAAW,GACZ,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AAKjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIhD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAwBlD,MAAM,CAAC,MAAM,UAAU,GAAG,WAAc,CAAA,CAAC,WAAW;AAEpD,MAAM,CAAC,KAAK,UAAU,cAAc,CAKlC,MAEmC,EACnC,IAAiB;IAEjB,MAAM,EACJ,OAAO,EAAE,QAAQ,EACjB,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,KAAK,GACN,GAAG,IAAI,CAAA;IACR,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,oBAAoB,EAAE,CAAA;IAC/C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAEtC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE5D,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;IAElD,IAAI,OAAO,KAAK,KAAK,WAAW;QAC9B,OAAO,CAAC,KAAK,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE;YAChD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAA;IAEJ,IAAI,KAAK,CAAC,aAAa,EAAE;QACvB,IAAI,OAAO,QAAQ,KAAK,WAAW;YACjC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAA;QAElE,gBAAgB;QAChB,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;YACvC,2EAA2E;YAC3E,OAAO,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,UAAU,CAAA;YACjE,OAAO,CAAC,YAAY;gBAClB,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,oBAAoB,CAAA;SACrE;aAAM;YACL,IACE,OAAO,oBAAoB,KAAK,WAAW;gBAC3C,YAAY,GAAG,UAAU;gBAEzB,MAAM,IAAI,SAAS,CACjB,mFAAmF,CACpF,CAAA;YACH,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;YACnC,OAAO,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,UAAU,CAAA;SAClE;KACF;SAAM;QACL,IACE,OAAO,YAAY,KAAK,WAAW;YACnC,OAAO,oBAAoB,KAAK,WAAW;YAE3C,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAA;QAE9D,cAAc;QACd,IAAI,OAAO,QAAQ,KAAK,WAAW;YACjC,2EAA2E;YAC3E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;KACjE;IAED,IAAI,OAAO,GAAG,KAAK,WAAW;QAC5B,OAAO,CAAC,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;YACtC,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;SAC/B,CAAC,CAAA;IAE7B,aAAa,CAAC,OAAO,CAAC,CAAA;IAEtB,OAAO,OAA0D,CAAA;AACnE,CAAC"}
|
@@ -31,7 +31,8 @@ function serializeTransactionEIP1559(transaction, signature) {
|
|
31
31
|
serializedAccessList,
|
32
32
|
];
|
33
33
|
if (signature)
|
34
|
-
serializedTransaction.push(signature.v === 27n ? '0x' : toHex(1),
|
34
|
+
serializedTransaction.push(signature.v === 27n ? '0x' : toHex(1), // yParity
|
35
|
+
trim(signature.r), trim(signature.s));
|
35
36
|
return concatHex([
|
36
37
|
'0x02',
|
37
38
|
toRlp(serializedTransaction),
|
@@ -52,7 +53,8 @@ function serializeTransactionEIP2930(transaction, signature) {
|
|
52
53
|
serializedAccessList,
|
53
54
|
];
|
54
55
|
if (signature)
|
55
|
-
serializedTransaction.push(signature.v === 27n ? '0x' : toHex(1),
|
56
|
+
serializedTransaction.push(signature.v === 27n ? '0x' : toHex(1), // yParity
|
57
|
+
signature.r, signature.s);
|
56
58
|
return concatHex([
|
57
59
|
'0x01',
|
58
60
|
toRlp(serializedTransaction),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"serializeTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transaction/serializeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EACL,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,6BAA6B,CAAA;AAcpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAuB,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjE,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAEL,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAOhC,MAAM,UAAU,oBAAoB,CAGlC,WAAqC,EACrC,SAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAuB,CAAA;IAElE,IAAI,IAAI,KAAK,SAAS;QACpB,OAAO,2BAA2B,CAChC,WAA6C,EAC7C,SAAS,CACyB,CAAA;IAEtC,IAAI,IAAI,KAAK,SAAS;QACpB,OAAO,2BAA2B,CAChC,WAA6C,EAC7C,SAAS,CACyB,CAAA;IAEtC,OAAO,0BAA0B,CAC/B,WAA4C,EAC5C,SAAS,CACyB,CAAA;AACtC,CAAC;AAED,SAAS,2BAA2B,CAClC,WAA2C,EAC3C,SAAqB;IAErB,MAAM,EACJ,OAAO,EACP,GAAG,EACH,KAAK,EACL,EAAE,EACF,KAAK,EACL,YAAY,EACZ,oBAAoB,EACpB,UAAU,EACV,IAAI,GACL,GAAG,WAAW,CAAA;IAEf,wBAAwB,CAAC,WAAW,CAAC,CAAA;IAErC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAE5D,MAAM,qBAAqB,GAAG;QAC5B,KAAK,CAAC,OAAO,CAAC;QACd,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3B,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI;QACzD,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QACzC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;QACvB,EAAE,IAAI,IAAI;QACV,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3B,IAAI,IAAI,IAAI;QACZ,oBAAoB;KACrB,CAAA;IAED,IAAI,SAAS;QACX,qBAAqB,CAAC,IAAI,CACxB,SAAS,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,
|
1
|
+
{"version":3,"file":"serializeTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transaction/serializeTransaction.ts"],"names":[],"mappings":"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"}
|
@@ -15,6 +15,8 @@ export function validateTypedData({ domain, message, primaryType, types: types_,
|
|
15
15
|
if (integerMatch &&
|
16
16
|
(typeof value === 'number' || typeof value === 'bigint')) {
|
17
17
|
const [_type, base, size_] = integerMatch;
|
18
|
+
// If number cannot be cast to a sized hex value, it is out of range
|
19
|
+
// and will throw.
|
18
20
|
numberToHex(value, {
|
19
21
|
signed: base === 'int',
|
20
22
|
size: parseInt(size_) / 8,
|
@@ -36,9 +38,11 @@ export function validateTypedData({ domain, message, primaryType, types: types_,
|
|
36
38
|
validateData(struct, value);
|
37
39
|
}
|
38
40
|
};
|
41
|
+
// Validate domain types.
|
39
42
|
if (types['EIP712Domain'] && domain)
|
40
43
|
validateData(types['EIP712Domain'], domain);
|
41
44
|
if (primaryType !== 'EIP712Domain') {
|
45
|
+
// Validate message types.
|
42
46
|
const type = types[primaryType];
|
43
47
|
validateData(type, message);
|
44
48
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typedData.js","sourceRoot":"","sources":["../../../src/utils/typedData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAI1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAErD,MAAM,UAAU,iBAAiB,CAG/B,EACA,MAAM,EACN,OAAO,EACP,WAAW,EACX,KAAK,EAAE,MAAM,GACiC;IAC9C,MAAM,KAAK,GAAG,MAAmB,CAAA;IAEjC,MAAM,YAAY,GAAG,CACnB,MAAqC,EACrC,MAA+B,EAC/B,EAAE;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;YACnC,MAAM,IAAI,GAAG,KAAsB,CAAA;YACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAE1B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAC7C,IACE,YAAY;gBACZ,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EACxD;gBACA,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,YAAY,CAAA;
|
1
|
+
{"version":3,"file":"typedData.js","sourceRoot":"","sources":["../../../src/utils/typedData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAI1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAErD,MAAM,UAAU,iBAAiB,CAG/B,EACA,MAAM,EACN,OAAO,EACP,WAAW,EACX,KAAK,EAAE,MAAM,GACiC;IAC9C,MAAM,KAAK,GAAG,MAAmB,CAAA;IAEjC,MAAM,YAAY,GAAG,CACnB,MAAqC,EACrC,MAA+B,EAC/B,EAAE;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;YACnC,MAAM,IAAI,GAAG,KAAsB,CAAA;YACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAE1B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAC7C,IACE,YAAY;gBACZ,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EACxD;gBACA,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,YAAY,CAAA;gBACzC,oEAAoE;gBACpE,kBAAkB;gBAClB,WAAW,CAAC,KAAK,EAAE;oBACjB,MAAM,EAAE,IAAI,KAAK,KAAK;oBACtB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;iBAC1B,CAAC,CAAA;aACH;YAED,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACtE,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;YAEnD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YACzC,IAAI,UAAU,EAAE;gBACd,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,UAAU,CAAA;gBACjC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAY,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC;oBACjD,MAAM,IAAI,sBAAsB,CAAC;wBAC/B,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC;wBAC7B,SAAS,EAAE,IAAI,CAAC,KAAY,CAAC;qBAC9B,CAAC,CAAA;aACL;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1B,IAAI,MAAM;gBAAE,YAAY,CAAC,MAAM,EAAE,KAAgC,CAAC,CAAA;SACnE;IACH,CAAC,CAAA;IAED,yBAAyB;IACzB,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,MAAM;QACjC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAA;IAE7C,IAAI,WAAW,KAAK,cAAc,EAAE;QAClC,0BAA0B;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;QAC/B,YAAY,CAAC,IAAI,EAAE,OAAkC,CAAC,CAAA;KACvD;AACH,CAAC"}
|
@@ -3,7 +3,9 @@ export function parseUnits(value, decimals) {
|
|
3
3
|
const negative = integer.startsWith('-');
|
4
4
|
if (negative)
|
5
5
|
integer = integer.slice(1);
|
6
|
+
// trim leading zeros.
|
6
7
|
fraction = fraction.replace(/(0+)$/, '');
|
8
|
+
// round off if the fraction is larger than the number of decimals.
|
7
9
|
if (decimals === 0) {
|
8
10
|
integer = `${Math.round(Number(`${integer}.${fraction}`))}`;
|
9
11
|
fraction = '';
|
@@ -14,10 +16,9 @@ export function parseUnits(value, decimals) {
|
|
14
16
|
fraction.slice(decimals - 1, decimals),
|
15
17
|
fraction.slice(decimals),
|
16
18
|
];
|
17
|
-
const zeroes = left.match(/^0+/)?.[0].length ?? 0;
|
18
19
|
const rounded = Math.round(Number(`${unit}.${right}`));
|
19
20
|
if (rounded > 9)
|
20
|
-
fraction = `${
|
21
|
+
fraction = `${BigInt(left) + BigInt(1)}0`.padStart(left.length + 1, '0');
|
21
22
|
else
|
22
23
|
fraction = `${left}${rounded}`;
|
23
24
|
if (fraction.length > decimals) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parseUnits.js","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,QAAgB;IAC7D,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;
|
1
|
+
{"version":3,"file":"parseUnits.js","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,QAAgB;IAC7D,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAExC,sBAAsB;IACtB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAExC,mEAAmE;IACnE,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAA;QAC3D,QAAQ,GAAG,EAAE,CAAA;KACd;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE;QACrC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG;YAC1B,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC;YAC/B,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC;YACtC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,CAAA;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAA;QACtD,IAAI,OAAO,GAAG,CAAC;YACb,QAAQ,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;;YACrE,QAAQ,GAAG,GAAG,IAAI,GAAG,OAAO,EAAE,CAAA;QAEnC,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE;YAC9B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC5B,OAAO,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAA;SACpC;QAED,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;KACvC;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;KAC1C;IAED,OAAO,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC"}
|
@@ -10,7 +10,7 @@ export declare function getBlockNumberCache(id: string): {
|
|
10
10
|
clear: () => void;
|
11
11
|
promise: {
|
12
12
|
clear: () => boolean;
|
13
|
-
get: () => Promise<unknown> | undefined;
|
13
|
+
get: () => Promise<unknown> | undefined; /** The maximum age (in ms) of the cached value. */
|
14
14
|
set: (data: Promise<unknown>) => Map<string, Promise<unknown>>;
|
15
15
|
};
|
16
16
|
response: {
|
@@ -18,7 +18,7 @@ export declare function getBlockNumberCache(id: string): {
|
|
18
18
|
get: () => {
|
19
19
|
created: Date;
|
20
20
|
data: unknown;
|
21
|
-
} | undefined;
|
21
|
+
} | undefined; /** The maximum age (in ms) of the cached value. */
|
22
22
|
set: (data: {
|
23
23
|
created: Date;
|
24
24
|
data: unknown;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getBlockNumber.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/getBlockNumber.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,MAAM,wBAAwB,GAAG;IACrC,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAA;AAI7C,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM
|
1
|
+
{"version":3,"file":"getBlockNumber.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/getBlockNumber.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,MAAM,wBAAwB,GAAG;IACrC,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAA;AAI7C,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM;;;;iDAR5C,mDAAmD;;;;;;;;uBAAnD,mDAAmD;;;;;;;;;EAUpD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,cAAc,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACnE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EAAE,MAA+B,EAAE,GAAE,wBAA6B,GACjE,OAAO,CAAC,wBAAwB,CAAC,CASnC"}
|