@cfxjs/sirius-next-common 0.2.22 → 0.2.23

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.
Files changed (45) hide show
  1. package/dist/{chunk-KHUI4JLS.js → chunk-2PGTU5DN.js} +3 -3
  2. package/dist/{chunk-OMU7JQ6Y.js → chunk-3KWBKDLY.js} +3 -3
  3. package/dist/{chunk-KZ2KYINT.js → chunk-53Z3XVZD.js} +2 -2
  4. package/dist/{chunk-2KBVDLVC.js → chunk-7JMW3D4O.js} +2 -2
  5. package/dist/{chunk-EQWC4NEP.js → chunk-A53N6IFN.js} +2 -2
  6. package/dist/{chunk-ABO5SDB4.js → chunk-CCMPEOQY.js} +2 -2
  7. package/dist/{chunk-2TO4UOX3.js → chunk-MCQS3VCO.js} +3 -3
  8. package/dist/{chunk-6XLSWPR3.js → chunk-MOMFJZ7B.js} +2 -2
  9. package/dist/{chunk-SQI2F34Q.js → chunk-OOL2AH54.js} +1 -1
  10. package/dist/chunk-OOL2AH54.js.map +1 -0
  11. package/dist/{chunk-7IGZGPFM.js → chunk-OUI67IFL.js} +3 -3
  12. package/dist/{chunk-YXREYDKU.js → chunk-UY54GCWF.js} +2 -2
  13. package/dist/{chunk-SFCNLOQ5.js → chunk-XI5WO2NW.js} +1 -1
  14. package/dist/chunk-XI5WO2NW.js.map +1 -0
  15. package/dist/components/AddressContainer/CoreAddressContainer.js +2 -2
  16. package/dist/components/AddressContainer/EVMAddressContainer.js +2 -2
  17. package/dist/components/AddressContainer/utils.js +1 -1
  18. package/dist/components/InputData/ContractDetail.js +2 -2
  19. package/dist/components/InputData/JsonDecode.js +2 -2
  20. package/dist/components/InputData/OptimizationDecode.js +4 -4
  21. package/dist/components/InputData/index.js +6 -6
  22. package/dist/components/InputData/utils.js +1 -1
  23. package/dist/components/OutputData/ErrorDecode.js +5 -5
  24. package/dist/components/OutputData/index.js +6 -6
  25. package/dist/components/ProxyContractAddress/index.js +1 -1
  26. package/dist/components/SmartAccountAddress/index.js +1 -1
  27. package/dist/components/TransactionAction/coreTransactionAction.js +2 -2
  28. package/dist/components/TransactionAction/evmTransactionAction.js +2 -2
  29. package/dist/components/TransactionTrace/TraceDetail.js +9 -9
  30. package/dist/components/TransactionTrace/TreeTraceTable.js +10 -10
  31. package/dist/components/TransactionTrace/index.js +10 -10
  32. package/dist/utils/hooks/useTxTrace.js.map +1 -1
  33. package/package.json +2 -2
  34. package/dist/chunk-SFCNLOQ5.js.map +0 -1
  35. package/dist/chunk-SQI2F34Q.js.map +0 -1
  36. /package/dist/{chunk-KHUI4JLS.js.map → chunk-2PGTU5DN.js.map} +0 -0
  37. /package/dist/{chunk-OMU7JQ6Y.js.map → chunk-3KWBKDLY.js.map} +0 -0
  38. /package/dist/{chunk-KZ2KYINT.js.map → chunk-53Z3XVZD.js.map} +0 -0
  39. /package/dist/{chunk-2KBVDLVC.js.map → chunk-7JMW3D4O.js.map} +0 -0
  40. /package/dist/{chunk-EQWC4NEP.js.map → chunk-A53N6IFN.js.map} +0 -0
  41. /package/dist/{chunk-ABO5SDB4.js.map → chunk-CCMPEOQY.js.map} +0 -0
  42. /package/dist/{chunk-2TO4UOX3.js.map → chunk-MCQS3VCO.js.map} +0 -0
  43. /package/dist/{chunk-6XLSWPR3.js.map → chunk-MOMFJZ7B.js.map} +0 -0
  44. /package/dist/{chunk-7IGZGPFM.js.map → chunk-OUI67IFL.js.map} +0 -0
  45. /package/dist/{chunk-YXREYDKU.js.map → chunk-UY54GCWF.js.map} +0 -0
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  ErrorDecode
3
- } from "./chunk-ABO5SDB4.js";
3
+ } from "./chunk-CCMPEOQY.js";
4
4
  import {
5
5
  GeneralDecode
6
6
  } from "./chunk-OYESIV3F.js";
