viem 0.3.0-main.20230410T055525 → 0.3.0-main.20230411T014628
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/accounts/generateMnemonic.js +0 -7
- package/dist/cjs/accounts/generateMnemonic.js.map +1 -1
- package/dist/cjs/accounts/generatePrivateKey.js +0 -5
- package/dist/cjs/accounts/generatePrivateKey.js.map +1 -1
- package/dist/cjs/accounts/hdKeyToAccount.js +0 -5
- package/dist/cjs/accounts/hdKeyToAccount.js.map +1 -1
- package/dist/cjs/accounts/mnemonicToAccount.js +0 -5
- package/dist/cjs/accounts/mnemonicToAccount.js.map +1 -1
- package/dist/cjs/accounts/privateKeyToAccount.js +0 -5
- package/dist/cjs/accounts/privateKeyToAccount.js.map +1 -1
- package/dist/cjs/accounts/toAccount.js +0 -5
- package/dist/cjs/accounts/toAccount.js.map +1 -1
- package/dist/cjs/accounts/utils/publicKeyToAddress.js +0 -7
- package/dist/cjs/accounts/utils/publicKeyToAddress.js.map +1 -1
- package/dist/cjs/accounts/utils/sign.js +0 -8
- package/dist/cjs/accounts/utils/sign.js.map +1 -1
- package/dist/cjs/accounts/utils/signMessage.js +0 -6
- package/dist/cjs/accounts/utils/signMessage.js.map +1 -1
- package/dist/cjs/accounts/utils/signTypedData.js +0 -6
- package/dist/cjs/accounts/utils/signTypedData.js.map +1 -1
- package/dist/cjs/actions/ens/getEnsAddress.js +0 -6
- package/dist/cjs/actions/ens/getEnsAddress.js.map +1 -1
- package/dist/cjs/actions/ens/getEnsAvatar.js +0 -3
- package/dist/cjs/actions/ens/getEnsAvatar.js.map +1 -1
- package/dist/cjs/actions/ens/getEnsName.js +0 -12
- package/dist/cjs/actions/ens/getEnsName.js.map +1 -1
- package/dist/cjs/actions/ens/getEnsResolver.js +0 -3
- package/dist/cjs/actions/ens/getEnsResolver.js.map +1 -1
- package/dist/cjs/actions/ens/getEnsText.js +0 -15
- package/dist/cjs/actions/ens/getEnsText.js.map +1 -1
- package/dist/cjs/actions/getContract.js +0 -14
- package/dist/cjs/actions/getContract.js.map +1 -1
- package/dist/cjs/actions/public/call.js +0 -1
- package/dist/cjs/actions/public/call.js.map +1 -1
- package/dist/cjs/actions/public/createBlockFilter.js.map +1 -1
- package/dist/cjs/actions/public/createContractEventFilter.js.map +1 -1
- package/dist/cjs/actions/public/createEventFilter.js.map +1 -1
- package/dist/cjs/actions/public/createPendingTransactionFilter.js.map +1 -1
- package/dist/cjs/actions/public/estimateContractGas.js.map +1 -1
- package/dist/cjs/actions/public/estimateGas.js +0 -4
- package/dist/cjs/actions/public/estimateGas.js.map +1 -1
- package/dist/cjs/actions/public/getBalance.js +0 -3
- package/dist/cjs/actions/public/getBalance.js.map +1 -1
- package/dist/cjs/actions/public/getBlock.js.map +1 -1
- package/dist/cjs/actions/public/getBlockNumber.js +0 -3
- package/dist/cjs/actions/public/getBlockNumber.js.map +1 -1
- package/dist/cjs/actions/public/getBlockTransactionCount.js.map +1 -1
- package/dist/cjs/actions/public/getBytecode.js.map +1 -1
- package/dist/cjs/actions/public/getChainId.js.map +1 -1
- package/dist/cjs/actions/public/getFeeHistory.js +0 -3
- package/dist/cjs/actions/public/getFeeHistory.js.map +1 -1
- package/dist/cjs/actions/public/getFilterChanges.js +0 -1
- package/dist/cjs/actions/public/getFilterChanges.js.map +1 -1
- package/dist/cjs/actions/public/getFilterLogs.js +0 -1
- package/dist/cjs/actions/public/getFilterLogs.js.map +1 -1
- package/dist/cjs/actions/public/getGasPrice.js +0 -3
- package/dist/cjs/actions/public/getGasPrice.js.map +1 -1
- package/dist/cjs/actions/public/getLogs.js +0 -4
- package/dist/cjs/actions/public/getLogs.js.map +1 -1
- package/dist/cjs/actions/public/getStorageAt.js.map +1 -1
- package/dist/cjs/actions/public/getTransaction.js +0 -1
- package/dist/cjs/actions/public/getTransaction.js.map +1 -1
- package/dist/cjs/actions/public/getTransactionConfirmations.js.map +1 -1
- package/dist/cjs/actions/public/getTransactionCount.js +0 -3
- package/dist/cjs/actions/public/getTransactionCount.js.map +1 -1
- package/dist/cjs/actions/public/getTransactionReceipt.js.map +1 -1
- package/dist/cjs/actions/public/multicall.js +0 -1
- package/dist/cjs/actions/public/multicall.js.map +1 -1
- package/dist/cjs/actions/public/readContract.js.map +1 -1
- package/dist/cjs/actions/public/simulateContract.js.map +1 -1
- package/dist/cjs/actions/public/uninstallFilter.js.map +1 -1
- package/dist/cjs/actions/public/waitForTransactionReceipt.js +0 -11
- package/dist/cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
- package/dist/cjs/actions/public/watchBlockNumber.js +0 -7
- package/dist/cjs/actions/public/watchBlockNumber.js.map +1 -1
- package/dist/cjs/actions/public/watchBlocks.js +1 -13
- package/dist/cjs/actions/public/watchBlocks.js.map +1 -1
- package/dist/cjs/actions/public/watchContractEvent.js +0 -6
- package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
- package/dist/cjs/actions/public/watchEvent.js +0 -6
- package/dist/cjs/actions/public/watchEvent.js.map +1 -1
- package/dist/cjs/actions/public/watchPendingTransactions.js.map +1 -1
- package/dist/cjs/actions/wallet/deployContract.js.map +1 -1
- package/dist/cjs/actions/wallet/sendTransaction.js +0 -2
- package/dist/cjs/actions/wallet/sendTransaction.js.map +1 -1
- package/dist/cjs/actions/wallet/signTypedData.js +0 -2
- package/dist/cjs/actions/wallet/signTypedData.js.map +1 -1
- package/dist/cjs/adapters/ethers.js +0 -5
- package/dist/cjs/adapters/ethers.js.map +1 -1
- package/dist/cjs/clients/createClient.js +0 -3
- package/dist/cjs/clients/createClient.js.map +1 -1
- package/dist/cjs/clients/createPublicClient.js +0 -3
- package/dist/cjs/clients/createPublicClient.js.map +1 -1
- package/dist/cjs/clients/createTestClient.js +0 -3
- package/dist/cjs/clients/createTestClient.js.map +1 -1
- package/dist/cjs/clients/createWalletClient.js +0 -3
- package/dist/cjs/clients/createWalletClient.js.map +1 -1
- package/dist/cjs/clients/decorators/public.js.map +1 -1
- package/dist/cjs/clients/decorators/wallet.js.map +1 -1
- package/dist/cjs/clients/transports/createTransport.js +0 -3
- package/dist/cjs/clients/transports/createTransport.js.map +1 -1
- package/dist/cjs/clients/transports/custom.js +0 -3
- package/dist/cjs/clients/transports/custom.js.map +1 -1
- package/dist/cjs/clients/transports/fallback.js +0 -11
- package/dist/cjs/clients/transports/fallback.js.map +1 -1
- package/dist/cjs/clients/transports/http.js +1 -6
- package/dist/cjs/clients/transports/http.js.map +1 -1
- package/dist/cjs/clients/transports/webSocket.js +1 -6
- package/dist/cjs/clients/transports/webSocket.js.map +1 -1
- package/dist/cjs/constants/abis.js +0 -1
- package/dist/cjs/constants/abis.js.map +1 -1
- package/dist/cjs/constants/solidity.js +0 -1
- package/dist/cjs/constants/solidity.js.map +1 -1
- package/dist/cjs/errors/node.js +0 -9
- package/dist/cjs/errors/node.js.map +1 -1
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/types/eip1193.js +0 -2
- package/dist/cjs/types/eip1193.js.map +1 -1
- package/dist/cjs/utils/abi/decodeAbiParameters.js +0 -29
- package/dist/cjs/utils/abi/decodeAbiParameters.js.map +1 -1
- package/dist/cjs/utils/abi/decodeEventLog.js +0 -2
- package/dist/cjs/utils/abi/decodeEventLog.js.map +1 -1
- package/dist/cjs/utils/abi/encodeAbiParameters.js +1 -10
- package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/cjs/utils/abi/getAbiItem.js +0 -7
- package/dist/cjs/utils/abi/getAbiItem.js.map +1 -1
- package/dist/cjs/utils/accounts.js +0 -3
- package/dist/cjs/utils/accounts.js.map +1 -1
- package/dist/cjs/utils/buildRequest.js +0 -2
- package/dist/cjs/utils/buildRequest.js.map +1 -1
- package/dist/cjs/utils/data/size.js +0 -6
- package/dist/cjs/utils/data/size.js.map +1 -1
- package/dist/cjs/utils/data/slice.js +0 -21
- package/dist/cjs/utils/data/slice.js.map +1 -1
- package/dist/cjs/utils/encoding/fromBytes.js +0 -15
- package/dist/cjs/utils/encoding/fromBytes.js.map +1 -1
- package/dist/cjs/utils/encoding/fromHex.js +0 -15
- package/dist/cjs/utils/encoding/fromHex.js.map +1 -1
- package/dist/cjs/utils/encoding/toBytes.js +0 -13
- package/dist/cjs/utils/encoding/toBytes.js.map +1 -1
- package/dist/cjs/utils/encoding/toHex.js +0 -15
- package/dist/cjs/utils/encoding/toHex.js.map +1 -1
- package/dist/cjs/utils/ens/avatar/parseAvatarRecord.js +2 -6
- package/dist/cjs/utils/ens/avatar/parseAvatarRecord.js.map +1 -1
- package/dist/cjs/utils/ens/avatar/utils.js +0 -10
- package/dist/cjs/utils/ens/avatar/utils.js.map +1 -1
- package/dist/cjs/utils/ens/labelhash.js +0 -9
- package/dist/cjs/utils/ens/labelhash.js.map +1 -1
- package/dist/cjs/utils/ens/namehash.js +0 -12
- package/dist/cjs/utils/ens/namehash.js.map +1 -1
- package/dist/cjs/utils/ens/normalize.js +0 -10
- package/dist/cjs/utils/ens/normalize.js.map +1 -1
- package/dist/cjs/utils/ens/packetToBytes.js +0 -4
- package/dist/cjs/utils/ens/packetToBytes.js.map +1 -1
- package/dist/cjs/utils/formatters/block.js +0 -1
- package/dist/cjs/utils/formatters/block.js.map +1 -1
- package/dist/cjs/utils/formatters/extract.js +0 -3
- package/dist/cjs/utils/formatters/extract.js.map +1 -1
- package/dist/cjs/utils/formatters/format.js +0 -3
- package/dist/cjs/utils/formatters/format.js.map +1 -1
- package/dist/cjs/utils/observe.js +0 -5
- package/dist/cjs/utils/observe.js.map +1 -1
- package/dist/cjs/utils/poll.js +0 -3
- package/dist/cjs/utils/poll.js.map +1 -1
- package/dist/cjs/utils/promise/withCache.js +0 -13
- package/dist/cjs/utils/promise/withCache.js.map +1 -1
- package/dist/cjs/utils/regex.js +0 -4
- package/dist/cjs/utils/regex.js.map +1 -1
- package/dist/cjs/utils/rpc.js +0 -10
- package/dist/cjs/utils/rpc.js.map +1 -1
- package/dist/cjs/utils/signature/hashTypedData.js +0 -3
- package/dist/cjs/utils/signature/hashTypedData.js.map +1 -1
- package/dist/cjs/utils/signature/recoverAddress.js +0 -2
- package/dist/cjs/utils/signature/recoverAddress.js.map +1 -1
- package/dist/cjs/utils/transaction/prepareRequest.js +0 -4
- package/dist/cjs/utils/transaction/prepareRequest.js.map +1 -1
- package/dist/cjs/utils/transaction/serializeTransaction.js +2 -4
- package/dist/cjs/utils/transaction/serializeTransaction.js.map +1 -1
- package/dist/cjs/utils/typedData.js +0 -4
- package/dist/cjs/utils/typedData.js.map +1 -1
- package/dist/cjs/utils/unit/parseUnits.js +0 -2
- package/dist/cjs/utils/unit/parseUnits.js.map +1 -1
- package/dist/esm/accounts/generateMnemonic.js +0 -7
- package/dist/esm/accounts/generateMnemonic.js.map +1 -1
- package/dist/esm/accounts/generatePrivateKey.js +0 -5
- package/dist/esm/accounts/generatePrivateKey.js.map +1 -1
- package/dist/esm/accounts/hdKeyToAccount.js +0 -5
- package/dist/esm/accounts/hdKeyToAccount.js.map +1 -1
- package/dist/esm/accounts/mnemonicToAccount.js +0 -5
- package/dist/esm/accounts/mnemonicToAccount.js.map +1 -1
- package/dist/esm/accounts/privateKeyToAccount.js +0 -5
- package/dist/esm/accounts/privateKeyToAccount.js.map +1 -1
- package/dist/esm/accounts/toAccount.js +0 -5
- package/dist/esm/accounts/toAccount.js.map +1 -1
- package/dist/esm/accounts/utils/publicKeyToAddress.js +0 -7
- package/dist/esm/accounts/utils/publicKeyToAddress.js.map +1 -1
- package/dist/esm/accounts/utils/sign.js +0 -8
- package/dist/esm/accounts/utils/sign.js.map +1 -1
- package/dist/esm/accounts/utils/signMessage.js +0 -6
- package/dist/esm/accounts/utils/signMessage.js.map +1 -1
- package/dist/esm/accounts/utils/signTypedData.js +0 -6
- package/dist/esm/accounts/utils/signTypedData.js.map +1 -1
- package/dist/esm/actions/ens/getEnsAddress.js +0 -6
- package/dist/esm/actions/ens/getEnsAddress.js.map +1 -1
- package/dist/esm/actions/ens/getEnsAvatar.js +0 -3
- package/dist/esm/actions/ens/getEnsAvatar.js.map +1 -1
- package/dist/esm/actions/ens/getEnsName.js +0 -12
- package/dist/esm/actions/ens/getEnsName.js.map +1 -1
- package/dist/esm/actions/ens/getEnsResolver.js +0 -3
- package/dist/esm/actions/ens/getEnsResolver.js.map +1 -1
- package/dist/esm/actions/ens/getEnsText.js +0 -15
- package/dist/esm/actions/ens/getEnsText.js.map +1 -1
- package/dist/esm/actions/getContract.js +0 -14
- package/dist/esm/actions/getContract.js.map +1 -1
- package/dist/esm/actions/public/call.js +0 -1
- package/dist/esm/actions/public/call.js.map +1 -1
- package/dist/esm/actions/public/createBlockFilter.js.map +1 -1
- package/dist/esm/actions/public/createContractEventFilter.js.map +1 -1
- package/dist/esm/actions/public/createEventFilter.js.map +1 -1
- package/dist/esm/actions/public/createPendingTransactionFilter.js.map +1 -1
- package/dist/esm/actions/public/estimateContractGas.js.map +1 -1
- package/dist/esm/actions/public/estimateGas.js +0 -4
- package/dist/esm/actions/public/estimateGas.js.map +1 -1
- package/dist/esm/actions/public/getBalance.js +0 -3
- package/dist/esm/actions/public/getBalance.js.map +1 -1
- package/dist/esm/actions/public/getBlock.js.map +1 -1
- package/dist/esm/actions/public/getBlockNumber.js +0 -3
- package/dist/esm/actions/public/getBlockNumber.js.map +1 -1
- package/dist/esm/actions/public/getBlockTransactionCount.js.map +1 -1
- package/dist/esm/actions/public/getBytecode.js.map +1 -1
- package/dist/esm/actions/public/getChainId.js.map +1 -1
- package/dist/esm/actions/public/getFeeHistory.js +0 -3
- package/dist/esm/actions/public/getFeeHistory.js.map +1 -1
- package/dist/esm/actions/public/getFilterChanges.js +0 -1
- package/dist/esm/actions/public/getFilterChanges.js.map +1 -1
- package/dist/esm/actions/public/getFilterLogs.js +0 -1
- package/dist/esm/actions/public/getFilterLogs.js.map +1 -1
- package/dist/esm/actions/public/getGasPrice.js +0 -3
- package/dist/esm/actions/public/getGasPrice.js.map +1 -1
- package/dist/esm/actions/public/getLogs.js +0 -4
- package/dist/esm/actions/public/getLogs.js.map +1 -1
- package/dist/esm/actions/public/getStorageAt.js.map +1 -1
- package/dist/esm/actions/public/getTransaction.js +0 -1
- package/dist/esm/actions/public/getTransaction.js.map +1 -1
- package/dist/esm/actions/public/getTransactionConfirmations.js.map +1 -1
- package/dist/esm/actions/public/getTransactionCount.js +0 -3
- package/dist/esm/actions/public/getTransactionCount.js.map +1 -1
- package/dist/esm/actions/public/getTransactionReceipt.js.map +1 -1
- package/dist/esm/actions/public/multicall.js +0 -1
- package/dist/esm/actions/public/multicall.js.map +1 -1
- package/dist/esm/actions/public/readContract.js.map +1 -1
- package/dist/esm/actions/public/simulateContract.js.map +1 -1
- package/dist/esm/actions/public/uninstallFilter.js.map +1 -1
- package/dist/esm/actions/public/waitForTransactionReceipt.js +0 -11
- package/dist/esm/actions/public/waitForTransactionReceipt.js.map +1 -1
- package/dist/esm/actions/public/watchBlockNumber.js +0 -7
- package/dist/esm/actions/public/watchBlockNumber.js.map +1 -1
- package/dist/esm/actions/public/watchBlocks.js +1 -13
- package/dist/esm/actions/public/watchBlocks.js.map +1 -1
- package/dist/esm/actions/public/watchContractEvent.js +0 -6
- package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
- package/dist/esm/actions/public/watchEvent.js +0 -6
- package/dist/esm/actions/public/watchEvent.js.map +1 -1
- package/dist/esm/actions/public/watchPendingTransactions.js.map +1 -1
- package/dist/esm/actions/wallet/deployContract.js.map +1 -1
- package/dist/esm/actions/wallet/sendTransaction.js +0 -2
- package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
- package/dist/esm/actions/wallet/signTypedData.js +0 -2
- package/dist/esm/actions/wallet/signTypedData.js.map +1 -1
- package/dist/esm/adapters/ethers.js +0 -5
- package/dist/esm/adapters/ethers.js.map +1 -1
- package/dist/esm/clients/createClient.js +0 -3
- package/dist/esm/clients/createClient.js.map +1 -1
- package/dist/esm/clients/createPublicClient.js +0 -3
- package/dist/esm/clients/createPublicClient.js.map +1 -1
- package/dist/esm/clients/createTestClient.js +0 -3
- package/dist/esm/clients/createTestClient.js.map +1 -1
- package/dist/esm/clients/createWalletClient.js +0 -3
- package/dist/esm/clients/createWalletClient.js.map +1 -1
- package/dist/esm/clients/decorators/public.js.map +1 -1
- package/dist/esm/clients/decorators/wallet.js.map +1 -1
- package/dist/esm/clients/transports/createTransport.js +0 -3
- package/dist/esm/clients/transports/createTransport.js.map +1 -1
- package/dist/esm/clients/transports/custom.js +0 -3
- package/dist/esm/clients/transports/custom.js.map +1 -1
- package/dist/esm/clients/transports/fallback.js +0 -11
- package/dist/esm/clients/transports/fallback.js.map +1 -1
- package/dist/esm/clients/transports/http.js +1 -6
- package/dist/esm/clients/transports/http.js.map +1 -1
- package/dist/esm/clients/transports/webSocket.js +1 -6
- package/dist/esm/clients/transports/webSocket.js.map +1 -1
- package/dist/esm/constants/abis.js +0 -1
- package/dist/esm/constants/abis.js.map +1 -1
- package/dist/esm/constants/solidity.js +0 -1
- package/dist/esm/constants/solidity.js.map +1 -1
- package/dist/esm/errors/node.js +0 -9
- package/dist/esm/errors/node.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/types/eip1193.js +0 -2
- package/dist/esm/types/eip1193.js.map +1 -1
- package/dist/esm/utils/abi/decodeAbiParameters.js +0 -29
- package/dist/esm/utils/abi/decodeAbiParameters.js.map +1 -1
- package/dist/esm/utils/abi/decodeEventLog.js +0 -2
- package/dist/esm/utils/abi/decodeEventLog.js.map +1 -1
- package/dist/esm/utils/abi/encodeAbiParameters.js +1 -10
- package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/esm/utils/abi/getAbiItem.js +0 -7
- package/dist/esm/utils/abi/getAbiItem.js.map +1 -1
- package/dist/esm/utils/accounts.js +0 -3
- package/dist/esm/utils/accounts.js.map +1 -1
- package/dist/esm/utils/buildRequest.js +0 -2
- package/dist/esm/utils/buildRequest.js.map +1 -1
- package/dist/esm/utils/data/size.js +0 -6
- package/dist/esm/utils/data/size.js.map +1 -1
- package/dist/esm/utils/data/slice.js +0 -21
- package/dist/esm/utils/data/slice.js.map +1 -1
- package/dist/esm/utils/encoding/fromBytes.js +0 -15
- package/dist/esm/utils/encoding/fromBytes.js.map +1 -1
- package/dist/esm/utils/encoding/fromHex.js +0 -15
- package/dist/esm/utils/encoding/fromHex.js.map +1 -1
- package/dist/esm/utils/encoding/toBytes.js +0 -13
- package/dist/esm/utils/encoding/toBytes.js.map +1 -1
- package/dist/esm/utils/encoding/toHex.js +0 -15
- package/dist/esm/utils/encoding/toHex.js.map +1 -1
- package/dist/esm/utils/ens/avatar/parseAvatarRecord.js +2 -6
- package/dist/esm/utils/ens/avatar/parseAvatarRecord.js.map +1 -1
- package/dist/esm/utils/ens/avatar/utils.js +0 -10
- package/dist/esm/utils/ens/avatar/utils.js.map +1 -1
- package/dist/esm/utils/ens/labelhash.js +0 -9
- package/dist/esm/utils/ens/labelhash.js.map +1 -1
- package/dist/esm/utils/ens/namehash.js +0 -12
- package/dist/esm/utils/ens/namehash.js.map +1 -1
- package/dist/esm/utils/ens/normalize.js +0 -10
- package/dist/esm/utils/ens/normalize.js.map +1 -1
- package/dist/esm/utils/ens/packetToBytes.js +0 -4
- package/dist/esm/utils/ens/packetToBytes.js.map +1 -1
- package/dist/esm/utils/formatters/block.js +0 -1
- package/dist/esm/utils/formatters/block.js.map +1 -1
- package/dist/esm/utils/formatters/extract.js +0 -3
- package/dist/esm/utils/formatters/extract.js.map +1 -1
- package/dist/esm/utils/formatters/format.js +0 -3
- package/dist/esm/utils/formatters/format.js.map +1 -1
- package/dist/esm/utils/observe.js +0 -5
- package/dist/esm/utils/observe.js.map +1 -1
- package/dist/esm/utils/poll.js +0 -3
- package/dist/esm/utils/poll.js.map +1 -1
- package/dist/esm/utils/promise/withCache.js +0 -13
- package/dist/esm/utils/promise/withCache.js.map +1 -1
- package/dist/esm/utils/regex.js +0 -4
- package/dist/esm/utils/regex.js.map +1 -1
- package/dist/esm/utils/rpc.js +0 -10
- package/dist/esm/utils/rpc.js.map +1 -1
- package/dist/esm/utils/signature/hashTypedData.js +0 -3
- package/dist/esm/utils/signature/hashTypedData.js.map +1 -1
- package/dist/esm/utils/signature/recoverAddress.js +0 -2
- package/dist/esm/utils/signature/recoverAddress.js.map +1 -1
- package/dist/esm/utils/transaction/prepareRequest.js +0 -4
- package/dist/esm/utils/transaction/prepareRequest.js.map +1 -1
- package/dist/esm/utils/transaction/serializeTransaction.js +2 -4
- package/dist/esm/utils/transaction/serializeTransaction.js.map +1 -1
- package/dist/esm/utils/typedData.js +0 -4
- package/dist/esm/utils/typedData.js.map +1 -1
- package/dist/esm/utils/unit/parseUnits.js +0 -2
- package/dist/esm/utils/unit/parseUnits.js.map +1 -1
- package/dist/types/actions/ens/getEnsAddress.d.ts +28 -5
- package/dist/types/actions/ens/getEnsAddress.d.ts.map +1 -1
- package/dist/types/actions/ens/getEnsAvatar.d.ts +28 -2
- package/dist/types/actions/ens/getEnsAvatar.d.ts.map +1 -1
- package/dist/types/actions/ens/getEnsName.d.ts +19 -3
- package/dist/types/actions/ens/getEnsName.d.ts.map +1 -1
- package/dist/types/actions/ens/getEnsResolver.d.ts +29 -3
- package/dist/types/actions/ens/getEnsResolver.d.ts.map +1 -1
- package/dist/types/actions/ens/getEnsText.d.ts +22 -7
- package/dist/types/actions/ens/getEnsText.d.ts.map +1 -1
- package/dist/types/actions/getContract.d.ts +42 -3
- package/dist/types/actions/getContract.d.ts.map +1 -1
- package/dist/types/actions/public/call.d.ts +29 -1
- package/dist/types/actions/public/call.d.ts.map +1 -1
- package/dist/types/actions/public/createBlockFilter.d.ts +21 -0
- package/dist/types/actions/public/createBlockFilter.d.ts.map +1 -1
- package/dist/types/actions/public/createContractEventFilter.d.ts +22 -0
- package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
- package/dist/types/actions/public/createEventFilter.d.ts +23 -0
- package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
- package/dist/types/actions/public/createPendingTransactionFilter.d.ts +21 -0
- package/dist/types/actions/public/createPendingTransactionFilter.d.ts.map +1 -1
- package/dist/types/actions/public/estimateContractGas.d.ts +28 -0
- package/dist/types/actions/public/estimateContractGas.d.ts.map +1 -1
- package/dist/types/actions/public/estimateGas.d.ts +27 -2
- package/dist/types/actions/public/estimateGas.d.ts.map +1 -1
- package/dist/types/actions/public/getBalance.d.ts +34 -1
- package/dist/types/actions/public/getBalance.d.ts.map +1 -1
- package/dist/types/actions/public/getBlock.d.ts +28 -1
- package/dist/types/actions/public/getBlock.d.ts.map +1 -1
- package/dist/types/actions/public/getBlockNumber.d.ts +21 -1
- package/dist/types/actions/public/getBlockNumber.d.ts.map +1 -1
- package/dist/types/actions/public/getBlockTransactionCount.d.ts +23 -0
- package/dist/types/actions/public/getBlockTransactionCount.d.ts.map +1 -1
- package/dist/types/actions/public/getBytecode.d.ts +23 -0
- package/dist/types/actions/public/getBytecode.d.ts.map +1 -1
- package/dist/types/actions/public/getChainId.d.ts +21 -0
- package/dist/types/actions/public/getChainId.d.ts.map +1 -1
- package/dist/types/actions/public/getFeeHistory.d.ts +33 -1
- package/dist/types/actions/public/getFeeHistory.d.ts.map +1 -1
- package/dist/types/actions/public/getFilterChanges.d.ts +83 -0
- package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
- package/dist/types/actions/public/getFilterLogs.d.ts +28 -0
- package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
- package/dist/types/actions/public/getGasPrice.d.ts +18 -1
- package/dist/types/actions/public/getGasPrice.d.ts.map +1 -1
- package/dist/types/actions/public/getLogs.d.ts +20 -1
- package/dist/types/actions/public/getLogs.d.ts.map +1 -1
- package/dist/types/actions/public/getStorageAt.d.ts +24 -0
- package/dist/types/actions/public/getStorageAt.d.ts.map +1 -1
- package/dist/types/actions/public/getTransaction.d.ts +24 -1
- package/dist/types/actions/public/getTransaction.d.ts.map +1 -1
- package/dist/types/actions/public/getTransactionConfirmations.d.ts +24 -0
- package/dist/types/actions/public/getTransactionConfirmations.d.ts.map +1 -1
- package/dist/types/actions/public/getTransactionCount.d.ts +21 -1
- package/dist/types/actions/public/getTransactionCount.d.ts.map +1 -1
- package/dist/types/actions/public/getTransactionReceipt.d.ts +24 -0
- package/dist/types/actions/public/getTransactionReceipt.d.ts.map +1 -1
- package/dist/types/actions/public/multicall.d.ts +39 -0
- package/dist/types/actions/public/multicall.d.ts.map +1 -1
- package/dist/types/actions/public/readContract.d.ts +32 -0
- package/dist/types/actions/public/readContract.d.ts.map +1 -1
- package/dist/types/actions/public/simulateContract.d.ts +32 -0
- package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
- package/dist/types/actions/public/uninstallFilter.d.ts +25 -0
- package/dist/types/actions/public/uninstallFilter.d.ts.map +1 -1
- package/dist/types/actions/public/waitForTransactionReceipt.d.ts +48 -2
- package/dist/types/actions/public/waitForTransactionReceipt.d.ts.map +1 -1
- package/dist/types/actions/public/watchBlockNumber.d.ts +25 -1
- package/dist/types/actions/public/watchBlockNumber.d.ts.map +1 -1
- package/dist/types/actions/public/watchBlocks.d.ts +23 -1
- package/dist/types/actions/public/watchBlocks.d.ts.map +1 -1
- package/dist/types/actions/public/watchContractEvent.d.ts +31 -0
- package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
- package/dist/types/actions/public/watchEvent.d.ts +37 -1
- package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
- package/dist/types/actions/public/watchPendingTransactions.d.ts +46 -3
- package/dist/types/actions/public/watchPendingTransactions.d.ts.map +1 -1
- package/dist/types/actions/wallet/deployContract.d.ts +27 -0
- package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
- package/dist/types/clients/decorators/public.d.ts +996 -1
- package/dist/types/clients/decorators/public.d.ts.map +1 -1
- package/dist/types/clients/decorators/wallet.d.ts +25 -0
- package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/types/eip1193.d.ts +1 -1
- package/package.json +1 -1
- package/src/actions/ens/getEnsAddress.ts +28 -5
- package/src/actions/ens/getEnsAvatar.ts +28 -2
- package/src/actions/ens/getEnsName.ts +19 -3
- package/src/actions/ens/getEnsResolver.ts +29 -3
- package/src/actions/ens/getEnsText.ts +22 -7
- package/src/actions/getContract.ts +42 -3
- package/src/actions/public/call.ts +29 -1
- package/src/actions/public/createBlockFilter.ts +21 -0
- package/src/actions/public/createContractEventFilter.ts +22 -0
- package/src/actions/public/createEventFilter.ts +23 -0
- package/src/actions/public/createPendingTransactionFilter.ts +21 -0
- package/src/actions/public/estimateContractGas.ts +28 -0
- package/src/actions/public/estimateGas.ts +27 -2
- package/src/actions/public/getBalance.ts +34 -1
- package/src/actions/public/getBlock.ts +28 -1
- package/src/actions/public/getBlockNumber.ts +21 -1
- package/src/actions/public/getBlockTransactionCount.ts +23 -0
- package/src/actions/public/getBytecode.ts +23 -0
- package/src/actions/public/getChainId.ts +21 -0
- package/src/actions/public/getFeeHistory.ts +33 -1
- package/src/actions/public/getFilterChanges.ts +83 -0
- package/src/actions/public/getFilterLogs.ts +28 -0
- package/src/actions/public/getGasPrice.ts +18 -1
- package/src/actions/public/getLogs.ts +20 -1
- package/src/actions/public/getStorageAt.ts +24 -0
- package/src/actions/public/getTransaction.ts +24 -1
- package/src/actions/public/getTransactionConfirmations.ts +24 -0
- package/src/actions/public/getTransactionCount.ts +21 -1
- package/src/actions/public/getTransactionReceipt.ts +24 -0
- package/src/actions/public/multicall.ts +39 -0
- package/src/actions/public/readContract.ts +32 -0
- package/src/actions/public/simulateContract.ts +32 -0
- package/src/actions/public/uninstallFilter.ts +25 -0
- package/src/actions/public/waitForTransactionReceipt.ts +48 -2
- package/src/actions/public/watchBlockNumber.ts +25 -1
- package/src/actions/public/watchBlocks.ts +23 -1
- package/src/actions/public/watchContractEvent.ts +31 -0
- package/src/actions/public/watchEvent.ts +37 -1
- package/src/actions/public/watchPendingTransactions.ts +49 -4
- package/src/actions/wallet/deployContract.ts +27 -0
- package/src/clients/decorators/public.ts +996 -1
- package/src/clients/decorators/wallet.ts +25 -0
- package/src/errors/version.ts +1 -1
- package/src/types/eip1193.ts +1 -1
@@ -1,15 +1,9 @@
|
|
1
1
|
import { pad } from '../data/index.js';
|
2
2
|
import { IntegerOutOfRangeError } from '../../errors/index.js';
|
3
3
|
const hexes = Array.from({ length: 256 }, (_v, i) => i.toString(16).padStart(2, '0'));
|
4
|
-
/**
|
5
|
-
* @description Encodes a boolean into a hex string
|
6
|
-
*/
|
7
4
|
export function boolToHex(value) {
|
8
5
|
return `0x${Number(value)}`;
|
9
6
|
}
|
10
|
-
/**
|
11
|
-
* @description Encodes a bytes array into a hex string
|
12
|
-
*/
|
13
7
|
export function bytesToHex(value) {
|
14
8
|
let hex = '';
|
15
9
|
for (let i = 0; i < value.length; i++) {
|
@@ -17,9 +11,6 @@ export function bytesToHex(value) {
|
|
17
11
|
}
|
18
12
|
return `0x${hex}`;
|
19
13
|
}
|
20
|
-
/**
|
21
|
-
* @description Encodes a string, number, bigint, or ByteArray into a hex string
|
22
|
-
*/
|
23
14
|
export function toHex(value) {
|
24
15
|
if (typeof value === 'number' || typeof value === 'bigint')
|
25
16
|
return numberToHex(value);
|
@@ -30,9 +21,6 @@ export function toHex(value) {
|
|
30
21
|
return boolToHex(value);
|
31
22
|
return bytesToHex(value);
|
32
23
|
}
|
33
|
-
/**
|
34
|
-
* @description Encodes a number or bigint into a hex string
|
35
|
-
*/
|
36
24
|
export function numberToHex(value_, opts = {}) {
|
37
25
|
const { signed, size } = opts;
|
38
26
|
const value = BigInt(value_);
|
@@ -65,9 +53,6 @@ export function numberToHex(value_, opts = {}) {
|
|
65
53
|
return hex;
|
66
54
|
}
|
67
55
|
const encoder = new TextEncoder();
|
68
|
-
/**
|
69
|
-
* @description Encodes a UTF-8 string into a hex string
|
70
|
-
*/
|
71
56
|
export function stringToHex(value_) {
|
72
57
|
const value = encoder.encode(value_);
|
73
58
|
return toHex(value);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"toHex.js","sourceRoot":"","sources":["../../../../src/utils/encoding/toHex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAE9D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAClD,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAChC,CAAA;
|
1
|
+
{"version":3,"file":"toHex.js","sourceRoot":"","sources":["../../../../src/utils/encoding/toHex.ts"],"names":[],"mappings":"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"}
|
@@ -5,20 +5,16 @@ export async function parseAvatarRecord(client, { gatewayUrls, record, }) {
|
|
5
5
|
return parseAvatarUri({ uri: record, gatewayUrls });
|
6
6
|
}
|
7
7
|
async function parseNftAvatarUri(client, { gatewayUrls, record, }) {
|
8
|
-
// parse NFT URI into properties
|
9
8
|
const nft = parseNftUri(record);
|
10
|
-
// fetch tokenURI from the NFT contract
|
11
9
|
const nftUri = await getNftTokenUri(client, { nft });
|
12
|
-
// resolve the URI from the fetched tokenURI
|
13
10
|
const { uri: resolvedNftUri, isOnChain, isEncoded, } = resolveAvatarUri({ uri: nftUri, gatewayUrls });
|
14
|
-
// if the resolved URI is on chain, return the data
|
15
11
|
if (isOnChain &&
|
16
12
|
(resolvedNftUri.includes('data:application/json;base64,') ||
|
17
13
|
resolvedNftUri.startsWith('{'))) {
|
18
14
|
const encodedJson = isEncoded
|
19
|
-
?
|
15
|
+
?
|
20
16
|
atob(resolvedNftUri.replace('data:application/json;base64,', ''))
|
21
|
-
:
|
17
|
+
:
|
22
18
|
resolvedNftUri;
|
23
19
|
const decoded = JSON.parse(encodedJson);
|
24
20
|
return parseAvatarUri({ uri: getJsonImage(decoded), gatewayUrls });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parseAvatarRecord.js","sourceRoot":"","sources":["../../../../../src/utils/ens/avatar/parseAvatarRecord.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,GACjB,MAAM,YAAY,CAAA;AAEnB,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuC,EACvC,EACE,WAAW,EACX,MAAM,GAIP;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,OAAO,iBAAiB,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;IAC3D,OAAO,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;AACrD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAuC,EACvC,EACE,WAAW,EACX,MAAM,GAIP;
|
1
|
+
{"version":3,"file":"parseAvatarRecord.js","sourceRoot":"","sources":["../../../../../src/utils/ens/avatar/parseAvatarRecord.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,GACjB,MAAM,YAAY,CAAA;AAEnB,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuC,EACvC,EACE,WAAW,EACX,MAAM,GAIP;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,OAAO,iBAAiB,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;IAC3D,OAAO,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;AACrD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAuC,EACvC,EACE,WAAW,EACX,MAAM,GAIP;IAGD,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAE/B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAEpD,MAAM,EACJ,GAAG,EAAE,cAAc,EACnB,SAAS,EACT,SAAS,GACV,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;IAGlD,IACE,SAAS;QACT,CAAC,cAAc,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACvD,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EACjC;QACA,MAAM,WAAW,GAAG,SAAS;YAC3B,CAAC;gBACC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;gBACC,cAAc,CAAA;QAElB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACvC,OAAO,cAAc,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;KACnE;IAED,IAAI,UAAU,GAAG,GAAG,CAAC,OAAO,CAAA;IAC5B,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;QAC7B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAE7D,OAAO,oBAAoB,CAAC;QAC1B,WAAW;QACX,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC;KACvD,CAAC,CAAA;AACJ,CAAC"}
|
@@ -7,7 +7,6 @@ const dataURIRegex = /^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;
|
|
7
7
|
export async function isImageUri(uri) {
|
8
8
|
try {
|
9
9
|
const res = await fetch(uri, { method: 'HEAD' });
|
10
|
-
// retrieve content type header to check if content is image
|
11
10
|
if (res.status === 200) {
|
12
11
|
const contentType = res.headers.get('content-type');
|
13
12
|
return contentType?.startsWith('image/');
|
@@ -15,14 +14,11 @@ export async function isImageUri(uri) {
|
|
15
14
|
return false;
|
16
15
|
}
|
17
16
|
catch (error) {
|
18
|
-
// if error is not cors related then fail
|
19
17
|
if (typeof error === 'object' && typeof error.response !== 'undefined') {
|
20
18
|
return false;
|
21
19
|
}
|
22
|
-
// fail in NodeJS, since the error is not cors but any other network issue
|
23
20
|
if (!globalThis.hasOwnProperty('Image'))
|
24
21
|
return false;
|
25
|
-
// in case of cors, use image api to validate if given url is an actual image
|
26
22
|
return new Promise((resolve) => {
|
27
23
|
const img = new Image();
|
28
24
|
img.onload = () => {
|
@@ -74,7 +70,6 @@ export function resolveAvatarUri({ uri, gatewayUrls, }) {
|
|
74
70
|
}
|
75
71
|
let parsedUri = uri.replace(dataURIRegex, '');
|
76
72
|
if (parsedUri.startsWith('<svg')) {
|
77
|
-
// if svg, base64 encode
|
78
73
|
parsedUri = `data:image/svg+xml;base64,${btoa(parsedUri)}`;
|
79
74
|
}
|
80
75
|
if (parsedUri.startsWith('data:') || parsedUri.startsWith('{')) {
|
@@ -87,7 +82,6 @@ export function resolveAvatarUri({ uri, gatewayUrls, }) {
|
|
87
82
|
throw new EnsAvatarUriResolutionError({ uri });
|
88
83
|
}
|
89
84
|
export function getJsonImage(data) {
|
90
|
-
// validation check for json data, must include one of theses properties
|
91
85
|
if (typeof data !== 'object' ||
|
92
86
|
(!('image' in data) && !('image_url' in data) && !('image_data' in data))) {
|
93
87
|
throw new EnsAvatarInvalidMetadataError({ data });
|
@@ -111,17 +105,13 @@ export async function parseAvatarUri({ gatewayUrls, uri, }) {
|
|
111
105
|
const { uri: resolvedURI, isOnChain } = resolveAvatarUri({ uri, gatewayUrls });
|
112
106
|
if (isOnChain)
|
113
107
|
return resolvedURI;
|
114
|
-
// check if resolvedURI is an image, if it is return the url
|
115
108
|
const isImage = await isImageUri(resolvedURI);
|
116
109
|
if (isImage)
|
117
110
|
return resolvedURI;
|
118
111
|
throw new EnsAvatarUriResolutionError({ uri });
|
119
112
|
}
|
120
113
|
export function parseNftUri(uri) {
|
121
|
-
// parse valid nft spec (CAIP-22/CAIP-29)
|
122
|
-
// @see: https://github.com/ChainAgnostic/CAIPs/tree/master/CAIPs
|
123
114
|
if (uri.startsWith('did:nft:')) {
|
124
|
-
// convert DID to CAIP
|
125
115
|
uri = uri.replace('did:nft:', '').replace(/_/g, '/');
|
126
116
|
}
|
127
117
|
const [reference, asset_namespace, tokenID] = uri.split('/');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/utils/ens/avatar/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,kCAAkC,EAClC,2BAA2B,GAC5B,MAAM,0BAA0B,CAAA;AASjC,MAAM,YAAY,GAChB,mIAAmI,CAAA;AACrI,MAAM,aAAa,GACjB,uJAAuJ,CAAA;AACzJ,MAAM,WAAW,GAAG,uCAAuC,CAAA;AAC3D,MAAM,YAAY,GAAG,6CAA6C,CAAA;AAElE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/utils/ens/avatar/utils.ts"],"names":[],"mappings":"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"}
|
@@ -1,14 +1,5 @@
|
|
1
1
|
import { bytesToHex, stringToBytes } from '../encoding/index.js';
|
2
2
|
import { keccak256 } from '../hash/index.js';
|
3
|
-
/**
|
4
|
-
* @description Hashes ENS label
|
5
|
-
*
|
6
|
-
* - Since ENS labels prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS labels](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `labelhash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.
|
7
|
-
*
|
8
|
-
* @example
|
9
|
-
* labelhash('eth')
|
10
|
-
* '0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0'
|
11
|
-
*/
|
12
3
|
export function labelhash(label) {
|
13
4
|
const result = new Uint8Array(32).fill(0);
|
14
5
|
if (!label)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"labelhash.js","sourceRoot":"","sources":["../../../../src/utils/ens/labelhash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
1
|
+
{"version":3,"file":"labelhash.js","sourceRoot":"","sources":["../../../../src/utils/ens/labelhash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAW5C,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;IACrC,OAAO,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;AACxC,CAAC"}
|
@@ -1,23 +1,11 @@
|
|
1
1
|
import { concat } from '../data/index.js';
|
2
2
|
import { bytesToHex, stringToBytes } from '../encoding/index.js';
|
3
3
|
import { keccak256 } from '../hash/index.js';
|
4
|
-
/**
|
5
|
-
* @description Hashes ENS name
|
6
|
-
*
|
7
|
-
* - Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `namehash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.
|
8
|
-
*
|
9
|
-
* @example
|
10
|
-
* namehash('wagmi-dev.eth')
|
11
|
-
* '0xf246651c1b9a6b141d19c2604e9a58f567973833990f830d882534a747801359'
|
12
|
-
*
|
13
|
-
* @link https://eips.ethereum.org/EIPS/eip-137
|
14
|
-
*/
|
15
4
|
export function namehash(name) {
|
16
5
|
let result = new Uint8Array(32).fill(0);
|
17
6
|
if (!name)
|
18
7
|
return bytesToHex(result);
|
19
8
|
const labels = name.split('.');
|
20
|
-
// Iterate in reverse order building up hash
|
21
9
|
for (let i = labels.length - 1; i >= 0; i -= 1) {
|
22
10
|
const hashed = keccak256(stringToBytes(labels[i]), 'bytes');
|
23
11
|
result = keccak256(concat([result, hashed]), 'bytes');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"namehash.js","sourceRoot":"","sources":["../../../../src/utils/ens/namehash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
1
|
+
{"version":3,"file":"namehash.js","sourceRoot":"","sources":["../../../../src/utils/ens/namehash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAa5C,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;IAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE9B,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAC3D,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;KACtD;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC3B,CAAC"}
|
@@ -1,14 +1,4 @@
|
|
1
1
|
import { ens_normalize } from '@adraffy/ens-normalize';
|
2
|
-
/**
|
3
|
-
* @description Normalizes ENS name according to ENSIP-15.
|
4
|
-
*
|
5
|
-
* @example
|
6
|
-
* normalize('wagmi-dev.eth')
|
7
|
-
* 'wagmi-dev.eth'
|
8
|
-
*
|
9
|
-
* @see https://docs.ens.domains/contract-api-reference/name-processing#normalising-names
|
10
|
-
* @see https://github.com/ensdomains/docs/blob/9edf9443de4333a0ea7ec658a870672d5d180d53/ens-improvement-proposals/ensip-15-normalization-standard.md
|
11
|
-
*/
|
12
2
|
export function normalize(name) {
|
13
3
|
return ens_normalize(name);
|
14
4
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../../src/utils/ens/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../../src/utils/ens/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAYtD,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC"}
|
@@ -1,7 +1,4 @@
|
|
1
1
|
import { stringToBytes } from '../encoding/index.js';
|
2
|
-
/*
|
3
|
-
* @description Encodes a DNS packet into a ByteArray containing a UDP payload.
|
4
|
-
*/
|
5
2
|
export function packetToBytes(packet) {
|
6
3
|
function length(value) {
|
7
4
|
if (value === '.' || value === '..')
|
@@ -9,7 +6,6 @@ export function packetToBytes(packet) {
|
|
9
6
|
return stringToBytes(value.replace(/^\.|\.$/gm, '')).length + 2;
|
10
7
|
}
|
11
8
|
const bytes = new Uint8Array(length(packet));
|
12
|
-
// strip leading and trailing `.`
|
13
9
|
const value = packet.replace(/^\.|\.$/gm, '');
|
14
10
|
if (!value.length)
|
15
11
|
return bytes;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"packetToBytes.js","sourceRoot":"","sources":["../../../../src/utils/ens/packetToBytes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;
|
1
|
+
{"version":3,"file":"packetToBytes.js","sourceRoot":"","sources":["../../../../src/utils/ens/packetToBytes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAKpD,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,SAAS,MAAM,CAAC,KAAa;QAC3B,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,CAAA;QAC7C,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAE5C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAC7C,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAE/B,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAA;QAC9B,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;QAC9B,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;KAC7B;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { defineFormatter } from './format.js';
|
2
2
|
import { formatTransaction } from './transaction.js';
|
3
3
|
export function formatBlock(block) {
|
4
|
-
// TODO: Properly format transactions with a custom formatter
|
5
4
|
const transactions = block.transactions?.map((transaction) => {
|
6
5
|
if (typeof transaction === 'string')
|
7
6
|
return transaction;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../../src/utils/formatters/block.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAWpD,MAAM,UAAU,WAAW,CAAC,KAAwB;
|
1
|
+
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../../src/utils/formatters/block.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAWpD,MAAM,UAAU,WAAW,CAAC,KAAwB;IAElD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QAC3D,IAAI,OAAO,WAAW,KAAK,QAAQ;YAAE,OAAO,WAAW,CAAA;QACvD,OAAO,iBAAiB,CAAC,WAAW,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IACF,OAAO;QACL,GAAG,KAAK;QACR,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;QACvE,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;QACnE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7D,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1D,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QACnD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACvC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;QAClD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QACjD,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAChE,YAAY;QACZ,eAAe,EAAE,KAAK,CAAC,eAAe;YACpC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;YAC/B,CAAC,CAAC,IAAI;KACA,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../src/utils/formatters/extract.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../src/utils/formatters/extract.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,OAAO,CACrB,KAA8B,EAC9B,EAAE,SAAS,EAA6B;IAExC,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAA;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;IACvC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC/B,IAAI,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE;YAC9B,CAAC;YAAC,IAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;SACjC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/utils/formatters/format.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/utils/formatters/format.ts"],"names":[],"mappings":"AAoDA,MAAM,UAAU,MAAM,CAIpB,IAAa,EAAE,EAAE,SAAS,EAAmC;IAC7D,OAAO,SAAS,CAAC,IAAI,CAAmC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,eAAe,CAG7B,EACA,MAAM,GAGP;IACC,OAAO,CAMH,EACA,OAAO,EACP,MAAM,EAAE,cAAc,GAIvB,EAAE,EAAE,CACL,CAAC,IAA0C,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,OAAO,EAAE;YACX,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;gBACzB,OAAQ,SAAiB,CAAC,GAAG,CAAC,CAAA;aAC/B;SACF;QACD,OAAO;YACL,GAAG,SAAS;YACZ,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC;SAIxB,CAAA;IACL,CAAC,CAAA;AACL,CAAC"}
|
@@ -1,11 +1,6 @@
|
|
1
1
|
export const listenersCache = new Map();
|
2
2
|
export const cleanupCache = 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
|
-
*/
|
9
4
|
export function observe(observerId, callbacks, fn) {
|
10
5
|
const callbackId = ++callbackCount;
|
11
6
|
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,EAGlC,CAAA;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAA;AAMzD,IAAI,aAAa,GAAG,CAAC,CAAA;
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../../src/utils/observe.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,EAGlC,CAAA;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAA;AAMzD,IAAI,aAAa,GAAG,CAAC,CAAA;AAOrB,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;AAchC,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"}
|
@@ -17,15 +17,8 @@ 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
|
-
*/
|
24
20
|
export async function withCache(fn, { cacheKey, maxAge = Infinity }) {
|
25
21
|
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.
|
29
22
|
const response = cache.response.get();
|
30
23
|
if (response && maxAge > 0) {
|
31
24
|
const age = new Date().getTime() - response.created.getTime();
|
@@ -35,16 +28,10 @@ export async function withCache(fn, { cacheKey, maxAge = Infinity }) {
|
|
35
28
|
let promise = cache.promise.get();
|
36
29
|
if (!promise) {
|
37
30
|
promise = fn();
|
38
|
-
// Store the promise in the cache so that subsequent invocations
|
39
|
-
// will wait for the same promise to resolve (deduping).
|
40
31
|
cache.promise.set(promise);
|
41
32
|
}
|
42
33
|
const data = await promise;
|
43
|
-
// Clear the promise cache so that subsequent invocations will
|
44
|
-
// invoke the promise again.
|
45
34
|
cache.promise.clear();
|
46
|
-
// Store the response in the cache so that subsequent invocations
|
47
|
-
// will return the same response.
|
48
35
|
cache.response.set({ created: new Date(), data });
|
49
36
|
return data;
|
50
37
|
}
|
@@ -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;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAE,CAAA;AAEtC,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;
|
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;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAE,CAAA;AAEtC,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;AAaD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAwB,EACxB,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAuB;IAEpD,MAAM,KAAK,GAAG,QAAQ,CAAQ,QAAQ,CAAC,CAAA;IAKvC,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;QAId,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;KAC3B;IAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAA;IAI1B,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAIrB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/dist/esm/utils/regex.js
CHANGED
@@ -1,8 +1,4 @@
|
|
1
1
|
export const arrayRegex = /^(.*)\[([0-9]*)\]$/;
|
2
|
-
// `bytes<M>`: binary type of `M` bytes, `0 < M <= 32`
|
3
|
-
// https://regexr.com/6va55
|
4
2
|
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
|
7
3
|
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)?$/;
|
8
4
|
//# 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;AAI9C,MAAM,CAAC,MAAM,UAAU,GAAG,sCAAsC,CAAA;AAIhE,MAAM,CAAC,MAAM,YAAY,GACvB,gIAAgI,CAAA"}
|
package/dist/esm/utils/rpc.js
CHANGED
@@ -63,13 +63,10 @@ export async function getSocket(url_) {
|
|
63
63
|
const url = new URL(url_);
|
64
64
|
const urlKey = url.toString();
|
65
65
|
let socket = sockets.get(urlKey);
|
66
|
-
// If the socket already exists, return it.
|
67
66
|
if (socket)
|
68
67
|
return socket;
|
69
68
|
const webSocket = new WebSocket(url);
|
70
|
-
// Set up a cache for incoming "synchronous" requests.
|
71
69
|
const requests = new Map();
|
72
|
-
// Set up a cache for subscriptions (eth_subscribe).
|
73
70
|
const subscriptions = new Map();
|
74
71
|
const onMessage = ({ data }) => {
|
75
72
|
const message = JSON.parse(data);
|
@@ -87,10 +84,8 @@ export async function getSocket(url_) {
|
|
87
84
|
webSocket.removeEventListener('close', onClose);
|
88
85
|
webSocket.removeEventListener('message', onMessage);
|
89
86
|
};
|
90
|
-
// Setup event listeners for RPC & subscription responses.
|
91
87
|
webSocket.addEventListener('close', onClose);
|
92
88
|
webSocket.addEventListener('message', onMessage);
|
93
|
-
// Wait for the socket to open.
|
94
89
|
if (webSocket.readyState === WebSocket.CONNECTING) {
|
95
90
|
await new Promise((resolve, reject) => {
|
96
91
|
if (!webSocket)
|
@@ -99,7 +94,6 @@ export async function getSocket(url_) {
|
|
99
94
|
webSocket.onerror = reject;
|
100
95
|
});
|
101
96
|
}
|
102
|
-
// Create a new socket instance.
|
103
97
|
socket = Object.assign(webSocket, {
|
104
98
|
requests,
|
105
99
|
subscriptions,
|
@@ -126,12 +120,9 @@ function webSocket(socket, { body, onData, onError, }) {
|
|
126
120
|
else {
|
127
121
|
onData?.(message);
|
128
122
|
}
|
129
|
-
// If we are subscribing to a topic, we want to set up a listener for incoming
|
130
|
-
// messages.
|
131
123
|
if (body.method === 'eth_subscribe' && typeof message.result === 'string') {
|
132
124
|
socket.subscriptions.set(message.result, callback);
|
133
125
|
}
|
134
|
-
// If we are unsubscribing from a topic, we want to remove the listener.
|
135
126
|
if (body.method === 'eth_unsubscribe') {
|
136
127
|
socket.subscriptions.delete(body.params?.[0]);
|
137
128
|
}
|
@@ -150,7 +141,6 @@ async function webSocketAsync(socket, { body, timeout = 10000, }) {
|
|
150
141
|
timeout,
|
151
142
|
});
|
152
143
|
}
|
153
|
-
///////////////////////////////////////////////////
|
154
144
|
export const rpc = {
|
155
145
|
http,
|
156
146
|
webSocket,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/utils/rpc.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/utils/rpc.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
// Implementation forked and adapted from https://github.com/MetaMask/eth-sig-util/blob/main/src/sign-typed-data.ts
|
2
1
|
import { encodeAbiParameters } from '../abi/index.js';
|
3
2
|
import { concat } from '../data/index.js';
|
4
3
|
import { toHex } from '../encoding/index.js';
|
@@ -19,8 +18,6 @@ export function hashTypedData({ domain: domain_, message, primaryType, types: ty
|
|
19
18
|
].filter(Boolean),
|
20
19
|
...types_,
|
21
20
|
};
|
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.
|
24
21
|
validateTypedData({
|
25
22
|
domain,
|
26
23
|
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,8 +4,6 @@ import { hexToNumber, toHex } from '../encoding/index.js';
|
|
4
4
|
export async function recoverAddress({ 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].
|
9
7
|
const v = hexToNumber(`0x${signatureHex.slice(130)}`);
|
10
8
|
const { secp256k1 } = await import('@noble/curves/secp256k1');
|
11
9
|
const publicKey = secp256k1.Signature.fromCompact(signatureHex.substring(2, 130))
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"recoverAddress.js","sourceRoot":"","sources":["../../../../src/utils/signature/recoverAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAQzD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,IAAI,EACJ,SAAS,GACgB;IACzB,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":"recoverAddress.js","sourceRoot":"","sources":["../../../../src/utils/signature/recoverAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAQzD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,IAAI,EACJ,SAAS,GACgB;IACzB,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;IAIhD,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAErD,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,kBAAkB,CAAC,KAAK,SAAS,EAAE,CAAC,CAAA;AAC7C,CAAC"}
|
@@ -19,9 +19,7 @@ export async function prepareRequest(client, args) {
|
|
19
19
|
if (block.baseFeePerGas) {
|
20
20
|
if (typeof gasPrice !== 'undefined')
|
21
21
|
throw new BaseError('Chain does not support legacy `gasPrice`.');
|
22
|
-
// EIP-1559 fees
|
23
22
|
if (typeof maxFeePerGas === 'undefined') {
|
24
|
-
// Set a buffer of 1.2x on top of the base fee to account for fluctuations.
|
25
23
|
request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultTip;
|
26
24
|
request.maxFeePerGas =
|
27
25
|
(block.baseFeePerGas * 120n) / 100n + request.maxPriorityFeePerGas;
|
@@ -38,9 +36,7 @@ export async function prepareRequest(client, args) {
|
|
38
36
|
if (typeof maxFeePerGas !== 'undefined' ||
|
39
37
|
typeof maxPriorityFeePerGas !== 'undefined')
|
40
38
|
throw new BaseError('Chain does not support EIP-1559 fees.');
|
41
|
-
// Legacy fees
|
42
39
|
if (typeof gasPrice === 'undefined')
|
43
|
-
// Set a buffer of 1.2x on top of the base fee to account for fluctuations.
|
44
40
|
request.gasPrice = ((await getGasPrice(client)) * 120n) / 100n;
|
45
41
|
}
|
46
42
|
if (typeof gas === 'undefined')
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"prepareRequest.js","sourceRoot":"","sources":["../../../../src/utils/transaction/prepareRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EACL,WAAW,EACX,QAAQ,EACR,WAAW,EACX,mBAAmB,GACpB,MAAM,wBAAwB,CAAA;AAU/B,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAOvE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAwBlD,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;AAE1C,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;
|
1
|
+
{"version":3,"file":"prepareRequest.js","sourceRoot":"","sources":["../../../../src/utils/transaction/prepareRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EACL,WAAW,EACX,QAAQ,EACR,WAAW,EACX,mBAAmB,GACpB,MAAM,wBAAwB,CAAA;AAU/B,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAOvE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAwBlD,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;AAE1C,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;QAGlE,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;YAEvC,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;QAG9D,IAAI,OAAO,QAAQ,KAAK,WAAW;YAEjC,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"}
|