@cfxjs/sirius-next-common 0.2.10 → 0.2.12
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/_esm-TZ4WSCGM.js +4035 -0
- package/dist/_esm-TZ4WSCGM.js.map +1 -0
- package/dist/abis/CommonError.d.ts +10 -0
- package/dist/abis/CommonError.js +8 -0
- package/dist/abis/CommonError.js.map +1 -0
- package/dist/abis/CommonPanic.d.ts +10 -0
- package/dist/abis/CommonPanic.js +8 -0
- package/dist/abis/CommonPanic.js.map +1 -0
- package/dist/ccip-DBSI27GO.js +15 -0
- package/dist/ccip-DBSI27GO.js.map +1 -0
- package/dist/chunk-3HO74CMH.js +186 -0
- package/dist/chunk-3HO74CMH.js.map +1 -0
- package/dist/chunk-3PXUIH3S.js +17 -0
- package/dist/chunk-3PXUIH3S.js.map +1 -0
- package/dist/chunk-4B6ASBYQ.js +408 -0
- package/dist/chunk-4B6ASBYQ.js.map +1 -0
- package/dist/chunk-4J3SQGIV.js +82 -0
- package/dist/chunk-4J3SQGIV.js.map +1 -0
- package/dist/{chunk-LXTR4VAD.js → chunk-5EDEEGZK.js} +42 -19
- package/dist/chunk-5EDEEGZK.js.map +1 -0
- package/dist/chunk-5TGK2EA2.js +18 -0
- package/dist/chunk-5TGK2EA2.js.map +1 -0
- package/dist/chunk-5Y7I6VYA.js +145 -0
- package/dist/chunk-5Y7I6VYA.js.map +1 -0
- package/dist/chunk-6H5A42YS.js +23 -0
- package/dist/chunk-6H5A42YS.js.map +1 -0
- package/dist/chunk-6HJCR6PQ.js +79 -0
- package/dist/chunk-6HJCR6PQ.js.map +1 -0
- package/dist/chunk-6SXAFSBF.js +1032 -0
- package/dist/chunk-6SXAFSBF.js.map +1 -0
- package/dist/chunk-ADNS57X5.js +18 -0
- package/dist/chunk-ADNS57X5.js.map +1 -0
- package/dist/{chunk-ABDGDYRT.js → chunk-ADULNBMD.js} +5 -5
- package/dist/{chunk-IIIPX34H.js → chunk-BUSBM33B.js} +4 -4
- package/dist/chunk-CKVDFS45.js +56 -0
- package/dist/chunk-CKVDFS45.js.map +1 -0
- package/dist/{chunk-WI3G3OD5.js → chunk-CNF26YY7.js} +3 -3
- package/dist/{chunk-DFQG46WD.js → chunk-CPPQCJEV.js} +3 -3
- package/dist/chunk-CPR4QZT6.js +21 -0
- package/dist/chunk-CPR4QZT6.js.map +1 -0
- package/dist/{chunk-NUKYY7GO.js → chunk-DF3PVTB5.js} +2 -2
- package/dist/chunk-E3ZD2GGG.js +17 -0
- package/dist/chunk-E3ZD2GGG.js.map +1 -0
- package/dist/chunk-EERNUGUK.js +198 -0
- package/dist/chunk-EERNUGUK.js.map +1 -0
- package/dist/{chunk-S5QP6EUQ.js → chunk-EMPFZFBS.js} +6 -19
- package/dist/chunk-EMPFZFBS.js.map +1 -0
- package/dist/chunk-FYLAXC3R.js +82 -0
- package/dist/chunk-FYLAXC3R.js.map +1 -0
- package/dist/{chunk-IWNT4XVY.js → chunk-GKZK26DZ.js} +3 -3
- package/dist/{chunk-IQJOXINX.js → chunk-GSWIFV2B.js} +2 -2
- package/dist/chunk-JFFTHCNE.js +344 -0
- package/dist/chunk-JFFTHCNE.js.map +1 -0
- package/dist/chunk-JIRLY7OG.js +4357 -0
- package/dist/chunk-JIRLY7OG.js.map +1 -0
- package/dist/chunk-K6FHTS3F.js +115 -0
- package/dist/chunk-K6FHTS3F.js.map +1 -0
- package/dist/chunk-L62OTV7F.js +71 -0
- package/dist/chunk-L62OTV7F.js.map +1 -0
- package/dist/{chunk-2R6NJR5T.js → chunk-LVFMTP5H.js} +2 -2
- package/dist/chunk-NWVSTRCG.js +20 -0
- package/dist/chunk-NWVSTRCG.js.map +1 -0
- package/dist/chunk-NXCZ5PMI.js +64 -0
- package/dist/chunk-NXCZ5PMI.js.map +1 -0
- package/dist/{chunk-HHA2RXLW.js → chunk-NZY53U2H.js} +9 -13
- package/dist/chunk-NZY53U2H.js.map +1 -0
- package/dist/{chunk-U3F7QHXB.js → chunk-OCQIWTDC.js} +2 -2
- package/dist/{chunk-EQWAYCW3.js → chunk-ODJ4QBD5.js} +6 -6
- package/dist/chunk-OYESIV3F.js +47 -0
- package/dist/chunk-OYESIV3F.js.map +1 -0
- package/dist/{chunk-IWGPVXSI.js → chunk-P4EE3QGM.js} +3 -3
- package/dist/{chunk-BRST23XX.js → chunk-Q2DX6IDH.js} +2 -2
- package/dist/chunk-QMLPHJCA.js +78 -0
- package/dist/chunk-QMLPHJCA.js.map +1 -0
- package/dist/chunk-SFCNLOQ5.js +37 -0
- package/dist/chunk-SFCNLOQ5.js.map +1 -0
- package/dist/chunk-SUCQASD3.js +84 -0
- package/dist/chunk-SUCQASD3.js.map +1 -0
- package/dist/chunk-U6ZN2ABK.js +184 -0
- package/dist/chunk-U6ZN2ABK.js.map +1 -0
- package/dist/chunk-UM5J477V.js +69 -0
- package/dist/chunk-UM5J477V.js.map +1 -0
- package/dist/{chunk-7RH7LJYB.js → chunk-WIB76E7O.js} +6 -2
- package/dist/{chunk-7RH7LJYB.js.map → chunk-WIB76E7O.js.map} +1 -1
- package/dist/chunk-WQG2LZMB.js +50 -0
- package/dist/chunk-WQG2LZMB.js.map +1 -0
- package/dist/chunk-XZ7IV2FF.js +5947 -0
- package/dist/chunk-XZ7IV2FF.js.map +1 -0
- package/dist/chunk-Y7OVL5US.js +46 -0
- package/dist/chunk-Y7OVL5US.js.map +1 -0
- package/dist/chunk-YBQQ72FQ.js +10 -0
- package/dist/chunk-YBQQ72FQ.js.map +1 -0
- package/dist/{chunk-YEUH2K6Z.js → chunk-YEINMVAR.js} +8 -2
- package/dist/chunk-YEINMVAR.js.map +1 -0
- package/dist/chunk-YIZCD4WG.js +107 -0
- package/dist/chunk-YIZCD4WG.js.map +1 -0
- package/dist/components/AceEditor/index.js +9 -143
- package/dist/components/AceEditor/index.js.map +1 -1
- package/dist/components/AddressContainer/CoreAddressContainer.js +14 -12
- package/dist/components/AddressContainer/EVMAddressContainer.js +13 -11
- package/dist/components/AddressContainer/addressSwitcher.js +11 -9
- package/dist/components/AddressContainer/addressView.js +9 -8
- package/dist/components/AddressContainer/label.js +7 -6
- package/dist/components/AddressContainer/utils.d.ts +9 -0
- package/dist/components/AddressContainer/utils.js +30 -0
- package/dist/components/AddressContainer/utils.js.map +1 -0
- package/dist/components/Age/index.js +7 -6
- package/dist/components/Age/index.js.map +1 -1
- package/dist/components/AutoComplete/index.js +6 -5
- package/dist/components/AutoComplete/index.js.map +1 -1
- package/dist/components/Button/ActionButton/index.js +1 -0
- package/dist/components/Button/BaseButton/index.js +1 -0
- package/dist/components/Button/IconButton/index.js +1 -0
- package/dist/components/Button/index.js +1 -0
- package/dist/components/Card/index.js +1 -0
- package/dist/components/Charts/BreadcrumbNav.js +1 -0
- package/dist/components/Charts/ChartOptions.js +1 -0
- package/dist/components/Charts/PreviewChartTemplate.js +3 -2
- package/dist/components/Charts/PreviewChartTemplate.js.map +1 -1
- package/dist/components/Charts/PreviewTitle.js +1 -0
- package/dist/components/Charts/StockChartTemplate.js +10 -9
- package/dist/components/Charts/StockChartTemplate.js.map +1 -1
- package/dist/components/Charts/StockTitle.js +1 -0
- package/dist/components/Charts/config.js +1 -0
- package/dist/components/Charts/constants.js +1 -0
- package/dist/components/Charts/useHighCharts.js +1 -0
- package/dist/components/CookieTip/CookieIcon.js +1 -0
- package/dist/components/CookieTip/index.js +2 -1
- package/dist/components/CookieTip/index.js.map +1 -1
- package/dist/components/CopyButton/index.js +6 -5
- package/dist/components/CopyButton/index.js.map +1 -1
- package/dist/components/DecimalsSelect/index.js +6 -5
- package/dist/components/DecimalsSelect/index.js.map +1 -1
- package/dist/components/DeleteIcon/index.js +2 -0
- package/dist/components/DeleteIcon/index.js.map +1 -1
- package/dist/components/Description/index.js +1 -0
- package/dist/components/Divider/index.js +1 -0
- package/dist/components/DownloadCSV/index.js +7 -6
- package/dist/components/DownloadCSV/index.js.map +1 -1
- package/dist/components/Dropdown/index.js +1 -0
- package/dist/components/Dropdown/index.js.map +1 -1
- package/dist/components/Empty/index.js +4 -40
- package/dist/components/Empty/index.js.map +1 -1
- package/dist/components/FileUpload/index.js +2 -0
- package/dist/components/FileUpload/index.js.map +1 -1
- package/dist/components/Footer/index.js +1 -0
- package/dist/components/Footer/index.js.map +1 -1
- package/dist/components/GasPriceDropdown/index.js +5 -4
- package/dist/components/GasPriceDropdown/index.js.map +1 -1
- package/dist/components/Highlight/index.js +1 -0
- package/dist/components/Highlight/index.js.map +1 -1
- package/dist/components/Icons/index.d.ts +8 -1
- package/dist/components/Icons/index.js +20 -64
- package/dist/components/Icons/index.js.map +1 -1
- package/dist/components/ImageSkeleton/index.js +2 -0
- package/dist/components/ImageSkeleton/index.js.map +1 -1
- package/dist/components/IncreasePercent/Icons.js +1 -0
- package/dist/components/IncreasePercent/index.js +5 -4
- package/dist/components/IncreasePercent/index.js.map +1 -1
- package/dist/components/InfoIconWithTooltip/InfoIcon.js +1 -0
- package/dist/components/InfoIconWithTooltip/index.js +7 -6
- package/dist/components/InputData/AddressLabel.d.ts +8 -0
- package/dist/components/InputData/AddressLabel.js +23 -0
- package/dist/components/InputData/AddressLabel.js.map +1 -0
- package/dist/components/InputData/ContractDetail.d.ts +22 -0
- package/dist/components/InputData/ContractDetail.js +19 -0
- package/dist/components/InputData/ContractDetail.js.map +1 -0
- package/dist/components/InputData/FunctionName.d.ts +10 -0
- package/dist/components/InputData/FunctionName.js +10 -0
- package/dist/components/InputData/FunctionName.js.map +1 -0
- package/dist/components/InputData/GeneralDecode.d.ts +9 -0
- package/dist/components/InputData/GeneralDecode.js +8 -0
- package/dist/components/InputData/GeneralDecode.js.map +1 -0
- package/dist/components/InputData/JsonDecode.d.ts +18 -0
- package/dist/components/InputData/JsonDecode.js +19 -0
- package/dist/components/InputData/JsonDecode.js.map +1 -0
- package/dist/components/InputData/OptimizationDecode.d.ts +23 -0
- package/dist/components/InputData/OptimizationDecode.js +32 -0
- package/dist/components/InputData/OptimizationDecode.js.map +1 -0
- package/dist/components/InputData/Original.d.ts +8 -0
- package/dist/components/InputData/Original.js +8 -0
- package/dist/components/InputData/Original.js.map +1 -0
- package/dist/components/InputData/UTF8.d.ts +8 -0
- package/dist/components/InputData/UTF8.js +14 -0
- package/dist/components/InputData/UTF8.js.map +1 -0
- package/dist/components/InputData/index.d.ts +15 -0
- package/dist/components/InputData/index.js +36 -0
- package/dist/components/InputData/index.js.map +1 -0
- package/dist/components/InputData/utils.d.ts +5 -0
- package/dist/components/InputData/utils.js +8 -0
- package/dist/components/InputData/utils.js.map +1 -0
- package/dist/components/Link/index.js +1 -0
- package/dist/components/List/index.js +1 -0
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/Loading/index.js +1 -0
- package/dist/components/Loading/index.js.map +1 -1
- package/dist/components/Loading/loading.js +1 -0
- package/dist/components/Modal/index.js +6 -5
- package/dist/components/NetworkIcon/index.js +5 -4
- package/dist/components/NetworkIcon/index.js.map +1 -1
- package/dist/components/OutputData/ErrorDecode.d.ts +14 -0
- package/dist/components/OutputData/ErrorDecode.js +39 -0
- package/dist/components/OutputData/ErrorDecode.js.map +1 -0
- package/dist/components/OutputData/index.d.ts +21 -0
- package/dist/components/OutputData/index.js +42 -0
- package/dist/components/OutputData/index.js.map +1 -0
- package/dist/components/PageHeader/index.js +2 -0
- package/dist/components/PageHeader/index.js.map +1 -1
- package/dist/components/PhishingAddressContainer/PhishingWarningIcon.js +1 -0
- package/dist/components/PhishingAddressContainer/index.js +7 -6
- package/dist/components/PhishingAddressContainer/index.js.map +1 -1
- package/dist/components/Popover/index.js +6 -5
- package/dist/components/Price/index.js +6 -5
- package/dist/components/Price/index.js.map +1 -1
- package/dist/components/ProxyContractAddress/index.d.ts +24 -0
- package/dist/components/ProxyContractAddress/index.js +120 -0
- package/dist/components/ProxyContractAddress/index.js.map +1 -0
- package/dist/components/Radio/index.js +5 -4
- package/dist/components/Radio/index.js.map +1 -1
- package/dist/components/Remark/index.js +1 -0
- package/dist/components/Remark/index.js.map +1 -1
- package/dist/components/SearchIcon/index.js +2 -0
- package/dist/components/SearchIcon/index.js.map +1 -1
- package/dist/components/SearchInput/index.js +7 -6
- package/dist/components/SearchInput/index.js.map +1 -1
- package/dist/components/Select/index.d.ts +5 -4
- package/dist/components/Select/index.js +10 -105
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/Select/select.js +7 -5
- package/dist/components/Skeleton/index.js +1 -0
- package/dist/components/SkeletonContainer/index.js +1 -0
- package/dist/components/Spin/index.js +1 -0
- package/dist/components/Switch/index.d.ts +10 -0
- package/dist/components/Switch/index.js +81 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Table/index.d.ts +9 -0
- package/dist/components/Table/index.js +12 -0
- package/dist/components/Table/index.js.map +1 -0
- package/dist/components/Text/index.js +7 -6
- package/dist/components/TextLogo/index.js +2 -0
- package/dist/components/TextLogo/index.js.map +1 -1
- package/dist/components/Tooltip/index.js +6 -5
- package/dist/components/TransactionAction/constants.js +1 -0
- package/dist/components/TransactionAction/coreTransactionAction.js +15 -13
- package/dist/components/TransactionAction/coreTransactionAction.js.map +1 -1
- package/dist/components/TransactionAction/evmTransactionAction.js +14 -12
- package/dist/components/TransactionAction/evmTransactionAction.js.map +1 -1
- package/dist/components/TransactionTrace/TraceDetail.d.ts +20 -0
- package/dist/components/TransactionTrace/TraceDetail.js +54 -0
- package/dist/components/TransactionTrace/TraceDetail.js.map +1 -0
- package/dist/components/TransactionTrace/TreeTraceTable.d.ts +20 -0
- package/dist/components/TransactionTrace/TreeTraceTable.js +57 -0
- package/dist/components/TransactionTrace/TreeTraceTable.js.map +1 -0
- package/dist/components/TransactionTrace/index.d.ts +9 -0
- package/dist/components/TransactionTrace/index.js +60 -0
- package/dist/components/TransactionTrace/index.js.map +1 -0
- package/dist/secp256k1-WGKMGTUQ.js +2255 -0
- package/dist/secp256k1-WGKMGTUQ.js.map +1 -0
- package/dist/store/index.js +1 -0
- package/dist/uno.css +103 -5
- package/dist/utils/address.js +5 -4
- package/dist/utils/cache.js +2 -1
- package/dist/utils/constants.d.ts +3 -1
- package/dist/utils/constants.js +6 -1
- package/dist/utils/contractManagerTool.js +5 -4
- package/dist/utils/contractManagerTool.js.map +1 -1
- package/dist/utils/cookie.js +1 -0
- package/dist/utils/ga.js +1 -0
- package/dist/utils/hooks/useAddressLabel.d.ts +3 -0
- package/dist/utils/hooks/useAddressLabel.js +14 -0
- package/dist/utils/hooks/useAddressLabel.js.map +1 -0
- package/dist/utils/hooks/useAge.js +2 -1
- package/dist/utils/hooks/useAge.js.map +1 -1
- package/dist/utils/hooks/useAutoSetHolderFilterParams.js +5 -4
- package/dist/utils/hooks/useAutoSetHolderFilterParams.js.map +1 -1
- package/dist/utils/hooks/useChartQueryParams.js +2 -0
- package/dist/utils/hooks/useChartQueryParams.js.map +1 -1
- package/dist/utils/hooks/useContractDetail.d.ts +6 -0
- package/dist/utils/hooks/useContractDetail.js +12 -0
- package/dist/utils/hooks/useContractDetail.js.map +1 -0
- package/dist/utils/hooks/useDecodeFunctionData.d.ts +29 -0
- package/dist/utils/hooks/useDecodeFunctionData.js +19 -0
- package/dist/utils/hooks/useDecodeFunctionData.js.map +1 -0
- package/dist/utils/hooks/useDecodeFunctionError.d.ts +17 -0
- package/dist/utils/hooks/useDecodeFunctionError.js +19 -0
- package/dist/utils/hooks/useDecodeFunctionError.js.map +1 -0
- package/dist/utils/hooks/useDecodedDataType.d.ts +18 -0
- package/dist/utils/hooks/useDecodedDataType.js +8 -0
- package/dist/utils/hooks/useDecodedDataType.js.map +1 -0
- package/dist/utils/hooks/useENS.js +6 -5
- package/dist/utils/hooks/useGetTxnStatus.js +2 -0
- package/dist/utils/hooks/useGetTxnStatus.js.map +1 -1
- package/dist/utils/hooks/useMethodAbi.d.ts +8 -0
- package/dist/utils/hooks/useMethodAbi.js +12 -0
- package/dist/utils/hooks/useMethodAbi.js.map +1 -0
- package/dist/utils/hooks/useMultiAceSearch.js +2 -0
- package/dist/utils/hooks/useMultiAceSearch.js.map +1 -1
- package/dist/utils/hooks/useSearchParams.js +1 -0
- package/dist/utils/hooks/useTxTrace.d.ts +124 -0
- package/dist/utils/hooks/useTxTrace.js +170 -0
- package/dist/utils/hooks/useTxTrace.js.map +1 -0
- package/dist/utils/index.js +5 -4
- package/dist/utils/media.js +1 -0
- package/dist/utils/pubsub.js +1 -0
- package/dist/utils/request.d.ts +5 -2
- package/dist/utils/request.js +5 -2
- package/dist/utils/request.types.d.ts +18 -3
- package/dist/utils/rpcRequest.js +1 -0
- package/dist/utils/rpcRequest.js.map +1 -1
- package/dist/utils/sdk.d.ts +35 -0
- package/dist/utils/sdk.js +19 -0
- package/dist/utils/sdk.js.map +1 -0
- package/package.json +5 -2
- package/dist/chunk-HHA2RXLW.js.map +0 -1
- package/dist/chunk-LXTR4VAD.js.map +0 -1
- package/dist/chunk-S5QP6EUQ.js.map +0 -1
- package/dist/chunk-YEUH2K6Z.js.map +0 -1
- /package/dist/{chunk-ABDGDYRT.js.map → chunk-ADULNBMD.js.map} +0 -0
- /package/dist/{chunk-IIIPX34H.js.map → chunk-BUSBM33B.js.map} +0 -0
- /package/dist/{chunk-WI3G3OD5.js.map → chunk-CNF26YY7.js.map} +0 -0
- /package/dist/{chunk-DFQG46WD.js.map → chunk-CPPQCJEV.js.map} +0 -0
- /package/dist/{chunk-NUKYY7GO.js.map → chunk-DF3PVTB5.js.map} +0 -0
- /package/dist/{chunk-IWNT4XVY.js.map → chunk-GKZK26DZ.js.map} +0 -0
- /package/dist/{chunk-IQJOXINX.js.map → chunk-GSWIFV2B.js.map} +0 -0
- /package/dist/{chunk-2R6NJR5T.js.map → chunk-LVFMTP5H.js.map} +0 -0
- /package/dist/{chunk-U3F7QHXB.js.map → chunk-OCQIWTDC.js.map} +0 -0
- /package/dist/{chunk-EQWAYCW3.js.map → chunk-ODJ4QBD5.js.map} +0 -0
- /package/dist/{chunk-IWGPVXSI.js.map → chunk-P4EE3QGM.js.map} +0 -0
- /package/dist/{chunk-BRST23XX.js.map → chunk-Q2DX6IDH.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/lru.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/errors/address.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/address/convertBit.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/address/getAddressType.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/constants/networkId.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/constants/networkName.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/address/isValidNetworkId.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/address/getNetworkIdByNetworkIdPrefix.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/address/getNetworkIdPrefixByNetworkId.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/address/polyMod.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/address/hexAddressToBase32.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/address/decodeBase32Address.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/address/base32AddressToHex.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/address/isAddress.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/abi/encodeAbiParameters.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/errors/cursor.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/cursor.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/abi/decodeAbiParameters.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/abi/formatAbiItem.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/abi/decodeFunctionData.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/types/abi.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/abi/getAbiItem.ts","../../../node_modules/.pnpm/cive@0.8.1_bufferutil@4.0.8_typescript@5.4.3_utf-8-validate@5.0.10/node_modules/cive/utils/abi/decodeFunctionResult.ts","../src/utils/sdk.ts"],"sourcesContent":["/**\n * Map with a LRU (Least recently used) policy.\n *\n * @link https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU\n */\nexport class LruMap<value = unknown> extends Map<string, value> {\n maxSize: number\n\n constructor(size: number) {\n super()\n this.maxSize = size\n }\n\n override get(key: string) {\n const value = super.get(key)\n\n if (super.has(key) && value !== undefined) {\n this.delete(key)\n super.set(key, value)\n }\n\n return value\n }\n\n override set(key: string, value: value) {\n super.set(key, value)\n if (this.maxSize && this.size > this.maxSize) {\n const firstKey = this.keys().next().value\n if (firstKey) this.delete(firstKey)\n }\n return this\n }\n}\n","import { BaseError } from 'viem'\n\nexport type InvalidNetworkIdErrorType = InvalidNetworkIdError & {\n name: 'InvalidNetworkIdError'\n}\n\nexport class InvalidNetworkIdError extends BaseError {\n override name = 'InvalidNetworkIdError'\n constructor({\n networkId,\n message,\n }: {\n networkId: number | string\n message?: string\n }) {\n super(`Invalid network id: ${networkId}. ${message || ''}`)\n }\n}\n\nexport type ConvertBitExcessPaddingErrorType = ConvertBitExcessPaddingError & {\n name: 'ConvertBitExcessPaddingError'\n}\n\nexport class ConvertBitExcessPaddingError extends BaseError {\n override name = 'ConvertBitExcessPaddingError'\n constructor() {\n super('Excess padding')\n }\n}\n\nexport type ConvertBitNonZeroPaddingErrorType =\n ConvertBitNonZeroPaddingError & {\n name: 'ConvertBitNonZeroPaddingError'\n }\n\nexport class ConvertBitNonZeroPaddingError extends BaseError {\n override name = 'ConvertBitNonZeroPaddingError'\n constructor() {\n super('Non-zero padding')\n }\n}\n\nexport type MixedCaseAddressErrorType = MixedCaseAddressError & {\n name: 'MixedCaseAddressError'\n}\n\nexport class MixedCaseAddressError extends BaseError {\n override name = 'MixedCaseAddressError'\n constructor({ address }: { address: string }) {\n super(`Mixed case address ${address}`)\n }\n}\n\nexport type InvalidAddressVersionErrorType = InvalidAddressVersionError & {\n name: 'InvalidAddressVersionError'\n}\n\nexport class InvalidAddressVersionError extends BaseError {\n override name = 'InvalidAddressVersionError'\n constructor({ address }: { address: string }) {\n super(`Invalid address version ${address}`)\n }\n}\n\nexport type AddressTypeNotMatchErrorType = AddressTypeNotMatchError & {\n name: 'AddressTypeNotMatchError'\n}\n\nexport class AddressTypeNotMatchError extends BaseError {\n override name = 'AddressTypeNotMatchError'\n constructor({ address }: { address: string }) {\n super(`Address type not match ${address}`)\n }\n}\n","import {\n ConvertBitExcessPaddingError,\n ConvertBitNonZeroPaddingError,\n} from '../../errors/address.js'\n\nexport function convertBit(\n buffer: Uint8Array,\n inBits: number,\n outBits: number,\n isPad = false,\n) {\n const mask = (1 << outBits) - 1\n const array = []\n let bits = 0\n let value = 0\n\n for (const byte of buffer) {\n bits += inBits\n\n value = (value << inBits) | byte\n\n while (bits >= outBits) {\n bits -= outBits\n array.push((value >>> bits) & mask)\n }\n }\n\n value = (value << (outBits - bits)) & mask\n if (bits && isPad) {\n array.push(value)\n } else if (value && !isPad) {\n throw new ConvertBitExcessPaddingError()\n } else if (bits >= inBits && !isPad) {\n throw new ConvertBitNonZeroPaddingError()\n }\n return array\n}\n","import type { AddressType } from '../../accounts/types.js'\n\nexport function getAddressTypeByHexAddress(\n hexAddressUit8Array: Uint8Array,\n): AddressType | 'unknown' {\n switch (hexAddressUit8Array[0] & 0xf0) {\n case 0x10:\n return 'user'\n case 0x80:\n return 'contract'\n case 0x00:\n for (const x of hexAddressUit8Array) {\n if (x !== 0x00) return 'builtin'\n }\n return 'null'\n default:\n return 'unknown'\n }\n}\n","export type mainNetworkIdType = typeof mainNetworkId\nexport type testNetworkIdType = typeof testNetworkId\n\nexport const mainNetworkId = 1029\nexport const testNetworkId = 1\n","export type mainNetworkNameType = typeof mainNetworkName\nexport const mainNetworkName = 'cfx'\n\nexport type testNetworkNameType = typeof testNetworkName\nexport const testNetworkName = 'cfxtest'\n\nexport type otherNetworkNameType = typeof otherNetworkName\nexport const otherNetworkName = 'net'\n","export const NET_ID_LIMIT = 0xffffffff\n\nexport function isValidNetworkId(networkId: string | number) {\n if (typeof networkId === 'string') {\n return /^([1-9]\\d*)$/.test(networkId) && Number(networkId) <= NET_ID_LIMIT\n }\n return networkId > 0 && networkId < NET_ID_LIMIT\n}\n","import { mainNetworkId, testNetworkId } from '../../constants/networkId.js'\nimport {\n mainNetworkName,\n otherNetworkName,\n testNetworkName,\n} from '../../constants/networkName.js'\nimport { InvalidNetworkIdError } from '../../errors/address.js'\nimport { isValidNetworkId } from './isValidNetworkId.js'\n\nexport function getNetworkIdByNetworkIdPrefix(networkName: string): number {\n const lowerCaseNetworkName = networkName.toLowerCase()\n if (lowerCaseNetworkName === mainNetworkName) {\n return mainNetworkId\n }\n if (lowerCaseNetworkName === testNetworkName) {\n return testNetworkId\n }\n const netPrefix = lowerCaseNetworkName.slice(0, 3)\n const strNetId = lowerCaseNetworkName.slice(3)\n\n if (!isValidNetworkId(strNetId)) {\n throw new InvalidNetworkIdError({ networkId: strNetId })\n }\n\n if (netPrefix !== otherNetworkName) {\n throw new InvalidNetworkIdError({\n networkId: strNetId,\n message: \"netId prefix should be passed by 'cfx', 'cfxtest' or 'net[n]'\",\n })\n }\n const netId = Number(strNetId)\n if (netId === mainNetworkId || netId === testNetworkId) {\n throw new InvalidNetworkIdError({\n networkId: strNetId,\n message: 'net1 or net1029 are invalid',\n })\n }\n return netId\n}\n","import type { NetworkNameType } from '../../accounts/types.js'\nimport { mainNetworkId, testNetworkId } from '../../constants/networkId.js'\nimport { InvalidNetworkIdError } from '../../errors/address.js'\nimport { isValidNetworkId } from './isValidNetworkId.js'\nexport const NET_ID_LIMIT = 0xffffffff\n\nexport function getNetworkPrefixByNetworkId(\n networkId: number,\n): NetworkNameType {\n if (!isValidNetworkId(networkId)) {\n throw new InvalidNetworkIdError({ networkId })\n }\n\n if (networkId === mainNetworkId) {\n return 'cfx'\n }\n\n if (networkId === testNetworkId) {\n return 'cfxtest'\n }\n\n return `net${networkId}`\n}\n","const BIGINT_0 = 0n // BigInt(0);\nconst BIGINT_1 = 1n //BigInt(1);\nconst BIGINT_5 = 5n //BigInt(5);\nconst BIGINT_35 = 35n //BigInt(35);\nconst BIGINT_0B00001 = 1n //BigInt(1);\nconst BIGINT_0B00010 = 2n // BigInt(2);\nconst BIGINT_0B00100 = 4n // BigInt(4);\nconst BIGINT_0B01000 = 8n // BigInt(8);\nconst BIGINT_0B10000 = 16n // BigInt(16);\nconst BIGINT_0X07FFFFFFFF = 34359738367n // BigInt(0x07ffffffff);\nconst BIGINT_0X98F2BC8E61 = 656907472481n // BigInt(0x98f2bc8e61)\nconst BIGINT_0X79B76D99E2 = 522768456162n // BigInt(0x79b76d99e2);\nconst BIGINT_0XF33E5FB3C4 = 1044723512260n // BigInt(0xf33e5fb3c4);\nconst BIGINT_0XAE2EABE2A8 = 748107326120n // BigInt(0xae2eabe2a8);\nconst BIGINT_0X1E4F43E470 = 130178868336n // BigInt(0x1e4f43e470);\n\nexport function polyMod(buffer: Uint8Array) {\n let checksumBigInt = BIGINT_1\n\n for (const byte of buffer) {\n // c0 = c >> 35;\n const high = checksumBigInt >> BIGINT_35\n\n // c = ((c & 0x07ffffffff) << 5) ^ d;\n checksumBigInt = (checksumBigInt & BIGINT_0X07FFFFFFFF) << BIGINT_5\n checksumBigInt = byte ? checksumBigInt ^ BigInt(byte) : checksumBigInt // bit ^ 0 = bit\n\n if ((high & BIGINT_0B00001) !== BIGINT_0) {\n checksumBigInt = checksumBigInt ^ BIGINT_0X98F2BC8E61\n }\n\n if ((high & BIGINT_0B00010) !== BIGINT_0) {\n checksumBigInt = checksumBigInt ^ BIGINT_0X79B76D99E2\n }\n\n if ((high & BIGINT_0B00100) !== BIGINT_0) {\n checksumBigInt = checksumBigInt ^ BIGINT_0XF33E5FB3C4\n }\n\n if ((high & BIGINT_0B01000) !== BIGINT_0) {\n checksumBigInt = checksumBigInt ^ BIGINT_0XAE2EABE2A8\n }\n\n if ((high & BIGINT_0B10000) !== BIGINT_0) {\n checksumBigInt = checksumBigInt ^ BIGINT_0X1E4F43E470\n }\n }\n\n return checksumBigInt ^ BIGINT_1\n}\n","import { type Hex, hexToBytes, padHex, stringToBytes, toHex } from 'viem'\nimport type { Address, AddressType } from '../../accounts/types.js'\nimport { convertBit } from './convertBit.js'\nimport { getAddressTypeByHexAddress } from './getAddressType.js'\nimport { getNetworkPrefixByNetworkId } from './getNetworkIdPrefixByNetworkId.js'\nimport { polyMod } from './polyMod.js'\n\nexport const VERSION_BYTE = 0\n\nexport type HexAddressToBase32Parameters<\n TNetworkId extends number | undefined = undefined,\n TVerbose extends boolean | undefined = undefined,\n> = {\n hexAddress: Hex\n networkId: TNetworkId\n verbose?: TVerbose | undefined\n}\n\nconst ALPHABET = 'ABCDEFGHJKMNPRSTUVWXYZ0123456789'\n\nexport function hexAddressToBase32<\n TNetworkId extends number = number,\n TAddressType extends AddressType | undefined = undefined,\n TVerbose extends boolean | undefined = undefined,\n>({\n hexAddress,\n networkId,\n verbose,\n}: HexAddressToBase32Parameters<TNetworkId, TVerbose>): Address<\n TNetworkId,\n TAddressType,\n TVerbose\n> {\n const hexBuffer = hexToBytes(hexAddress)\n\n const addressType = getAddressTypeByHexAddress(hexBuffer)\n\n const netName = getNetworkPrefixByNetworkId(networkId).toUpperCase()\n\n const netName5Bits = stringToBytes(netName).map((_byte) => _byte & 31)\n\n const payload5Bits = convertBit(\n new Uint8Array([VERSION_BYTE, ...hexBuffer]),\n 8,\n 5,\n true,\n )\n const checksumBigInt = polyMod(\n new Uint8Array([\n ...netName5Bits,\n 0,\n ...payload5Bits,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n ]),\n )\n let checksumHex = toHex(checksumBigInt)\n if (checksumHex.length < 12) {\n checksumHex = padHex(checksumHex, { dir: 'left', size: 5 })\n }\n\n const checksumBytes = hexToBytes(checksumHex)\n const checksum5Bits = convertBit(checksumBytes, 8, 5, true)\n\n const payload = payload5Bits.map((_byte2) => ALPHABET[_byte2]).join('')\n const checksum = checksum5Bits.map((_byte3) => ALPHABET[_byte3]).join('')\n\n return (\n verbose\n ? `${netName}:TYPE.${addressType.toUpperCase()}:${payload}${checksum}`\n : `${netName}:${payload}${checksum}`.toLowerCase()\n ) as Address<TNetworkId, TAddressType, TVerbose>\n}\n","import { bytesToHex, stringToBytes } from 'viem'\nimport type { Address, AddressType, HexAddress } from '../../accounts/types.js'\nimport {\n AddressTypeNotMatchError,\n InvalidAddressVersionError,\n MixedCaseAddressError,\n} from '../../errors/address.js'\nimport { convertBit } from './convertBit.js'\nimport { getAddressTypeByHexAddress } from './getAddressType.js'\nimport { getNetworkIdByNetworkIdPrefix } from './getNetworkIdByNetworkIdPrefix.js'\nimport { VERSION_BYTE } from './hexAddressToBase32.js'\nimport { polyMod } from './polyMod.js'\n\nconst ALPHABET_MAP: Record<string, number> = {\n '0': 22,\n '1': 23,\n '2': 24,\n '3': 25,\n '4': 26,\n '5': 27,\n '6': 28,\n '7': 29,\n '8': 30,\n '9': 31,\n A: 0,\n B: 1,\n C: 2,\n D: 3,\n E: 4,\n F: 5,\n G: 6,\n H: 7,\n J: 8,\n K: 9,\n M: 10,\n N: 11,\n P: 12,\n R: 13,\n S: 14,\n T: 15,\n U: 16,\n V: 17,\n W: 18,\n X: 19,\n Y: 20,\n Z: 21,\n}\nexport type DecodeBase32AddressParameters<\n TNetworkId extends number | undefined = undefined,\n TAddressType extends AddressType | undefined = undefined,\n TVerbose extends boolean | undefined = undefined,\n> = {\n address: Address<TNetworkId, TAddressType, TVerbose>\n strict?: boolean\n}\n\nexport type DecodeBase32AddressReturnType = {\n address: HexAddress\n type: AddressType | 'unknown'\n networkId: number\n}\n\nexport function decodeBase32Address<\n TNetworkId extends number | undefined = undefined,\n TAddressType extends AddressType | undefined = undefined,\n TVerbose extends boolean | undefined = undefined,\n>({\n address,\n strict = true,\n}: DecodeBase32AddressParameters<\n TNetworkId,\n TAddressType,\n TVerbose\n>): DecodeBase32AddressReturnType {\n if (address !== address.toLowerCase() && address !== address.toUpperCase()) {\n throw new MixedCaseAddressError({ address })\n }\n\n const [, netName, shouldHaveType, payload, checksum] = address\n .toUpperCase()\n .match(/^([^:]+):(.+:)?(.{34})(.{8})$/) || ['', '', '', '', '']\n\n const netName5Bits = stringToBytes(netName).map((_byte) => _byte & 0b11111)\n const payload5Bits = Array.from(payload, (char) => ALPHABET_MAP[char])\n const checksum5Bits = Array.from(checksum, (char) => ALPHABET_MAP[char])\n\n const [version, ...addressBytes] = convertBit(\n new Uint8Array([...payload5Bits]),\n 5,\n 8,\n )\n if (version !== VERSION_BYTE) {\n throw new InvalidAddressVersionError({ address })\n }\n const byteAddress = new Uint8Array([...addressBytes])\n const networkId = getNetworkIdByNetworkIdPrefix(netName)\n const type = getAddressTypeByHexAddress(byteAddress)\n\n if (shouldHaveType && `type.${type}:` !== shouldHaveType.toLowerCase()) {\n throw new AddressTypeNotMatchError({ address })\n }\n\n if (strict) {\n const valid = polyMod(\n new Uint8Array([...netName5Bits, 0, ...payload5Bits, ...checksum5Bits]),\n )\n\n if (valid) {\n throw new InvalidAddressVersionError({ address })\n }\n }\n\n return {\n address: bytesToHex(byteAddress),\n type: type,\n networkId: networkId,\n }\n}\n","import type { Address, AddressType, HexAddress } from '../../accounts/types.js'\nimport { MixedCaseAddressError } from '../../errors/address.js'\nimport { decodeBase32Address } from './decodeBase32Address.js'\n\nexport type Base32AddressToHexParameters<\n TNetworkId extends number | undefined = undefined,\n TAddressType extends AddressType | undefined = undefined,\n TVerbose extends boolean | undefined = undefined,\n> = {\n address: Address<TNetworkId, TAddressType, TVerbose>\n strict?: boolean\n}\n\nexport function base32AddressToHex<\n TNetworkId extends number | undefined = undefined,\n TAddressType extends AddressType | undefined = undefined,\n TVerbose extends boolean | undefined = undefined,\n>({\n address,\n strict = true,\n}: Base32AddressToHexParameters<\n TNetworkId,\n TAddressType,\n TVerbose\n>): HexAddress {\n if (address !== address.toLowerCase() && address !== address.toUpperCase()) {\n throw new MixedCaseAddressError({ address })\n }\n const addressInfo = decodeBase32Address({ address, strict })\n return addressInfo.address\n}\n","import type { Address } from '../../accounts/types.js'\nimport type { ErrorType } from '../../errors/utils.js'\nimport { LruMap } from '../lru.js'\nimport { base32AddressToHex } from './base32AddressToHex.js'\n\nexport const isAddressCache = /*#__PURE__*/ new LruMap<boolean>(8192)\n\nexport type IsAddressErrorType = ErrorType\n\nexport function isAddress(address: string): address is Address {\n if (isAddressCache.has(address)) return isAddressCache.get(address)!\n\n const result = (() => {\n if (address.toLowerCase() !== address && address.toUpperCase() !== address)\n return false\n try {\n const addr = base32AddressToHex({ address: address as Address })\n return !!addr\n } catch (_error) {\n return false\n }\n })()\n isAddressCache.set(address, result)\n return result\n}\n","import type {\n AbiParameter,\n AbiParameterToPrimitiveType,\n AbiParametersToPrimitiveTypes,\n} from '../../types/abitype.js'\n\nimport {\n AbiEncodingArrayLengthMismatchError,\n type AbiEncodingArrayLengthMismatchErrorType,\n AbiEncodingBytesSizeMismatchError,\n type AbiEncodingBytesSizeMismatchErrorType,\n AbiEncodingLengthMismatchError,\n type AbiEncodingLengthMismatchErrorType,\n BaseError,\n type BoolToHexErrorType,\n type ConcatErrorType,\n InvalidAbiEncodingTypeError,\n type InvalidAbiEncodingTypeErrorType,\n type InvalidAddressErrorType,\n InvalidArrayError,\n type InvalidArrayErrorType,\n type NumberToHexErrorType,\n type PadHexErrorType,\n type SizeErrorType,\n type SliceErrorType,\n type StringToHexErrorType,\n boolToHex,\n concat,\n numberToHex,\n padHex,\n size,\n slice,\n stringToHex,\n} from 'viem'\nimport type { Address } from '../../accounts/types.js'\nimport type { ErrorType } from '../../errors/utils.js'\nimport type { Hex } from '../../types/misc.js'\nimport { base32AddressToHex } from '../address/base32AddressToHex.js'\nimport { type IsAddressErrorType, isAddress } from '../address/isAddress.js'\nimport { InvalidAddressError } from '../errors/address.js'\n\nexport type EncodeAbiParametersReturnType = Hex\n\nexport type EncodeAbiParametersErrorType =\n | AbiEncodingLengthMismatchErrorType\n | PrepareParamsErrorType\n | EncodeParamsErrorType\n | ErrorType\n\nexport function encodeAbiParameters<\n const params extends readonly AbiParameter[] | readonly unknown[],\n>(\n params: params,\n values: params extends readonly AbiParameter[]\n ? AbiParametersToPrimitiveTypes<params>\n : never,\n): EncodeAbiParametersReturnType {\n if (params.length !== values.length)\n throw new AbiEncodingLengthMismatchError({\n expectedLength: params.length as number,\n givenLength: values.length as any,\n })\n // Prepare the parameters to determine dynamic types to encode.\n const preparedParams = prepareParams({\n params: params as readonly AbiParameter[],\n values: values as any,\n })\n const data = encodeParams(preparedParams)\n if (data.length === 0) return '0x'\n return data\n}\n\n/////////////////////////////////////////////////////////////////\n\ntype PreparedParam = { dynamic: boolean; encoded: Hex }\n\ntype TupleAbiParameter = AbiParameter & { components: readonly AbiParameter[] }\ntype Tuple = AbiParameterToPrimitiveType<TupleAbiParameter>\n\ntype PrepareParamsErrorType = PrepareParamErrorType | ErrorType\n\nfunction prepareParams<const params extends readonly AbiParameter[]>({\n params,\n values,\n}: {\n params: params\n values: AbiParametersToPrimitiveTypes<params>\n}) {\n const preparedParams: PreparedParam[] = []\n for (let i = 0; i < params.length; i++) {\n preparedParams.push(prepareParam({ param: params[i], value: values[i] }))\n }\n return preparedParams\n}\n\ntype PrepareParamErrorType =\n | EncodeAddressErrorType\n | EncodeArrayErrorType\n | EncodeBytesErrorType\n | EncodeBoolErrorType\n | EncodeNumberErrorType\n | EncodeStringErrorType\n | EncodeTupleErrorType\n | GetArrayComponentsErrorType\n | InvalidAbiEncodingTypeErrorType\n | ErrorType\n\nfunction prepareParam<const param extends AbiParameter>({\n param,\n value,\n}: {\n param: param\n value: AbiParameterToPrimitiveType<param>\n}): PreparedParam {\n const arrayComponents = getArrayComponents(param.type)\n if (arrayComponents) {\n const [length, type] = arrayComponents\n return encodeArray(value, { length, param: { ...param, type } })\n }\n if (param.type === 'tuple') {\n return encodeTuple(value as unknown as Tuple, {\n param: param as TupleAbiParameter,\n })\n }\n if (param.type === 'address') {\n return encodeAddress(value as unknown as Address)\n }\n if (param.type === 'bool') {\n return encodeBool(value as unknown as boolean)\n }\n if (param.type.startsWith('uint') || param.type.startsWith('int')) {\n const signed = param.type.startsWith('int')\n return encodeNumber(value as unknown as number, { signed })\n }\n if (param.type.startsWith('bytes')) {\n return encodeBytes(value as unknown as Hex, { param })\n }\n if (param.type === 'string') {\n return encodeString(value as unknown as string)\n }\n throw new InvalidAbiEncodingTypeError(param.type, {\n docsPath: '/docs/contract/encodeAbiParameters',\n })\n}\n\n/////////////////////////////////////////////////////////////////\n\ntype EncodeParamsErrorType = NumberToHexErrorType | SizeErrorType | ErrorType\n\nfunction encodeParams(preparedParams: PreparedParam[]): Hex {\n // 1. Compute the size of the static part of the parameters.\n let staticSize = 0\n for (let i = 0; i < preparedParams.length; i++) {\n const { dynamic, encoded } = preparedParams[i]\n if (dynamic) staticSize += 32\n else staticSize += size(encoded)\n }\n\n // 2. Split the parameters into static and dynamic parts.\n const staticParams: Hex[] = []\n const dynamicParams: Hex[] = []\n let dynamicSize = 0\n for (let i = 0; i < preparedParams.length; i++) {\n const { dynamic, encoded } = preparedParams[i]\n if (dynamic) {\n staticParams.push(numberToHex(staticSize + dynamicSize, { size: 32 }))\n dynamicParams.push(encoded)\n dynamicSize += size(encoded)\n } else {\n staticParams.push(encoded)\n }\n }\n\n // 3. Concatenate static and dynamic parts.\n return concat([...staticParams, ...dynamicParams])\n}\n\n/////////////////////////////////////////////////////////////////\n\ntype EncodeAddressErrorType =\n | InvalidAddressErrorType\n | IsAddressErrorType\n | ErrorType\n\nfunction encodeAddress(value: Address): PreparedParam {\n if (!isAddress(value)) throw new InvalidAddressError({ address: value })\n\n const hexAddress = base32AddressToHex({ address: value })\n\n return { dynamic: false, encoded: padHex(hexAddress) }\n}\n\ntype EncodeArrayErrorType =\n | AbiEncodingArrayLengthMismatchErrorType\n | ConcatErrorType\n | EncodeParamsErrorType\n | InvalidArrayErrorType\n | NumberToHexErrorType\n // TODO: Add back once circular type reference is resolved\n // | PrepareParamErrorType\n | ErrorType\n\nfunction encodeArray<const param extends AbiParameter>(\n value: AbiParameterToPrimitiveType<param>,\n {\n length,\n param,\n }: {\n length: number | null\n param: param\n },\n): PreparedParam {\n const dynamic = length === null\n\n if (!Array.isArray(value)) throw new InvalidArrayError(value)\n if (!dynamic && value.length !== length)\n throw new AbiEncodingArrayLengthMismatchError({\n expectedLength: length!,\n givenLength: value.length,\n type: `${param.type}[${length}]`,\n })\n\n let dynamicChild = false\n const preparedParams: PreparedParam[] = []\n for (let i = 0; i < value.length; i++) {\n const preparedParam = prepareParam({ param, value: value[i] })\n if (preparedParam.dynamic) dynamicChild = true\n preparedParams.push(preparedParam)\n }\n\n if (dynamic || dynamicChild) {\n const data = encodeParams(preparedParams)\n if (dynamic) {\n const length = numberToHex(preparedParams.length, { size: 32 })\n return {\n dynamic: true,\n encoded: preparedParams.length > 0 ? concat([length, data]) : length,\n }\n }\n if (dynamicChild) return { dynamic: true, encoded: data }\n }\n return {\n dynamic: false,\n encoded: concat(preparedParams.map(({ encoded }) => encoded)),\n }\n}\n\ntype EncodeBytesErrorType =\n | AbiEncodingBytesSizeMismatchErrorType\n | ConcatErrorType\n | PadHexErrorType\n | NumberToHexErrorType\n | SizeErrorType\n | ErrorType\n\nfunction encodeBytes<const param extends AbiParameter>(\n value: Hex,\n { param }: { param: param },\n): PreparedParam {\n const [, paramSize] = param.type.split('bytes')\n const bytesSize = size(value)\n if (!paramSize) {\n let value_ = value\n // If the size is not divisible by 32 bytes, pad the end\n // with empty bytes to the ceiling 32 bytes.\n if (bytesSize % 32 !== 0)\n value_ = padHex(value_, {\n dir: 'right',\n size: Math.ceil((value.length - 2) / 2 / 32) * 32,\n })\n return {\n dynamic: true,\n encoded: concat([padHex(numberToHex(bytesSize, { size: 32 })), value_]),\n }\n }\n if (bytesSize !== Number.parseInt(paramSize))\n throw new AbiEncodingBytesSizeMismatchError({\n expectedSize: Number.parseInt(paramSize),\n value,\n })\n return { dynamic: false, encoded: padHex(value, { dir: 'right' }) }\n}\n\ntype EncodeBoolErrorType = PadHexErrorType | BoolToHexErrorType | ErrorType\n\nfunction encodeBool(value: boolean): PreparedParam {\n if (typeof value !== 'boolean')\n throw new BaseError(\n `Invalid boolean value: \"${value}\" (type: ${typeof value}). Expected: \\`true\\` or \\`false\\`.`,\n )\n return { dynamic: false, encoded: padHex(boolToHex(value)) }\n}\n\ntype EncodeNumberErrorType = NumberToHexErrorType | ErrorType\n\nfunction encodeNumber(\n value: number,\n { signed }: { signed: boolean },\n): PreparedParam {\n return {\n dynamic: false,\n encoded: numberToHex(value, {\n size: 32,\n signed,\n }),\n }\n}\n\ntype EncodeStringErrorType =\n | ConcatErrorType\n | NumberToHexErrorType\n | PadHexErrorType\n | SizeErrorType\n | SliceErrorType\n | StringToHexErrorType\n | ErrorType\n\nfunction encodeString(value: string): PreparedParam {\n const hexValue = stringToHex(value)\n const partsLength = Math.ceil(size(hexValue) / 32)\n const parts: Hex[] = []\n for (let i = 0; i < partsLength; i++) {\n parts.push(\n padHex(slice(hexValue, i * 32, (i + 1) * 32), {\n dir: 'right',\n }),\n )\n }\n return {\n dynamic: true,\n encoded: concat([\n padHex(numberToHex(size(hexValue), { size: 32 })),\n ...parts,\n ]),\n }\n}\n\ntype EncodeTupleErrorType =\n | ConcatErrorType\n | EncodeParamsErrorType\n // TODO: Add back once circular type reference is resolved\n // | PrepareParamErrorType\n | ErrorType\n\nfunction encodeTuple<\n const param extends AbiParameter & { components: readonly AbiParameter[] },\n>(\n value: AbiParameterToPrimitiveType<param>,\n { param }: { param: param },\n): PreparedParam {\n let dynamic = false\n const preparedParams: PreparedParam[] = []\n for (let i = 0; i < param.components.length; i++) {\n const param_ = param.components[i]\n const index = Array.isArray(value) ? i : param_.name\n const preparedParam = prepareParam({\n param: param_,\n value: (value as any)[index!] as readonly unknown[],\n })\n preparedParams.push(preparedParam)\n if (preparedParam.dynamic) dynamic = true\n }\n return {\n dynamic,\n encoded: dynamic\n ? encodeParams(preparedParams)\n : concat(preparedParams.map(({ encoded }) => encoded)),\n }\n}\n\ntype GetArrayComponentsErrorType = ErrorType\n\nexport function getArrayComponents(\n type: string,\n): [length: number | null, innerType: string] | undefined {\n const matches = type.match(/^(.*)\\[(\\d+)?\\]$/)\n return matches\n ? // Return `null` if the array is dynamic.\n [matches[2] ? Number(matches[2]) : null, matches[1]]\n : undefined\n}\n","import { BaseError } from 'viem'\n\nexport type NegativeOffsetErrorType = NegativeOffsetError & {\n name: 'NegativeOffsetError'\n}\nexport class NegativeOffsetError extends BaseError {\n override name = 'NegativeOffsetError'\n constructor({ offset }: { offset: number }) {\n super(`Offset \\`${offset}\\` cannot be negative.`)\n }\n}\n\nexport type PositionOutOfBoundsErrorType = PositionOutOfBoundsError & {\n name: 'PositionOutOfBoundsError'\n}\nexport class PositionOutOfBoundsError extends BaseError {\n override name = 'PositionOutOfBoundsError'\n constructor({ length, position }: { length: number; position: number }) {\n super(\n `Position \\`${position}\\` is out of bounds (\\`0 < position < ${length}\\`).`,\n )\n }\n}\n\nexport type RecursiveReadLimitExceededErrorType =\n RecursiveReadLimitExceededError & {\n name: 'RecursiveReadLimitExceededError'\n }\nexport class RecursiveReadLimitExceededError extends BaseError {\n override name = 'RecursiveReadLimitExceededError'\n constructor({ count, limit }: { count: number; limit: number }) {\n super(\n `Recursive read limit of \\`${limit}\\` exceeded (recursive read count: \\`${count}\\`).`,\n )\n }\n}\n","import {\n NegativeOffsetError,\n type NegativeOffsetErrorType,\n PositionOutOfBoundsError,\n type PositionOutOfBoundsErrorType,\n RecursiveReadLimitExceededError,\n type RecursiveReadLimitExceededErrorType,\n} from '../errors/cursor.js'\nimport type { ErrorType } from '../errors/utils.js'\nimport type { ByteArray } from '../types/misc.js'\n\nexport type Cursor = {\n bytes: ByteArray\n dataView: DataView\n position: number\n positionReadCount: Map<number, number>\n recursiveReadCount: number\n recursiveReadLimit: number\n remaining: number\n assertReadLimit(position?: number): void\n assertPosition(position: number): void\n decrementPosition(offset: number): void\n getReadCount(position?: number): number\n incrementPosition(offset: number): void\n inspectByte(position?: number): ByteArray[number]\n inspectBytes(length: number, position?: number): ByteArray\n inspectUint8(position?: number): number\n inspectUint16(position?: number): number\n inspectUint24(position?: number): number\n inspectUint32(position?: number): number\n pushByte(byte: ByteArray[number]): void\n pushBytes(bytes: ByteArray): void\n pushUint8(value: number): void\n pushUint16(value: number): void\n pushUint24(value: number): void\n pushUint32(value: number): void\n readByte(): ByteArray[number]\n readBytes(length: number, size?: number): ByteArray\n readUint8(): number\n readUint16(): number\n readUint24(): number\n readUint32(): number\n setPosition(position: number): () => void\n _touch(): void\n}\n\ntype CursorErrorType =\n | CursorAssertPositionErrorType\n | CursorDecrementPositionErrorType\n | CursorIncrementPositionErrorType\n | ErrorType\n\ntype CursorAssertPositionErrorType = PositionOutOfBoundsErrorType | ErrorType\n\ntype CursorDecrementPositionErrorType = NegativeOffsetError | ErrorType\n\ntype CursorIncrementPositionErrorType = NegativeOffsetError | ErrorType\n\ntype StaticCursorErrorType =\n | NegativeOffsetErrorType\n | RecursiveReadLimitExceededErrorType\n\nconst staticCursor: Cursor = {\n bytes: new Uint8Array(),\n dataView: new DataView(new ArrayBuffer(0)),\n position: 0,\n positionReadCount: new Map(),\n recursiveReadCount: 0,\n recursiveReadLimit: Number.POSITIVE_INFINITY,\n assertReadLimit() {\n if (this.recursiveReadCount >= this.recursiveReadLimit)\n throw new RecursiveReadLimitExceededError({\n count: this.recursiveReadCount + 1,\n limit: this.recursiveReadLimit,\n })\n },\n assertPosition(position) {\n if (position < 0 || position > this.bytes.length - 1)\n throw new PositionOutOfBoundsError({\n length: this.bytes.length,\n position,\n })\n },\n decrementPosition(offset) {\n if (offset < 0) throw new NegativeOffsetError({ offset })\n const position = this.position - offset\n this.assertPosition(position)\n this.position = position\n },\n getReadCount(position) {\n return this.positionReadCount.get(position || this.position) || 0\n },\n incrementPosition(offset) {\n if (offset < 0) throw new NegativeOffsetError({ offset })\n const position = this.position + offset\n this.assertPosition(position)\n this.position = position\n },\n inspectByte(position_) {\n const position = position_ ?? this.position\n this.assertPosition(position)\n return this.bytes[position]\n },\n inspectBytes(length, position_) {\n const position = position_ ?? this.position\n this.assertPosition(position + length - 1)\n return this.bytes.subarray(position, position + length)\n },\n inspectUint8(position_) {\n const position = position_ ?? this.position\n this.assertPosition(position)\n return this.bytes[position]\n },\n inspectUint16(position_) {\n const position = position_ ?? this.position\n this.assertPosition(position + 1)\n return this.dataView.getUint16(position)\n },\n inspectUint24(position_) {\n const position = position_ ?? this.position\n this.assertPosition(position + 2)\n return (\n (this.dataView.getUint16(position) << 8) +\n this.dataView.getUint8(position + 2)\n )\n },\n inspectUint32(position_) {\n const position = position_ ?? this.position\n this.assertPosition(position + 3)\n return this.dataView.getUint32(position)\n },\n pushByte(byte: ByteArray[number]) {\n this.assertPosition(this.position)\n this.bytes[this.position] = byte\n this.position++\n },\n pushBytes(bytes: ByteArray) {\n this.assertPosition(this.position + bytes.length - 1)\n this.bytes.set(bytes, this.position)\n this.position += bytes.length\n },\n pushUint8(value: number) {\n this.assertPosition(this.position)\n this.bytes[this.position] = value\n this.position++\n },\n pushUint16(value: number) {\n this.assertPosition(this.position + 1)\n this.dataView.setUint16(this.position, value)\n this.position += 2\n },\n pushUint24(value: number) {\n this.assertPosition(this.position + 2)\n this.dataView.setUint16(this.position, value >> 8)\n this.dataView.setUint8(this.position + 2, value & ~4294967040)\n this.position += 3\n },\n pushUint32(value: number) {\n this.assertPosition(this.position + 3)\n this.dataView.setUint32(this.position, value)\n this.position += 4\n },\n readByte() {\n this.assertReadLimit()\n this._touch()\n const value = this.inspectByte()\n this.position++\n return value\n },\n readBytes(length, size) {\n this.assertReadLimit()\n this._touch()\n const value = this.inspectBytes(length)\n this.position += size ?? length\n return value\n },\n readUint8() {\n this.assertReadLimit()\n this._touch()\n const value = this.inspectUint8()\n this.position += 1\n return value\n },\n readUint16() {\n this.assertReadLimit()\n this._touch()\n const value = this.inspectUint16()\n this.position += 2\n return value\n },\n readUint24() {\n this.assertReadLimit()\n this._touch()\n const value = this.inspectUint24()\n this.position += 3\n return value\n },\n readUint32() {\n this.assertReadLimit()\n this._touch()\n const value = this.inspectUint32()\n this.position += 4\n return value\n },\n get remaining() {\n return this.bytes.length - this.position\n },\n setPosition(position) {\n const oldPosition = this.position\n this.assertPosition(position)\n this.position = position\n return () => (this.position = oldPosition)\n },\n _touch() {\n if (this.recursiveReadLimit === Number.POSITIVE_INFINITY) return\n const count = this.getReadCount()\n this.positionReadCount.set(this.position, count + 1)\n if (count > 0) this.recursiveReadCount++\n },\n}\n\ntype CursorConfig = { recursiveReadLimit?: number | undefined }\n\nexport type CreateCursorErrorType =\n | CursorErrorType\n | StaticCursorErrorType\n | ErrorType\n\nexport function createCursor(\n bytes: ByteArray,\n { recursiveReadLimit = 8_192 }: CursorConfig = {},\n): Cursor {\n const cursor: Cursor = Object.create(staticCursor)\n cursor.bytes = bytes\n cursor.dataView = new DataView(\n bytes.buffer,\n bytes.byteOffset,\n bytes.byteLength,\n )\n cursor.positionReadCount = new Map()\n cursor.recursiveReadLimit = recursiveReadLimit\n return cursor\n}\n","import type {\n AbiParameter,\n AbiParametersToPrimitiveTypes,\n} from '../../types/abitype.js'\n\nimport type { ByteArray, Hex } from '../../types/misc.js'\n\nimport type { ErrorType } from '../../errors/utils.js'\n\nimport {\n type CreateCursorErrorType,\n type Cursor,\n createCursor,\n} from '../cursor.js'\n\nimport {\n AbiDecodingDataSizeTooSmallError,\n AbiDecodingZeroDataError,\n type BytesToBigIntErrorType,\n type BytesToBoolErrorType,\n type BytesToHexErrorType,\n type BytesToNumberErrorType,\n type BytesToStringErrorType,\n type ChecksumAddressErrorType,\n InvalidAbiDecodingTypeError,\n type InvalidAbiDecodingTypeErrorType,\n type SliceBytesErrorType,\n type TrimErrorType,\n bytesToBigInt,\n bytesToBool,\n bytesToHex,\n bytesToNumber,\n bytesToString,\n checksumAddress,\n hexToBytes,\n size,\n sliceBytes,\n trim,\n} from 'viem'\nimport { hexAddressToBase32 } from '../address/hexAddressToBase32.js'\nimport { getArrayComponents } from './encodeAbiParameters.js'\n\nexport type DecodeAbiParametersReturnType<\n params extends readonly AbiParameter[] = readonly AbiParameter[],\n> = AbiParametersToPrimitiveTypes<\n params extends readonly AbiParameter[] ? params : AbiParameter[]\n>\n\nexport type DecodeAbiParametersErrorType =\n | DecodeParameterErrorType\n | CreateCursorErrorType\n | ErrorType\n\nexport function decodeAbiParameters<\n const params extends readonly AbiParameter[],\n>(\n params: params,\n data: ByteArray | Hex,\n /**\n * need update. this should be only pass by decode address type\n */\n networkId: number,\n): DecodeAbiParametersReturnType<params> {\n const bytes = typeof data === 'string' ? hexToBytes(data) : data\n const cursor = createCursor(bytes)\n\n if (size(bytes) === 0 && params.length > 0)\n throw new AbiDecodingZeroDataError()\n if (size(data) && size(data) < 32)\n throw new AbiDecodingDataSizeTooSmallError({\n data: typeof data === 'string' ? data : bytesToHex(data),\n params: params as readonly AbiParameter[],\n size: size(data),\n })\n\n let consumed = 0\n const values = []\n for (let i = 0; i < params.length; ++i) {\n const param = params[i]\n cursor.setPosition(consumed)\n const [data, consumed_] = decodeParameter(cursor, param, {\n networkId,\n staticPosition: 0,\n })\n consumed += consumed_\n values.push(data)\n }\n return values as DecodeAbiParametersReturnType<params>\n}\n\ntype DecodeParameterErrorType =\n | DecodeArrayErrorType\n | DecodeTupleErrorType\n | DecodeAddressErrorType\n | DecodeBoolErrorType\n | DecodeBytesErrorType\n | DecodeNumberErrorType\n | DecodeStringErrorType\n | InvalidAbiDecodingTypeErrorType\n\nfunction decodeParameter(\n cursor: Cursor,\n param: AbiParameter,\n { staticPosition, networkId }: { staticPosition: number; networkId: number },\n) {\n const arrayComponents = getArrayComponents(param.type)\n if (arrayComponents) {\n const [length, type] = arrayComponents\n return decodeArray(\n cursor,\n { ...param, type },\n { length, staticPosition, networkId },\n )\n }\n if (param.type === 'tuple')\n return decodeTuple(cursor, param as TupleAbiParameter, {\n staticPosition,\n networkId,\n })\n\n if (param.type === 'address') return decodeAddress(cursor, networkId)\n if (param.type === 'bool') return decodeBool(cursor)\n if (param.type.startsWith('bytes'))\n return decodeBytes(cursor, param, { staticPosition })\n if (param.type.startsWith('uint') || param.type.startsWith('int'))\n return decodeNumber(cursor, param)\n if (param.type === 'string') return decodeString(cursor, { staticPosition })\n throw new InvalidAbiDecodingTypeError(param.type, {\n docsPath: '/docs/contract/decodeAbiParameters',\n })\n}\n\n////////////////////////////////////////////////////////////////////\n// Type Decoders\n\nconst sizeOfLength = 32\nconst sizeOfOffset = 32\n\ntype DecodeAddressErrorType =\n | ChecksumAddressErrorType\n | BytesToHexErrorType\n | SliceBytesErrorType\n | ErrorType\n\nfunction decodeAddress(cursor: Cursor, networkId: number) {\n const value = cursor.readBytes(32)\n const hexAddress = checksumAddress(bytesToHex(sliceBytes(value, -20)))\n const base32Address = hexAddressToBase32({ hexAddress, networkId })\n return [base32Address, 32]\n}\n\ntype DecodeArrayErrorType = BytesToNumberErrorType | ErrorType\n\nfunction decodeArray(\n cursor: Cursor,\n param: AbiParameter,\n {\n length,\n staticPosition,\n networkId,\n }: { length: number | null; staticPosition: number; networkId: number },\n) {\n // If the length of the array is not known in advance (dynamic array),\n // this means we will need to wonder off to the pointer and decode.\n if (!length) {\n // Dealing with a dynamic type, so get the offset of the array data.\n const offset = bytesToNumber(cursor.readBytes(sizeOfOffset))\n\n // Start is the static position of current slot + offset.\n const start = staticPosition + offset\n const startOfData = start + sizeOfLength\n\n // Get the length of the array from the offset.\n cursor.setPosition(start)\n const length = bytesToNumber(cursor.readBytes(sizeOfLength))\n\n // Check if the array has any dynamic children.\n const dynamicChild = hasDynamicChild(param)\n\n let consumed = 0\n const value: unknown[] = []\n for (let i = 0; i < length; ++i) {\n // If any of the children is dynamic, then all elements will be offset pointer, thus size of one slot (32 bytes).\n // Otherwise, elements will be the size of their encoding (consumed bytes).\n cursor.setPosition(startOfData + (dynamicChild ? i * 32 : consumed))\n const [data, consumed_] = decodeParameter(cursor, param, {\n staticPosition: startOfData,\n networkId,\n })\n consumed += consumed_\n value.push(data)\n }\n\n // As we have gone wondering, restore to the original position + next slot.\n cursor.setPosition(staticPosition + 32)\n return [value, 32]\n }\n\n // If the length of the array is known in advance,\n // and the length of an element deeply nested in the array is not known,\n // we need to decode the offset of the array data.\n if (hasDynamicChild(param)) {\n // Dealing with dynamic types, so get the offset of the array data.\n const offset = bytesToNumber(cursor.readBytes(sizeOfOffset))\n\n // Start is the static position of current slot + offset.\n const start = staticPosition + offset\n\n const value: unknown[] = []\n for (let i = 0; i < length; ++i) {\n // Move cursor along to the next slot (next offset pointer).\n cursor.setPosition(start + i * 32)\n const [data] = decodeParameter(cursor, param, {\n staticPosition: start,\n networkId,\n })\n value.push(data)\n }\n\n // As we have gone wondering, restore to the original position + next slot.\n cursor.setPosition(staticPosition + 32)\n return [value, 32]\n }\n\n // If the length of the array is known in advance and the array is deeply static,\n // then we can just decode each element in sequence.\n let consumed = 0\n const value: unknown[] = []\n for (let i = 0; i < length; ++i) {\n const [data, consumed_] = decodeParameter(cursor, param, {\n staticPosition: staticPosition + consumed,\n networkId,\n })\n consumed += consumed_\n value.push(data)\n }\n return [value, consumed]\n}\n\ntype DecodeBoolErrorType = BytesToBoolErrorType | ErrorType\n\nfunction decodeBool(cursor: Cursor) {\n return [bytesToBool(cursor.readBytes(32), { size: 32 }), 32]\n}\n\ntype DecodeBytesErrorType =\n | BytesToNumberErrorType\n | BytesToHexErrorType\n | ErrorType\n\nfunction decodeBytes(\n cursor: Cursor,\n param: AbiParameter,\n { staticPosition }: { staticPosition: number },\n) {\n const [_, size] = param.type.split('bytes')\n if (!size) {\n // Dealing with dynamic types, so get the offset of the bytes data.\n const offset = bytesToNumber(cursor.readBytes(32))\n\n // Set position of the cursor to start of bytes data.\n cursor.setPosition(staticPosition + offset)\n\n const length = bytesToNumber(cursor.readBytes(32))\n\n // If there is no length, we have zero data.\n if (length === 0) {\n // As we have gone wondering, restore to the original position + next slot.\n cursor.setPosition(staticPosition + 32)\n return ['0x', 32]\n }\n\n const data = cursor.readBytes(length)\n\n // As we have gone wondering, restore to the original position + next slot.\n cursor.setPosition(staticPosition + 32)\n return [bytesToHex(data), 32]\n }\n\n const value = bytesToHex(cursor.readBytes(Number.parseInt(size), 32))\n return [value, 32]\n}\n\ntype DecodeNumberErrorType =\n | BytesToNumberErrorType\n | BytesToBigIntErrorType\n | ErrorType\n\nfunction decodeNumber(cursor: Cursor, param: AbiParameter) {\n const signed = param.type.startsWith('int')\n const size = Number.parseInt(param.type.split('int')[1] || '256')\n const value = cursor.readBytes(32)\n return [\n size > 48\n ? bytesToBigInt(value, { signed })\n : bytesToNumber(value, { signed }),\n 32,\n ]\n}\n\ntype TupleAbiParameter = AbiParameter & { components: readonly AbiParameter[] }\n\ntype DecodeTupleErrorType = BytesToNumberErrorType | ErrorType\n\nfunction decodeTuple(\n cursor: Cursor,\n param: TupleAbiParameter,\n { staticPosition, networkId }: { staticPosition: number; networkId: number },\n) {\n // Tuples can have unnamed components (i.e. they are arrays), so we must\n // determine whether the tuple is named or unnamed. In the case of a named\n // tuple, the value will be an object where each property is the name of the\n // component. In the case of an unnamed tuple, the value will be an array.\n const hasUnnamedChild =\n param.components.length === 0 || param.components.some(({ name }) => !name)\n\n // Initialize the value to an object or an array, depending on whether the\n // tuple is named or unnamed.\n const value: any = hasUnnamedChild ? [] : {}\n let consumed = 0\n\n // If the tuple has a dynamic child, we must first decode the offset to the\n // tuple data.\n if (hasDynamicChild(param)) {\n // Dealing with dynamic types, so get the offset of the tuple data.\n const offset = bytesToNumber(cursor.readBytes(sizeOfOffset))\n\n // Start is the static position of referencing slot + offset.\n const start = staticPosition + offset\n\n for (let i = 0; i < param.components.length; ++i) {\n const component = param.components[i]\n cursor.setPosition(start + consumed)\n const [data, consumed_] = decodeParameter(cursor, component, {\n staticPosition: start,\n networkId,\n })\n consumed += consumed_\n value[hasUnnamedChild ? i : component?.name!] = data\n }\n\n // As we have gone wondering, restore to the original position + next slot.\n cursor.setPosition(staticPosition + 32)\n return [value, 32]\n }\n\n // If the tuple has static children, we can just decode each component\n // in sequence.\n for (let i = 0; i < param.components.length; ++i) {\n const component = param.components[i]\n const [data, consumed_] = decodeParameter(cursor, component, {\n staticPosition,\n networkId,\n })\n value[hasUnnamedChild ? i : component?.name!] = data\n consumed += consumed_\n }\n return [value, consumed]\n}\n\ntype DecodeStringErrorType =\n | BytesToNumberErrorType\n | BytesToStringErrorType\n | TrimErrorType\n | ErrorType\n\nfunction decodeString(\n cursor: Cursor,\n { staticPosition }: { staticPosition: number },\n) {\n // Get offset to start of string data.\n const offset = bytesToNumber(cursor.readBytes(32))\n\n // Start is the static position of current slot + offset.\n const start = staticPosition + offset\n cursor.setPosition(start)\n\n const length = bytesToNumber(cursor.readBytes(32))\n\n // If there is no length, we have zero data (empty string).\n if (length === 0) {\n cursor.setPosition(staticPosition + 32)\n return ['', 32]\n }\n\n const data = cursor.readBytes(length, 32)\n const value = bytesToString(trim(data))\n\n // As we have gone wondering, restore to the original position + next slot.\n cursor.setPosition(staticPosition + 32)\n\n return [value, 32]\n}\n\nfunction hasDynamicChild(param: AbiParameter) {\n const { type } = param\n if (type === 'string') return true\n if (type === 'bytes') return true\n if (type.endsWith('[]')) return true\n\n if (type === 'tuple') return (param as any).components?.some(hasDynamicChild)\n\n const arrayComponents = getArrayComponents(param.type)\n if (\n arrayComponents &&\n hasDynamicChild({ ...param, type: arrayComponents[1] } as AbiParameter)\n )\n return true\n\n return false\n}\n","import type { AbiParameter } from '../../types/abitype.js'\n\nimport {\n InvalidDefinitionTypeError,\n type InvalidDefinitionTypeErrorType,\n} from 'viem'\nimport type { ErrorType } from '../../errors/utils.js'\nimport type { AbiItem } from '../../types/contract.js'\n\nexport type FormatAbiItemErrorType =\n | FormatAbiParamsErrorType\n | InvalidDefinitionTypeErrorType\n | ErrorType\n\nexport function formatAbiItem(\n abiItem: AbiItem,\n { includeName = false }: { includeName?: boolean | undefined } = {},\n) {\n if (\n abiItem.type !== 'function' &&\n abiItem.type !== 'event' &&\n abiItem.type !== 'error'\n )\n throw new InvalidDefinitionTypeError(abiItem.type)\n\n return `${abiItem.name}(${formatAbiParams(abiItem.inputs, { includeName })})`\n}\n\nexport type FormatAbiParamsErrorType = ErrorType\n\nexport function formatAbiParams(\n params: readonly AbiParameter[] | undefined,\n { includeName = false }: { includeName?: boolean | undefined } = {},\n): string {\n if (!params) return ''\n return params\n .map((param) => formatAbiParam(param, { includeName }))\n .join(includeName ? ', ' : ',')\n}\n\nexport type FormatAbiParamErrorType = ErrorType\n\nfunction formatAbiParam(\n param: AbiParameter,\n { includeName }: { includeName: boolean },\n): string {\n if (param.type.startsWith('tuple')) {\n return `(${formatAbiParams(\n (param as unknown as { components: AbiParameter[] }).components,\n { includeName },\n )})${param.type.slice('tuple'.length)}`\n }\n return param.type + (includeName && param.name ? ` ${param.name}` : '')\n}\n","import type { Abi, AbiStateMutability } from '../../types/abitype.js'\n\nimport type { ErrorType } from '../../errors/utils.js'\nimport type {\n ContractFunctionArgs,\n ContractFunctionName,\n} from '../../types/contract.js'\nimport type { Hex } from '../../types/misc.js'\nimport type { IsNarrowable, UnionEvaluate } from '../../types/utils.js'\n\nimport {\n AbiFunctionSignatureNotFoundError,\n type SliceErrorType,\n type ToFunctionSelectorErrorType,\n slice,\n toFunctionSelector,\n} from 'viem'\nimport { type FormatAbiItemErrorType, formatAbiItem } from 'viem/utils'\nimport {\n type DecodeAbiParametersErrorType,\n decodeAbiParameters,\n} from './decodeAbiParameters.js'\n\nexport type DecodeFunctionDataParameters<\n abi extends Abi | readonly unknown[] = Abi,\n> = {\n abi: abi\n data: Hex\n} & {\n /**\n * need update. this should be only pass by decode address type\n */\n networkId: number\n}\n\nexport type DecodeFunctionDataReturnType<\n abi extends Abi | readonly unknown[] = Abi,\n ///\n allFunctionNames extends\n ContractFunctionName<abi> = ContractFunctionName<abi>,\n> = IsNarrowable<abi, Abi> extends true\n ? UnionEvaluate<\n {\n [functionName in allFunctionNames]: {\n args: ContractFunctionArgs<abi, AbiStateMutability, functionName>\n functionName: functionName\n }\n }[allFunctionNames]\n >\n : {\n args: readonly unknown[] | undefined\n functionName: string\n }\n\nexport type DecodeFunctionDataErrorType =\n | AbiFunctionSignatureNotFoundError\n | DecodeAbiParametersErrorType\n | FormatAbiItemErrorType\n | ToFunctionSelectorErrorType\n | SliceErrorType\n | ErrorType\n\nexport function decodeFunctionData<const abi extends Abi | readonly unknown[]>(\n parameters: DecodeFunctionDataParameters<abi>,\n) {\n const { abi, data, networkId } = parameters as DecodeFunctionDataParameters\n const signature = slice(data, 0, 4)\n const description = abi.find(\n (x) =>\n x.type === 'function' &&\n signature === toFunctionSelector(formatAbiItem(x)),\n )\n if (!description)\n throw new AbiFunctionSignatureNotFoundError(signature, {\n docsPath: '/docs/contract/decodeFunctionData',\n })\n return {\n functionName: (description as { name: string }).name,\n args: ('inputs' in description &&\n description.inputs &&\n description.inputs.length > 0\n ? decodeAbiParameters(description.inputs, slice(data, 4), networkId)\n : undefined) as readonly unknown[] | undefined,\n } as DecodeFunctionDataReturnType<abi>\n}\n","import { BaseError } from 'viem'\nimport { formatAbiItem } from 'viem/utils'\nimport type { Abi } from '../types/abitype.js'\nexport type AbiItemAmbiguityErrorType = AbiItemAmbiguityError & {\n name: 'AbiItemAmbiguityError'\n}\n\nexport class AbiItemAmbiguityError extends BaseError {\n override name = 'AbiItemAmbiguityError'\n constructor(\n x: { abiItem: Abi[number]; type: string },\n y: { abiItem: Abi[number]; type: string },\n ) {\n super('Found ambiguous types in overloaded ABI items.', {\n metaMessages: [\n `\\`${x.type}\\` in \\`${formatAbiItem(x.abiItem)}\\`, and`,\n `\\`${y.type}\\` in \\`${formatAbiItem(y.abiItem)}\\``,\n '',\n 'These types encode differently and cannot be distinguished at runtime.',\n 'Remove one of the ambiguous items in the ABI.',\n ],\n })\n }\n}\n","import type { Abi, AbiParameter, Address } from '../../types/abitype.js'\n\nimport type { ErrorType } from '../../errors/utils.js'\n\nimport type { Hex } from '../../types/misc.js'\nimport type { UnionEvaluate } from '../../types/utils.js'\n\nimport {\n type IsHexErrorType,\n type ToFunctionSelectorErrorType,\n isHex,\n toEventSelector,\n toFunctionSelector,\n} from 'viem'\nimport {\n AbiItemAmbiguityError,\n type AbiItemAmbiguityErrorType,\n} from '../../types/abi.js'\nimport type {\n AbiItem,\n AbiItemArgs,\n AbiItemName,\n ExtractAbiItemForArgs,\n Widen,\n} from '../../types/contract.js'\nimport { type IsAddressErrorType, isAddress } from '../address/isAddress.js'\n\nexport type GetAbiItemParameters<\n abi extends Abi | readonly unknown[] = Abi,\n name extends AbiItemName<abi> = AbiItemName<abi>,\n args extends AbiItemArgs<abi, name> | undefined = AbiItemArgs<abi, name>,\n ///\n allArgs = AbiItemArgs<abi, name>,\n allNames = AbiItemName<abi>,\n> = {\n abi: abi\n name:\n | allNames // show all options\n | (name extends allNames ? name : never) // infer value\n | Hex // function selector\n} & UnionEvaluate<\n readonly [] extends allArgs\n ? {\n args?:\n | allArgs // show all options\n // infer value, widen inferred value of `args` conditionally to match `allArgs`\n | (abi extends Abi\n ? args extends allArgs\n ? Widen<args>\n : never\n : never)\n | undefined\n }\n : {\n args?:\n | allArgs // show all options\n | (Widen<args> & (args extends allArgs ? unknown : never)) // infer value, widen inferred value of `args` match `allArgs` (e.g. avoid union `args: readonly [123n] | readonly [bigint]`)\n | undefined\n }\n>\n\nexport type GetAbiItemErrorType =\n | IsArgOfTypeErrorType\n | IsHexErrorType\n | ToFunctionSelectorErrorType\n | AbiItemAmbiguityErrorType\n | ErrorType\n\nexport type GetAbiItemReturnType<\n abi extends Abi | readonly unknown[] = Abi,\n name extends AbiItemName<abi> = AbiItemName<abi>,\n args extends AbiItemArgs<abi, name> | undefined = AbiItemArgs<abi, name>,\n> = abi extends Abi\n ? Abi extends abi\n ? AbiItem | undefined\n : ExtractAbiItemForArgs<\n abi,\n name,\n args extends AbiItemArgs<abi, name> ? args : AbiItemArgs<abi, name>\n >\n : AbiItem | undefined\n\nexport function getAbiItem<\n const abi extends Abi | readonly unknown[],\n name extends AbiItemName<abi>,\n const args extends AbiItemArgs<abi, name> | undefined = undefined,\n>(\n parameters: GetAbiItemParameters<abi, name, args>,\n): GetAbiItemReturnType<abi, name, args> {\n const { abi, args = [], name } = parameters as unknown as GetAbiItemParameters\n\n const isSelector = isHex(name, { strict: false })\n const abiItems = (abi as Abi).filter((abiItem) => {\n if (isSelector) {\n if (abiItem.type === 'function')\n return toFunctionSelector(abiItem) === name\n if (abiItem.type === 'event') return toEventSelector(abiItem) === name\n return false\n }\n return 'name' in abiItem && abiItem.name === name\n })\n\n if (abiItems.length === 0)\n return undefined as GetAbiItemReturnType<abi, name, args>\n if (abiItems.length === 1)\n return abiItems[0] as GetAbiItemReturnType<abi, name, args>\n\n let matchedAbiItem: AbiItem | undefined = undefined\n for (const abiItem of abiItems) {\n if (!('inputs' in abiItem)) continue\n if (!args || args.length === 0) {\n if (!abiItem.inputs || abiItem.inputs.length === 0)\n return abiItem as GetAbiItemReturnType<abi, name, args>\n continue\n }\n if (!abiItem.inputs) continue\n if (abiItem.inputs.length === 0) continue\n if (abiItem.inputs.length !== args.length) continue\n const matched = args.every((arg, index) => {\n const abiParameter = 'inputs' in abiItem && abiItem.inputs![index]\n if (!abiParameter) return false\n return isArgOfType(arg, abiParameter)\n })\n if (matched) {\n // Check for ambiguity against already matched parameters (e.g. `address` vs `bytes20`).\n if (\n matchedAbiItem &&\n 'inputs' in matchedAbiItem &&\n matchedAbiItem.inputs\n ) {\n const ambiguousTypes = getAmbiguousTypes(\n abiItem.inputs,\n matchedAbiItem.inputs,\n args as readonly unknown[],\n )\n if (ambiguousTypes)\n throw new AbiItemAmbiguityError(\n {\n abiItem,\n type: ambiguousTypes[0],\n },\n {\n abiItem: matchedAbiItem,\n type: ambiguousTypes[1],\n },\n )\n }\n\n matchedAbiItem = abiItem\n }\n }\n\n if (matchedAbiItem)\n return matchedAbiItem as GetAbiItemReturnType<abi, name, args>\n return abiItems[0] as GetAbiItemReturnType<abi, name, args>\n}\n\ntype IsArgOfTypeErrorType = IsAddressErrorType | ErrorType\n\n/** @internal */\nexport function isArgOfType(arg: unknown, abiParameter: AbiParameter): boolean {\n const argType = typeof arg\n const abiParameterType = abiParameter.type\n switch (abiParameterType) {\n case 'address':\n return isAddress(arg as Address)\n case 'bool':\n return argType === 'boolean'\n case 'function':\n return argType === 'string'\n case 'string':\n return argType === 'string'\n default: {\n if (abiParameterType === 'tuple' && 'components' in abiParameter)\n return Object.values(abiParameter.components).every(\n (component, index) => {\n return isArgOfType(\n Object.values(arg as unknown[] | Record<string, unknown>)[index],\n component as AbiParameter,\n )\n },\n )\n\n // `(u)int<M>`: (un)signed integer type of `M` bits, `0 < M <= 256`, `M % 8 == 0`\n // https://regexr.com/6v8hp\n if (\n /^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)?$/.test(\n abiParameterType,\n )\n )\n return argType === 'number' || argType === 'bigint'\n\n // `bytes<M>`: binary type of `M` bytes, `0 < M <= 32`\n // https://regexr.com/6va55\n if (/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(abiParameterType))\n return argType === 'string' || arg instanceof Uint8Array\n\n // fixed-length (`<type>[M]`) and dynamic (`<type>[]`) arrays\n // https://regexr.com/6va6i\n if (/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(abiParameterType)) {\n return (\n Array.isArray(arg) &&\n arg.every((x: unknown) =>\n isArgOfType(x, {\n ...abiParameter,\n // Pop off `[]` or `[M]` from end of type\n type: abiParameterType.replace(/(\\[[0-9]{0,}\\])$/, ''),\n } as AbiParameter),\n )\n )\n }\n\n return false\n }\n }\n}\n\n/** @internal */\nexport function getAmbiguousTypes(\n sourceParameters: readonly AbiParameter[],\n targetParameters: readonly AbiParameter[],\n args: AbiItemArgs,\n): AbiParameter['type'][] | undefined {\n for (const parameterIndex in sourceParameters) {\n const sourceParameter = sourceParameters[parameterIndex]\n const targetParameter = targetParameters[parameterIndex]\n\n if (\n sourceParameter.type === 'tuple' &&\n targetParameter.type === 'tuple' &&\n 'components' in sourceParameter &&\n 'components' in targetParameter\n )\n return getAmbiguousTypes(\n sourceParameter.components,\n targetParameter.components,\n (args as any)[parameterIndex],\n )\n\n const types = [sourceParameter.type, targetParameter.type]\n\n const ambiguous = (() => {\n if (types.includes('address') && types.includes('bytes20')) return true\n if (types.includes('address') && types.includes('string'))\n return isAddress(args[parameterIndex] as Address)\n if (types.includes('address') && types.includes('bytes'))\n return isAddress(args[parameterIndex] as Address)\n return false\n })()\n\n if (ambiguous) return types\n }\n\n return\n}\n","import type {\n Abi,\n AbiStateMutability,\n ExtractAbiFunctions,\n} from '../../types/abitype.js'\n\nimport type {\n ContractFunctionArgs,\n ContractFunctionName,\n ContractFunctionReturnType,\n Widen,\n} from '../../types/contract.js'\nimport type { Hex } from '../../types/misc.js'\n\nimport type { ErrorType } from '../../errors/utils.js'\nimport type { IsNarrowable, UnionEvaluate } from '../../types/utils.js'\n\nimport {\n AbiFunctionNotFoundError,\n type AbiFunctionNotFoundErrorType,\n AbiFunctionOutputsNotFoundError,\n type AbiFunctionOutputsNotFoundErrorType,\n type DecodeAbiParametersErrorType,\n} from 'viem'\nimport { decodeAbiParameters } from './decodeAbiParameters.js'\nimport { type GetAbiItemErrorType, getAbiItem } from './getAbiItem.js'\n\nconst docsPath = '/docs/contract/decodeFunctionResult'\n\nexport type DecodeFunctionResultParameters<\n abi extends Abi | readonly unknown[] = Abi,\n functionName extends\n | ContractFunctionName<abi>\n | undefined = ContractFunctionName<abi>,\n args extends ContractFunctionArgs<\n abi,\n AbiStateMutability,\n functionName extends ContractFunctionName<abi>\n ? functionName\n : ContractFunctionName<abi>\n > = ContractFunctionArgs<\n abi,\n AbiStateMutability,\n functionName extends ContractFunctionName<abi>\n ? functionName\n : ContractFunctionName<abi>\n >,\n ///\n hasFunctions = abi extends Abi\n ? Abi extends abi\n ? true\n : [ExtractAbiFunctions<abi>] extends [never]\n ? false\n : true\n : true,\n allArgs = ContractFunctionArgs<\n abi,\n AbiStateMutability,\n functionName extends ContractFunctionName<abi>\n ? functionName\n : ContractFunctionName<abi>\n >,\n allFunctionNames = ContractFunctionName<abi>,\n> = {\n abi: abi\n data: Hex\n} & UnionEvaluate<\n IsNarrowable<abi, Abi> extends true\n ? abi['length'] extends 1\n ? { functionName?: functionName | allFunctionNames | undefined }\n : { functionName: functionName | allFunctionNames }\n : { functionName?: functionName | allFunctionNames | undefined }\n> &\n UnionEvaluate<\n readonly [] extends allArgs\n ? {\n args?:\n | allArgs // show all options\n // infer value, widen inferred value of `args` conditionally to match `allArgs`\n | (abi extends Abi\n ? args extends allArgs\n ? Widen<args>\n : never\n : never)\n | undefined\n }\n : {\n args?:\n | allArgs // show all options\n | (Widen<args> & (args extends allArgs ? unknown : never)) // infer value, widen inferred value of `args` match `allArgs` (e.g. avoid union `args: readonly [123n] | readonly [bigint]`)\n | undefined\n }\n > &\n (hasFunctions extends true ? unknown : never) & {\n /**\n * need update. this should be only pass by decode address type\n */\n networkId: number\n }\n\nexport type DecodeFunctionResultReturnType<\n abi extends Abi | readonly unknown[] = Abi,\n functionName extends\n | ContractFunctionName<abi>\n | undefined = ContractFunctionName<abi>,\n args extends ContractFunctionArgs<\n abi,\n AbiStateMutability,\n functionName extends ContractFunctionName<abi>\n ? functionName\n : ContractFunctionName<abi>\n > = ContractFunctionArgs<\n abi,\n AbiStateMutability,\n functionName extends ContractFunctionName<abi>\n ? functionName\n : ContractFunctionName<abi>\n >,\n> = ContractFunctionReturnType<\n abi,\n AbiStateMutability,\n functionName extends ContractFunctionName<abi>\n ? functionName\n : ContractFunctionName<abi>,\n args\n>\n\nexport type DecodeFunctionResultErrorType =\n | AbiFunctionNotFoundErrorType\n | AbiFunctionOutputsNotFoundErrorType\n | DecodeAbiParametersErrorType\n | GetAbiItemErrorType\n | ErrorType\n\nexport function decodeFunctionResult<\n const abi extends Abi | readonly unknown[],\n functionName extends ContractFunctionName<abi> | undefined = undefined,\n const args extends ContractFunctionArgs<\n abi,\n AbiStateMutability,\n functionName extends ContractFunctionName<abi>\n ? functionName\n : ContractFunctionName<abi>\n > = ContractFunctionArgs<\n abi,\n AbiStateMutability,\n functionName extends ContractFunctionName<abi>\n ? functionName\n : ContractFunctionName<abi>\n >,\n>(\n parameters: DecodeFunctionResultParameters<abi, functionName, args>,\n): DecodeFunctionResultReturnType<abi, functionName, args> {\n const { abi, args, functionName, data, networkId } =\n parameters as DecodeFunctionResultParameters\n\n let abiItem = abi[0]\n if (functionName) {\n const item = getAbiItem({ abi, args, name: functionName })\n if (!item) throw new AbiFunctionNotFoundError(functionName, { docsPath })\n abiItem = item\n }\n\n if (abiItem.type !== 'function')\n throw new AbiFunctionNotFoundError(undefined, { docsPath })\n if (!abiItem.outputs)\n throw new AbiFunctionOutputsNotFoundError(abiItem.name, { docsPath })\n\n const values = decodeAbiParameters(abiItem.outputs, data, networkId)\n if (values && values.length > 1)\n return values as DecodeFunctionResultReturnType<abi, functionName, args>\n if (values && values.length === 1)\n return values[0] as DecodeFunctionResultReturnType<abi, functionName, args>\n return undefined as DecodeFunctionResultReturnType<abi, functionName, args>\n}\n","import type { Abi, AbiStateMutability, AbiParameter, AbiItem } from 'viem';\nimport {\n decodeFunctionData as decodeEVMFunctionData,\n decodeFunctionResult as decodeEVMFunctionResult,\n decodeErrorResult as decodeEVMErrorResult,\n getAbiItem,\n toFunctionSelector,\n} from 'viem';\nimport {\n decodeFunctionData as decodeCoreFunctionData,\n decodeFunctionResult as decodeCoreFunctionResult,\n // TODO\n // decodeErrorResult as decodeCoreErrorResult,\n} from 'cive';\nimport {\n decodeAbiParameters as decodeCoreAbiParameters,\n formatAbiItem as formatCoreAbiItem,\n} from 'cive/utils';\nimport { NETWORK_ID } from './constants';\n\nexport const decodeFunctionData = ({\n data,\n abi,\n space,\n}: {\n data: `0x${string}`;\n abi: Abi;\n space: 'evm' | 'core';\n}): {\n args: readonly unknown[] | undefined;\n functionName: string;\n} => {\n if (space === 'core') {\n return decodeCoreFunctionData({\n data,\n abi,\n networkId: NETWORK_ID,\n });\n } else {\n return decodeEVMFunctionData({\n data,\n abi,\n });\n }\n};\n\nexport const decodeFunctionResult = ({\n data,\n abi,\n functionName,\n space,\n}: {\n data: `0x${string}`;\n functionName: string;\n abi: Abi;\n space: 'evm' | 'core';\n}): unknown => {\n if (space === 'core') {\n return decodeCoreFunctionResult({\n data,\n functionName,\n abi,\n networkId: NETWORK_ID,\n });\n } else {\n return decodeEVMFunctionResult({\n data,\n functionName,\n abi,\n });\n }\n};\n\nexport const decodeErrorResult = ({\n data,\n abi,\n space,\n}: {\n data: `0x${string}`;\n abi: Abi;\n space: 'evm' | 'core';\n}): {\n abiItem: AbiItem;\n args: readonly unknown[] | undefined;\n errorName: string;\n} => {\n if (space === 'core') {\n // cive not support decodeErrorResult method, temp solution\n if (data.length < 10 || !data.startsWith('0x'))\n throw new Error('Invalid data');\n const signature = data.slice(0, 10);\n\n const abiItem = abi.find(\n x =>\n x.type === 'error' &&\n signature === toFunctionSelector(formatCoreAbiItem(x)),\n );\n if (!abiItem)\n throw new Error(`not found abi item for error signature: ${signature}`);\n return {\n abiItem,\n args:\n 'inputs' in abiItem && abiItem.inputs && abiItem.inputs.length > 0\n ? decodeCoreAbiParameters(\n abiItem.inputs,\n `0x${data.slice(10)}`,\n NETWORK_ID,\n )\n : undefined,\n errorName: (abiItem as { name: string }).name,\n };\n } else {\n return decodeEVMErrorResult({\n data,\n abi,\n });\n }\n};\n\nexport { getAbiItem };\nexport type { AbiParameter, AbiItem, AbiStateMutability };\nexport type AbiError = AbiItem & { type: 'error' };\nexport type AbiFunctionWithoutGas = Omit<AbiItem & { type: 'function' }, 'gas'>;\n"],"mappings":"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","names":["size","size","data","length","consumed","value","size","formatAbiItem","formatAbiParams","decodeFunctionData","getAbiItem","decodeFunctionResult","getAbiItem","decodeFunctionData","decodeFunctionResult","decodeErrorResult","formatAbiItem"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/abis/CommonPanic.ts
|
|
2
|
+
var CommonPanic_default = [
|
|
3
|
+
{
|
|
4
|
+
inputs: [
|
|
5
|
+
{
|
|
6
|
+
name: "code",
|
|
7
|
+
type: "uint256"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
name: "Panic",
|
|
11
|
+
type: "error"
|
|
12
|
+
}
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
CommonPanic_default
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=chunk-ADNS57X5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/abis/CommonPanic.ts"],"sourcesContent":["export default [\n {\n inputs: [\n {\n name: 'code',\n type: 'uint256',\n },\n ],\n name: 'Panic',\n type: 'error',\n },\n] as const;\n"],"mappings":";AAAA,IAAO,sBAAQ;AAAA,EACb;AAAA,IACE,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;","names":[]}
|
|
@@ -3,19 +3,19 @@ import {
|
|
|
3
3
|
ContractCreatedAddress,
|
|
4
4
|
InvalidAddress,
|
|
5
5
|
MyAddress
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-NZY53U2H.js";
|
|
7
7
|
import {
|
|
8
8
|
RenderAddress
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GKZK26DZ.js";
|
|
10
10
|
import {
|
|
11
11
|
convertCheckSum,
|
|
12
12
|
formatAddress,
|
|
13
13
|
isEvmAddress,
|
|
14
14
|
isZeroAddress
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-CNF26YY7.js";
|
|
16
16
|
import {
|
|
17
17
|
getLabelInfo
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-Q2DX6IDH.js";
|
|
19
19
|
import {
|
|
20
20
|
getTranslations,
|
|
21
21
|
useGlobalData
|
|
@@ -105,4 +105,4 @@ var EVMAddressContainer = withTranslation()(
|
|
|
105
105
|
export {
|
|
106
106
|
EVMAddressContainer
|
|
107
107
|
};
|
|
108
|
-
//# sourceMappingURL=chunk-
|
|
108
|
+
//# sourceMappingURL=chunk-ADULNBMD.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isCoreMainOrTestAddress
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CNF26YY7.js";
|
|
4
4
|
import {
|
|
5
5
|
apiPrefix
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WIB76E7O.js";
|
|
7
7
|
import {
|
|
8
8
|
sendRequestENSInfo
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-5EDEEGZK.js";
|
|
10
10
|
import {
|
|
11
11
|
useENSStore
|
|
12
12
|
} from "./chunk-DQGLZCIG.js";
|
|
@@ -60,4 +60,4 @@ var useENS = (address) => {
|
|
|
60
60
|
export {
|
|
61
61
|
useENS
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-BUSBM33B.js.map
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useAddressLabel
|
|
3
|
+
} from "./chunk-6H5A42YS.js";
|
|
4
|
+
import {
|
|
5
|
+
useENS
|
|
6
|
+
} from "./chunk-BUSBM33B.js";
|
|
7
|
+
import {
|
|
8
|
+
Text
|
|
9
|
+
} from "./chunk-P4EE3QGM.js";
|
|
10
|
+
import {
|
|
11
|
+
getLabelInfo
|
|
12
|
+
} from "./chunk-Q2DX6IDH.js";
|
|
13
|
+
import {
|
|
14
|
+
getTranslations
|
|
15
|
+
} from "./chunk-DQGLZCIG.js";
|
|
16
|
+
|
|
17
|
+
// src/components/InputData/AddressLabel.tsx
|
|
18
|
+
import { Bookmark } from "@zeit-ui/react-icons";
|
|
19
|
+
import { useTranslation } from "react-i18next";
|
|
20
|
+
import { useMemo } from "react";
|
|
21
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
22
|
+
var AddressLabel = ({
|
|
23
|
+
address,
|
|
24
|
+
space
|
|
25
|
+
}) => {
|
|
26
|
+
const translations = getTranslations();
|
|
27
|
+
const { ens } = useENS(space === "core" ? address : null);
|
|
28
|
+
const { t } = useTranslation();
|
|
29
|
+
const addressLabel = useAddressLabel(address);
|
|
30
|
+
const { label, icon } = useMemo(
|
|
31
|
+
() => getLabelInfo(ens[address]?.name ?? "", "ens"),
|
|
32
|
+
[address, ens]
|
|
33
|
+
);
|
|
34
|
+
const addressLabelIcon = /* @__PURE__ */ jsx(Text, { tag: "span", hoverValue: t(translations.profile.tip.label), children: /* @__PURE__ */ jsx(Bookmark, { color: "var(--theme-color-gray2)", size: 16 }) });
|
|
35
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
36
|
+
label && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
37
|
+
" ",
|
|
38
|
+
"(",
|
|
39
|
+
icon,
|
|
40
|
+
label,
|
|
41
|
+
")"
|
|
42
|
+
] }),
|
|
43
|
+
addressLabel && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
44
|
+
" ",
|
|
45
|
+
"(",
|
|
46
|
+
addressLabelIcon,
|
|
47
|
+
addressLabel,
|
|
48
|
+
")"
|
|
49
|
+
] })
|
|
50
|
+
] });
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export {
|
|
54
|
+
AddressLabel
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=chunk-CKVDFS45.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/InputData/AddressLabel.tsx"],"sourcesContent":["import { Bookmark } from '@zeit-ui/react-icons';\nimport { useTranslation } from 'react-i18next';\nimport { Text } from '../Text';\nimport { getTranslations } from 'src/store';\nimport { useENS } from 'src/utils/hooks/useENS';\nimport { useMemo } from 'react';\nimport { getLabelInfo } from '../AddressContainer/label';\nimport { useAddressLabel } from 'src/utils/hooks/useAddressLabel';\n\nexport const AddressLabel = ({\n address,\n space,\n}: {\n address: string;\n space: 'evm' | 'core';\n}) => {\n const translations = getTranslations();\n // ENS is only for core space, and we don't want to request ENS info for evm space to avoid unnecessary requests\n const { ens } = useENS(space === 'core' ? address : null);\n const { t } = useTranslation();\n\n const addressLabel = useAddressLabel(address);\n\n const { label, icon } = useMemo(\n () => getLabelInfo(ens[address]?.name ?? '', 'ens'),\n [address, ens],\n );\n\n const addressLabelIcon = (\n <Text tag=\"span\" hoverValue={t(translations.profile.tip.label)}>\n <Bookmark color=\"var(--theme-color-gray2)\" size={16} />\n </Text>\n );\n\n return (\n <>\n {label && (\n <>\n {' '}\n ({icon}\n {label})\n </>\n )}\n {addressLabel && (\n <>\n {' '}\n ({addressLabelIcon}\n {addressLabel})\n </>\n )}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAI/B,SAAS,eAAe;AAyBlB,SAOE,UAPF,KAOE,YAPF;AArBC,IAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AACF,MAGM;AACJ,QAAM,eAAe,gBAAgB;AAErC,QAAM,EAAE,IAAI,IAAI,OAAO,UAAU,SAAS,UAAU,IAAI;AACxD,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,QAAM,eAAe,gBAAgB,OAAO;AAE5C,QAAM,EAAE,OAAO,KAAK,IAAI;AAAA,IACtB,MAAM,aAAa,IAAI,OAAO,GAAG,QAAQ,IAAI,KAAK;AAAA,IAClD,CAAC,SAAS,GAAG;AAAA,EACf;AAEA,QAAM,mBACJ,oBAAC,QAAK,KAAI,QAAO,YAAY,EAAE,aAAa,QAAQ,IAAI,KAAK,GAC3D,8BAAC,YAAS,OAAM,4BAA2B,MAAM,IAAI,GACvD;AAGF,SACE,iCACG;AAAA,aACC,iCACG;AAAA;AAAA,MAAI;AAAA,MACH;AAAA,MACD;AAAA,MAAM;AAAA,OACT;AAAA,IAED,gBACC,iCACG;AAAA;AAAA,MAAI;AAAA,MACH;AAAA,MACD;AAAA,MAAa;AAAA,OAChB;AAAA,KAEJ;AAEJ;","names":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
NETWORK_ID
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WIB76E7O.js";
|
|
4
4
|
import {
|
|
5
5
|
detectAccountType
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5EDEEGZK.js";
|
|
7
7
|
|
|
8
8
|
// src/utils/address.ts
|
|
9
9
|
import SDK from "js-conflux-sdk";
|
|
@@ -281,4 +281,4 @@ export {
|
|
|
281
281
|
formatAddressHexToBase32,
|
|
282
282
|
isAddressEqual
|
|
283
283
|
};
|
|
284
|
-
//# sourceMappingURL=chunk-
|
|
284
|
+
//# sourceMappingURL=chunk-CNF26YY7.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getCurrencySymbol
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WIB76E7O.js";
|
|
4
4
|
import {
|
|
5
5
|
fetch
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5EDEEGZK.js";
|
|
7
7
|
|
|
8
8
|
// src/utils/index.ts
|
|
9
9
|
import BigNumber from "bignumber.js";
|
|
@@ -794,4 +794,4 @@ export {
|
|
|
794
794
|
viewJson,
|
|
795
795
|
formatABI
|
|
796
796
|
};
|
|
797
|
-
//# sourceMappingURL=chunk-
|
|
797
|
+
//# sourceMappingURL=chunk-CPPQCJEV.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
hex2utf8
|
|
3
|
+
} from "./chunk-CPPQCJEV.js";
|
|
4
|
+
|
|
5
|
+
// src/components/InputData/UTF8.tsx
|
|
6
|
+
import { useMemo } from "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
var UTF8 = ({ data }) => {
|
|
9
|
+
const str = useMemo(() => {
|
|
10
|
+
try {
|
|
11
|
+
return hex2utf8(data.startsWith("0x") ? data.substr(2) : data);
|
|
12
|
+
} catch (e) {
|
|
13
|
+
}
|
|
14
|
+
}, [data]);
|
|
15
|
+
return /* @__PURE__ */ jsx("div", { className: "m-initial h-13.2857rem overflow-y-auto text-#97a3b4 bg-#fafbfc px-0.7143rem font-inherit", children: /* @__PURE__ */ jsx("p", { children: str }) });
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
UTF8
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=chunk-CPR4QZT6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/InputData/UTF8.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { hex2utf8 } from '../../utils';\n\ninterface Props {\n data: string;\n}\n\nexport const UTF8 = ({ data }: Props) => {\n const str = useMemo(() => {\n try {\n return hex2utf8(data.startsWith('0x') ? data.substr(2) : data);\n } catch (e) {}\n }, [data]);\n\n return (\n <div className=\"m-initial h-13.2857rem overflow-y-auto text-#97a3b4 bg-#fafbfc px-0.7143rem font-inherit\">\n <p>{str}</p>\n </div>\n );\n};\n"],"mappings":";;;;;AAAA,SAAS,eAAe;AAgBlB;AATC,IAAM,OAAO,CAAC,EAAE,KAAK,MAAa;AACvC,QAAM,MAAM,QAAQ,MAAM;AACxB,QAAI;AACF,aAAO,SAAS,KAAK,WAAW,IAAI,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI;AAAA,IAC/D,SAAS,GAAP;AAAA,IAAW;AAAA,EACf,GAAG,CAAC,IAAI,CAAC;AAET,SACE,oBAAC,SAAI,WAAU,4FACb,8BAAC,OAAG,eAAI,GACV;AAEJ;","names":[]}
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
} from "./chunk-BMO4IZHV.js";
|
|
24
24
|
import {
|
|
25
25
|
cn
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-CPPQCJEV.js";
|
|
27
27
|
|
|
28
28
|
// src/components/Tooltip/index.tsx
|
|
29
29
|
import {
|
|
@@ -531,4 +531,4 @@ var Tooltip2 = ({
|
|
|
531
531
|
export {
|
|
532
532
|
Tooltip2 as Tooltip
|
|
533
533
|
};
|
|
534
|
-
//# sourceMappingURL=chunk-
|
|
534
|
+
//# sourceMappingURL=chunk-DF3PVTB5.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {
|
|
2
|
+
reqAbiByMethodId
|
|
3
|
+
} from "./chunk-5EDEEGZK.js";
|
|
4
|
+
|
|
5
|
+
// src/utils/hooks/useMethodAbi.ts
|
|
6
|
+
import useSWRImmutable from "swr/immutable";
|
|
7
|
+
var useMethodAbi = (methodId, shouldFetch = true) => {
|
|
8
|
+
return useSWRImmutable(
|
|
9
|
+
shouldFetch && methodId ? `method-abi-${methodId}` : null,
|
|
10
|
+
() => reqAbiByMethodId(methodId ?? "")
|
|
11
|
+
);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export {
|
|
15
|
+
useMethodAbi
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=chunk-E3ZD2GGG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/hooks/useMethodAbi.ts"],"sourcesContent":["import useSWRImmutable from 'swr/immutable';\nimport { reqAbiByMethodId } from '../request';\n\nexport const useMethodAbi = (methodId?: string, shouldFetch = true) => {\n return useSWRImmutable(\n shouldFetch && methodId ? `method-abi-${methodId}` : null,\n () => reqAbiByMethodId(methodId ?? ''),\n );\n};\n"],"mappings":";;;;;AAAA,OAAO,qBAAqB;AAGrB,IAAM,eAAe,CAAC,UAAmB,cAAc,SAAS;AACrE,SAAO;AAAA,IACL,eAAe,WAAW,cAAc,aAAa;AAAA,IACrD,MAAM,iBAAiB,YAAY,EAAE;AAAA,EACvC;AACF;","names":[]}
|