7
7
  import {
8
8
  DecodedParameters
9
- } from "./chunk-OMU7JQ6Y.js";
9
+ } from "./chunk-3KWBKDLY.js";
10
10
  import {
11
11
  Original
12
12
  } from "./chunk-5AM5HM3B.js";
@@ -69,4 +69,4 @@ var OutputData = ({
69
69
  export {
70
70
  OutputData
71
71
  };
72
- //# sourceMappingURL=chunk-KHUI4JLS.js.map
72
+ //# sourceMappingURL=chunk-2PGTU5DN.js.map
@@ -3,14 +3,14 @@ import {
3
3
  } from "./chunk-TTNJMHOJ.js";
4
4
  import {
5
5
  ContractDetail
6
- } from "./chunk-6XLSWPR3.js";
6
+ } from "./chunk-MOMFJZ7B.js";
7
7
  import {
8
8
  FunctionName,
9
9
  getParameterType
10
10
  } from "./chunk-FYLAXC3R.js";
11
11
  import {
12
12
  parseArgs
13
- } from "./chunk-SFCNLOQ5.js";
13
+ } from "./chunk-XI5WO2NW.js";
14
14
  import {
15
15
  Link
16
16
  } from "./chunk-2Y57U43P.js";
@@ -154,4 +154,4 @@ export {
154
154
  DecodedParameters,
155
155
  OptimizationDecode
156
156
  };
157
- //# sourceMappingURL=chunk-OMU7JQ6Y.js.map
157
+ //# sourceMappingURL=chunk-3KWBKDLY.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseArgs
3
- } from "./chunk-SFCNLOQ5.js";
3
+ } from "./chunk-XI5WO2NW.js";
4
4
  import {
5
5
  AceEditor
6
6
  } from "./chunk-FTRICVXA.js";
@@ -68,4 +68,4 @@ var JsonDecode = ({
68
68
  export {
69
69
  JsonDecode
70
70
  };
71
- //# sourceMappingURL=chunk-KZ2KYINT.js.map
71
+ //# sourceMappingURL=chunk-53Z3XVZD.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getAddressNameInfo
3
- } from "./chunk-SQI2F34Q.js";
3
+ } from "./chunk-OOL2AH54.js";
4
4
  import {
5
5
  ContractAddress,
6
6
  ContractCreatedAddress,
@@ -109,4 +109,4 @@ var EVMAddressContainer = withTranslation()(
109
109
  export {
110
110
  EVMAddressContainer
111
111
  };
112
- //# sourceMappingURL=chunk-2KBVDLVC.js.map
112
+ //# sourceMappingURL=chunk-7JMW3D4O.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TraceDetail
3
- } from "./chunk-7IGZGPFM.js";
3
+ } from "./chunk-OUI67IFL.js";
4
4
  import {
5
5
  Table
6
6
  } from "./chunk-XZ7IV2FF.js";
@@ -79,4 +79,4 @@ var TreeTraceTable = ({
79
79
  export {
80
80
  TreeTraceTable
81
81
  };
82
- //# sourceMappingURL=chunk-EQWC4NEP.js.map
82
+ //# sourceMappingURL=chunk-A53N6IFN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DecodedParameters
3
- } from "./chunk-OMU7JQ6Y.js";
3
+ } from "./chunk-3KWBKDLY.js";
4
4
  import {
5
5
  FunctionName
6
6
  } from "./chunk-FYLAXC3R.js";
