@cfxjs/sirius-next-common 0.2.22 → 0.2.24
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/{chunk-VVEA44KS.js → chunk-4B7BV62E.js} +3 -3
- package/dist/{chunk-LQCS5PT5.js → chunk-4BS66NNM.js} +2 -2
- package/dist/{chunk-CRTD2R3I.js → chunk-6C5NQACS.js} +4 -4
- package/dist/{chunk-7IGZGPFM.js → chunk-7RLNWQIR.js} +5 -5
- package/dist/{chunk-7P6KYI3Z.js → chunk-7WDLTRBN.js} +2 -2
- package/dist/{chunk-EQWC4NEP.js → chunk-A46LVI25.js} +2 -2
- package/dist/{chunk-N5X4DZS3.js → chunk-A6B5V6XY.js} +2 -2
- package/dist/{chunk-6KG65RIO.js → chunk-AQFNXW4W.js} +2 -2
- package/dist/{chunk-KHUI4JLS.js → chunk-ASS6TOFE.js} +4 -4
- package/dist/{chunk-XF2CMO2A.js → chunk-C6GUZVQ2.js} +2 -2
- package/dist/{chunk-YXREYDKU.js → chunk-CNXGYDZG.js} +6 -6
- package/dist/{chunk-KZ2KYINT.js → chunk-DASMAZXS.js} +4 -4
- package/dist/{chunk-ZSOMTVP5.js → chunk-E7FB4S3X.js} +8 -7
- package/dist/chunk-E7FB4S3X.js.map +1 -0
- package/dist/{chunk-TTNJMHOJ.js → chunk-EHRGH3HS.js} +4 -4
- package/dist/{chunk-6XLSWPR3.js → chunk-FGPRA3A4.js} +4 -4
- package/dist/{chunk-FUKVDD7K.js → chunk-FSYB23NA.js} +2 -2
- package/dist/{chunk-2KBVDLVC.js → chunk-FTAFV6RE.js} +5 -5
- package/dist/{chunk-TJZKPAAH.js → chunk-FW5ON36S.js} +5 -5
- package/dist/{chunk-ABO5SDB4.js → chunk-HCEXWKMZ.js} +4 -4
- package/dist/{chunk-VXHLESK7.js → chunk-J536GL5G.js} +2 -2
- package/dist/{chunk-6TKFGXSA.js → chunk-MQY7EQPG.js} +2 -2
- package/dist/{chunk-OMU7JQ6Y.js → chunk-MWSXXVVL.js} +7 -7
- package/dist/{chunk-DEZ6AV62.js → chunk-O6BP54O6.js} +3 -3
- package/dist/{chunk-DV3GFG5Q.js → chunk-OFAM2QTT.js} +2 -2
- package/dist/{chunk-2TO4UOX3.js → chunk-OT252GGM.js} +4 -4
- package/dist/{chunk-SQI2F34Q.js → chunk-OTSNM4CR.js} +2 -2
- package/dist/chunk-OTSNM4CR.js.map +1 -0
- package/dist/{chunk-FTRICVXA.js → chunk-R62HRSIY.js} +2 -2
- package/dist/{chunk-7PQ6YKBC.js → chunk-SIZYE6WH.js} +2 -2
- package/dist/{chunk-G246NFI4.js → chunk-SNUPCZY7.js} +2 -2
- package/dist/{chunk-P7M7B7ER.js → chunk-UVRMLFMC.js} +2 -2
- package/dist/{chunk-E7ZFE6KT.js → chunk-UX6IRX2M.js} +3 -3
- package/dist/{chunk-MF6LAIGP.js → chunk-VD73ULXJ.js} +3 -3
- package/dist/{chunk-RJOY6FMD.js → chunk-VEK5DLFI.js} +2 -2
- package/dist/{chunk-SFCNLOQ5.js → chunk-XI5WO2NW.js} +1 -1
- package/dist/chunk-XI5WO2NW.js.map +1 -0
- package/dist/components/AAFailedReason/index.js +3 -3
- package/dist/components/AceEditor/index.js +4 -4
- package/dist/components/AddressContainer/CoreAddressContainer.js +10 -10
- package/dist/components/AddressContainer/EVMAddressContainer.js +9 -9
- package/dist/components/AddressContainer/addressSwitcher.js +7 -7
- package/dist/components/AddressContainer/addressView.js +6 -6
- package/dist/components/AddressContainer/label.js +3 -3
- package/dist/components/AddressContainer/utils.js +3 -3
- package/dist/components/Age/index.js +4 -4
- package/dist/components/AutoComplete/index.js +3 -3
- package/dist/components/Charts/PreviewChartTemplate.js +1 -1
- package/dist/components/Charts/StockChartTemplate.js +1 -1
- package/dist/components/CopyButton/index.js +3 -3
- package/dist/components/DecimalsSelect/index.js +3 -3
- package/dist/components/DownloadCSV/index.js +4 -4
- package/dist/components/GasPriceDropdown/index.js +2 -2
- package/dist/components/IncreasePercent/index.js +2 -2
- package/dist/components/InfoIconWithTooltip/index.js +4 -4
- package/dist/components/InputData/AddressLabel.js +8 -8
- package/dist/components/InputData/ContractDetail.js +5 -5
- package/dist/components/InputData/JsonDecode.js +6 -6
- package/dist/components/InputData/OptimizationDecode.js +13 -13
- package/dist/components/InputData/UTF8.js +3 -3
- package/dist/components/InputData/index.js +17 -17
- package/dist/components/InputData/utils.js +1 -1
- package/dist/components/Modal/index.js +3 -3
- package/dist/components/NetworkIcon/index.js +2 -2
- package/dist/components/OutputData/ErrorDecode.js +16 -16
- package/dist/components/OutputData/index.js +18 -18
- package/dist/components/PhishingAddressContainer/index.js +4 -4
- package/dist/components/Popover/index.js +3 -3
- package/dist/components/Price/index.js +3 -3
- package/dist/components/ProxyContractAddress/index.js +6 -6
- package/dist/components/Radio/index.js +2 -2
- package/dist/components/SearchInput/index.js +4 -4
- package/dist/components/Select/index.js +4 -4
- package/dist/components/Select/select.js +3 -3
- package/dist/components/SmartAccountAddress/index.js +6 -6
- package/dist/components/Text/index.js +4 -4
- package/dist/components/Tooltip/index.js +3 -3
- package/dist/components/TransactionAction/coreTransactionAction.js +10 -10
- package/dist/components/TransactionAction/evmTransactionAction.js +9 -9
- package/dist/components/TransactionTrace/TraceDetail.js +26 -26
- package/dist/components/TransactionTrace/TreeTraceTable.js +27 -27
- package/dist/components/TransactionTrace/index.js +27 -27
- package/dist/utils/address.js +2 -2
- package/dist/utils/contractManagerTool.js +2 -2
- package/dist/utils/hooks/useAddressLabel.js +3 -3
- package/dist/utils/hooks/useAddressNameMap.js +2 -2
- package/dist/utils/hooks/useAutoSetHolderFilterParams.js +2 -2
- package/dist/utils/hooks/useContractDetail.js +2 -2
- package/dist/utils/hooks/useDecodeFunctionData.js +5 -5
- package/dist/utils/hooks/useDecodeFunctionError.js +3 -3
- package/dist/utils/hooks/useENS.js +3 -3
- package/dist/utils/hooks/useEnhanceDataWithNameMap.js +2 -2
- package/dist/utils/hooks/useMethodAbi.js +2 -2
- package/dist/utils/hooks/useTableData.js +1 -1
- package/dist/utils/hooks/useTxTrace.js +3 -3
- package/dist/utils/hooks/useTxTrace.js.map +1 -1
- package/dist/utils/index.js +2 -2
- package/dist/utils/request.d.ts +1 -0
- package/dist/utils/request.js +1 -1
- package/package.json +4 -4
- package/dist/chunk-SFCNLOQ5.js.map +0 -1
- package/dist/chunk-SQI2F34Q.js.map +0 -1
- package/dist/chunk-ZSOMTVP5.js.map +0 -1
- /package/dist/{chunk-VVEA44KS.js.map → chunk-4B7BV62E.js.map} +0 -0
- /package/dist/{chunk-LQCS5PT5.js.map → chunk-4BS66NNM.js.map} +0 -0
- /package/dist/{chunk-CRTD2R3I.js.map → chunk-6C5NQACS.js.map} +0 -0
- /package/dist/{chunk-7IGZGPFM.js.map → chunk-7RLNWQIR.js.map} +0 -0
- /package/dist/{chunk-7P6KYI3Z.js.map → chunk-7WDLTRBN.js.map} +0 -0
- /package/dist/{chunk-EQWC4NEP.js.map → chunk-A46LVI25.js.map} +0 -0
- /package/dist/{chunk-N5X4DZS3.js.map → chunk-A6B5V6XY.js.map} +0 -0
- /package/dist/{chunk-6KG65RIO.js.map → chunk-AQFNXW4W.js.map} +0 -0
- /package/dist/{chunk-KHUI4JLS.js.map → chunk-ASS6TOFE.js.map} +0 -0
- /package/dist/{chunk-XF2CMO2A.js.map → chunk-C6GUZVQ2.js.map} +0 -0
- /package/dist/{chunk-YXREYDKU.js.map → chunk-CNXGYDZG.js.map} +0 -0
- /package/dist/{chunk-KZ2KYINT.js.map → chunk-DASMAZXS.js.map} +0 -0
- /package/dist/{chunk-TTNJMHOJ.js.map → chunk-EHRGH3HS.js.map} +0 -0
- /package/dist/{chunk-6XLSWPR3.js.map → chunk-FGPRA3A4.js.map} +0 -0
- /package/dist/{chunk-FUKVDD7K.js.map → chunk-FSYB23NA.js.map} +0 -0
- /package/dist/{chunk-2KBVDLVC.js.map → chunk-FTAFV6RE.js.map} +0 -0
- /package/dist/{chunk-TJZKPAAH.js.map → chunk-FW5ON36S.js.map} +0 -0
- /package/dist/{chunk-ABO5SDB4.js.map → chunk-HCEXWKMZ.js.map} +0 -0
- /package/dist/{chunk-VXHLESK7.js.map → chunk-J536GL5G.js.map} +0 -0
- /package/dist/{chunk-6TKFGXSA.js.map → chunk-MQY7EQPG.js.map} +0 -0
- /package/dist/{chunk-OMU7JQ6Y.js.map → chunk-MWSXXVVL.js.map} +0 -0
- /package/dist/{chunk-DEZ6AV62.js.map → chunk-O6BP54O6.js.map} +0 -0
- /package/dist/{chunk-DV3GFG5Q.js.map → chunk-OFAM2QTT.js.map} +0 -0
- /package/dist/{chunk-2TO4UOX3.js.map → chunk-OT252GGM.js.map} +0 -0
- /package/dist/{chunk-FTRICVXA.js.map → chunk-R62HRSIY.js.map} +0 -0
- /package/dist/{chunk-7PQ6YKBC.js.map → chunk-SIZYE6WH.js.map} +0 -0
- /package/dist/{chunk-G246NFI4.js.map → chunk-SNUPCZY7.js.map} +0 -0
- /package/dist/{chunk-P7M7B7ER.js.map → chunk-UVRMLFMC.js.map} +0 -0
- /package/dist/{chunk-E7ZFE6KT.js.map → chunk-UX6IRX2M.js.map} +0 -0
- /package/dist/{chunk-MF6LAIGP.js.map → chunk-VD73ULXJ.js.map} +0 -0
- /package/dist/{chunk-RJOY6FMD.js.map → chunk-VEK5DLFI.js.map} +0 -0
|
@@ -1,54 +1,54 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TreeTraceTable
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-A46LVI25.js";
|
|
4
|
+
import "../../chunk-7RLNWQIR.js";
|
|
5
|
+
import "../../chunk-6C5NQACS.js";
|
|
6
|
+
import "../../chunk-7WDLTRBN.js";
|
|
7
7
|
import "../../chunk-UM5J477V.js";
|
|
8
8
|
import "../../chunk-XZ7IV2FF.js";
|
|
9
|
-
import "../../chunk-
|
|
10
|
-
import "../../chunk-
|
|
9
|
+
import "../../chunk-VD73ULXJ.js";
|
|
10
|
+
import "../../chunk-SIZYE6WH.js";
|
|
11
11
|
import "../../chunk-NWVSTRCG.js";
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
14
|
-
import "../../chunk-
|
|
12
|
+
import "../../chunk-ASS6TOFE.js";
|
|
13
|
+
import "../../chunk-HCEXWKMZ.js";
|
|
14
|
+
import "../../chunk-OT252GGM.js";
|
|
15
15
|
import "../../chunk-OYESIV3F.js";
|
|
16
|
-
import "../../chunk-
|
|
17
|
-
import "../../chunk-
|
|
18
|
-
import "../../chunk-
|
|
19
|
-
import "../../chunk-
|
|
20
|
-
import "../../chunk-
|
|
21
|
-
import "../../chunk-
|
|
16
|
+
import "../../chunk-DASMAZXS.js";
|
|
17
|
+
import "../../chunk-MWSXXVVL.js";
|
|
18
|
+
import "../../chunk-EHRGH3HS.js";
|
|
19
|
+
import "../../chunk-VEK5DLFI.js";
|
|
20
|
+
import "../../chunk-FGPRA3A4.js";
|
|
21
|
+
import "../../chunk-4BS66NNM.js";
|
|
22
22
|
import "../../chunk-FYLAXC3R.js";
|
|
23
|
-
import "../../chunk-
|
|
23
|
+
import "../../chunk-XI5WO2NW.js";
|
|
24
24
|
import "../../chunk-5AM5HM3B.js";
|
|
25
|
-
import "../../chunk-
|
|
25
|
+
import "../../chunk-UVRMLFMC.js";
|
|
26
26
|
import "../../chunk-XBEBAU77.js";
|
|
27
27
|
import "../../chunk-Y7OVL5US.js";
|
|
28
28
|
import "../../chunk-O6NJ56NA.js";
|
|
29
29
|
import "../../chunk-XCKMXAL2.js";
|
|
30
30
|
import "../../chunk-2Y57U43P.js";
|
|
31
31
|
import "../../chunk-TGK5LP2H.js";
|
|
32
|
-
import "../../chunk-
|
|
32
|
+
import "../../chunk-C6GUZVQ2.js";
|
|
33
33
|
import "../../chunk-6SXAFSBF.js";
|
|
34
34
|
import "../../chunk-JIRLY7OG.js";
|
|
35
35
|
import "../../chunk-4B6ASBYQ.js";
|
|
36
|
-
import "../../chunk-
|
|
36
|
+
import "../../chunk-OFAM2QTT.js";
|
|
37
37
|
import "../../chunk-5TGK2EA2.js";
|
|
38
38
|
import "../../chunk-ADNS57X5.js";
|
|
39
|
-
import "../../chunk-
|
|
40
|
-
import "../../chunk-
|
|
41
|
-
import "../../chunk-
|
|
39
|
+
import "../../chunk-R62HRSIY.js";
|
|
40
|
+
import "../../chunk-O6BP54O6.js";
|
|
41
|
+
import "../../chunk-OTSNM4CR.js";
|
|
42
42
|
import "../../chunk-MWAD4CIG.js";
|
|
43
|
-
import "../../chunk-
|
|
44
|
-
import "../../chunk-
|
|
43
|
+
import "../../chunk-MQY7EQPG.js";
|
|
44
|
+
import "../../chunk-4B7BV62E.js";
|
|
45
45
|
import "../../chunk-TOKKKTFG.js";
|
|
46
|
-
import "../../chunk-
|
|
46
|
+
import "../../chunk-J536GL5G.js";
|
|
47
47
|
import "../../chunk-BMO4IZHV.js";
|
|
48
48
|
import "../../chunk-LRCAKRPK.js";
|
|
49
|
-
import "../../chunk-
|
|
49
|
+
import "../../chunk-SNUPCZY7.js";
|
|
50
50
|
import "../../chunk-WIB76E7O.js";
|
|
51
|
-
import "../../chunk-
|
|
51
|
+
import "../../chunk-E7FB4S3X.js";
|
|
52
52
|
import "../../chunk-J2I22Q2M.js";
|
|
53
53
|
import "../../chunk-YEINMVAR.js";
|
|
54
54
|
import "../../chunk-DQGLZCIG.js";
|
|
@@ -1,56 +1,56 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TreeTraceTable
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-A46LVI25.js";
|
|
4
4
|
import {
|
|
5
5
|
TraceDetail
|
|
6
|
-
} from "../../chunk-
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
6
|
+
} from "../../chunk-7RLNWQIR.js";
|
|
7
|
+
import "../../chunk-6C5NQACS.js";
|
|
8
|
+
import "../../chunk-7WDLTRBN.js";
|
|
9
9
|
import "../../chunk-UM5J477V.js";
|
|
10
10
|
import "../../chunk-XZ7IV2FF.js";
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
11
|
+
import "../../chunk-VD73ULXJ.js";
|
|
12
|
+
import "../../chunk-SIZYE6WH.js";
|
|
13
13
|
import "../../chunk-NWVSTRCG.js";
|
|
14
|
-
import "../../chunk-
|
|
15
|
-
import "../../chunk-
|
|
16
|
-
import "../../chunk-
|
|
14
|
+
import "../../chunk-ASS6TOFE.js";
|
|
15
|
+
import "../../chunk-HCEXWKMZ.js";
|
|
16
|
+
import "../../chunk-OT252GGM.js";
|
|
17
17
|
import "../../chunk-OYESIV3F.js";
|
|
18
|
-
import "../../chunk-
|
|
19
|
-
import "../../chunk-
|
|
20
|
-
import "../../chunk-
|
|
21
|
-
import "../../chunk-
|
|
22
|
-
import "../../chunk-
|
|
23
|
-
import "../../chunk-
|
|
18
|
+
import "../../chunk-DASMAZXS.js";
|
|
19
|
+
import "../../chunk-MWSXXVVL.js";
|
|
20
|
+
import "../../chunk-EHRGH3HS.js";
|
|
21
|
+
import "../../chunk-VEK5DLFI.js";
|
|
22
|
+
import "../../chunk-FGPRA3A4.js";
|
|
23
|
+
import "../../chunk-4BS66NNM.js";
|
|
24
24
|
import "../../chunk-FYLAXC3R.js";
|
|
25
|
-
import "../../chunk-
|
|
25
|
+
import "../../chunk-XI5WO2NW.js";
|
|
26
26
|
import "../../chunk-5AM5HM3B.js";
|
|
27
|
-
import "../../chunk-
|
|
27
|
+
import "../../chunk-UVRMLFMC.js";
|
|
28
28
|
import "../../chunk-XBEBAU77.js";
|
|
29
29
|
import "../../chunk-Y7OVL5US.js";
|
|
30
30
|
import "../../chunk-O6NJ56NA.js";
|
|
31
31
|
import "../../chunk-XCKMXAL2.js";
|
|
32
32
|
import "../../chunk-2Y57U43P.js";
|
|
33
33
|
import "../../chunk-TGK5LP2H.js";
|
|
34
|
-
import "../../chunk-
|
|
34
|
+
import "../../chunk-C6GUZVQ2.js";
|
|
35
35
|
import "../../chunk-6SXAFSBF.js";
|
|
36
36
|
import "../../chunk-JIRLY7OG.js";
|
|
37
37
|
import "../../chunk-4B6ASBYQ.js";
|
|
38
|
-
import "../../chunk-
|
|
38
|
+
import "../../chunk-OFAM2QTT.js";
|
|
39
39
|
import "../../chunk-5TGK2EA2.js";
|
|
40
40
|
import "../../chunk-ADNS57X5.js";
|
|
41
|
-
import "../../chunk-
|
|
42
|
-
import "../../chunk-
|
|
43
|
-
import "../../chunk-
|
|
41
|
+
import "../../chunk-R62HRSIY.js";
|
|
42
|
+
import "../../chunk-O6BP54O6.js";
|
|
43
|
+
import "../../chunk-OTSNM4CR.js";
|
|
44
44
|
import "../../chunk-MWAD4CIG.js";
|
|
45
|
-
import "../../chunk-
|
|
46
|
-
import "../../chunk-
|
|
45
|
+
import "../../chunk-MQY7EQPG.js";
|
|
46
|
+
import "../../chunk-4B7BV62E.js";
|
|
47
47
|
import "../../chunk-TOKKKTFG.js";
|
|
48
|
-
import "../../chunk-
|
|
48
|
+
import "../../chunk-J536GL5G.js";
|
|
49
49
|
import "../../chunk-BMO4IZHV.js";
|
|
50
50
|
import "../../chunk-LRCAKRPK.js";
|
|
51
|
-
import "../../chunk-
|
|
51
|
+
import "../../chunk-SNUPCZY7.js";
|
|
52
52
|
import "../../chunk-WIB76E7O.js";
|
|
53
|
-
import "../../chunk-
|
|
53
|
+
import "../../chunk-E7FB4S3X.js";
|
|
54
54
|
import "../../chunk-J2I22Q2M.js";
|
|
55
55
|
import "../../chunk-YEINMVAR.js";
|
|
56
56
|
import "../../chunk-DQGLZCIG.js";
|
package/dist/utils/address.js
CHANGED
|
@@ -23,9 +23,9 @@ import {
|
|
|
23
23
|
isSimplyZeroAddress,
|
|
24
24
|
isSpecialAddress,
|
|
25
25
|
isZeroAddress
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-MQY7EQPG.js";
|
|
27
27
|
import "../chunk-WIB76E7O.js";
|
|
28
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-E7FB4S3X.js";
|
|
29
29
|
import "../chunk-J2I22Q2M.js";
|
|
30
30
|
import "../chunk-YEINMVAR.js";
|
|
31
31
|
import "../chunk-DQGLZCIG.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseString
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-SNUPCZY7.js";
|
|
4
4
|
import "../chunk-WIB76E7O.js";
|
|
5
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-E7FB4S3X.js";
|
|
6
6
|
import "../chunk-J2I22Q2M.js";
|
|
7
7
|
import "../chunk-YEINMVAR.js";
|
|
8
8
|
import "../chunk-DQGLZCIG.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useAddressLabel
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-VEK5DLFI.js";
|
|
4
|
+
import "../../chunk-MQY7EQPG.js";
|
|
5
5
|
import "../../chunk-WIB76E7O.js";
|
|
6
|
-
import "../../chunk-
|
|
6
|
+
import "../../chunk-E7FB4S3X.js";
|
|
7
7
|
import "../../chunk-J2I22Q2M.js";
|
|
8
8
|
import "../../chunk-YEINMVAR.js";
|
|
9
9
|
import "../../chunk-DQGLZCIG.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
transformNameMapKeysToLowerCase,
|
|
3
3
|
useAddressNameMap
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-4BS66NNM.js";
|
|
5
|
+
import "../../chunk-E7FB4S3X.js";
|
|
6
6
|
import "../../chunk-J2I22Q2M.js";
|
|
7
7
|
import "../../chunk-YEINMVAR.js";
|
|
8
8
|
import "../../chunk-DQGLZCIG.js";
|
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
} from "../../chunk-CPSXYQJ7.js";
|
|
4
4
|
import {
|
|
5
5
|
isAddressEqual
|
|
6
|
-
} from "../../chunk-
|
|
6
|
+
} from "../../chunk-MQY7EQPG.js";
|
|
7
7
|
import "../../chunk-WIB76E7O.js";
|
|
8
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-E7FB4S3X.js";
|
|
9
9
|
import "../../chunk-J2I22Q2M.js";
|
|
10
10
|
import "../../chunk-YEINMVAR.js";
|
|
11
11
|
import "../../chunk-DQGLZCIG.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useContractDetail
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-OFAM2QTT.js";
|
|
4
|
+
import "../../chunk-E7FB4S3X.js";
|
|
5
5
|
import "../../chunk-J2I22Q2M.js";
|
|
6
6
|
import "../../chunk-YEINMVAR.js";
|
|
7
7
|
import "../../chunk-DQGLZCIG.js";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useDecodeFunctionData
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-6C5NQACS.js";
|
|
4
|
+
import "../../chunk-7WDLTRBN.js";
|
|
5
5
|
import "../../chunk-6SXAFSBF.js";
|
|
6
6
|
import "../../chunk-JIRLY7OG.js";
|
|
7
7
|
import "../../chunk-4B6ASBYQ.js";
|
|
8
|
-
import "../../chunk-
|
|
9
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-OFAM2QTT.js";
|
|
9
|
+
import "../../chunk-SNUPCZY7.js";
|
|
10
10
|
import "../../chunk-WIB76E7O.js";
|
|
11
|
-
import "../../chunk-
|
|
11
|
+
import "../../chunk-E7FB4S3X.js";
|
|
12
12
|
import "../../chunk-J2I22Q2M.js";
|
|
13
13
|
import "../../chunk-YEINMVAR.js";
|
|
14
14
|
import "../../chunk-DQGLZCIG.js";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useDecodeFunctionError
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-C6GUZVQ2.js";
|
|
4
4
|
import "../../chunk-6SXAFSBF.js";
|
|
5
5
|
import "../../chunk-JIRLY7OG.js";
|
|
6
6
|
import "../../chunk-4B6ASBYQ.js";
|
|
7
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-OFAM2QTT.js";
|
|
8
8
|
import "../../chunk-5TGK2EA2.js";
|
|
9
9
|
import "../../chunk-ADNS57X5.js";
|
|
10
10
|
import "../../chunk-WIB76E7O.js";
|
|
11
|
-
import "../../chunk-
|
|
11
|
+
import "../../chunk-E7FB4S3X.js";
|
|
12
12
|
import "../../chunk-J2I22Q2M.js";
|
|
13
13
|
import "../../chunk-YEINMVAR.js";
|
|
14
14
|
import "../../chunk-DQGLZCIG.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useENS
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-O6BP54O6.js";
|
|
4
|
+
import "../../chunk-MQY7EQPG.js";
|
|
5
5
|
import "../../chunk-WIB76E7O.js";
|
|
6
|
-
import "../../chunk-
|
|
6
|
+
import "../../chunk-E7FB4S3X.js";
|
|
7
7
|
import "../../chunk-J2I22Q2M.js";
|
|
8
8
|
import "../../chunk-YEINMVAR.js";
|
|
9
9
|
import "../../chunk-DQGLZCIG.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
transformNameMapKeysToLowerCase,
|
|
3
3
|
useAddressNameMap
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-4BS66NNM.js";
|
|
5
|
+
import "../../chunk-E7FB4S3X.js";
|
|
6
6
|
import "../../chunk-J2I22Q2M.js";
|
|
7
7
|
import "../../chunk-YEINMVAR.js";
|
|
8
8
|
import "../../chunk-DQGLZCIG.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useMethodAbi
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-7WDLTRBN.js";
|
|
4
|
+
import "../../chunk-E7FB4S3X.js";
|
|
5
5
|
import "../../chunk-J2I22Q2M.js";
|
|
6
6
|
import "../../chunk-YEINMVAR.js";
|
|
7
7
|
import "../../chunk-DQGLZCIG.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
formatAddress
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-MQY7EQPG.js";
|
|
4
4
|
import {
|
|
5
5
|
formatABI
|
|
6
|
-
} from "../../chunk-
|
|
6
|
+
} from "../../chunk-SNUPCZY7.js";
|
|
7
7
|
import "../../chunk-WIB76E7O.js";
|
|
8
8
|
import {
|
|
9
9
|
fetchWithPrefix
|
|
10
|
-
} from "../../chunk-
|
|
10
|
+
} from "../../chunk-E7FB4S3X.js";
|
|
11
11
|
import {
|
|
12
12
|
publishRequestError
|
|
13
13
|
} from "../../chunk-J2I22Q2M.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/hooks/useTxTrace.ts"],"sourcesContent":["import useSWRImmutable from 'swr/immutable';\nimport { fetchWithPrefix } from 'src/utils/request';\nimport { publishRequestError } from '../pubsub';\nimport type { AbiFunctionWithoutGas } from 'src/utils/sdk';\nimport { formatABI } from '..';\nimport { formatAddress } from '../address';\nimport { AddressNameMap, Pocket } from '../request.types';\n\nexport interface TraceAction {\n createType: string;\n callType: string;\n from: string;\n to?: string;\n input?: `0x${string}`;\n value: string;\n gas?: string;\n space: string;\n\n // ↓↓↓↓↓↓↓↓ only for core space ↓↓↓↓↓↓↓↓\n fromPocket?: Pocket;\n toPocket?: Pocket;\n fromSpace?: 'evm' | 'none' | 'native';\n toSpace?: 'evm' | 'none' | 'native';\n}\nexport interface TraceResult {\n addr?: string;\n gasLeft: string;\n outcome: 'success' | 'fail' | 'reverted';\n returnData: `0x${string}`;\n}\n\nexport interface OriginTreeTrace {\n calls: OriginTreeTrace[];\n action: TraceAction;\n result?: TraceResult;\n blockHash: string;\n epochHash: string;\n epochNumber: number;\n transactionHash: string;\n transactionPosition: number;\n type: string;\n valid: boolean;\n // added by frontend\n isCallImpl?: boolean;\n}\n\nexport type ProxyType = 'BeaconProxy' | 'Proxy';\n\nexport interface OriginTraceData {\n addressArray: string[];\n authMap?: Record<string, string>;\n proxyMap?: Record<string, ProxyType>;\n methodMap?: Record<string, Record<string, string>>;\n nameMap?: Record<string, AddressNameMap>;\n traceTree: OriginTreeTrace[];\n}\n\nexport interface ListTraceForUI {\n index: string;\n type: string;\n from: string;\n to?: string;\n value: string;\n input?: `0x${string}`;\n result?: TraceResult;\n gas?: string;\n isProxyCall?: boolean;\n method?: string;\n contractCreated?: string;\n abi?: AbiFunctionWithoutGas[];\n nameMap: Record<string, AddressNameMap>;\n proxy?: {\n type: ProxyType;\n beaconAddress?: string;\n implAddress: string;\n };\n isCallBeacon?: boolean;\n isCallImpl?: boolean;\n // only for evm space ↓↓↓↓↓↓↓↓\n delegatedTo?: string;\n // only for core space ↓↓↓↓↓↓↓↓\n fromPocket?: Pocket;\n toPocket?: Pocket;\n}\n\nexport interface TreeTraceForUI extends ListTraceForUI {\n calls?: TreeTraceForUI[];\n}\n\nconst formatTraceData = (data: OriginTraceData, space: 'evm' | 'core') => {\n const addressType = space === 'core' ? 'base32' : 'hex';\n const proxyMap = data.proxyMap || {};\n const methodMap = data.methodMap || {};\n const nameMap = data.nameMap || {};\n const authMap = data.authMap || {};\n\n let total = 0;\n\n const formatList = (\n t: OriginTreeTrace[],\n parent?: TreeTraceForUI,\n ): TreeTraceForUI[] => {\n total += t.length;\n return t.map((item, index) => formatItem(item, index, parent, t));\n };\n const formatItem = (\n t: OriginTreeTrace,\n index: number,\n parent: TreeTraceForUI | undefined,\n list: OriginTreeTrace[],\n ): TreeTraceForUI => {\n const methodId = t.action.input?.slice(0, 10);\n const from = formatAddress(t.action.from, addressType);\n const to = formatAddress(t.action.to, addressType);\n const delegatedTo = to && authMap[to];\n let method = methodId;\n let abi: AbiFunctionWithoutGas[] | undefined = undefined;\n const methodABI =\n methodId && (delegatedTo || to)\n ? methodMap[methodId]?.[delegatedTo || to]\n : undefined;\n if (methodABI) {\n try {\n const result = formatABI(`[\"${methodABI}\"]`, {\n json: true,\n allowEmpty: true,\n });\n abi = JSON.parse(result) as AbiFunctionWithoutGas[];\n const jsonABI = abi[0];\n method = jsonABI?.name || methodId;\n } catch (error) {\n console.log('parse method abi error: ', methodABI, error);\n }\n }\n\n const isContractCreated = !!t.action.createType;\n\n const item: TreeTraceForUI = {\n index: `${parent?.index ? `${parent.index}_` : ''}${index}`,\n type: `${t.action.callType || t.type}`,\n from: from,\n to: to,\n input: t.action.input,\n value: t.action.value,\n result: t.result,\n gas: t.action.gas,\n method,\n abi,\n contractCreated: isContractCreated ? t.result?.addr : undefined,\n nameMap,\n delegatedTo,\n isCallImpl: t.isCallImpl,\n fromPocket: t.action.fromPocket,\n toPocket: t.action.toPocket,\n };\n if (\n parent &&\n parent.to &&\n proxyMap[parent.to] &&\n from === parent.to &&\n to\n ) {\n // proxy call\n if (\n index === 0 &&\n proxyMap[parent.to] === 'Proxy' &&\n t.action.callType === 'delegatecall'\n ) {\n parent.proxy = {\n type: 'Proxy',\n implAddress: to,\n };\n item.isCallImpl = true;\n }\n // beacon proxy call\n const second = list[1];\n if (\n index === 0 &&\n proxyMap[parent.to] === 'BeaconProxy' &&\n t.action.callType === 'staticcall' &&\n second &&\n second.action.to &&\n second.action.from === parent.to &&\n second.action.callType === 'delegatecall'\n ) {\n parent.proxy = {\n type: 'BeaconProxy',\n beaconAddress: to,\n implAddress: second.action.to,\n };\n item.isCallBeacon = true;\n second.isCallImpl = true;\n }\n }\n if (t.calls) {\n item.calls = formatList(t.calls, item);\n }\n return item;\n };\n const list = formatList(data.traceTree);\n return {\n total,\n list,\n };\n};\n\nexport const treeTraceToList = (\n data: TreeTraceForUI[],\n showProxyCall = false,\n) => {\n const result: ListTraceForUI[] = [];\n const handler = (list: TreeTraceForUI[]) => {\n list.forEach(item => {\n if (showProxyCall || (!item.isCallBeacon && !item.isCallImpl)) {\n result.push(item);\n }\n if (item.calls) {\n handler(item.calls);\n }\n });\n };\n handler(data);\n return result;\n};\n\nexport const hideProxyCallInTreeTrace = (data: TreeTraceForUI[]) => {\n const handler = (list: TreeTraceForUI[]) => {\n const result: TreeTraceForUI[] = [];\n list.forEach(item => {\n const newTrace = { ...item };\n if (!newTrace.isCallBeacon && !newTrace.isCallImpl) {\n result.push(newTrace);\n if (newTrace.calls) {\n newTrace.calls = handler(newTrace.calls);\n }\n } else if (newTrace.calls) {\n result.push(...handler(newTrace.calls));\n }\n });\n return result;\n };\n return handler(data);\n};\n\nexport const useTxTrace = (\n hash: string,\n space: 'evm' | 'core',\n {\n isAATx = false,\n }: {\n isAATx?: boolean;\n } = {},\n) => {\n const url = `/transferTree/${hash}${isAATx ? '?txType=aa' : ''}`;\n\n return useSWRImmutable([url, space], () =>\n fetchWithPrefix(url)\n .then((resp: any) => {\n if (resp?.traceTree) {\n const { list, total } = formatTraceData(resp, space);\n return { list, total };\n }\n })\n .catch(e => {\n publishRequestError({ code: 60002, message: e.message }, 'code');\n }),\n );\n};\n"],"mappings":"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","names":["list"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/hooks/useTxTrace.ts"],"sourcesContent":["import useSWRImmutable from 'swr/immutable';\nimport { fetchWithPrefix } from '../request';\nimport { publishRequestError } from '../pubsub';\nimport type { AbiFunctionWithoutGas } from '../sdk';\nimport { formatABI } from '..';\nimport { formatAddress } from '../address';\nimport { AddressNameMap, Pocket } from '../request.types';\n\nexport interface TraceAction {\n createType: string;\n callType: string;\n from: string;\n to?: string;\n input?: `0x${string}`;\n value: string;\n gas?: string;\n space: string;\n\n // ↓↓↓↓↓↓↓↓ only for core space ↓↓↓↓↓↓↓↓\n fromPocket?: Pocket;\n toPocket?: Pocket;\n fromSpace?: 'evm' | 'none' | 'native';\n toSpace?: 'evm' | 'none' | 'native';\n}\nexport interface TraceResult {\n addr?: string;\n gasLeft: string;\n outcome: 'success' | 'fail' | 'reverted';\n returnData: `0x${string}`;\n}\n\nexport interface OriginTreeTrace {\n calls: OriginTreeTrace[];\n action: TraceAction;\n result?: TraceResult;\n blockHash: string;\n epochHash: string;\n epochNumber: number;\n transactionHash: string;\n transactionPosition: number;\n type: string;\n valid: boolean;\n // added by frontend\n isCallImpl?: boolean;\n}\n\nexport type ProxyType = 'BeaconProxy' | 'Proxy';\n\nexport interface OriginTraceData {\n addressArray: string[];\n authMap?: Record<string, string>;\n proxyMap?: Record<string, ProxyType>;\n methodMap?: Record<string, Record<string, string>>;\n nameMap?: Record<string, AddressNameMap>;\n traceTree: OriginTreeTrace[];\n}\n\nexport interface ListTraceForUI {\n index: string;\n type: string;\n from: string;\n to?: string;\n value: string;\n input?: `0x${string}`;\n result?: TraceResult;\n gas?: string;\n isProxyCall?: boolean;\n method?: string;\n contractCreated?: string;\n abi?: AbiFunctionWithoutGas[];\n nameMap: Record<string, AddressNameMap>;\n proxy?: {\n type: ProxyType;\n beaconAddress?: string;\n implAddress: string;\n };\n isCallBeacon?: boolean;\n isCallImpl?: boolean;\n // only for evm space ↓↓↓↓↓↓↓↓\n delegatedTo?: string;\n // only for core space ↓↓↓↓↓↓↓↓\n fromPocket?: Pocket;\n toPocket?: Pocket;\n}\n\nexport interface TreeTraceForUI extends ListTraceForUI {\n calls?: TreeTraceForUI[];\n}\n\nconst formatTraceData = (data: OriginTraceData, space: 'evm' | 'core') => {\n const addressType = space === 'core' ? 'base32' : 'hex';\n const proxyMap = data.proxyMap || {};\n const methodMap = data.methodMap || {};\n const nameMap = data.nameMap || {};\n const authMap = data.authMap || {};\n\n let total = 0;\n\n const formatList = (\n t: OriginTreeTrace[],\n parent?: TreeTraceForUI,\n ): TreeTraceForUI[] => {\n total += t.length;\n return t.map((item, index) => formatItem(item, index, parent, t));\n };\n const formatItem = (\n t: OriginTreeTrace,\n index: number,\n parent: TreeTraceForUI | undefined,\n list: OriginTreeTrace[],\n ): TreeTraceForUI => {\n const methodId = t.action.input?.slice(0, 10);\n const from = formatAddress(t.action.from, addressType);\n const to = formatAddress(t.action.to, addressType);\n const delegatedTo = to && authMap[to];\n let method = methodId;\n let abi: AbiFunctionWithoutGas[] | undefined = undefined;\n const methodABI =\n methodId && (delegatedTo || to)\n ? methodMap[methodId]?.[delegatedTo || to]\n : undefined;\n if (methodABI) {\n try {\n const result = formatABI(`[\"${methodABI}\"]`, {\n json: true,\n allowEmpty: true,\n });\n abi = JSON.parse(result) as AbiFunctionWithoutGas[];\n const jsonABI = abi[0];\n method = jsonABI?.name || methodId;\n } catch (error) {\n console.log('parse method abi error: ', methodABI, error);\n }\n }\n\n const isContractCreated = !!t.action.createType;\n\n const item: TreeTraceForUI = {\n index: `${parent?.index ? `${parent.index}_` : ''}${index}`,\n type: `${t.action.callType || t.type}`,\n from: from,\n to: to,\n input: t.action.input,\n value: t.action.value,\n result: t.result,\n gas: t.action.gas,\n method,\n abi,\n contractCreated: isContractCreated ? t.result?.addr : undefined,\n nameMap,\n delegatedTo,\n isCallImpl: t.isCallImpl,\n fromPocket: t.action.fromPocket,\n toPocket: t.action.toPocket,\n };\n if (\n parent &&\n parent.to &&\n proxyMap[parent.to] &&\n from === parent.to &&\n to\n ) {\n // proxy call\n if (\n index === 0 &&\n proxyMap[parent.to] === 'Proxy' &&\n t.action.callType === 'delegatecall'\n ) {\n parent.proxy = {\n type: 'Proxy',\n implAddress: to,\n };\n item.isCallImpl = true;\n }\n // beacon proxy call\n const second = list[1];\n if (\n index === 0 &&\n proxyMap[parent.to] === 'BeaconProxy' &&\n t.action.callType === 'staticcall' &&\n second &&\n second.action.to &&\n second.action.from === parent.to &&\n second.action.callType === 'delegatecall'\n ) {\n parent.proxy = {\n type: 'BeaconProxy',\n beaconAddress: to,\n implAddress: second.action.to,\n };\n item.isCallBeacon = true;\n second.isCallImpl = true;\n }\n }\n if (t.calls) {\n item.calls = formatList(t.calls, item);\n }\n return item;\n };\n const list = formatList(data.traceTree);\n return {\n total,\n list,\n };\n};\n\nexport const treeTraceToList = (\n data: TreeTraceForUI[],\n showProxyCall = false,\n) => {\n const result: ListTraceForUI[] = [];\n const handler = (list: TreeTraceForUI[]) => {\n list.forEach(item => {\n if (showProxyCall || (!item.isCallBeacon && !item.isCallImpl)) {\n result.push(item);\n }\n if (item.calls) {\n handler(item.calls);\n }\n });\n };\n handler(data);\n return result;\n};\n\nexport const hideProxyCallInTreeTrace = (data: TreeTraceForUI[]) => {\n const handler = (list: TreeTraceForUI[]) => {\n const result: TreeTraceForUI[] = [];\n list.forEach(item => {\n const newTrace = { ...item };\n if (!newTrace.isCallBeacon && !newTrace.isCallImpl) {\n result.push(newTrace);\n if (newTrace.calls) {\n newTrace.calls = handler(newTrace.calls);\n }\n } else if (newTrace.calls) {\n result.push(...handler(newTrace.calls));\n }\n });\n return result;\n };\n return handler(data);\n};\n\nexport const useTxTrace = (\n hash: string,\n space: 'evm' | 'core',\n {\n isAATx = false,\n }: {\n isAATx?: boolean;\n } = {},\n) => {\n const url = `/transferTree/${hash}${isAATx ? '?txType=aa' : ''}`;\n\n return useSWRImmutable([url, space], () =>\n fetchWithPrefix(url)\n .then((resp: any) => {\n if (resp?.traceTree) {\n const { list, total } = formatTraceData(resp, space);\n return { list, total };\n }\n })\n .catch(e => {\n publishRequestError({ code: 60002, message: e.message }, 'code');\n }),\n );\n};\n"],"mappings":"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","names":["list"]}
|
package/dist/utils/index.js
CHANGED
|
@@ -53,9 +53,9 @@ import {
|
|
|
53
53
|
transferToLowerCase,
|
|
54
54
|
validURL,
|
|
55
55
|
viewJson
|
|
56
|
-
} from "../chunk-
|
|
56
|
+
} from "../chunk-SNUPCZY7.js";
|
|
57
57
|
import "../chunk-WIB76E7O.js";
|
|
58
|
-
import "../chunk-
|
|
58
|
+
import "../chunk-E7FB4S3X.js";
|
|
59
59
|
import "../chunk-J2I22Q2M.js";
|
|
60
60
|
import "../chunk-YEINMVAR.js";
|
|
61
61
|
import "../chunk-DQGLZCIG.js";
|
package/dist/utils/request.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { BaseContractInfo, DetectAccountTypeResponse, MethodAbiItemResponse, Add
|
|
|
2
2
|
|
|
3
3
|
interface FetchOptions extends RequestInit {
|
|
4
4
|
timeout?: number;
|
|
5
|
+
showErrorMessage?: boolean;
|
|
5
6
|
}
|
|
6
7
|
declare const fetch: <T>(url: string, options?: FetchOptions) => Promise<T>;
|
|
7
8
|
declare const appendApiPrefix: (url: string) => string;
|
package/dist/utils/request.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cfxjs/sirius-next-common",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.24",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/**"
|
|
@@ -78,9 +78,9 @@
|
|
|
78
78
|
"typescript": "^5.4.2",
|
|
79
79
|
"unocss": "0.58.6",
|
|
80
80
|
"vitest": "3.2.3",
|
|
81
|
-
"@cfxjs/sirius-next-
|
|
82
|
-
"@cfxjs/sirius-next-i18n": "0.2.
|
|
83
|
-
"@cfxjs/sirius-next-
|
|
81
|
+
"@cfxjs/sirius-next-typescript-config": "0.0.0",
|
|
82
|
+
"@cfxjs/sirius-next-i18n": "0.2.14",
|
|
83
|
+
"@cfxjs/sirius-next-eslint-config": "0.0.0"
|
|
84
84
|
},
|
|
85
85
|
"publishConfig": {
|
|
86
86
|
"access": "public"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/InputData/utils.ts"],"sourcesContent":["import type { AbiParameter } from 'src/utils/sdk';\n\nconst parseParams = (params: unknown, abiParam: AbiParameter): unknown => {\n if (abiParam.type === 'tuple' && 'components' in abiParam) {\n return abiParam.components.map((item, index) => {\n const key = item.name ?? index;\n const value = (params as any)[key];\n return parseParams(value, item);\n });\n }\n if (abiParam.type.includes('tuple[') && 'components' in abiParam) {\n return (params as unknown[]).map(param =>\n abiParam.components.map((item, index) => {\n const key = item.name ?? index;\n return parseParams((param as any)[key], item);\n }),\n );\n }\n if (abiParam.type.includes('[')) {\n return (params as unknown[]).map(param =>\n typeof param === 'bigint' ? param.toString() : param,\n );\n }\n if (typeof params === 'bigint') return params.toString();\n return params;\n};\n\nexport const parseArgs = (\n args: readonly unknown[],\n abiParams: readonly AbiParameter[],\n) => {\n return abiParams.map((param, index) => {\n const arg = args[index];\n return parseParams(arg, param);\n });\n};\n"],"mappings":";AAEA,IAAM,cAAc,CAAC,QAAiB,aAAoC;AACxE,MAAI,SAAS,SAAS,WAAW,gBAAgB,UAAU;AACzD,WAAO,SAAS,WAAW,IAAI,CAAC,MAAM,UAAU;AAC9C,YAAM,MAAM,KAAK,QAAQ;AACzB,YAAM,QAAS,OAAe,GAAG;AACjC,aAAO,YAAY,OAAO,IAAI;AAAA,IAChC,CAAC;AAAA,EACH;AACA,MAAI,SAAS,KAAK,SAAS,QAAQ,KAAK,gBAAgB,UAAU;AAChE,WAAQ,OAAqB;AAAA,MAAI,WAC/B,SAAS,WAAW,IAAI,CAAC,MAAM,UAAU;AACvC,cAAM,MAAM,KAAK,QAAQ;AACzB,eAAO,YAAa,MAAc,GAAG,GAAG,IAAI;AAAA,MAC9C,CAAC;AAAA,IACH;AAAA,EACF;AACA,MAAI,SAAS,KAAK,SAAS,GAAG,GAAG;AAC/B,WAAQ,OAAqB;AAAA,MAAI,WAC/B,OAAO,UAAU,WAAW,MAAM,SAAS,IAAI;AAAA,IACjD;AAAA,EACF;AACA,MAAI,OAAO,WAAW;AAAU,WAAO,OAAO,SAAS;AACvD,SAAO;AACT;AAEO,IAAM,YAAY,CACvB,MACA,cACG;AACH,SAAO,UAAU,IAAI,CAAC,OAAO,UAAU;AACrC,UAAM,MAAM,KAAK,KAAK;AACtB,WAAO,YAAY,KAAK,KAAK;AAAA,EAC/B,CAAC;AACH;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/AddressContainer/utils.ts"],"sourcesContent":["import { isZeroAddress } from 'src/utils/address';\nimport { AddressNameMap, Pocket } from 'src/utils/request.types';\n\n// https://app.clickup.com/3719212/v/dc/3hg1c-23878/3hg1c-21778?block=block-vVZ_AG9Btz\nexport const getPocketAlias = ({\n type,\n address,\n pocket,\n}: {\n type: 'from' | 'to';\n address: string;\n pocket?: Pocket;\n}): string | null => {\n // only show pocket info when address is zero address\n if (!isZeroAddress(address)) return null;\n\n if (pocket === 'mint_or_burn') {\n return type === 'from' ? 'System mint' : 'System burn';\n }\n if (pocket === 'gas_payment') {\n return 'System gas_payment';\n }\n return null;\n};\n\nexport const getAddressNameInfo = (\n address?: string,\n nameMap?: Record<string, AddressNameMap>,\n) => {\n if (!nameMap || !address) return null;\n const info = nameMap[address] || nameMap[address.toLowerCase()];\n if (!info) return null;\n return {\n tokenName: info.token?.name,\n tokenSymbol: info.token?.symbol,\n tokenDecimals: info.token?.decimals,\n tokenIconUrl: info.token?.iconUrl,\n isContract: !!info.contract,\n contractName: info.contract?.name,\n verify: !!info.verification?.name,\n verificationName: info.verification?.name,\n nametag: info.nameTag?.nameTag,\n ensName: info.ens?.name,\n // only for core space\n isEspaceAddress: !!info.eSpace?.address,\n // contract token name > contract tag > contract name\n // alias: info.token?.name || info.contract?.name || info.verification?.name,\n alias: info.token?.name || info.contract?.name,\n originInfo: info,\n };\n};\n"],"mappings":";;;;;AAIO,IAAM,iBAAiB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,MAIqB;AAEnB,MAAI,CAAC,cAAc,OAAO;AAAG,WAAO;AAEpC,MAAI,WAAW,gBAAgB;AAC7B,WAAO,SAAS,SAAS,gBAAgB;AAAA,EAC3C;AACA,MAAI,WAAW,eAAe;AAC5B,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,IAAM,qBAAqB,CAChC,SACA,YACG;AACH,MAAI,CAAC,WAAW,CAAC;AAAS,WAAO;AACjC,QAAM,OAAO,QAAQ,OAAO,KAAK,QAAQ,QAAQ,YAAY,CAAC;AAC9D,MAAI,CAAC;AAAM,WAAO;AAClB,SAAO;AAAA,IACL,WAAW,KAAK,OAAO;AAAA,IACvB,aAAa,KAAK,OAAO;AAAA,IACzB,eAAe,KAAK,OAAO;AAAA,IAC3B,cAAc,KAAK,OAAO;AAAA,IAC1B,YAAY,CAAC,CAAC,KAAK;AAAA,IACnB,cAAc,KAAK,UAAU;AAAA,IAC7B,QAAQ,CAAC,CAAC,KAAK,cAAc;AAAA,IAC7B,kBAAkB,KAAK,cAAc;AAAA,IACrC,SAAS,KAAK,SAAS;AAAA,IACvB,SAAS,KAAK,KAAK;AAAA;AAAA,IAEnB,iBAAiB,CAAC,CAAC,KAAK,QAAQ;AAAA;AAAA;AAAA,IAGhC,OAAO,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,IAC1C,YAAY;AAAA,EACd;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/request.ts"],"sourcesContent":["import qs from 'query-string';\nimport { publishRequestError } from './pubsub';\nimport {\n AddressNameMap,\n BaseContractInfo,\n DetectAccountTypeResponse,\n MethodAbiItemResponse,\n} from './request.types';\nimport { getEnvConfig } from '../store';\nimport { fetchWithCache } from './cache';\ninterface FetchWithAbortType<T> {\n promise: Promise<T>;\n abort: () => void;\n}\n\ninterface FetchOptions extends RequestInit {\n timeout?: number;\n}\n\nconst TIMEOUT_TIMESTAMP = 60000;\n\nconst checkStatus = (response: Response) => {\n if (\n (response.status >= 200 && response.status < 300) ||\n response.status === 600\n ) {\n return response;\n } else {\n const error = new Error(response.statusText);\n error.name = 'HttpError';\n (error as any).status = response.status;\n (error as any).response = response;\n throw error;\n }\n};\n\n// 格式化 response data\nconst parseJSON = async (response: Response) => {\n const contentType = response.headers.get('content-type');\n try {\n if (contentType?.includes('application/json')) {\n return { data: await response.json(), response };\n } else if (contentType?.includes('text/html')) {\n return { data: await response.text(), response };\n } else {\n // contentType 还有其他类型,目前项目中用不到\n // 不能简单的报错,比如 image/x-icon 是 favicon 请求\n // 此处直接返回 response,由业务代码处理其他类型的数据\n return { data: response, response };\n }\n } catch (error) {\n if ((error as any).name === 'AbortError') {\n return { data: response, response };\n }\n publishRequestError({ url: response.url, code: 20001 }, 'http');\n (error as any).response = response;\n throw error;\n }\n};\n\n// 检查返回值中是否包含错误\nconst checkResponse = function (\n url: string,\n {\n data,\n response,\n }: {\n data: any;\n response: Response;\n },\n opts: any,\n) {\n // 兼容 data.code 和 data.data, 是关于 core space 的数据结构\n if (response.status === 200 && (data.status === '1' || data.code === 0)) {\n return data.result || data.data;\n } else if (/HEAD/i.test(opts?.method || '')) {\n // handle of HEAD method\n return response;\n } else {\n const code = Number(data.status ?? data.code);\n publishRequestError({ url, code, message: data.message }, 'http');\n const error: Partial<ErrorEvent> & {\n response?: ResponseType;\n } = new Error(data.message);\n error.response = data;\n throw error;\n }\n};\n\nconst fetchWithAbort = <T>(\n url: string,\n options: FetchOptions = {},\n): FetchWithAbortType<T> => {\n const controller = new AbortController();\n const opts: FetchOptions = { ...options, signal: controller.signal };\n const timeout = options.timeout || TIMEOUT_TIMESTAMP;\n\n let timeoutId: ReturnType<typeof setTimeout>;\n const promise: Promise<T> = new Promise((resolve, reject) => {\n timeoutId = setTimeout(() => {\n controller.abort();\n publishRequestError(\n { url, code: 20002, message: 'Request timeout' },\n 'http',\n );\n reject(new Error('Request timeout'));\n }, timeout);\n\n window\n .fetch(url, opts)\n .then(checkStatus)\n .then(parseJSON)\n .then((...args) => checkResponse(url, ...args, opts))\n .then(data => resolve(data as T))\n .catch(error => {\n if (/HEAD/i.test(opts?.method || '')) {\n return resolve({} as T);\n }\n\n // A fetch() promise will reject with a TypeError when a network error is encountered or CORS is misconfigured on the server-side,\n // although this usually means permission issues or similar — a 404 does not constitute a network error, for example.\n // For detail: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\n if (error.name === 'TypeError') {\n publishRequestError({ url, code: 20004 }, 'http');\n reject(new Error('Network error'));\n } else if (error.name === 'AbortError') {\n publishRequestError(\n { url, code: 20003, message: 'Fetch aborted' },\n 'http',\n );\n reject(new Error('Fetch aborted'));\n } else {\n publishRequestError(\n { url, code: (error as any).status, message: error.message },\n 'http',\n );\n reject(error);\n }\n })\n .finally(() => clearTimeout(timeoutId));\n });\n\n return {\n promise,\n abort: () => {\n clearTimeout(timeoutId);\n controller.abort();\n },\n };\n};\n\nexport const fetch = <T>(\n url: string,\n options: FetchOptions = {},\n): Promise<T> => {\n const { promise } = fetchWithAbort<T>(url, options);\n return promise;\n};\n\nexport const appendApiPrefix = (url: string) => {\n // for cfx top N\n if (url.startsWith('/stat/')) {\n return url;\n }\n if (url.startsWith('http')) {\n return url;\n }\n return `/v1${url.startsWith('/') ? url : '/' + url}`;\n};\n\nexport const fetchWithPrefix = <T>(url: string, opts?: FetchOptions) => {\n return fetch<T>(appendApiPrefix(url), opts);\n};\n\nexport const fetchWithOpenApi = <T>(url: string, opts?: FetchOptions) => {\n const ENV_CONFIG = getEnvConfig();\n if (!ENV_CONFIG.ENV_OPEN_API_HOST) {\n throw new Error('ENV_OPEN_API_HOST is not set');\n }\n return fetch<T>(\n `${ENV_CONFIG.ENV_OPEN_API_HOST}${url.startsWith('/') ? url : '/' + url}`,\n opts,\n );\n};\n\nexport const simpleGetFetcher = async <T>(args: any[]) => {\n let [url, query] = args;\n if (query) {\n url = qs.stringifyUrl({ url, query });\n }\n return await fetchWithPrefix<T>(url, {\n method: 'get',\n });\n};\n\ntype RequestMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD';\ninterface QueryParams {\n [key: string]: string | undefined;\n}\ninterface Config {\n url: string;\n query: QueryParams;\n type?: RequestMethod;\n body?: any;\n headers?: Headers;\n signal?: AbortSignal;\n}\n\nconst queryAddress = (address: string[]) => {\n return address.reduce((prev, curr, index) => {\n return !index ? `address=${curr}` : `${prev}&address=${curr}`;\n }, '');\n};\n\nexport const sendRequestChart = async (config: Config) => {\n try {\n const res: any = await fetch(\n qs.stringifyUrl({ url: config.url, query: config.query }),\n {\n method: config.type || 'GET',\n body: config.body,\n headers: config.headers,\n signal: config.signal,\n },\n );\n const data = res;\n data.list = [...(data.list || [])].reverse();\n return data;\n } catch (error) {\n console.error('Request failed', error);\n throw error;\n }\n};\n\nexport const sendRequestENSInfo = async (url?: string | null) => {\n if (!url) return {};\n try {\n const res: any = await fetch(url, {\n method: 'GET',\n });\n\n return res?.map;\n } catch (error) {\n console.error('Request failed', error);\n throw error;\n }\n};\n\nexport const sendRequestGasPrice = async () => {\n try {\n const res: any = await fetch(`/stat/gasprice/tracker`, {\n method: 'GET',\n });\n return res;\n } catch (error) {\n console.error('Request failed', error);\n throw error;\n }\n};\n\nexport const reqNametag = async (address: string[]) => {\n const query = queryAddress(address);\n\n const res: any = await fetch(`/v1/nametag?${query}`, {\n method: 'GET',\n });\n return res?.map;\n};\n\nexport const reqContractAndToken = fetchWithCache(\n async (address: string[]) => {\n const query = queryAddress(address);\n\n const res: any = await fetch(`/v1/contract-and-token?${query}`, {\n method: 'GET',\n });\n return res;\n },\n {\n key: 'contract-and-token',\n maxAge: 1000 * 60 * 60,\n },\n);\n\nexport const getContractDetail = fetchWithCache(\n <T extends string>(contractAddress?: string, fields: T[] = []) => {\n const url = qs.stringifyUrl({\n url: `/v1/contract/${contractAddress}`,\n query: { fields },\n });\n\n return fetch<BaseContractInfo & Record<T, unknown>>(url, {\n method: 'GET',\n });\n },\n {\n key: 'contract-detail',\n maxAge: 1000 * 60 * 60,\n },\n);\n\nexport const detectAccountType = fetchWithCache(\n (address: string) => {\n return fetchWithOpenApi<DetectAccountTypeResponse>(\n `/util/detectAccountType?hex=${address}`,\n {\n method: 'GET',\n },\n );\n },\n {\n // 10 seconds\n maxAge: 1000 * 10,\n },\n);\n\nexport const reqAbiByMethodId = (methodId: string) => {\n return fetchWithPrefix<{\n list: MethodAbiItemResponse[];\n }>(\n qs.stringifyUrl({\n url: '/stat/list-abi-method',\n query: {\n id: methodId,\n },\n }),\n );\n};\n\nexport const fetchAddressNameMap = (\n addresses: string[],\n params: {\n withContractInfo?: 'true' | 'false';\n withNameTagInfo?: 'true' | 'false';\n withENSInfo?: 'true' | 'false';\n } = {},\n) => {\n const url = qs.stringifyUrl({\n url: '/account/infos',\n query: {\n accounts: addresses.join(','),\n ...params,\n },\n });\n return fetchWithOpenApi<Record<string, AddressNameMap>>(url, {\n method: 'GET',\n });\n};\n"],"mappings":"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","names":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|