@cfxjs/sirius-next-common 0.2.14 → 0.2.15
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-K6FHTS3F.js → chunk-2KXTTKRI.js} +22 -9
- package/dist/chunk-2KXTTKRI.js.map +1 -0
- package/dist/{chunk-UINFSWXM.js → chunk-A6ND7FSQ.js} +13 -9
- package/dist/chunk-A6ND7FSQ.js.map +1 -0
- package/dist/{chunk-NA2IXF26.js → chunk-ARQH6VQ4.js} +3 -3
- package/dist/{chunk-7TNE7P6L.js → chunk-AYH6CLQB.js} +4 -1
- package/dist/{chunk-7TNE7P6L.js.map → chunk-AYH6CLQB.js.map} +1 -1
- package/dist/{chunk-AIBPOND2.js → chunk-HJNIYZ62.js} +5 -3
- package/dist/chunk-HJNIYZ62.js.map +1 -0
- package/dist/{chunk-PTIDOK4R.js → chunk-IDGNYTHY.js} +6 -6
- package/dist/chunk-IDGNYTHY.js.map +1 -0
- package/dist/{chunk-JFFTHCNE.js → chunk-MWAD4CIG.js} +20 -1
- package/dist/chunk-MWAD4CIG.js.map +1 -0
- package/dist/{chunk-U6ZN2ABK.js → chunk-OZ4OJLIM.js} +5 -5
- package/dist/{chunk-SUCQASD3.js → chunk-SX6R4MHO.js} +2 -2
- package/dist/{chunk-GFY6G6I2.js → chunk-TP67325Z.js} +3 -3
- package/dist/{chunk-CPX5R5ND.js → chunk-VJSXGYWN.js} +4 -4
- package/dist/{chunk-H5VKAQ2A.js → chunk-WSDJ3XJ2.js} +3 -3
- package/dist/chunk-XBEBAU77.js +37 -0
- package/dist/chunk-XBEBAU77.js.map +1 -0
- package/dist/{chunk-6HJCR6PQ.js → chunk-YIXV7A4J.js} +15 -4
- package/dist/chunk-YIXV7A4J.js.map +1 -0
- package/dist/{chunk-TLAXH2HE.js → chunk-ZLNQICQZ.js} +2 -2
- package/dist/components/AddressContainer/CoreAddressContainer.js +4 -4
- package/dist/components/AddressContainer/EVMAddressContainer.js +4 -4
- package/dist/components/AddressContainer/addressSwitcher.js +3 -3
- package/dist/components/AddressContainer/addressView.d.ts +1 -1
- package/dist/components/AddressContainer/addressView.js +1 -1
- package/dist/components/AddressContainer/types.d.ts +1 -0
- package/dist/components/Icons/index.d.ts +2 -1
- package/dist/components/Icons/index.js +5 -3
- package/dist/components/InputData/AbiWarning.d.ts +8 -0
- package/dist/components/InputData/AbiWarning.js +11 -0
- package/dist/components/InputData/AbiWarning.js.map +1 -0
- package/dist/components/InputData/ContractDetail.js +2 -2
- package/dist/components/InputData/OptimizationDecode.js +3 -3
- package/dist/components/InputData/index.js +5 -5
- package/dist/components/OutputData/ErrorDecode.js +7 -6
- package/dist/components/OutputData/index.js +8 -7
- package/dist/components/TransactionAction/coreTransactionAction.js +4 -4
- package/dist/components/TransactionAction/evmTransactionAction.js +4 -4
- package/dist/components/TransactionTrace/TraceDetail.js +11 -10
- package/dist/components/TransactionTrace/TreeTraceTable.js +13 -12
- package/dist/components/TransactionTrace/index.js +13 -12
- package/dist/uno.css +6 -2
- package/dist/utils/hooks/useDecodeFunctionData.js +1 -1
- package/dist/utils/hooks/useDecodeFunctionError.d.ts +8 -8
- package/dist/utils/hooks/useDecodeFunctionError.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-6HJCR6PQ.js.map +0 -1
- package/dist/chunk-AIBPOND2.js.map +0 -1
- package/dist/chunk-JFFTHCNE.js.map +0 -1
- package/dist/chunk-K6FHTS3F.js.map +0 -1
- package/dist/chunk-PTIDOK4R.js.map +0 -1
- package/dist/chunk-UINFSWXM.js.map +0 -1
- /package/dist/{chunk-NA2IXF26.js.map → chunk-ARQH6VQ4.js.map} +0 -0
- /package/dist/{chunk-U6ZN2ABK.js.map → chunk-OZ4OJLIM.js.map} +0 -0
- /package/dist/{chunk-SUCQASD3.js.map → chunk-SX6R4MHO.js.map} +0 -0
- /package/dist/{chunk-GFY6G6I2.js.map → chunk-TP67325Z.js.map} +0 -0
- /package/dist/{chunk-CPX5R5ND.js.map → chunk-VJSXGYWN.js.map} +0 -0
- /package/dist/{chunk-H5VKAQ2A.js.map → chunk-WSDJ3XJ2.js.map} +0 -0
- /package/dist/{chunk-TLAXH2HE.js.map → chunk-ZLNQICQZ.js.map} +0 -0
|
@@ -50,7 +50,10 @@ var useDecodeFunctionError = ({
|
|
|
50
50
|
return result;
|
|
51
51
|
} catch (error) {
|
|
52
52
|
console.log("decode error data with standard error abi failed", error);
|
|
53
|
-
return
|
|
53
|
+
return {
|
|
54
|
+
errorName: "unknown",
|
|
55
|
+
failed: true
|
|
56
|
+
};
|
|
54
57
|
}
|
|
55
58
|
}, [errorData, standardErrorAbi, space]);
|
|
56
59
|
const decoded = useMemo(() => {
|
|
@@ -65,7 +68,10 @@ var useDecodeFunctionError = ({
|
|
|
65
68
|
return result;
|
|
66
69
|
} catch (error) {
|
|
67
70
|
console.log("decode error data with contract abi failed", error);
|
|
68
|
-
return
|
|
71
|
+
return {
|
|
72
|
+
errorName: "unknown",
|
|
73
|
+
failed: true
|
|
74
|
+
};
|
|
69
75
|
}
|
|
70
76
|
}, [errorData, data, space]);
|
|
71
77
|
const decodedByImplementation = useMemo(() => {
|
|
@@ -80,23 +86,30 @@ var useDecodeFunctionError = ({
|
|
|
80
86
|
return result;
|
|
81
87
|
} catch (error) {
|
|
82
88
|
console.log("decode error data with implementation abi failed", error);
|
|
83
|
-
return
|
|
89
|
+
return {
|
|
90
|
+
errorName: "unknown",
|
|
91
|
+
failed: true
|
|
92
|
+
};
|
|
84
93
|
}
|
|
85
94
|
}, [errorData, implementationData, space]);
|
|
86
95
|
return useMemo(() => {
|
|
87
96
|
if (!errorData)
|
|
88
97
|
return [null, false];
|
|
89
|
-
if (decodedByStandardError)
|
|
98
|
+
if (decodedByStandardError && !decodedByStandardError.failed)
|
|
90
99
|
return [decodedByStandardError, false];
|
|
91
|
-
if (decodedByImplementation)
|
|
100
|
+
if (decodedByImplementation && !decodedByImplementation.failed)
|
|
92
101
|
return [decodedByImplementation, implementationLoading];
|
|
93
|
-
if (decoded)
|
|
102
|
+
if (decoded && !decoded.failed)
|
|
94
103
|
return [decoded, contractLoading];
|
|
104
|
+
if (contractLoading || implementationLoading)
|
|
105
|
+
return [null, true];
|
|
95
106
|
return [
|
|
96
107
|
{
|
|
97
|
-
errorName: "unknown"
|
|
108
|
+
errorName: "unknown",
|
|
109
|
+
noAbi: !decodedByStandardError && !decodedByImplementation && !decoded,
|
|
110
|
+
failed: decodedByImplementation?.failed || decoded?.failed || decodedByStandardError?.failed
|
|
98
111
|
},
|
|
99
|
-
|
|
112
|
+
false
|
|
100
113
|
];
|
|
101
114
|
}, [
|
|
102
115
|
errorData,
|
|
@@ -112,4 +125,4 @@ var useDecodeFunctionError = ({
|
|
|
112
125
|
export {
|
|
113
126
|
useDecodeFunctionError
|
|
114
127
|
};
|
|
115
|
-
//# sourceMappingURL=chunk-
|
|
128
|
+
//# sourceMappingURL=chunk-2KXTTKRI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/hooks/useDecodeFunctionError.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { decodeErrorResult } from 'src/utils/sdk';\nimport type { AbiItem } from 'src/utils/sdk';\nimport { useContractDetail } from './useContractDetail';\nimport {\n COMMON_ERROR_OUTPUT_PREFIX,\n COMMON_PANIC_OUTPUT_PREFIX,\n} from '../constants';\nimport CommonError from 'src/abis/CommonError';\nimport CommonPanic from 'src/abis/CommonPanic';\n\nconst fields = ['abi' as const];\n\ninterface Result {\n abiItem?: AbiItem;\n args?: readonly unknown[];\n errorName: string;\n // no abi for decoded\n noAbi?: boolean;\n // decoded failed\n failed?: boolean;\n}\n\nexport const useDecodeFunctionError = ({\n to,\n implementation: _implementation,\n errorData,\n space,\n}: {\n errorData: `0x${string}`;\n to?: string;\n implementation?: string;\n space: 'evm' | 'core';\n}): [Result | null, boolean] => {\n const standardErrorAbi = useMemo(() => {\n if (errorData.startsWith(COMMON_ERROR_OUTPUT_PREFIX)) return CommonError;\n if (errorData.startsWith(COMMON_PANIC_OUTPUT_PREFIX)) return CommonPanic;\n return null;\n }, [errorData]);\n const { data, isLoading: contractLoading } = useContractDetail(\n to,\n fields,\n !standardErrorAbi && !!errorData,\n );\n const implementation = _implementation ?? data?.implementation?.address;\n const { data: implementationData, isLoading: implementationLoading } =\n useContractDetail(implementation, fields, !standardErrorAbi && !!errorData);\n const decodedByStandardError = useMemo(() => {\n if (!standardErrorAbi) return null;\n try {\n const result = decodeErrorResult({\n abi: standardErrorAbi,\n data: errorData,\n space,\n });\n return result as Result;\n } catch (error) {\n console.log('decode error data with standard error abi failed', error);\n return {\n errorName: 'unknown',\n failed: true,\n };\n }\n }, [errorData, standardErrorAbi, space]);\n const decoded = useMemo(() => {\n if (!data?.abi) return null;\n try {\n const result = decodeErrorResult({\n abi: JSON.parse(data.abi as string),\n data: errorData,\n space,\n });\n return result as Result;\n } catch (error) {\n console.log('decode error data with contract abi failed', error);\n return {\n errorName: 'unknown',\n failed: true,\n };\n }\n }, [errorData, data, space]);\n const decodedByImplementation = useMemo(() => {\n if (!implementationData?.abi) return null;\n try {\n const result = decodeErrorResult({\n abi: JSON.parse(implementationData.abi as string),\n data: errorData,\n space,\n });\n return result as Result;\n } catch (error) {\n console.log('decode error data with implementation abi failed', error);\n return {\n errorName: 'unknown',\n failed: true,\n };\n }\n }, [errorData, implementationData, space]);\n\n return useMemo(() => {\n if (!errorData) return [null, false];\n if (decodedByStandardError && !decodedByStandardError.failed)\n return [decodedByStandardError, false];\n if (decodedByImplementation && !decodedByImplementation.failed)\n return [decodedByImplementation, implementationLoading];\n if (decoded && !decoded.failed) return [decoded, contractLoading];\n if (contractLoading || implementationLoading) return [null, true];\n return [\n {\n errorName: 'unknown',\n noAbi: !decodedByStandardError && !decodedByImplementation && !decoded,\n failed:\n decodedByImplementation?.failed ||\n decoded?.failed ||\n decodedByStandardError?.failed,\n },\n false,\n ];\n }, [\n errorData,\n decodedByStandardError,\n decoded,\n decodedByImplementation,\n contractLoading,\n implementationLoading,\n space,\n ]);\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useDecodeFunctionData
|
|
3
|
+
} from "./chunk-AYH6CLQB.js";
|
|
1
4
|
import {
|
|
2
5
|
useDecodedDataType
|
|
3
6
|
} from "./chunk-UM5J477V.js";
|
|
4
|
-
import {
|
|
5
|
-
useDecodeFunctionData
|
|
6
|
-
} from "./chunk-7TNE7P6L.js";
|
|
7
7
|
import {
|
|
8
8
|
Select
|
|
9
9
|
} from "./chunk-YIZCD4WG.js";
|
|
10
10
|
import {
|
|
11
11
|
OutputData
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-TP67325Z.js";
|
|
13
13
|
import {
|
|
14
14
|
InputData
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-ZLNQICQZ.js";
|
|
16
|
+
import {
|
|
17
|
+
AbiWarning
|
|
18
|
+
} from "./chunk-XBEBAU77.js";
|
|
16
19
|
import {
|
|
17
20
|
Card
|
|
18
21
|
} from "./chunk-O6NJ56NA.js";
|
|
@@ -38,7 +41,7 @@ var CommonTraceDetail = ({
|
|
|
38
41
|
const success = outcome === "success";
|
|
39
42
|
const { t } = useTranslation();
|
|
40
43
|
const translations = getTranslations();
|
|
41
|
-
const [decodedData] = useDecodeFunctionData({
|
|
44
|
+
const [decodedData, isLoading] = useDecodeFunctionData({
|
|
42
45
|
to,
|
|
43
46
|
input,
|
|
44
47
|
output,
|
|
@@ -47,7 +50,7 @@ var CommonTraceDetail = ({
|
|
|
47
50
|
abi,
|
|
48
51
|
withOutput: true
|
|
49
52
|
});
|
|
50
|
-
const { dataType, setDataType, dataTypeList } = useDecodedDataType({
|
|
53
|
+
const { dataType, setDataType, dataTypeList, tip } = useDecodedDataType({
|
|
51
54
|
to,
|
|
52
55
|
input,
|
|
53
56
|
isContractCreated,
|
|
@@ -117,7 +120,8 @@ var CommonTraceDetail = ({
|
|
|
117
120
|
)
|
|
118
121
|
}
|
|
119
122
|
) })
|
|
120
|
-
] })
|
|
123
|
+
] }),
|
|
124
|
+
!isLoading && /* @__PURE__ */ jsx(AbiWarning, { tip, className: "ml-150px" })
|
|
121
125
|
] });
|
|
122
126
|
};
|
|
123
127
|
var CreateContractFailedTraceDetail = ({
|
|
@@ -185,4 +189,4 @@ var TraceDetail = (props) => {
|
|
|
185
189
|
export {
|
|
186
190
|
TraceDetail
|
|
187
191
|
};
|
|
188
|
-
//# sourceMappingURL=chunk-
|
|
192
|
+
//# sourceMappingURL=chunk-A6ND7FSQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/TransactionTrace/TraceDetail.tsx"],"sourcesContent":["import { Card } from '../Card';\nimport { Select } from '../Select';\nimport { useTranslation } from 'react-i18next';\nimport { getTranslations } from 'src/store';\nimport clsx from 'clsx';\nimport { useDecodeFunctionData } from 'src/utils/hooks/useDecodeFunctionData';\nimport {\n DataType,\n useDecodedDataType,\n} from 'src/utils/hooks/useDecodedDataType';\nimport { InputData } from '../InputData';\nimport { OutputData } from '../OutputData';\nimport { AbiFunctionWithoutGas } from 'src/utils/sdk';\nimport { useState } from 'react';\nimport { AbiWarning } from '../InputData/AbiWarning';\n\ninterface Props {\n to?: string;\n isContractCreated?: boolean;\n input?: `0x${string}`;\n output?: `0x${string}`;\n abi?: AbiFunctionWithoutGas[];\n outcome?: 'success' | 'fail' | 'reverted';\n space: 'evm' | 'core';\n proxy?: {\n beaconAddress?: string;\n implAddress: string;\n };\n}\n\nconst CommonTraceDetail = ({\n to,\n input = '0x',\n output,\n outcome = 'success',\n abi,\n isContractCreated,\n space,\n proxy,\n}: Props) => {\n const success = outcome === 'success';\n const { t } = useTranslation();\n const translations = getTranslations();\n const [decodedData, isLoading] = useDecodeFunctionData({\n to,\n input,\n output,\n success,\n space,\n abi,\n withOutput: true,\n });\n const { dataType, setDataType, dataTypeList, tip } = useDecodedDataType({\n to,\n input,\n isContractCreated,\n decodedData,\n });\n const isReturnDataEmpty = !output || output === '0x';\n let outputDataType = dataType;\n // when the transaction failed, the output is the error message, use utf8 as decode type\n if (\n (outputDataType === 'optimizationDecode' ||\n outputDataType === 'generalDecode') &&\n outcome === 'fail'\n ) {\n outputDataType = 'utf8';\n }\n\n return (\n <Card className=\"!border-1 !border-#E8E9EA py-10px\">\n <div className=\"flex gap-5px\">\n <div className=\"w-150px shrink-0\"></div>\n <Select\n value={dataType}\n onChange={setDataType}\n disableMatchWidth\n size=\"medium\"\n className=\"mb-16px mt-0 bg-#fff border border-solid border-#ccc\"\n disabled={dataTypeList.length === 1}\n width={180}\n >\n {dataTypeList.map(dataTypeItem => {\n return (\n <Select.Option\n className=\"data-[highlighted]:bg-[var(--theme-color-green2)] data-[highlighted]:text-#fff\"\n key={dataTypeItem}\n value={dataTypeItem}\n >\n {t(translations.transaction.select[dataTypeItem])}\n </Select.Option>\n );\n })}\n </Select>\n </div>\n <div className=\"flex gap-5px\">\n {dataType !== 'optimizationDecode' && (\n <div className=\"w-150px shrink-0\">\n {dataType === 'json' ? 'In and Out Data' : 'Input Data'}\n </div>\n )}\n <div className=\"flex-1\">\n <InputData\n dataType={dataType}\n input={input}\n decodedData={decodedData}\n space={space}\n labelClassName=\"text-#002257 w-150px\"\n success={success}\n />\n </div>\n </div>\n {dataType !== 'json' && !isReturnDataEmpty && (\n <div className=\"flex gap-5px mt-16px\">\n {outputDataType !== 'optimizationDecode' && (\n <div className={clsx('w-150px shrink-0', !success && 'text-red')}>\n {outcome === 'success'\n ? 'Output Data'\n : outcome === 'fail'\n ? 'Failed'\n : 'Error'}\n </div>\n )}\n <div className=\"flex-1\">\n <OutputData\n dataType={outputDataType}\n output={output}\n decodedData={decodedData}\n space={space}\n proxy={proxy}\n success={success}\n to={to}\n labelClassName={clsx(\n 'w-150px',\n !success ? 'text-red' : 'text-#002257',\n )}\n />\n </div>\n </div>\n )}\n {!isLoading && <AbiWarning tip={tip} className=\"ml-150px\" />}\n </Card>\n );\n};\n\n// create contract failed may return error data, but it's not standard, so we only show error info for it\nconst CreateContractFailedTraceDetail = ({\n to,\n output,\n space,\n proxy,\n outcome,\n}: Props) => {\n const [dataType, setDataType] = useState<DataType>('utf8');\n const { t } = useTranslation();\n const translations = getTranslations();\n const dataTypeList = ['original', 'utf8'] as DataType[];\n\n return (\n <Card className=\"!border-1 !border-#E8E9EA py-10px\">\n <div className=\"flex gap-5px\">\n <div className=\"w-150px shrink-0\"></div>\n <Select\n value={dataType}\n onChange={setDataType}\n disableMatchWidth\n size=\"medium\"\n className=\"mb-16px mt-0 bg-#fff border border-solid border-#ccc\"\n disabled={dataTypeList.length === 1}\n width={180}\n >\n {dataTypeList.map(dataTypeItem => {\n return (\n <Select.Option\n className=\"data-[highlighted]:bg-[var(--theme-color-green2)] data-[highlighted]:text-#fff\"\n key={dataTypeItem}\n value={dataTypeItem}\n >\n {t(translations.transaction.select[dataTypeItem])}\n </Select.Option>\n );\n })}\n </Select>\n </div>\n <div className=\"flex gap-5px mt-16px\">\n <div className={clsx('w-150px shrink-0 text-red')}>\n {outcome === 'fail' ? 'Failed' : 'Error'}\n </div>\n <div className=\"flex-1\">\n <OutputData\n dataType={dataType}\n output={output}\n space={space}\n proxy={proxy}\n success={false}\n to={to}\n labelClassName=\"w-150px text-red\"\n />\n </div>\n </div>\n </Card>\n );\n};\n\nexport const TraceDetail = (props: Props) => {\n const { outcome = 'success', isContractCreated } = props;\n if (isContractCreated && outcome !== 'success')\n return <CreateContractFailedTraceDetail {...props} />;\n return <CommonTraceDetail {...props} />;\n};\n"],"mappings":"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","names":[]}
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
ContractCreatedAddress,
|
|
4
4
|
InvalidAddress,
|
|
5
5
|
MyAddress
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WSDJ3XJ2.js";
|
|
7
7
|
import {
|
|
8
8
|
RenderAddress
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HJNIYZ62.js";
|
|
10
10
|
import {
|
|
11
11
|
convertCheckSum,
|
|
12
12
|
formatAddress,
|
|
@@ -105,4 +105,4 @@ var EVMAddressContainer = withTranslation()(
|
|
|
105
105
|
export {
|
|
106
106
|
EVMAddressContainer
|
|
107
107
|
};
|
|
108
|
-
//# sourceMappingURL=chunk-
|
|
108
|
+
//# sourceMappingURL=chunk-ARQH6VQ4.js.map
|
|
@@ -167,6 +167,9 @@ var useDecodeFunctionData = ({
|
|
|
167
167
|
return [decodedByContractAbi, contractLoading];
|
|
168
168
|
if (decodedByMethodAbi && !decodedByMethodAbi.failed)
|
|
169
169
|
return [decodedByMethodAbi, methodAbiLoading];
|
|
170
|
+
if (implementationLoading || contractLoading || methodAbiLoading) {
|
|
171
|
+
return [{}, true];
|
|
172
|
+
}
|
|
170
173
|
if (decodedByOuterAbi && decodedByOuterAbi.failed || decodedByImplementationAbi && decodedByImplementationAbi.failed || decodedByContractAbi && decodedByContractAbi.failed || decodedByMethodAbi && decodedByMethodAbi.failed) {
|
|
171
174
|
return [
|
|
172
175
|
{
|
|
@@ -196,4 +199,4 @@ var useDecodeFunctionData = ({
|
|
|
196
199
|
export {
|
|
197
200
|
useDecodeFunctionData
|
|
198
201
|
};
|
|
199
|
-
//# sourceMappingURL=chunk-
|
|
202
|
+
//# sourceMappingURL=chunk-AYH6CLQB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/hooks/useDecodeFunctionData.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n decodeFunctionData,\n decodeFunctionResult,\n getAbiItem,\n AbiFunctionWithoutGas,\n} from 'src/utils/sdk';\nimport { useContractDetail } from './useContractDetail';\nimport { formatABI } from '..';\nimport { useMethodAbi } from './useMethodAbi';\n\nconst fields = ['abi' as const];\n\nexport type Hex = `0x${string}`;\n\nconst decodeFunctionDataByAbi = ({\n abi: _abi,\n input,\n output,\n space,\n success,\n withOutput = false,\n similarWarning,\n}: {\n input: Hex;\n output?: Hex;\n abi?: AbiFunctionWithoutGas[] | string;\n space: 'evm' | 'core';\n success?: boolean;\n withOutput?: boolean;\n similarWarning?: boolean;\n}) => {\n try {\n const abi = typeof _abi === 'string' ? JSON.parse(_abi) : _abi;\n const hasAbi = abi && abi.length > 0;\n if (!hasAbi) return null;\n const isReturnDataEmpty = !output || output === '0x';\n const methodID = input.slice(0, 10);\n const decodedParams = decodeFunctionData({\n abi: abi,\n data: input,\n space,\n });\n let decodedResults = success\n ? !isReturnDataEmpty\n ? decodeFunctionResult({\n abi: abi,\n functionName: decodedParams.functionName,\n data: output,\n space,\n })\n : undefined\n : output;\n const abiItem = getAbiItem({\n abi: abi,\n name: decodedParams.functionName ?? methodID,\n }) as AbiFunctionWithoutGas;\n // if the output has only one value, decodeFunctionResult will return the value directly, otherwise it will return an array,\n // so we need to check the length of abiItem.outputs to determine whether to wrap decodedResults in an array\n const results =\n decodedResults === undefined\n ? undefined\n : abiItem.outputs.length === 1\n ? [decodedResults]\n : (decodedResults as unknown[]);\n if (!withOutput) {\n abiItem.outputs = [];\n }\n const fullName = formatABI([abiItem])[0];\n return {\n decodedParams,\n decodedResults: results,\n abiItem,\n fullName: fullName,\n failed: false,\n similarWarning,\n };\n } catch (error) {\n console.log('decode function data and result error', error);\n return {\n failed: true,\n similarWarning,\n };\n }\n};\n\nexport interface DecodedFunctionData {\n decodedParams?: {\n args: readonly unknown[] | undefined;\n functionName: string;\n };\n decodedResults?: unknown[];\n abiItem?: AbiFunctionWithoutGas;\n fullName?: string;\n // no abi for decoded\n noAbi?: boolean;\n // decoded failed\n failed?: boolean;\n // decoded by method abi, not contract abi\n similarWarning?: boolean;\n}\n\nexport const useDecodeFunctionData = ({\n to,\n abi: outerAbi,\n implementation: _implementation,\n input,\n output,\n space,\n success,\n supportMethodAbi,\n withOutput,\n}: {\n input: Hex;\n output?: Hex;\n to?: string;\n implementation?: string;\n abi?: AbiFunctionWithoutGas[];\n space: 'evm' | 'core';\n success?: boolean;\n supportMethodAbi?: boolean;\n withOutput?: boolean;\n}): [DecodedFunctionData, boolean] => {\n const hasOuterAbi = outerAbi && outerAbi.length > 0;\n const needContractAbi = !hasOuterAbi && !!input;\n const { data: contractData, isLoading: contractLoading } = useContractDetail(\n to,\n fields,\n needContractAbi,\n );\n const implementation =\n _implementation ?? contractData?.implementation?.address;\n const { data: implementationData, isLoading: implementationLoading } =\n useContractDetail(implementation, fields, needContractAbi);\n const decodedByOuterAbi = useMemo(() => {\n return decodeFunctionDataByAbi({\n abi: outerAbi,\n input,\n output,\n space,\n success,\n withOutput,\n });\n }, [input, output, outerAbi, success, space, withOutput]);\n const decodedByContractAbi = useMemo(() => {\n if (!contractData?.abi) return null;\n return decodeFunctionDataByAbi({\n abi: contractData.abi as string,\n input,\n output,\n space,\n success,\n withOutput,\n });\n }, [input, output, contractData?.abi, success, space, withOutput]);\n const decodedByImplementationAbi = useMemo(() => {\n if (!implementationData?.abi) return null;\n return decodeFunctionDataByAbi({\n abi: implementationData.abi as string,\n input,\n output,\n space,\n success,\n withOutput,\n });\n }, [input, output, implementationData?.abi, success, space, withOutput]);\n const needMethodAbi =\n !!supportMethodAbi &&\n needContractAbi &&\n // contract abi decoded failed\n !contractLoading &&\n (!decodedByContractAbi || decodedByContractAbi.failed) &&\n // implementation contract abi decoded failed\n !implementationLoading &&\n (!decodedByImplementationAbi || decodedByImplementationAbi.failed);\n const { data: methodAbi, isLoading: methodAbiLoading } = useMethodAbi(\n input.slice(0, 10),\n needMethodAbi,\n );\n const decodedByMethodAbi = useMemo(() => {\n // decode tx data with function abi only if there is only one function\n if (!methodAbi || methodAbi.list.length !== 1) return null;\n try {\n // e.g. transfer(address,uint256)\n const fullName = methodAbi.list[0]!.fullName;\n // e.g. function transfer(address recipient, uint256 amount) returns (bool)\n const formatWithArg = methodAbi.list[0]!.formatWithArg;\n const abi = formatABI([formatWithArg || `function ${fullName}`], {\n json: true,\n });\n return decodeFunctionDataByAbi({\n abi: abi,\n input,\n output,\n space,\n success,\n withOutput,\n similarWarning: true,\n });\n } catch (error) {\n console.log('decode function data and result error', error);\n return {\n failed: true,\n };\n }\n }, [input, output, methodAbi, success, space, withOutput]);\n\n return useMemo(() => {\n if (!input) return [{}, false];\n if (decodedByOuterAbi && !decodedByOuterAbi.failed)\n return [decodedByOuterAbi, false];\n if (decodedByImplementationAbi && !decodedByImplementationAbi.failed)\n return [decodedByImplementationAbi, implementationLoading];\n if (decodedByContractAbi && !decodedByContractAbi.failed)\n return [decodedByContractAbi, contractLoading];\n if (decodedByMethodAbi && !decodedByMethodAbi.failed)\n return [decodedByMethodAbi, methodAbiLoading];\n if (\n (decodedByOuterAbi && decodedByOuterAbi.failed) ||\n (decodedByImplementationAbi && decodedByImplementationAbi.failed) ||\n (decodedByContractAbi && decodedByContractAbi.failed) ||\n (decodedByMethodAbi && decodedByMethodAbi.failed)\n ) {\n return [\n {\n failed: true,\n },\n false,\n ];\n }\n return [\n {\n noAbi: true,\n },\n false,\n ];\n }, [\n input,\n decodedByOuterAbi,\n decodedByContractAbi,\n decodedByImplementationAbi,\n decodedByMethodAbi,\n contractLoading,\n implementationLoading,\n methodAbiLoading,\n ]);\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/utils/hooks/useDecodeFunctionData.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n decodeFunctionData,\n decodeFunctionResult,\n getAbiItem,\n AbiFunctionWithoutGas,\n} from 'src/utils/sdk';\nimport { useContractDetail } from './useContractDetail';\nimport { formatABI } from '..';\nimport { useMethodAbi } from './useMethodAbi';\n\nconst fields = ['abi' as const];\n\nexport type Hex = `0x${string}`;\n\nconst decodeFunctionDataByAbi = ({\n abi: _abi,\n input,\n output,\n space,\n success,\n withOutput = false,\n similarWarning,\n}: {\n input: Hex;\n output?: Hex;\n abi?: AbiFunctionWithoutGas[] | string;\n space: 'evm' | 'core';\n success?: boolean;\n withOutput?: boolean;\n similarWarning?: boolean;\n}) => {\n try {\n const abi = typeof _abi === 'string' ? JSON.parse(_abi) : _abi;\n const hasAbi = abi && abi.length > 0;\n if (!hasAbi) return null;\n const isReturnDataEmpty = !output || output === '0x';\n const methodID = input.slice(0, 10);\n const decodedParams = decodeFunctionData({\n abi: abi,\n data: input,\n space,\n });\n let decodedResults = success\n ? !isReturnDataEmpty\n ? decodeFunctionResult({\n abi: abi,\n functionName: decodedParams.functionName,\n data: output,\n space,\n })\n : undefined\n : output;\n const abiItem = getAbiItem({\n abi: abi,\n name: decodedParams.functionName ?? methodID,\n }) as AbiFunctionWithoutGas;\n // if the output has only one value, decodeFunctionResult will return the value directly, otherwise it will return an array,\n // so we need to check the length of abiItem.outputs to determine whether to wrap decodedResults in an array\n const results =\n decodedResults === undefined\n ? undefined\n : abiItem.outputs.length === 1\n ? [decodedResults]\n : (decodedResults as unknown[]);\n if (!withOutput) {\n abiItem.outputs = [];\n }\n const fullName = formatABI([abiItem])[0];\n return {\n decodedParams,\n decodedResults: results,\n abiItem,\n fullName: fullName,\n failed: false,\n similarWarning,\n };\n } catch (error) {\n console.log('decode function data and result error', error);\n return {\n failed: true,\n similarWarning,\n };\n }\n};\n\nexport interface DecodedFunctionData {\n decodedParams?: {\n args: readonly unknown[] | undefined;\n functionName: string;\n };\n decodedResults?: unknown[];\n abiItem?: AbiFunctionWithoutGas;\n fullName?: string;\n // no abi for decoded\n noAbi?: boolean;\n // decoded failed\n failed?: boolean;\n // decoded by method abi, not contract abi\n similarWarning?: boolean;\n}\n\nexport const useDecodeFunctionData = ({\n to,\n abi: outerAbi,\n implementation: _implementation,\n input,\n output,\n space,\n success,\n supportMethodAbi,\n withOutput,\n}: {\n input: Hex;\n output?: Hex;\n to?: string;\n implementation?: string;\n abi?: AbiFunctionWithoutGas[];\n space: 'evm' | 'core';\n success?: boolean;\n supportMethodAbi?: boolean;\n withOutput?: boolean;\n}): [DecodedFunctionData, boolean] => {\n const hasOuterAbi = outerAbi && outerAbi.length > 0;\n const needContractAbi = !hasOuterAbi && !!input;\n const { data: contractData, isLoading: contractLoading } = useContractDetail(\n to,\n fields,\n needContractAbi,\n );\n const implementation =\n _implementation ?? contractData?.implementation?.address;\n const { data: implementationData, isLoading: implementationLoading } =\n useContractDetail(implementation, fields, needContractAbi);\n const decodedByOuterAbi = useMemo(() => {\n return decodeFunctionDataByAbi({\n abi: outerAbi,\n input,\n output,\n space,\n success,\n withOutput,\n });\n }, [input, output, outerAbi, success, space, withOutput]);\n const decodedByContractAbi = useMemo(() => {\n if (!contractData?.abi) return null;\n return decodeFunctionDataByAbi({\n abi: contractData.abi as string,\n input,\n output,\n space,\n success,\n withOutput,\n });\n }, [input, output, contractData?.abi, success, space, withOutput]);\n const decodedByImplementationAbi = useMemo(() => {\n if (!implementationData?.abi) return null;\n return decodeFunctionDataByAbi({\n abi: implementationData.abi as string,\n input,\n output,\n space,\n success,\n withOutput,\n });\n }, [input, output, implementationData?.abi, success, space, withOutput]);\n const needMethodAbi =\n !!supportMethodAbi &&\n needContractAbi &&\n // contract abi decoded failed\n !contractLoading &&\n (!decodedByContractAbi || decodedByContractAbi.failed) &&\n // implementation contract abi decoded failed\n !implementationLoading &&\n (!decodedByImplementationAbi || decodedByImplementationAbi.failed);\n const { data: methodAbi, isLoading: methodAbiLoading } = useMethodAbi(\n input.slice(0, 10),\n needMethodAbi,\n );\n const decodedByMethodAbi = useMemo(() => {\n // decode tx data with function abi only if there is only one function\n if (!methodAbi || methodAbi.list.length !== 1) return null;\n try {\n // e.g. transfer(address,uint256)\n const fullName = methodAbi.list[0]!.fullName;\n // e.g. function transfer(address recipient, uint256 amount) returns (bool)\n const formatWithArg = methodAbi.list[0]!.formatWithArg;\n const abi = formatABI([formatWithArg || `function ${fullName}`], {\n json: true,\n });\n return decodeFunctionDataByAbi({\n abi: abi,\n input,\n output,\n space,\n success,\n withOutput,\n similarWarning: true,\n });\n } catch (error) {\n console.log('decode function data and result error', error);\n return {\n failed: true,\n };\n }\n }, [input, output, methodAbi, success, space, withOutput]);\n\n return useMemo(() => {\n if (!input) return [{}, false];\n if (decodedByOuterAbi && !decodedByOuterAbi.failed)\n return [decodedByOuterAbi, false];\n if (decodedByImplementationAbi && !decodedByImplementationAbi.failed)\n return [decodedByImplementationAbi, implementationLoading];\n if (decodedByContractAbi && !decodedByContractAbi.failed)\n return [decodedByContractAbi, contractLoading];\n if (decodedByMethodAbi && !decodedByMethodAbi.failed)\n return [decodedByMethodAbi, methodAbiLoading];\n if (implementationLoading || contractLoading || methodAbiLoading) {\n return [{}, true];\n }\n if (\n (decodedByOuterAbi && decodedByOuterAbi.failed) ||\n (decodedByImplementationAbi && decodedByImplementationAbi.failed) ||\n (decodedByContractAbi && decodedByContractAbi.failed) ||\n (decodedByMethodAbi && decodedByMethodAbi.failed)\n ) {\n return [\n {\n failed: true,\n },\n false,\n ];\n }\n return [\n {\n noAbi: true,\n },\n false,\n ];\n }, [\n input,\n decodedByOuterAbi,\n decodedByContractAbi,\n decodedByImplementationAbi,\n decodedByMethodAbi,\n contractLoading,\n implementationLoading,\n methodAbiLoading,\n ]);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,SAAS,eAAe;AAWxB,IAAM,SAAS,CAAC,KAAc;AAI9B,IAAM,0BAA0B,CAAC;AAAA,EAC/B,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb;AACF,MAQM;AACJ,MAAI;AACF,UAAM,MAAM,OAAO,SAAS,WAAW,KAAK,MAAM,IAAI,IAAI;AAC1D,UAAM,SAAS,OAAO,IAAI,SAAS;AACnC,QAAI,CAAC;AAAQ,aAAO;AACpB,UAAM,oBAAoB,CAAC,UAAU,WAAW;AAChD,UAAM,WAAW,MAAM,MAAM,GAAG,EAAE;AAClC,UAAM,gBAAgB,mBAAmB;AAAA,MACvC;AAAA,MACA,MAAM;AAAA,MACN;AAAA,IACF,CAAC;AACD,QAAI,iBAAiB,UACjB,CAAC,oBACC,qBAAqB;AAAA,MACnB;AAAA,MACA,cAAc,cAAc;AAAA,MAC5B,MAAM;AAAA,MACN;AAAA,IACF,CAAC,IACD,SACF;AACJ,UAAM,UAAU,WAAW;AAAA,MACzB;AAAA,MACA,MAAM,cAAc,gBAAgB;AAAA,IACtC,CAAC;AAGD,UAAM,UACJ,mBAAmB,SACf,SACA,QAAQ,QAAQ,WAAW,IACzB,CAAC,cAAc,IACd;AACT,QAAI,CAAC,YAAY;AACf,cAAQ,UAAU,CAAC;AAAA,IACrB;AACA,UAAM,WAAW,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;AACvC,WAAO;AAAA,MACL;AAAA,MACA,gBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EACF,SAAS,OAAP;AACA,YAAQ,IAAI,yCAAyC,KAAK;AAC1D,WAAO;AAAA,MACL,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;AAkBO,IAAM,wBAAwB,CAAC;AAAA,EACpC;AAAA,EACA,KAAK;AAAA,EACL,gBAAgB;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAUsC;AACpC,QAAM,cAAc,YAAY,SAAS,SAAS;AAClD,QAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;AAC1C,QAAM,EAAE,MAAM,cAAc,WAAW,gBAAgB,IAAI;AAAA,IACzD;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,QAAM,iBACJ,mBAAmB,cAAc,gBAAgB;AACnD,QAAM,EAAE,MAAM,oBAAoB,WAAW,sBAAsB,IACjE,kBAAkB,gBAAgB,QAAQ,eAAe;AAC3D,QAAM,oBAAoB,QAAQ,MAAM;AACtC,WAAO,wBAAwB;AAAA,MAC7B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,OAAO,QAAQ,UAAU,SAAS,OAAO,UAAU,CAAC;AACxD,QAAM,uBAAuB,QAAQ,MAAM;AACzC,QAAI,CAAC,cAAc;AAAK,aAAO;AAC/B,WAAO,wBAAwB;AAAA,MAC7B,KAAK,aAAa;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,OAAO,QAAQ,cAAc,KAAK,SAAS,OAAO,UAAU,CAAC;AACjE,QAAM,6BAA6B,QAAQ,MAAM;AAC/C,QAAI,CAAC,oBAAoB;AAAK,aAAO;AACrC,WAAO,wBAAwB;AAAA,MAC7B,KAAK,mBAAmB;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,OAAO,QAAQ,oBAAoB,KAAK,SAAS,OAAO,UAAU,CAAC;AACvE,QAAM,gBACJ,CAAC,CAAC,oBACF;AAAA,EAEA,CAAC,oBACA,CAAC,wBAAwB,qBAAqB;AAAA,EAE/C,CAAC,0BACA,CAAC,8BAA8B,2BAA2B;AAC7D,QAAM,EAAE,MAAM,WAAW,WAAW,iBAAiB,IAAI;AAAA,IACvD,MAAM,MAAM,GAAG,EAAE;AAAA,IACjB;AAAA,EACF;AACA,QAAM,qBAAqB,QAAQ,MAAM;AAEvC,QAAI,CAAC,aAAa,UAAU,KAAK,WAAW;AAAG,aAAO;AACtD,QAAI;AAEF,YAAM,WAAW,UAAU,KAAK,CAAC,EAAG;AAEpC,YAAM,gBAAgB,UAAU,KAAK,CAAC,EAAG;AACzC,YAAM,MAAM,UAAU,CAAC,iBAAiB,YAAY,UAAU,GAAG;AAAA,QAC/D,MAAM;AAAA,MACR,CAAC;AACD,aAAO,wBAAwB;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,MAClB,CAAC;AAAA,IACH,SAAS,OAAP;AACA,cAAQ,IAAI,yCAAyC,KAAK;AAC1D,aAAO;AAAA,QACL,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF,GAAG,CAAC,OAAO,QAAQ,WAAW,SAAS,OAAO,UAAU,CAAC;AAEzD,SAAO,QAAQ,MAAM;AACnB,QAAI,CAAC;AAAO,aAAO,CAAC,CAAC,GAAG,KAAK;AAC7B,QAAI,qBAAqB,CAAC,kBAAkB;AAC1C,aAAO,CAAC,mBAAmB,KAAK;AAClC,QAAI,8BAA8B,CAAC,2BAA2B;AAC5D,aAAO,CAAC,4BAA4B,qBAAqB;AAC3D,QAAI,wBAAwB,CAAC,qBAAqB;AAChD,aAAO,CAAC,sBAAsB,eAAe;AAC/C,QAAI,sBAAsB,CAAC,mBAAmB;AAC5C,aAAO,CAAC,oBAAoB,gBAAgB;AAC9C,QAAI,yBAAyB,mBAAmB,kBAAkB;AAChE,aAAO,CAAC,CAAC,GAAG,IAAI;AAAA,IAClB;AACA,QACG,qBAAqB,kBAAkB,UACvC,8BAA8B,2BAA2B,UACzD,wBAAwB,qBAAqB,UAC7C,sBAAsB,mBAAmB,QAC1C;AACA,aAAO;AAAA,QACL;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,MACL;AAAA,QACE,OAAO;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -64,6 +64,7 @@ var RenderAddress = ({
|
|
|
64
64
|
style = {},
|
|
65
65
|
maxWidth,
|
|
66
66
|
prefix = null,
|
|
67
|
+
ENSIcon = null,
|
|
67
68
|
suffix = null,
|
|
68
69
|
type = "pow",
|
|
69
70
|
addressLabel = "",
|
|
@@ -72,7 +73,8 @@ var RenderAddress = ({
|
|
|
72
73
|
hideAliasPrefixInHover = false
|
|
73
74
|
}) => {
|
|
74
75
|
const translations = getTranslations();
|
|
75
|
-
const name = addressLabel || content ||
|
|
76
|
+
const name = addressLabel || content || nametag || alias || ENSLabel;
|
|
77
|
+
const isShowEns = !!ENSLabel && name === ENSLabel;
|
|
76
78
|
const defaultStyle = {
|
|
77
79
|
maxWidth: `${name && isFullNameTag || isFull ? "auto" : (maxWidth || defaultPCMaxWidth) + "px"}`
|
|
78
80
|
};
|
|
@@ -100,7 +102,7 @@ var RenderAddress = ({
|
|
|
100
102
|
const checksumAddress = convertCheckSum(cfxAddress);
|
|
101
103
|
const cfxAddressLabel = typeof cfxAddress === "string" && !isFull ? shortenAddress(checksumAddress) : checksumAddress;
|
|
102
104
|
return /* @__PURE__ */ jsxs("div", { className: "inline-flex", children: [
|
|
103
|
-
prefix,
|
|
105
|
+
prefix || (isShowEns ? ENSIcon : null),
|
|
104
106
|
/* @__PURE__ */ jsx(
|
|
105
107
|
Text,
|
|
106
108
|
{
|
|
@@ -127,4 +129,4 @@ var RenderAddress = ({
|
|
|
127
129
|
export {
|
|
128
130
|
RenderAddress
|
|
129
131
|
};
|
|
130
|
-
//# sourceMappingURL=chunk-
|
|
132
|
+
//# sourceMappingURL=chunk-HJNIYZ62.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AddressContainer/addressView.tsx"],"sourcesContent":["import { Translation } from 'react-i18next';\nimport { Text } from '../Text';\nimport { convertCheckSum } from '../../utils/address';\nimport { getTranslations } from '../../store';\nimport { TooltipContent, RenderAddressProps } from './types';\nimport { shortenAddress } from '@cfx-kit/dapp-utils/dist/address';\n\nconst defaultPCMaxWidth = 138;\n\n// common\nconst renderTooltipContent = (tooltipContent: TooltipContent) => {\n return Object.entries(tooltipContent)\n .map(([key, { label, value, hideLabel }]) => {\n if (value) {\n return (\n <div key={key}>\n {!hideLabel && (\n <span>\n <Translation>{t => t(label)}</Translation>\n </span>\n )}\n {value}\n </div>\n );\n }\n return null;\n })\n .filter(Boolean);\n};\n\n// common\nconst convertLink = ({\n link,\n type,\n hrefAddress,\n cfxAddress,\n}: RenderAddressProps) => {\n if (typeof link === 'string') {\n return link;\n }\n if (link === false) {\n return false;\n }\n\n const address = hrefAddress || cfxAddress;\n\n if (address && typeof address === 'string') {\n const pathname = window.location.pathname.toLowerCase();\n const addressLower = address.toLowerCase();\n if (pathname.includes('/address/' + addressLower)) {\n return false;\n }\n\n if (type === 'pow') {\n return `/address/${address}`;\n }\n\n if (type === 'pos') {\n return `/pos/accounts/${address}`;\n }\n }\n\n return false;\n};\n\n// common\nexport const RenderAddress = ({\n cfxAddress,\n alias,\n hoverValue,\n hrefAddress,\n content,\n link = '',\n isFull = false,\n isFullNameTag = false,\n style = {},\n maxWidth,\n prefix = null,\n ENSIcon = null,\n suffix = null,\n type = 'pow',\n addressLabel = '',\n ENSLabel = '',\n nametag = '',\n hideAliasPrefixInHover = false,\n}: RenderAddressProps) => {\n const translations = getTranslations();\n\n // Private name tags >Official tag/name>contract token name > contract tag > contract name>CNS/ENS\n const name = addressLabel || content || nametag || alias || ENSLabel;\n const isShowEns = !!ENSLabel && name === ENSLabel;\n\n const defaultStyle = {\n maxWidth: `${(name && isFullNameTag) || isFull ? 'auto' : (maxWidth || defaultPCMaxWidth) + 'px'}`,\n };\n\n const href = convertLink({ link, type, hrefAddress, cfxAddress });\n\n const Wrapper = href ? 'a' : 'div';\n\n const tooltipContent: TooltipContent = {\n ENSLabel: {\n label: (translations as any)?.ens?.tip,\n value: ENSLabel,\n },\n nametag: {\n label: translations?.nametag?.tip,\n value: nametag,\n },\n addressLabel: {\n label: translations?.profile.address.myNameTag,\n value: addressLabel,\n },\n alias: {\n label: translations?.profile.address.publicNameTag,\n value: alias,\n hideLabel: hideAliasPrefixInHover,\n },\n };\n\n const checksumAddress = convertCheckSum(cfxAddress);\n\n const cfxAddressLabel =\n typeof cfxAddress === 'string' && !isFull\n ? shortenAddress(checksumAddress!)\n : checksumAddress;\n\n return (\n <div className=\"inline-flex\">\n {prefix || (isShowEns ? ENSIcon : null)}\n <Text\n tag=\"span\"\n hoverValue={\n <>\n {renderTooltipContent(tooltipContent)}\n <div>{hoverValue || checksumAddress}</div>\n </>\n }\n >\n <Wrapper\n className=\"block relative align-bottom cursor-default truncate\"\n style={{ ...defaultStyle, ...style }}\n {...(href ? { href: String(href) } : {})}\n >\n {name || cfxAddressLabel}\n </Wrapper>\n </Text>\n {suffix}\n </div>\n );\n};\n"],"mappings":"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","names":[]}
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
InvalidAddress,
|
|
9
9
|
MyAddress,
|
|
10
10
|
PosAddress
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WSDJ3XJ2.js";
|
|
12
12
|
import {
|
|
13
13
|
RenderAddress
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-HJNIYZ62.js";
|
|
15
15
|
import {
|
|
16
16
|
formatAddress,
|
|
17
17
|
isCoreAddress,
|
|
@@ -49,7 +49,7 @@ var parseProps = (props, globalData) => {
|
|
|
49
49
|
if (!alias && isZeroAddress(cfxAddress)) {
|
|
50
50
|
aliasLabel = t(translations.general.zeroAddress);
|
|
51
51
|
}
|
|
52
|
-
let
|
|
52
|
+
let ENSIcon = null;
|
|
53
53
|
let officalNametag = null;
|
|
54
54
|
let addressLabel = null;
|
|
55
55
|
let ENSLabel = null;
|
|
@@ -73,11 +73,11 @@ var parseProps = (props, globalData) => {
|
|
|
73
73
|
if (showENSLabel && gENSLabel) {
|
|
74
74
|
const { label, icon } = getLabelInfo(gENSLabel, "ens");
|
|
75
75
|
ENSLabel = label;
|
|
76
|
-
|
|
76
|
+
ENSIcon = icon;
|
|
77
77
|
}
|
|
78
78
|
return {
|
|
79
79
|
alias: aliasLabel,
|
|
80
|
-
|
|
80
|
+
ENSIcon,
|
|
81
81
|
nametag: officalNametag,
|
|
82
82
|
addressLabel,
|
|
83
83
|
ENSLabel,
|
|
@@ -138,4 +138,4 @@ var CoreAddressContainer = withTranslation()(
|
|
|
138
138
|
export {
|
|
139
139
|
CoreAddressContainer
|
|
140
140
|
};
|
|
141
|
-
//# sourceMappingURL=chunk-
|
|
141
|
+
//# sourceMappingURL=chunk-IDGNYTHY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AddressContainer/CoreAddressContainer.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { WithTranslation, withTranslation } from 'react-i18next';\nimport _ from 'lodash';\nimport {\n formatAddress,\n isCoreAddress,\n isCoreContractAddress,\n isZeroAddress,\n convertCheckSum,\n} from '../../utils/address';\nimport { useGlobalData, getTranslations } from '../../store';\nimport { LOCALSTORAGE_KEYS_MAP } from '../../utils/constants';\nimport { getLabelInfo } from './label';\nimport { useENS } from '../../utils/hooks/useENS';\n\nimport { RenderAddress } from './addressView';\nimport {\n ContractCreatedAddress,\n CoreHexAddress,\n InvalidAddress,\n ContractAddress,\n MyAddress,\n PosAddress,\n} from './addressSwitcher';\nimport { GlobalDataType } from 'src/store/types';\nimport { CoreAddressContainerProps } from './types';\n\nconst parseProps = (\n props: CoreAddressContainerProps & WithTranslation,\n globalData: GlobalDataType,\n) => {\n const {\n alias,\n ensInfo,\n t,\n showAddressLabel,\n showNametag,\n nametagInfo,\n showENSLabel,\n } = props;\n const value: string = props.value || '';\n const cfxAddress = formatAddress(value, 'base32');\n\n let ENSMap = ensInfo || {};\n\n const translations = getTranslations();\n\n let aliasLabel = alias;\n if (!alias && isZeroAddress(cfxAddress)) {\n aliasLabel = t(translations.general.zeroAddress);\n }\n\n let ENSIcon: React.ReactNode = null;\n // official name tag\n let officalNametag: React.ReactNode = null;\n // private name tag\n let addressLabel: React.ReactNode = null;\n // ens name tag\n let ENSLabel: React.ReactNode = null;\n // global ens name tag\n const gENSLabel = cfxAddress && ENSMap[cfxAddress]?.name;\n\n if (cfxAddress && showAddressLabel) {\n // global private name tag\n const addressLabels = globalData?.[LOCALSTORAGE_KEYS_MAP.addressLabel];\n const gAddressLabel = addressLabels?.[cfxAddress];\n\n if (gAddressLabel) {\n const { label } = getLabelInfo(gAddressLabel, 'tag');\n addressLabel = label;\n }\n }\n\n if (cfxAddress && showNametag) {\n const nametags = nametagInfo?.[cfxAddress];\n\n if (nametags) {\n const nametag = nametags?.nametag ?? '';\n const { label } = getLabelInfo(nametag, 'nametag');\n officalNametag = label;\n }\n }\n\n if (showENSLabel && gENSLabel) {\n const { label, icon } = getLabelInfo(gENSLabel, 'ens');\n ENSLabel = label;\n ENSIcon = icon;\n }\n\n return {\n alias: aliasLabel,\n ENSIcon: ENSIcon,\n nametag: officalNametag,\n addressLabel,\n ENSLabel,\n cfxAddress,\n };\n};\n\nexport const CoreAddressContainer = withTranslation()(\n memo((props: CoreAddressContainerProps & WithTranslation) => {\n const { globalData } = useGlobalData();\n\n // If the interface returns Ens content, there is no need to obtain it separately, or disable the display of Ens content (in most cases on the list page).\n const unnecessaryEns = props.ensInfo || props.showENSLabel === false;\n const { ens } = useENS(unnecessaryEns ? null : props.value);\n\n // If a txn receipt has no 'to' address or 'contractCreated', show -- for temp\n if (!props.value && !props.contractCreated) {\n return <>--</>;\n }\n\n const defaultProps = {\n isFull: false,\n isFullNameTag: false,\n link: true,\n isMe: false,\n showIcon: true,\n verify: false,\n showAddressLabel: true,\n showENSLabel: true,\n showNametag: true,\n ensInfo: ens,\n };\n\n const mergeDefaultProps = _.assign({}, defaultProps, props);\n\n const mergeParseProps = _.merge(\n {},\n mergeDefaultProps,\n parseProps(mergeDefaultProps, globalData),\n );\n\n if (mergeParseProps.isPosAddress) {\n return PosAddress(mergeParseProps);\n }\n\n if (!mergeParseProps.value && mergeParseProps.contractCreated) {\n return ContractCreatedAddress({\n ...mergeParseProps,\n outputType: 'base32',\n });\n }\n\n if (mergeParseProps.isEspaceAddress) {\n return CoreHexAddress(mergeParseProps);\n }\n\n if (!isCoreAddress(mergeParseProps.value)) {\n return InvalidAddress(mergeParseProps);\n }\n\n if (isCoreContractAddress(mergeParseProps.cfxAddress)) {\n return ContractAddress(mergeParseProps);\n }\n\n if (mergeParseProps.isMe) {\n return MyAddress(mergeParseProps);\n }\n\n return RenderAddress(mergeParseProps);\n }),\n);\n"],"mappings":"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","names":[]}
|
|
@@ -250,6 +250,24 @@ var Down = (props) => /* @__PURE__ */ jsx(
|
|
|
250
250
|
)
|
|
251
251
|
}
|
|
252
252
|
);
|
|
253
|
+
var Warning = (props) => /* @__PURE__ */ jsx(
|
|
254
|
+
"svg",
|
|
255
|
+
{
|
|
256
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
257
|
+
width: "16",
|
|
258
|
+
height: "16",
|
|
259
|
+
viewBox: "0 0 16 16",
|
|
260
|
+
fill: "none",
|
|
261
|
+
...props,
|
|
262
|
+
children: /* @__PURE__ */ jsx(
|
|
263
|
+
"path",
|
|
264
|
+
{
|
|
265
|
+
d: "M8 0C12.4183 0 16 3.58172 16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0ZM8 1.54883C4.43687 1.54883 1.54883 4.43687 1.54883 8C1.54883 11.5631 4.43687 14.4512 8 14.4512C11.5631 14.4512 14.4512 11.5631 14.4512 8C14.4512 4.43687 11.5631 1.54883 8 1.54883ZM8 7.22559C8.39182 7.22559 8.71616 7.51682 8.76758 7.89453L8.77441 8V10.8906C8.77425 11.3181 8.42747 11.6641 8 11.6641C7.60806 11.6641 7.28369 11.373 7.23242 10.9951L7.22559 10.8906V8C7.22559 7.57242 7.57242 7.22559 8 7.22559ZM8.00684 4.33594C8.43431 4.33594 8.78109 4.68194 8.78125 5.10938C8.78125 5.50132 8.49019 5.82569 8.1123 5.87695L8.00684 5.88379C7.57222 5.88358 7.22559 5.53682 7.22559 5.10938C7.22574 4.71772 7.51696 4.39422 7.89453 4.34277L8.00684 4.33594Z",
|
|
266
|
+
fill: "currentColor"
|
|
267
|
+
}
|
|
268
|
+
)
|
|
269
|
+
}
|
|
270
|
+
);
|
|
253
271
|
var DefaultTokenIcon = (props) => /* @__PURE__ */ jsxs(
|
|
254
272
|
"svg",
|
|
255
273
|
{
|
|
@@ -339,6 +357,7 @@ export {
|
|
|
339
357
|
Plus,
|
|
340
358
|
Minus,
|
|
341
359
|
Down,
|
|
360
|
+
Warning,
|
|
342
361
|
DefaultTokenIcon
|
|
343
362
|
};
|
|
344
|
-
//# sourceMappingURL=chunk-
|
|
363
|
+
//# sourceMappingURL=chunk-MWAD4CIG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Icons/index.tsx"],"sourcesContent":["export const ArrowDown: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <g clipPath=\"url(#clip0_7684_174)\">\n <rect width=\"16\" height=\"16\" rx=\"2\" fill=\"#7789D3\" fillOpacity=\"0.08\" />\n <path\n d=\"M4 6L8 10L12 6\"\n stroke=\"#9B9EAC\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_7684_174\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport const Add: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <g clipPath=\"url(#clip0_7684_167)\">\n <rect width=\"16\" height=\"16\" rx=\"2\" fill=\"#7789D3\" fillOpacity=\"0.08\" />\n <path\n d=\"M4 8H12\"\n stroke=\"#9B9EAC\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M8 4L8 12\"\n stroke=\"#9B9EAC\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_7684_167\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport const ContractCreated: React.FC<\n React.SVGProps<SVGSVGElement>\n> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n {...props}\n >\n <path\n d=\"M4 10H16\"\n stroke=\"#1E3DE4\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M10 4L10 16\"\n stroke=\"#1E3DE4\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nexport const Success: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16Z\"\n fill=\"#7CD77B\"\n />\n <path\n d=\"M4.66669 7.8808L7.21849 10.4849L11.1061 5.3334\"\n stroke=\"white\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nexport const Failed: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16Z\"\n fill=\"#E15C56\"\n />\n <path\n d=\"M10 6L6 10\"\n stroke=\"white\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M6 6L10 10\"\n stroke=\"white\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nexport const Plus: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <g clipPath=\"url(#clip0_8425_1454)\">\n <rect width=\"16\" height=\"16\" rx=\"2\" fill=\"#7789D3\" fillOpacity=\"0.08\" />\n <path\n d=\"M4 8H12\"\n stroke=\"#9B9EAC\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M8 4L8 12\"\n stroke=\"#9B9EAC\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_8425_1454\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport const Minus: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <g clipPath=\"url(#clip0_8425_1449)\">\n <rect width=\"16\" height=\"16\" rx=\"2\" fill=\"#7789D3\" fillOpacity=\"0.08\" />\n <path\n d=\"M4 8H12\"\n stroke=\"#9B9EAC\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_8425_1449\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport const Down: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <path\n d=\"M2 5L8 11L14 5\"\n stroke=\"#74798C\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nexport const Warning: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <path\n d=\"M8 0C12.4183 0 16 3.58172 16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0ZM8 1.54883C4.43687 1.54883 1.54883 4.43687 1.54883 8C1.54883 11.5631 4.43687 14.4512 8 14.4512C11.5631 14.4512 14.4512 11.5631 14.4512 8C14.4512 4.43687 11.5631 1.54883 8 1.54883ZM8 7.22559C8.39182 7.22559 8.71616 7.51682 8.76758 7.89453L8.77441 8V10.8906C8.77425 11.3181 8.42747 11.6641 8 11.6641C7.60806 11.6641 7.28369 11.373 7.23242 10.9951L7.22559 10.8906V8C7.22559 7.57242 7.57242 7.22559 8 7.22559ZM8.00684 4.33594C8.43431 4.33594 8.78109 4.68194 8.78125 5.10938C8.78125 5.50132 8.49019 5.82569 8.1123 5.87695L8.00684 5.88379C7.57222 5.88358 7.22559 5.53682 7.22559 5.10938C7.22574 4.71772 7.51696 4.39422 7.89453 4.34277L8.00684 4.33594Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport const DefaultTokenIcon: React.FC<\n React.SVGProps<SVGSVGElement>\n> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <g clipPath=\"url(#clip0_4974_4235)\">\n <path\n d=\"M6.83335 4.66096C6.70311 4.47666 6.47497 4.36443 6.22923 4.36377H2.01469C1.76768 4.36334 1.53791 4.47571 1.40699 4.66096L0.109388 6.49783C-0.0574925 6.73299 -0.031392 7.03693 0.173733 7.24711L3.8485 11.041C3.97681 11.1737 4.20246 11.1892 4.3525 11.0758C4.36662 11.0651 4.37977 11.0535 4.39185 11.041L8.06661 7.24711C8.27287 7.03765 8.30043 6.73367 8.13453 6.49783L6.83335 4.66096Z\"\n fill=\"#C4C6D2\"\n />\n <path\n d=\"M12.9833 8.95309C12.8837 8.81306 12.7093 8.7278 12.5213 8.7273H9.29846C9.10957 8.72697 8.93386 8.81234 8.83375 8.95309L7.84146 10.3486C7.71385 10.5273 7.73381 10.7582 7.89067 10.9179L10.7008 13.8002C10.7989 13.901 10.9715 13.9129 11.0862 13.8267C11.097 13.8186 11.1071 13.8097 11.1163 13.8002L13.9264 10.9179C14.0841 10.7588 14.1052 10.5278 13.9783 10.3486L12.9833 8.95309Z\"\n fill=\"#7F8296\"\n />\n <path\n d=\"M12.403 1.81547C12.2498 1.59167 11.9814 1.45539 11.6923 1.45459H6.73399C6.44339 1.45407 6.17307 1.59051 6.01906 1.81547L4.49246 4.04595C4.29613 4.33151 4.32684 4.70058 4.56816 4.95579L8.89141 9.56262C9.04237 9.72376 9.30784 9.74268 9.48436 9.60488C9.50097 9.59191 9.51644 9.57778 9.53065 9.56262L13.8539 4.95579C14.0966 4.70145 14.129 4.33233 13.9338 4.04595L12.403 1.81547Z\"\n fill=\"#4C4F60\"\n />\n <path\n d=\"M9.09439 8.08617L6.84586 5.67492C6.73629 5.55741 6.55221 5.55098 6.4347 5.66056C6.3172 5.77013 6.31077 5.95421 6.42035 6.07171L8.66887 8.48297C8.77845 8.60047 8.96253 8.6069 9.08003 8.49732C9.19753 8.38775 9.20396 8.20367 9.09439 8.08617Z\"\n fill=\"white\"\n />\n <path\n d=\"M4.08062 9.84827L2.16276 7.79161C2.05318 7.67411 1.8691 7.66768 1.7516 7.77726C1.6341 7.88683 1.62767 8.07091 1.73724 8.18841L3.6551 10.2451C3.76468 10.3626 3.94876 10.369 4.06626 10.2594C4.18376 10.1499 4.19019 9.96577 4.08062 9.84827Z\"\n fill=\"white\"\n />\n <path\n d=\"M11.0616 12.7989L9.97037 11.6288C9.8608 11.5113 9.67672 11.5048 9.55922 11.6144C9.44171 11.724 9.43528 11.9081 9.54486 12.0256L10.6361 13.1957C10.7456 13.3132 10.9297 13.3197 11.0472 13.2101C11.1647 13.1005 11.1711 12.9164 11.0616 12.7989Z\"\n fill=\"white\"\n />\n <path\n d=\"M5.81786 5.5759C6.08563 5.5759 6.3027 5.35882 6.3027 5.09105C6.3027 4.82328 6.08563 4.6062 5.81786 4.6062C5.55008 4.6062 5.33301 4.82328 5.33301 5.09105C5.33301 5.35882 5.55008 5.5759 5.81786 5.5759Z\"\n fill=\"white\"\n />\n <path\n d=\"M1.2119 7.75778C1.47967 7.75778 1.69675 7.54071 1.69675 7.27293C1.69675 7.00516 1.47967 6.78809 1.2119 6.78809C0.944125 6.78809 0.727051 7.00516 0.727051 7.27293C0.727051 7.54071 0.944125 7.75778 1.2119 7.75778Z\"\n fill=\"white\"\n />\n <path\n d=\"M8.96971 11.394C9.23749 11.394 9.45456 11.1769 9.45456 10.9092C9.45456 10.6414 9.23749 10.4243 8.96971 10.4243C8.70194 10.4243 8.48486 10.6414 8.48486 10.9092C8.48486 11.1769 8.70194 11.394 8.96971 11.394Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_4974_4235\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n"],"mappings":"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","names":[]}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ContractDetail,
|
|
3
|
+
formatContractAndTokenInfoMap
|
|
4
|
+
} from "./chunk-SX6R4MHO.js";
|
|
1
5
|
import {
|
|
2
6
|
FunctionName,
|
|
3
7
|
getParameterType
|
|
@@ -8,10 +12,6 @@ import {
|
|
|
8
12
|
import {
|
|
9
13
|
AddressLabel
|
|
10
14
|
} from "./chunk-CKVDFS45.js";
|
|
11
|
-
import {
|
|
12
|
-
ContractDetail,
|
|
13
|
-
formatContractAndTokenInfoMap
|
|
14
|
-
} from "./chunk-SUCQASD3.js";
|
|
15
15
|
import {
|
|
16
16
|
Link
|
|
17
17
|
} from "./chunk-2Y57U43P.js";
|
|
@@ -181,4 +181,4 @@ export {
|
|
|
181
181
|
DecodedParameters,
|
|
182
182
|
OptimizationDecode
|
|
183
183
|
};
|
|
184
|
-
//# sourceMappingURL=chunk-
|
|
184
|
+
//# sourceMappingURL=chunk-OZ4OJLIM.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-2Y57U43P.js";
|
|
4
4
|
import {
|
|
5
5
|
DefaultTokenIcon
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MWAD4CIG.js";
|
|
7
7
|
import {
|
|
8
8
|
formatAddress
|
|
9
9
|
} from "./chunk-CNF26YY7.js";
|
|
@@ -81,4 +81,4 @@ export {
|
|
|
81
81
|
formatContractAndTokenInfoMap,
|
|
82
82
|
ContractDetail
|
|
83
83
|
};
|
|
84
|
-
//# sourceMappingURL=chunk-
|
|
84
|
+
//# sourceMappingURL=chunk-SX6R4MHO.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ErrorDecode
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YIXV7A4J.js";
|
|
4
4
|
import {
|
|
5
5
|
GeneralDecode
|
|
6
6
|
} from "./chunk-OYESIV3F.js";
|
|
7
7
|
import {
|
|
8
8
|
DecodedParameters
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OZ4OJLIM.js";
|
|
10
10
|
import {
|
|
11
11
|
Original
|
|
12
12
|
} from "./chunk-YBQQ72FQ.js";
|
|
@@ -69,4 +69,4 @@ var OutputData = ({
|
|
|
69
69
|
export {
|
|
70
70
|
OutputData
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-TP67325Z.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TraceDetail
|
|
3
|
+
} from "./chunk-A6ND7FSQ.js";
|
|
1
4
|
import {
|
|
2
5
|
Table
|
|
3
6
|
} from "./chunk-XZ7IV2FF.js";
|
|
4
|
-
import {
|
|
5
|
-
TraceDetail
|
|
6
|
-
} from "./chunk-UINFSWXM.js";
|
|
7
7
|
|
|
8
8
|
// src/components/TransactionTrace/TreeTraceTable.tsx
|
|
9
9
|
import { useMemo } from "react";
|
|
@@ -79,4 +79,4 @@ var TreeTraceTable = ({
|
|
|
79
79
|
export {
|
|
80
80
|
TreeTraceTable
|
|
81
81
|
};
|
|
82
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-VJSXGYWN.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ContractCreated
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MWAD4CIG.js";
|
|
4
4
|
import {
|
|
5
5
|
RenderAddress
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HJNIYZ62.js";
|
|
7
7
|
import {
|
|
8
8
|
formatAddress,
|
|
9
9
|
isInnerContractAddress
|
|
@@ -205,4 +205,4 @@ export {
|
|
|
205
205
|
MyAddress,
|
|
206
206
|
PosAddress
|
|
207
207
|
};
|
|
208
|
-
//# sourceMappingURL=chunk-
|
|
208
|
+
//# sourceMappingURL=chunk-WSDJ3XJ2.js.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Link
|
|
3
|
+
} from "./chunk-2Y57U43P.js";
|
|
4
|
+
import {
|
|
5
|
+
Warning
|
|
6
|
+
} from "./chunk-MWAD4CIG.js";
|
|
7
|
+
|
|
8
|
+
// src/components/InputData/AbiWarning.tsx
|
|
9
|
+
import { Trans } from "react-i18next";
|
|
10
|
+
import clsx from "clsx";
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
var AbiWarning = ({
|
|
13
|
+
tip,
|
|
14
|
+
className
|
|
15
|
+
}) => {
|
|
16
|
+
if (!tip)
|
|
17
|
+
return null;
|
|
18
|
+
return /* @__PURE__ */ jsxs(
|
|
19
|
+
"div",
|
|
20
|
+
{
|
|
21
|
+
className: clsx("mt-1.4286rem flex items-center text-#9b9eac", className),
|
|
22
|
+
children: [
|
|
23
|
+
/* @__PURE__ */ jsx(Warning, { className: "w-1rem" }),
|
|
24
|
+
/* @__PURE__ */ jsx("span", { className: "text-1rem ml-0.5714rem", children: /* @__PURE__ */ jsxs(Trans, { i18nKey: tip, children: [
|
|
25
|
+
"ABI not uploaded. You can help improve the decoding of this transaction by",
|
|
26
|
+
/* @__PURE__ */ jsx(Link, { href: "/abi-verification", children: "submitting function signatures" }),
|
|
27
|
+
"."
|
|
28
|
+
] }) })
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
AbiWarning
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=chunk-XBEBAU77.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/InputData/AbiWarning.tsx"],"sourcesContent":["import { Trans } from 'react-i18next';\nimport { Warning } from '../Icons';\nimport clsx from 'clsx';\nimport { Link } from '../Link';\n\nexport const AbiWarning = ({\n tip,\n className,\n}: {\n tip?: string;\n className?: string;\n}) => {\n if (!tip) return null;\n return (\n <div\n className={clsx('mt-1.4286rem flex items-center text-#9b9eac', className)}\n >\n <Warning className=\"w-1rem\" />\n <span className=\"text-1rem ml-0.5714rem\">\n <Trans i18nKey={tip}>\n ABI not uploaded. You can help improve the decoding of this\n transaction by\n <Link href=\"/abi-verification\">submitting function signatures</Link>.\n </Trans>\n </span>\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAAA,SAAS,aAAa;AAEtB,OAAO,UAAU;AAeX,cAEE,YAFF;AAZC,IAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA;AACF,MAGM;AACJ,MAAI,CAAC;AAAK,WAAO;AACjB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,KAAK,+CAA+C,SAAS;AAAA,MAExE;AAAA,4BAAC,WAAQ,WAAU,UAAS;AAAA,QAC5B,oBAAC,UAAK,WAAU,0BACd,+BAAC,SAAM,SAAS,KAAK;AAAA;AAAA,UAGnB,oBAAC,QAAK,MAAK,qBAAoB,4CAA8B;AAAA,UAAO;AAAA,WACtE,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useDecodeFunctionError
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2KXTTKRI.js";
|
|
4
4
|
import {
|
|
5
5
|
DecodedParameters
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-OZ4OJLIM.js";
|
|
7
7
|
import {
|
|
8
8
|
FunctionName
|
|
9
9
|
} from "./chunk-FYLAXC3R.js";
|
|
10
10
|
import {
|
|
11
11
|
Original
|
|
12
12
|
} from "./chunk-YBQQ72FQ.js";
|
|
13
|
+
import {
|
|
14
|
+
AbiWarning
|
|
15
|
+
} from "./chunk-XBEBAU77.js";
|
|
13
16
|
import {
|
|
14
17
|
cn
|
|
15
18
|
} from "./chunk-CPPQCJEV.js";
|
|
@@ -41,7 +44,15 @@ var ErrorDecode = ({
|
|
|
41
44
|
children: "Error:"
|
|
42
45
|
}
|
|
43
46
|
),
|
|
44
|
-
/* @__PURE__ */
|
|
47
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
48
|
+
/* @__PURE__ */ jsx(Original, { data: errorData }),
|
|
49
|
+
!isLoading && /* @__PURE__ */ jsx(
|
|
50
|
+
AbiWarning,
|
|
51
|
+
{
|
|
52
|
+
tip: decodedError?.failed ? "contract.abiError" : decodedError?.noAbi ? "contract.abiNotUploaded" : void 0
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
] })
|
|
45
56
|
] });
|
|
46
57
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
47
58
|
/* @__PURE__ */ jsxs("div", { className: "flex min-h-32px", children: [
|
|
@@ -76,4 +87,4 @@ var ErrorDecode = ({
|
|
|
76
87
|
export {
|
|
77
88
|
ErrorDecode
|
|
78
89
|
};
|
|
79
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-YIXV7A4J.js.map
|