@@ -87,4 +87,4 @@ var ErrorDecode = ({
87
87
  export {
88
88
  ErrorDecode
89
89
  };
90
- //# sourceMappingURL=chunk-ABO5SDB4.js.map
90
+ //# sourceMappingURL=chunk-CCMPEOQY.js.map
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-OYESIV3F.js";
4
4
  import {
5
5
  JsonDecode
6
- } from "./chunk-KZ2KYINT.js";
6
+ } from "./chunk-53Z3XVZD.js";
7
7
  import {
8
8
  OptimizationDecode
9
- } from "./chunk-OMU7JQ6Y.js";
9
+ } from "./chunk-3KWBKDLY.js";
10
10
  import {
11
11
  Original
12
12
  } from "./chunk-5AM5HM3B.js";
@@ -63,4 +63,4 @@ var InputData = ({
63
63
  export {
64
64
  InputData
65
65
  };
66
- //# sourceMappingURL=chunk-2TO4UOX3.js.map
66
+ //# sourceMappingURL=chunk-MCQS3VCO.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-2Y57U43P.js";
7
7
  import {
8
8
  getAddressNameInfo
9
- } from "./chunk-SQI2F34Q.js";
9
+ } from "./chunk-OOL2AH54.js";
10
10
  import {
11
11
  DefaultTokenIcon
12
12
  } from "./chunk-MWAD4CIG.js";
@@ -77,4 +77,4 @@ var ContractDetail = ({ address, addressType }) => {
77
77
  export {
78
78
  ContractDetail
79
79
  };
80
- //# sourceMappingURL=chunk-6XLSWPR3.js.map
80
+ //# sourceMappingURL=chunk-MOMFJZ7B.js.map
@@ -48,4 +48,4 @@ export {
48
48
  getPocketAlias,
49
49
  getAddressNameInfo
50
50
  };
51
- //# sourceMappingURL=chunk-SQI2F34Q.js.map
51
+ //# sourceMappingURL=chunk-OOL2AH54.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/AddressContainer/utils.ts"],"sourcesContent":["import { isZeroAddress } from '../../utils/address';\nimport { AddressNameMap, Pocket } from '../../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":[]}
@@ -9,10 +9,10 @@ import {
9
9
  } from "./chunk-MF6LAIGP.js";
10
10
  import {
11
11
  OutputData
12
- } from "./chunk-KHUI4JLS.js";
12
+ } from "./chunk-2PGTU5DN.js";
13
13
  import {
14
14
  InputData
15
- } from "./chunk-2TO4UOX3.js";
15
+ } from "./chunk-MCQS3VCO.js";
16
16
  import {
17
17
  AbiWarning
18
18
  } from "./chunk-XBEBAU77.js";
@@ -189,4 +189,4 @@ var TraceDetail = (props) => {
189
189
  export {
190
190
  TraceDetail
191
191
  };
192
- //# sourceMappingURL=chunk-7IGZGPFM.js.map
192
+ //# sourceMappingURL=chunk-OUI67IFL.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-DEZ6AV62.js";
4
4
  import {
5
5
  getAddressNameInfo
6
- } from "./chunk-SQI2F34Q.js";
6
+ } from "./chunk-OOL2AH54.js";
7
7
  import {
8
8
  ContractAddress,
9
9
  ContractCreatedAddress,
@@ -143,4 +143,4 @@ var CoreAddressContainer = withTranslation()(
143
143
  export {
144
144
  CoreAddressContainer
145
145
  };
146
- //# sourceMappingURL=chunk-YXREYDKU.js.map
146
+ //# sourceMappingURL=chunk-UY54GCWF.js.map
@@ -34,4 +34,4 @@ var parseArgs = (args, abiParams) => {
34
34
  export {
35
35
  parseArgs
36
36
  };
37
- //# sourceMappingURL=chunk-SFCNLOQ5.js.map
37
+ //# sourceMappingURL=chunk-XI5WO2NW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/InputData/utils.ts"],"sourcesContent":["import type { AbiParameter } from '../../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,8 +1,8 @@
1
1
  import {
2
2
  CoreAddressContainer
3
- } from "../../chunk-YXREYDKU.js";
3
+ } from "../../chunk-UY54GCWF.js";
4
4
  import "../../chunk-DEZ6AV62.js";
5
- import "../../chunk-SQI2F34Q.js";
5
+ import "../../chunk-OOL2AH54.js";
6
6
  import "../../chunk-TJZKPAAH.js";
7
7
  import "../../chunk-MWAD4CIG.js";
8
8
  import "../../chunk-E7ZFE6KT.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  EVMAddressContainer
3
- } from "../../chunk-2KBVDLVC.js";
4
- import "../../chunk-SQI2F34Q.js";
3
+ } from "../../chunk-7JMW3D4O.js";
4
+ import "../../chunk-OOL2AH54.js";
5
5
  import "../../chunk-TJZKPAAH.js";
6
6
  import "../../chunk-MWAD4CIG.js";
7
7
  import "../../chunk-E7ZFE6KT.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getAddressNameInfo,
3
3
  getPocketAlias
4
- } from "../../chunk-SQI2F34Q.js";
4
+ } from "../../chunk-OOL2AH54.js";
5
5
  import "../../chunk-6TKFGXSA.js";
6
6
  import "../../chunk-WIB76E7O.js";
7
7
  import "../../chunk-ZSOMTVP5.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  ContractDetail
3
- } from "../../chunk-6XLSWPR3.js";
3
+ } from "../../chunk-MOMFJZ7B.js";
4
4
  import "../../chunk-LQCS5PT5.js";
5
5
  import "../../chunk-2Y57U43P.js";
6
6
  import "../../chunk-TGK5LP2H.js";
7
- import "../../chunk-SQI2F34Q.js";
7
+ import "../../chunk-OOL2AH54.js";
8
8
  import "../../chunk-MWAD4CIG.js";
9
9
  import "../../chunk-6TKFGXSA.js";
10
10
  import "../../chunk-WIB76E7O.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  JsonDecode
3
- } from "../../chunk-KZ2KYINT.js";
4
- import "../../chunk-SFCNLOQ5.js";
3
+ } from "../../chunk-53Z3XVZD.js";
4
+ import "../../chunk-XI5WO2NW.js";
5
5
  import "../../chunk-FTRICVXA.js";
6
6
  import "../../chunk-VXHLESK7.js";
7
7
  import "../../chunk-BMO4IZHV.js";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  DecodedParameters,
3
3
  OptimizationDecode
4
- } from "../../chunk-OMU7JQ6Y.js";
4
+ } from "../../chunk-3KWBKDLY.js";
5
5
  import "../../chunk-TTNJMHOJ.js";
6
6
  import "../../chunk-RJOY6FMD.js";
7
- import "../../chunk-6XLSWPR3.js";
7
+ import "../../chunk-MOMFJZ7B.js";
8
8
  import "../../chunk-LQCS5PT5.js";
9
9
  import "../../chunk-FYLAXC3R.js";
10
- import "../../chunk-SFCNLOQ5.js";
10
+ import "../../chunk-XI5WO2NW.js";
11
11
  import "../../chunk-2Y57U43P.js";
12
12
  import "../../chunk-TGK5LP2H.js";
13
13
  import "../../chunk-DEZ6AV62.js";
14
- import "../../chunk-SQI2F34Q.js";
14
+ import "../../chunk-OOL2AH54.js";
15
15
  import "../../chunk-MWAD4CIG.js";
16
16
  import "../../chunk-6TKFGXSA.js";
17
17
  import "../../chunk-VVEA44KS.js";
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  InputData
3
- } from "../../chunk-2TO4UOX3.js";
3
+ } from "../../chunk-MCQS3VCO.js";
4
4
  import "../../chunk-OYESIV3F.js";
5
- import "../../chunk-KZ2KYINT.js";
6
- import "../../chunk-OMU7JQ6Y.js";
5
+ import "../../chunk-53Z3XVZD.js";
6
+ import "../../chunk-3KWBKDLY.js";
7
7
  import "../../chunk-TTNJMHOJ.js";
8
8
  import "../../chunk-RJOY6FMD.js";
9
- import "../../chunk-6XLSWPR3.js";
9
+ import "../../chunk-MOMFJZ7B.js";
10
10
  import "../../chunk-LQCS5PT5.js";
11
11
  import "../../chunk-FYLAXC3R.js";
12
- import "../../chunk-SFCNLOQ5.js";
12
+ import "../../chunk-XI5WO2NW.js";
13
13
  import "../../chunk-5AM5HM3B.js";
14
14
  import "../../chunk-P7M7B7ER.js";
15
15
  import "../../chunk-2Y57U43P.js";
16
16
  import "../../chunk-TGK5LP2H.js";
17
17
  import "../../chunk-FTRICVXA.js";
18
18
  import "../../chunk-DEZ6AV62.js";
19
- import "../../chunk-SQI2F34Q.js";
19
+ import "../../chunk-OOL2AH54.js";
20
20
  import "../../chunk-MWAD4CIG.js";
21
21
  import "../../chunk-6TKFGXSA.js";
22
22
  import "../../chunk-VVEA44KS.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseArgs
3
- } from "../../chunk-SFCNLOQ5.js";
3
+ } from "../../chunk-XI5WO2NW.js";
4
4
  import "../../chunk-WQG2LZMB.js";
5
5
  export {
6
6
  parseArgs
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  ErrorDecode
3
- } from "../../chunk-ABO5SDB4.js";
4
- import "../../chunk-OMU7JQ6Y.js";
3
+ } from "../../chunk-CCMPEOQY.js";
4
+ import "../../chunk-3KWBKDLY.js";
5
5
  import "../../chunk-TTNJMHOJ.js";
6
6
  import "../../chunk-RJOY6FMD.js";
7
- import "../../chunk-6XLSWPR3.js";
7
+ import "../../chunk-MOMFJZ7B.js";
8
8
  import "../../chunk-LQCS5PT5.js";
9
9
  import "../../chunk-FYLAXC3R.js";
10
- import "../../chunk-SFCNLOQ5.js";
10
+ import "../../chunk-XI5WO2NW.js";
11
11
  import "../../chunk-5AM5HM3B.js";
12
12
  import "../../chunk-XBEBAU77.js";
13
13
  import "../../chunk-2Y57U43P.js";
@@ -20,7 +20,7 @@ import "../../chunk-DV3GFG5Q.js";
20
20
  import "../../chunk-5TGK2EA2.js";
21
21
  import "../../chunk-ADNS57X5.js";
22
22
  import "../../chunk-DEZ6AV62.js";
23
- import "../../chunk-SQI2F34Q.js";
23
+ import "../../chunk-OOL2AH54.js";
24
24
  import "../../chunk-MWAD4CIG.js";
25
25
  import "../../chunk-6TKFGXSA.js";
26
26
  import "../../chunk-VVEA44KS.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  OutputData
3
- } from "../../chunk-KHUI4JLS.js";
4
- import "../../chunk-ABO5SDB4.js";
3
+ } from "../../chunk-2PGTU5DN.js";
4
+ import "../../chunk-CCMPEOQY.js";
5
5
  import "../../chunk-OYESIV3F.js";
6
- import "../../chunk-OMU7JQ6Y.js";
6
+ import "../../chunk-3KWBKDLY.js";
7
7
  import "../../chunk-TTNJMHOJ.js";
8
8
  import "../../chunk-RJOY6FMD.js";
9
- import "../../chunk-6XLSWPR3.js";
9
+ import "../../chunk-MOMFJZ7B.js";
10
10
  import "../../chunk-LQCS5PT5.js";
11
11
  import "../../chunk-FYLAXC3R.js";
12
- import "../../chunk-SFCNLOQ5.js";
12
+ import "../../chunk-XI5WO2NW.js";
13
13
  import "../../chunk-5AM5HM3B.js";
14
14
  import "../../chunk-P7M7B7ER.js";
15
15
  import "../../chunk-XBEBAU77.js";
@@ -23,7 +23,7 @@ import "../../chunk-DV3GFG5Q.js";
23
23
  import "../../chunk-5TGK2EA2.js";
24
24
  import "../../chunk-ADNS57X5.js";
25
25
  import "../../chunk-DEZ6AV62.js";
26
- import "../../chunk-SQI2F34Q.js";
26
+ import "../../chunk-OOL2AH54.js";
27
27
  import "../../chunk-MWAD4CIG.js";
28
28
  import "../../chunk-6TKFGXSA.js";
29
29
  import "../../chunk-VVEA44KS.js";
@@ -7,7 +7,7 @@ import {
7
7
  import "../../chunk-TGK5LP2H.js";
8
8
  import {
9
9
  getAddressNameInfo
10
- } from "../../chunk-SQI2F34Q.js";
10
+ } from "../../chunk-OOL2AH54.js";
11
11
  import {
12
12
  isInnerContractAddress
13
13
  } from "../../chunk-6TKFGXSA.js";
@@ -7,7 +7,7 @@ import {
7
7
  import "../../chunk-TGK5LP2H.js";
8
8
  import {
9
9
  getAddressNameInfo
10
- } from "../../chunk-SQI2F34Q.js";
10
+ } from "../../chunk-OOL2AH54.js";
11
11
  import "../../chunk-6TKFGXSA.js";
12
12
  import {
13
13
  Tooltip
@@ -10,9 +10,9 @@ import {
10
10
  import "../../chunk-TGK5LP2H.js";
11
11
  import {
12
12
  CoreAddressContainer
13
- } from "../../chunk-YXREYDKU.js";
13
+ } from "../../chunk-UY54GCWF.js";
14
14
  import "../../chunk-DEZ6AV62.js";
15
- import "../../chunk-SQI2F34Q.js";
15
+ import "../../chunk-OOL2AH54.js";
16
16
  import "../../chunk-TJZKPAAH.js";
17
17
  import "../../chunk-MWAD4CIG.js";
18
18
  import "../../chunk-E7ZFE6KT.js";
@@ -10,8 +10,8 @@ import {
10
10
  import "../../chunk-TGK5LP2H.js";
11
11
  import {
12
12
  EVMAddressContainer
13
- } from "../../chunk-2KBVDLVC.js";
14
- import "../../chunk-SQI2F34Q.js";
13
+ } from "../../chunk-7JMW3D4O.js";
14
+ import "../../chunk-OOL2AH54.js";
15
15
  import "../../chunk-TJZKPAAH.js";
16
16
  import "../../chunk-MWAD4CIG.js";
17
17
  import "../../chunk-E7ZFE6KT.js";
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  TraceDetail
3
- } from "../../chunk-7IGZGPFM.js";
3
+ } from "../../chunk-OUI67IFL.js";
4
4
  import "../../chunk-CRTD2R3I.js";
5
5
  import "../../chunk-7P6KYI3Z.js";
6
6
  import "../../chunk-UM5J477V.js";
7
7
  import "../../chunk-MF6LAIGP.js";
8
8
  import "../../chunk-7PQ6YKBC.js";
9
9
  import "../../chunk-NWVSTRCG.js";
10
- import "../../chunk-KHUI4JLS.js";
11
- import "../../chunk-ABO5SDB4.js";
12
- import "../../chunk-2TO4UOX3.js";
10
+ import "../../chunk-2PGTU5DN.js";
11
+ import "../../chunk-CCMPEOQY.js";
12
+ import "../../chunk-MCQS3VCO.js";
13
13
  import "../../chunk-OYESIV3F.js";
14
- import "../../chunk-KZ2KYINT.js";
15
- import "../../chunk-OMU7JQ6Y.js";
14
+ import "../../chunk-53Z3XVZD.js";
15
+ import "../../chunk-3KWBKDLY.js";
16
16
  import "../../chunk-TTNJMHOJ.js";
17
17
  import "../../chunk-RJOY6FMD.js";
18
- import "../../chunk-6XLSWPR3.js";
18
+ import "../../chunk-MOMFJZ7B.js";
19
19
  import "../../chunk-LQCS5PT5.js";
20
20
  import "../../chunk-FYLAXC3R.js";
21
- import "../../chunk-SFCNLOQ5.js";
21
+ import "../../chunk-XI5WO2NW.js";
22
22
  import "../../chunk-5AM5HM3B.js";
23
23
  import "../../chunk-P7M7B7ER.js";
24
24
  import "../../chunk-XBEBAU77.js";
@@ -35,7 +35,7 @@ import "../../chunk-5TGK2EA2.js";
35
35
  import "../../chunk-ADNS57X5.js";
36
36
  import "../../chunk-FTRICVXA.js";
37
37
  import "../../chunk-DEZ6AV62.js";
38
- import "../../chunk-SQI2F34Q.js";
38
+ import "../../chunk-OOL2AH54.js";
39
39
  import "../../chunk-MWAD4CIG.js";
40
40
  import "../../chunk-6TKFGXSA.js";
41
41
  import "../../chunk-VVEA44KS.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TreeTraceTable
3
- } from "../../chunk-EQWC4NEP.js";
4
- import "../../chunk-7IGZGPFM.js";
3
+ } from "../../chunk-A53N6IFN.js";
4
+ import "../../chunk-OUI67IFL.js";
5
5
  import "../../chunk-CRTD2R3I.js";
6
6
  import "../../chunk-7P6KYI3Z.js";
7
7
  import "../../chunk-UM5J477V.js";
@@ -9,18 +9,18 @@ import "../../chunk-XZ7IV2FF.js";
9
9
  import "../../chunk-MF6LAIGP.js";
10
10
  import "../../chunk-7PQ6YKBC.js";
11
11
  import "../../chunk-NWVSTRCG.js";
12
- import "../../chunk-KHUI4JLS.js";
13
- import "../../chunk-ABO5SDB4.js";
14
- import "../../chunk-2TO4UOX3.js";
12
+ import "../../chunk-2PGTU5DN.js";
13
+ import "../../chunk-CCMPEOQY.js";
14
+ import "../../chunk-MCQS3VCO.js";
15
15
  import "../../chunk-OYESIV3F.js";
16
- import "../../chunk-KZ2KYINT.js";
17
- import "../../chunk-OMU7JQ6Y.js";
16
+ import "../../chunk-53Z3XVZD.js";
17
+ import "../../chunk-3KWBKDLY.js";
18
18
  import "../../chunk-TTNJMHOJ.js";
19
19
  import "../../chunk-RJOY6FMD.js";
20
- import "../../chunk-6XLSWPR3.js";
20
+ import "../../chunk-MOMFJZ7B.js";
21
21
  import "../../chunk-LQCS5PT5.js";
22
22
  import "../../chunk-FYLAXC3R.js";
23
- import "../../chunk-SFCNLOQ5.js";
23
+ import "../../chunk-XI5WO2NW.js";
24
24
  import "../../chunk-5AM5HM3B.js";
25
25
  import "../../chunk-P7M7B7ER.js";
26
26
  import "../../chunk-XBEBAU77.js";
@@ -38,7 +38,7 @@ import "../../chunk-5TGK2EA2.js";
38
38
  import "../../chunk-ADNS57X5.js";
39
39
  import "../../chunk-FTRICVXA.js";
40
40
  import "../../chunk-DEZ6AV62.js";
41
- import "../../chunk-SQI2F34Q.js";
41
+ import "../../chunk-OOL2AH54.js";
42
42
  import "../../chunk-MWAD4CIG.js";
43
43
  import "../../chunk-6TKFGXSA.js";
44
44
  import "../../chunk-VVEA44KS.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  TreeTraceTable
3
- } from "../../chunk-EQWC4NEP.js";
3
+ } from "../../chunk-A53N6IFN.js";
4
4
  import {
5
5
  TraceDetail
6
- } from "../../chunk-7IGZGPFM.js";
6
+ } from "../../chunk-OUI67IFL.js";
7
7
  import "../../chunk-CRTD2R3I.js";
8
8
  import "../../chunk-7P6KYI3Z.js";
9
9
  import "../../chunk-UM5J477V.js";
@@ -11,18 +11,18 @@ import "../../chunk-XZ7IV2FF.js";
11
11
  import "../../chunk-MF6LAIGP.js";
12
12
  import "../../chunk-7PQ6YKBC.js";
13
13
  import "../../chunk-NWVSTRCG.js";
14
- import "../../chunk-KHUI4JLS.js";
15
- import "../../chunk-ABO5SDB4.js";
16
- import "../../chunk-2TO4UOX3.js";
14
+ import "../../chunk-2PGTU5DN.js";
15
+ import "../../chunk-CCMPEOQY.js";
16
+ import "../../chunk-MCQS3VCO.js";
17
17
  import "../../chunk-OYESIV3F.js";
18
- import "../../chunk-KZ2KYINT.js";
19
- import "../../chunk-OMU7JQ6Y.js";
18
+ import "../../chunk-53Z3XVZD.js";
19
+ import "../../chunk-3KWBKDLY.js";
20
20
  import "../../chunk-TTNJMHOJ.js";
21
21
  import "../../chunk-RJOY6FMD.js";
22
- import "../../chunk-6XLSWPR3.js";
22
+ import "../../chunk-MOMFJZ7B.js";
23
23
  import "../../chunk-LQCS5PT5.js";
24
24
  import "../../chunk-FYLAXC3R.js";
25
- import "../../chunk-SFCNLOQ5.js";
25
+ import "../../chunk-XI5WO2NW.js";
26
26
  import "../../chunk-5AM5HM3B.js";
27
27
  import "../../chunk-P7M7B7ER.js";
28
28
  import "../../chunk-XBEBAU77.js";
@@ -40,7 +40,7 @@ import "../../chunk-5TGK2EA2.js";
40
40
  import "../../chunk-ADNS57X5.js";
41
41
  import "../../chunk-FTRICVXA.js";
42
42
  import "../../chunk-DEZ6AV62.js";
43
- import "../../chunk-SQI2F34Q.js";
43
+ import "../../chunk-OOL2AH54.js";
44
44
  import "../../chunk-MWAD4CIG.js";
45
45
  import "../../chunk-6TKFGXSA.js";
46
46
  import "../../chunk-VVEA44KS.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cfxjs/sirius-next-common",
3
- "version": "0.2.22",
3
+ "version": "0.2.23",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist/**"
@@ -79,7 +79,7 @@
79
79
  "unocss": "0.58.6",
80
80
  "vitest": "3.2.3",
81
81
  "@cfxjs/sirius-next-eslint-config": "0.0.0",
82
- "@cfxjs/sirius-next-i18n": "0.2.11",
82
+ "@cfxjs/sirius-next-i18n": "0.2.12",
83
83
  "@cfxjs/sirius-next-typescript-config": "0.0.0"
84
84
  },
85
85
  "publishConfig": {
@@ -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":[]}