@cfxjs/sirius-next-common 0.2.19 → 0.2.21-fix-error-publish

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 (208) hide show
  1. package/dist/{chunk-CMOP3BKX.js → chunk-225VMTCA.js} +3 -3
  2. package/dist/{chunk-LCIBOT5P.js → chunk-3JIAKQ23.js} +2 -2
  3. package/dist/{chunk-C7OIVXE3.js → chunk-4B7BV62E.js} +3 -3
  4. package/dist/chunk-4BS66NNM.js +29 -0
  5. package/dist/chunk-4BS66NNM.js.map +1 -0
  6. package/dist/{chunk-S7M6UTND.js → chunk-4M53GHPD.js} +6 -6
  7. package/dist/{chunk-GHHUAWSG.js → chunk-524EB4WC.js} +3 -3
  8. package/dist/chunk-5AM5HM3B.js +10 -0
  9. package/dist/chunk-5AM5HM3B.js.map +1 -0
  10. package/dist/{chunk-XZL5CZFT.js → chunk-5MJZWIYI.js} +4 -4
  11. package/dist/chunk-6C5NQACS.js +202 -0
  12. package/dist/chunk-6C5NQACS.js.map +1 -0
  13. package/dist/{chunk-H5ZJBRIK.js → chunk-6PKWA444.js} +4 -4
  14. package/dist/{chunk-C3E5EA6J.js → chunk-734CQOS7.js} +10 -10
  15. package/dist/{chunk-C3E5EA6J.js.map → chunk-734CQOS7.js.map} +1 -1
  16. package/dist/chunk-7RLNWQIR.js +192 -0
  17. package/dist/chunk-7RLNWQIR.js.map +1 -0
  18. package/dist/{chunk-RUU22F7R.js → chunk-7VFOHX3W.js} +2 -2
  19. package/dist/{chunk-BEI5TWJL.js → chunk-7WDLTRBN.js} +2 -2
  20. package/dist/{chunk-AYCHKB2Y.js → chunk-A3IT7RYO.js} +2 -2
  21. package/dist/{chunk-UF5BN4QN.js → chunk-A3VPSWVX.js} +2 -2
  22. package/dist/chunk-A46LVI25.js +82 -0
  23. package/dist/chunk-A46LVI25.js.map +1 -0
  24. package/dist/chunk-A6B5V6XY.js +140 -0
  25. package/dist/chunk-A6B5V6XY.js.map +1 -0
  26. package/dist/{chunk-ELF2EOGF.js → chunk-AQFNXW4W.js} +2 -2
  27. package/dist/chunk-ASS6TOFE.js +72 -0
  28. package/dist/chunk-ASS6TOFE.js.map +1 -0
  29. package/dist/{chunk-NM3BMITL.js → chunk-B5JCHBO3.js} +2 -2
  30. package/dist/{chunk-DCQANK66.js → chunk-BGNBKP5R.js} +2 -2
  31. package/dist/{chunk-6L4ZEJQI.js → chunk-BN3ATGHU.js} +2 -2
  32. package/dist/chunk-C6GUZVQ2.js +130 -0
  33. package/dist/chunk-C6GUZVQ2.js.map +1 -0
  34. package/dist/chunk-CNXGYDZG.js +146 -0
  35. package/dist/chunk-CNXGYDZG.js.map +1 -0
  36. package/dist/chunk-DASMAZXS.js +71 -0
  37. package/dist/{chunk-GPQN2P32.js → chunk-DO6PJAZB.js} +5 -5
  38. package/dist/chunk-E7FB4S3X.js +276 -0
  39. package/dist/chunk-E7FB4S3X.js.map +1 -0
  40. package/dist/{chunk-BHAXBHVC.js → chunk-EHRGH3HS.js} +4 -4
  41. package/dist/chunk-EOSVUB2G.js +51 -0
  42. package/dist/chunk-EOSVUB2G.js.map +1 -0
  43. package/dist/chunk-FGPRA3A4.js +80 -0
  44. package/dist/chunk-FGPRA3A4.js.map +1 -0
  45. package/dist/{chunk-UZALXR3J.js → chunk-FJMV3UA7.js} +4 -4
  46. package/dist/{chunk-YVV32ON3.js → chunk-FSYB23NA.js} +2 -2
  47. package/dist/{chunk-TC4445WV.js → chunk-FTAFV6RE.js} +5 -5
  48. package/dist/chunk-FW5ON36S.js +212 -0
  49. package/dist/chunk-FW5ON36S.js.map +1 -0
  50. package/dist/chunk-HCEXWKMZ.js +90 -0
  51. package/dist/chunk-HCEXWKMZ.js.map +1 -0
  52. package/dist/chunk-HW5VD7EO.js +17 -0
  53. package/dist/chunk-HW5VD7EO.js.map +1 -0
  54. package/dist/{chunk-GQRCW7WX.js → chunk-J536GL5G.js} +2 -2
  55. package/dist/{chunk-DYNSSHD5.js → chunk-J7UQ2R3H.js} +7 -7
  56. package/dist/{chunk-YEAWH772.js → chunk-JBCKAHH7.js} +2 -2
  57. package/dist/{chunk-7VQL3G7K.js → chunk-JKFT4JUY.js} +4 -4
  58. package/dist/chunk-L7RD6ZPE.js +534 -0
  59. package/dist/chunk-L7RD6ZPE.js.map +1 -0
  60. package/dist/{chunk-W64AF7LA.js → chunk-MFCMTOYM.js} +5 -5
  61. package/dist/chunk-MQY7EQPG.js +284 -0
  62. package/dist/chunk-MQY7EQPG.js.map +1 -0
  63. package/dist/chunk-MWSXXVVL.js +157 -0
  64. package/dist/chunk-MWSXXVVL.js.map +1 -0
  65. package/dist/chunk-O6BP54O6.js +63 -0
  66. package/dist/chunk-O6BP54O6.js.map +1 -0
  67. package/dist/chunk-OFAM2QTT.js +17 -0
  68. package/dist/chunk-OFAM2QTT.js.map +1 -0
  69. package/dist/{chunk-2WEBXRNL.js → chunk-OSPPP5W5.js} +2 -2
  70. package/dist/chunk-OT252GGM.js +66 -0
  71. package/dist/chunk-OT252GGM.js.map +1 -0
  72. package/dist/{chunk-WZIT54AU.js → chunk-OTSNM4CR.js} +2 -2
  73. package/dist/chunk-OTSNM4CR.js.map +1 -0
  74. package/dist/chunk-QX7AGYA5.js +2149 -0
  75. package/dist/chunk-QX7AGYA5.js.map +1 -0
  76. package/dist/chunk-R62HRSIY.js +145 -0
  77. package/dist/chunk-R62HRSIY.js.map +1 -0
  78. package/dist/{chunk-OT7NZ4PK.js → chunk-RLA5XZT2.js} +3 -3
  79. package/dist/chunk-RLA5XZT2.js.map +1 -0
  80. package/dist/{chunk-MUW5KBWU.js → chunk-RWTNG7SM.js} +8 -4
  81. package/dist/chunk-RWTNG7SM.js.map +1 -0
  82. package/dist/chunk-SIZYE6WH.js +3616 -0
  83. package/dist/chunk-SIZYE6WH.js.map +1 -0
  84. package/dist/chunk-SNUPCZY7.js +812 -0
  85. package/dist/chunk-SNUPCZY7.js.map +1 -0
  86. package/dist/{chunk-VGYNHJFT.js → chunk-SYWQ2T57.js} +8 -7
  87. package/dist/chunk-SYWQ2T57.js.map +1 -0
  88. package/dist/chunk-TGWQSVFC.js +26 -0
  89. package/dist/chunk-TGWQSVFC.js.map +1 -0
  90. package/dist/chunk-UVRMLFMC.js +21 -0
  91. package/dist/chunk-UVRMLFMC.js.map +1 -0
  92. package/dist/chunk-UX6IRX2M.js +146 -0
  93. package/dist/chunk-UX6IRX2M.js.map +1 -0
  94. package/dist/chunk-VD73ULXJ.js +107 -0
  95. package/dist/chunk-VD73ULXJ.js.map +1 -0
  96. package/dist/chunk-VEK5DLFI.js +23 -0
  97. package/dist/chunk-VEK5DLFI.js.map +1 -0
  98. package/dist/chunk-VTHVXZOP.js +112 -0
  99. package/dist/chunk-VTHVXZOP.js.map +1 -0
  100. package/dist/chunk-WY3RJ3A6.js +51 -0
  101. package/dist/chunk-XI5WO2NW.js +37 -0
  102. package/dist/chunk-XI5WO2NW.js.map +1 -0
  103. package/dist/{chunk-C6CGZ6KN.js → chunk-YOCMEOLX.js} +2 -2
  104. package/dist/chunk-YOVNVFY2.js +105 -0
  105. package/dist/chunk-YOVNVFY2.js.map +1 -0
  106. package/dist/{chunk-7AVQOIDM.js → chunk-Z64Z5HLJ.js} +2 -2
  107. package/dist/components/AAFailedReason/index.d.ts +11 -0
  108. package/dist/components/AAFailedReason/index.js +41 -0
  109. package/dist/components/AAFailedReason/index.js.map +1 -0
  110. package/dist/components/AceEditor/index.js +4 -4
  111. package/dist/components/AddressContainer/CoreAddressContainer.js +10 -10
  112. package/dist/components/AddressContainer/EVMAddressContainer.js +9 -9
  113. package/dist/components/AddressContainer/addressSwitcher.js +7 -7
  114. package/dist/components/AddressContainer/addressView.js +6 -6
  115. package/dist/components/AddressContainer/label.js +3 -3
  116. package/dist/components/AddressContainer/utils.js +3 -3
  117. package/dist/components/Age/index.js +4 -4
  118. package/dist/components/AutoComplete/index.js +3 -3
  119. package/dist/components/Charts/PreviewChartTemplate.js +1 -1
  120. package/dist/components/Charts/StockChartTemplate.js +1 -1
  121. package/dist/components/CopyButton/index.js +3 -3
  122. package/dist/components/DecimalsSelect/index.js +3 -3
  123. package/dist/components/DownloadCSV/index.js +4 -4
  124. package/dist/components/GasPriceDropdown/index.js +2 -2
  125. package/dist/components/IncreasePercent/index.js +2 -2
  126. package/dist/components/InfoIconWithTooltip/index.js +4 -4
  127. package/dist/components/InputData/AddressLabel.js +8 -8
  128. package/dist/components/InputData/ContractDetail.js +3 -3
  129. package/dist/components/InputData/JsonDecode.js +5 -5
  130. package/dist/components/InputData/OptimizationDecode.js +10 -10
  131. package/dist/components/InputData/UTF8.js +3 -3
  132. package/dist/components/InputData/index.js +14 -14
  133. package/dist/components/Modal/index.js +3 -3
  134. package/dist/components/NetworkIcon/index.js +2 -2
  135. package/dist/components/OutputData/ErrorDecode.js +13 -13
  136. package/dist/components/OutputData/index.js +15 -15
  137. package/dist/components/PhishingAddressContainer/index.js +4 -4
  138. package/dist/components/Popover/index.js +3 -3
  139. package/dist/components/Price/index.js +3 -3
  140. package/dist/components/ProxyContractAddress/index.js +6 -6
  141. package/dist/components/Radio/index.js +2 -2
  142. package/dist/components/SearchInput/index.js +4 -4
  143. package/dist/components/Select/index.js +4 -4
  144. package/dist/components/Select/select.js +3 -3
  145. package/dist/components/SmartAccountAddress/index.d.ts +11 -0
  146. package/dist/components/SmartAccountAddress/index.js +94 -0
  147. package/dist/components/SmartAccountAddress/index.js.map +1 -0
  148. package/dist/components/Text/index.js +4 -4
  149. package/dist/components/Tooltip/index.js +3 -3
  150. package/dist/components/TransactionAction/coreTransactionAction.js +23 -18
  151. package/dist/components/TransactionAction/coreTransactionAction.js.map +1 -1
  152. package/dist/components/TransactionAction/evmTransactionAction.js +22 -17
  153. package/dist/components/TransactionAction/evmTransactionAction.js.map +1 -1
  154. package/dist/components/TransactionTrace/TraceDetail.js +23 -23
  155. package/dist/components/TransactionTrace/TreeTraceTable.js +24 -24
  156. package/dist/components/TransactionTrace/index.js +24 -24
  157. package/dist/utils/address.js +2 -2
  158. package/dist/utils/contractManagerTool.js +2 -2
  159. package/dist/utils/hooks/useAddressLabel.js +3 -3
  160. package/dist/utils/hooks/useAddressNameMap.d.ts +7 -2
  161. package/dist/utils/hooks/useAddressNameMap.js +4 -2
  162. package/dist/utils/hooks/useAutoSetHolderFilterParams.js +2 -2
  163. package/dist/utils/hooks/useContractDetail.js +2 -2
  164. package/dist/utils/hooks/useDecodeFunctionData.js +5 -5
  165. package/dist/utils/hooks/useDecodeFunctionError.js +3 -3
  166. package/dist/utils/hooks/useENS.js +3 -3
  167. package/dist/utils/hooks/useEnhanceDataWithNameMap.d.ts +1 -4
  168. package/dist/utils/hooks/useEnhanceDataWithNameMap.js +3 -6
  169. package/dist/utils/hooks/useEnhanceDataWithNameMap.js.map +1 -1
  170. package/dist/utils/hooks/useMethodAbi.js +2 -2
  171. package/dist/utils/hooks/useTableData.js +1 -1
  172. package/dist/utils/hooks/useTxTrace.js +3 -3
  173. package/dist/utils/index.js +2 -2
  174. package/dist/utils/request.d.ts +1 -0
  175. package/dist/utils/request.js +1 -1
  176. package/package.json +17 -17
  177. package/dist/chunk-MUW5KBWU.js.map +0 -1
  178. package/dist/chunk-VGYNHJFT.js.map +0 -1
  179. /package/dist/{chunk-CMOP3BKX.js.map → chunk-225VMTCA.js.map} +0 -0
  180. /package/dist/{chunk-LCIBOT5P.js.map → chunk-3JIAKQ23.js.map} +0 -0
  181. /package/dist/{chunk-C7OIVXE3.js.map → chunk-4B7BV62E.js.map} +0 -0
  182. /package/dist/{chunk-S7M6UTND.js.map → chunk-4M53GHPD.js.map} +0 -0
  183. /package/dist/{chunk-GHHUAWSG.js.map → chunk-524EB4WC.js.map} +0 -0
  184. /package/dist/{chunk-XZL5CZFT.js.map → chunk-5MJZWIYI.js.map} +0 -0
  185. /package/dist/{chunk-H5ZJBRIK.js.map → chunk-6PKWA444.js.map} +0 -0
  186. /package/dist/{chunk-RUU22F7R.js.map → chunk-7VFOHX3W.js.map} +0 -0
  187. /package/dist/{chunk-BEI5TWJL.js.map → chunk-7WDLTRBN.js.map} +0 -0
  188. /package/dist/{chunk-AYCHKB2Y.js.map → chunk-A3IT7RYO.js.map} +0 -0
  189. /package/dist/{chunk-UF5BN4QN.js.map → chunk-A3VPSWVX.js.map} +0 -0
  190. /package/dist/{chunk-ELF2EOGF.js.map → chunk-AQFNXW4W.js.map} +0 -0
  191. /package/dist/{chunk-NM3BMITL.js.map → chunk-B5JCHBO3.js.map} +0 -0
  192. /package/dist/{chunk-DCQANK66.js.map → chunk-BGNBKP5R.js.map} +0 -0
  193. /package/dist/{chunk-6L4ZEJQI.js.map → chunk-BN3ATGHU.js.map} +0 -0
  194. /package/dist/{chunk-OT7NZ4PK.js.map → chunk-DASMAZXS.js.map} +0 -0
  195. /package/dist/{chunk-GPQN2P32.js.map → chunk-DO6PJAZB.js.map} +0 -0
  196. /package/dist/{chunk-BHAXBHVC.js.map → chunk-EHRGH3HS.js.map} +0 -0
  197. /package/dist/{chunk-UZALXR3J.js.map → chunk-FJMV3UA7.js.map} +0 -0
  198. /package/dist/{chunk-YVV32ON3.js.map → chunk-FSYB23NA.js.map} +0 -0
  199. /package/dist/{chunk-TC4445WV.js.map → chunk-FTAFV6RE.js.map} +0 -0
  200. /package/dist/{chunk-GQRCW7WX.js.map → chunk-J536GL5G.js.map} +0 -0
  201. /package/dist/{chunk-DYNSSHD5.js.map → chunk-J7UQ2R3H.js.map} +0 -0
  202. /package/dist/{chunk-YEAWH772.js.map → chunk-JBCKAHH7.js.map} +0 -0
  203. /package/dist/{chunk-7VQL3G7K.js.map → chunk-JKFT4JUY.js.map} +0 -0
  204. /package/dist/{chunk-W64AF7LA.js.map → chunk-MFCMTOYM.js.map} +0 -0
  205. /package/dist/{chunk-2WEBXRNL.js.map → chunk-OSPPP5W5.js.map} +0 -0
  206. /package/dist/{chunk-WZIT54AU.js.map → chunk-WY3RJ3A6.js.map} +0 -0
  207. /package/dist/{chunk-C6CGZ6KN.js.map → chunk-YOCMEOLX.js.map} +0 -0
  208. /package/dist/{chunk-7AVQOIDM.js.map → chunk-Z64Z5HLJ.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/request.ts"],"sourcesContent":["import qs from 'query-string';\nimport { publishRequestError } from './pubsub';\nimport {\n AddressNameMap,\n BaseContractInfo,\n DetectAccountTypeResponse,\n MethodAbiItemResponse,\n} from './request.types';\nimport { getEnvConfig } from '../store';\nimport { fetchWithCache } from './cache';\ninterface FetchWithAbortType<T> {\n promise: Promise<T>;\n abort: () => void;\n}\n\ninterface FetchOptions extends RequestInit {\n timeout?: number;\n showErrorMessage?: boolean;\n}\n\nconst TIMEOUT_TIMESTAMP = 60000;\n\nconst checkStatus = (response: Response) => {\n if (\n (response.status >= 200 && response.status < 300) ||\n response.status === 600\n ) {\n return response;\n } else {\n const error = new Error(response.statusText);\n error.name = 'HttpError';\n (error as any).status = response.status;\n (error as any).response = response;\n throw error;\n }\n};\n\n// 格式化 response data\nconst parseJSON = async (response: Response) => {\n const contentType = response.headers.get('content-type');\n try {\n if (contentType?.includes('application/json')) {\n return { data: await response.json(), response };\n } else if (contentType?.includes('text/html')) {\n return { data: await response.text(), response };\n } else {\n // contentType 还有其他类型,目前项目中用不到\n // 不能简单的报错,比如 image/x-icon 是 favicon 请求\n // 此处直接返回 response,由业务代码处理其他类型的数据\n return { data: response, response };\n }\n } catch (error) {\n if ((error as any).name === 'AbortError') {\n return { data: response, response };\n }\n (error as any).response = response;\n (error as any).status = 20001;\n throw error;\n }\n};\n\n// 检查返回值中是否包含错误\nconst checkResponse = function (\n url: string,\n {\n data,\n response,\n }: {\n data: any;\n response: Response;\n },\n opts: FetchOptions,\n) {\n // 兼容 data.code 和 data.data, 是关于 core space 的数据结构\n if (response.status === 200 && (data.status === '1' || data.code === 0)) {\n return data.result || data.data;\n } else if (/HEAD/i.test(opts?.method || '')) {\n // handle of HEAD method\n return response;\n } else {\n const code = Number(data.status ?? data.code);\n const error: Partial<ErrorEvent> & {\n response?: ResponseType;\n status?: number;\n } = new Error(data.message);\n error.response = data;\n error.status = code;\n throw error;\n }\n};\n\nconst fetchWithAbort = <T>(\n url: string,\n options: FetchOptions = {},\n): FetchWithAbortType<T> => {\n const controller = new AbortController();\n const opts: FetchOptions = { ...options, signal: controller.signal };\n const showErrorMessage = options.showErrorMessage ?? true;\n const timeout = options.timeout || TIMEOUT_TIMESTAMP;\n\n let timeoutId: ReturnType<typeof setTimeout>;\n const promise: Promise<T> = new Promise((resolve, reject) => {\n timeoutId = setTimeout(() => {\n controller.abort();\n showErrorMessage &&\n publishRequestError(\n { url, code: 20002, message: 'Request timeout' },\n 'http',\n );\n reject(new Error('Request timeout'));\n }, timeout);\n\n window\n .fetch(url, opts)\n .then(checkStatus)\n .then(parseJSON)\n .then((...args) => checkResponse(url, ...args, opts))\n .then(data => resolve(data as T))\n .catch(error => {\n if (/HEAD/i.test(opts?.method || '')) {\n return resolve({} as T);\n }\n\n // A fetch() promise will reject with a TypeError when a network error is encountered or CORS is misconfigured on the server-side,\n // although this usually means permission issues or similar — a 404 does not constitute a network error, for example.\n // For detail: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\n if (error.name === 'TypeError') {\n showErrorMessage && publishRequestError({ url, code: 20004 }, 'http');\n reject(new Error('Network error'));\n } else if (error.name === 'AbortError') {\n showErrorMessage &&\n publishRequestError(\n { url, code: 20003, message: 'Fetch aborted' },\n 'http',\n );\n reject(new Error('Fetch aborted'));\n } else {\n showErrorMessage &&\n publishRequestError(\n { url, code: (error as any).status, message: error.message },\n 'http',\n );\n reject(error);\n }\n })\n .finally(() => clearTimeout(timeoutId));\n });\n\n return {\n promise,\n abort: () => {\n clearTimeout(timeoutId);\n controller.abort();\n },\n };\n};\n\nexport const fetch = <T>(\n url: string,\n options: FetchOptions = {},\n): Promise<T> => {\n const { promise } = fetchWithAbort<T>(url, options);\n return promise;\n};\n\nexport const appendApiPrefix = (url: string) => {\n // for cfx top N\n if (url.startsWith('/stat/')) {\n return url;\n }\n if (url.startsWith('http')) {\n return url;\n }\n return `/v1${url.startsWith('/') ? url : '/' + url}`;\n};\n\nexport const fetchWithPrefix = <T>(url: string, opts?: FetchOptions) => {\n return fetch<T>(appendApiPrefix(url), opts);\n};\n\nexport const fetchWithOpenApi = <T>(url: string, opts?: FetchOptions) => {\n const ENV_CONFIG = getEnvConfig();\n if (!ENV_CONFIG.ENV_OPEN_API_HOST) {\n throw new Error('ENV_OPEN_API_HOST is not set');\n }\n return fetch<T>(\n `${ENV_CONFIG.ENV_OPEN_API_HOST}${url.startsWith('/') ? url : '/' + url}`,\n opts,\n );\n};\n\nexport const simpleGetFetcher = async <T>(args: any[]) => {\n let [url, query] = args;\n if (query) {\n url = qs.stringifyUrl({ url, query });\n }\n return await fetchWithPrefix<T>(url, {\n method: 'get',\n });\n};\n\ntype RequestMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD';\ninterface QueryParams {\n [key: string]: string | undefined;\n}\ninterface Config {\n url: string;\n query: QueryParams;\n type?: RequestMethod;\n body?: any;\n headers?: Headers;\n signal?: AbortSignal;\n}\n\nconst queryAddress = (address: string[]) => {\n return address.reduce((prev, curr, index) => {\n return !index ? `address=${curr}` : `${prev}&address=${curr}`;\n }, '');\n};\n\nexport const sendRequestChart = async (config: Config) => {\n try {\n const res: any = await fetch(\n qs.stringifyUrl({ url: config.url, query: config.query }),\n {\n method: config.type || 'GET',\n body: config.body,\n headers: config.headers,\n signal: config.signal,\n },\n );\n const data = res;\n data.list = [...(data.list || [])].reverse();\n return data;\n } catch (error) {\n console.error('Request failed', error);\n throw error;\n }\n};\n\nexport const sendRequestENSInfo = async (url?: string | null) => {\n if (!url) return {};\n try {\n const res: any = await fetch(url, {\n method: 'GET',\n });\n\n return res?.map;\n } catch (error) {\n console.error('Request failed', error);\n throw error;\n }\n};\n\nexport const sendRequestGasPrice = async () => {\n try {\n const res: any = await fetch(`/stat/gasprice/tracker`, {\n method: 'GET',\n });\n return res;\n } catch (error) {\n console.error('Request failed', error);\n throw error;\n }\n};\n\nexport const reqNametag = async (address: string[]) => {\n const query = queryAddress(address);\n\n const res: any = await fetch(`/v1/nametag?${query}`, {\n method: 'GET',\n });\n return res?.map;\n};\n\nexport const reqContractAndToken = fetchWithCache(\n async (address: string[]) => {\n const query = queryAddress(address);\n\n const res: any = await fetch(`/v1/contract-and-token?${query}`, {\n method: 'GET',\n });\n return res;\n },\n {\n key: 'contract-and-token',\n maxAge: 1000 * 60 * 60,\n },\n);\n\nexport const getContractDetail = fetchWithCache(\n <T extends string>(contractAddress?: string, fields: T[] = []) => {\n const url = qs.stringifyUrl({\n url: `/v1/contract/${contractAddress}`,\n query: { fields },\n });\n\n return fetch<BaseContractInfo & Record<T, unknown>>(url, {\n method: 'GET',\n });\n },\n {\n key: 'contract-detail',\n maxAge: 1000 * 60 * 60,\n },\n);\n\nexport const detectAccountType = fetchWithCache(\n (address: string) => {\n return fetchWithOpenApi<DetectAccountTypeResponse>(\n `/util/detectAccountType?hex=${address}`,\n {\n method: 'GET',\n },\n );\n },\n {\n // 10 seconds\n maxAge: 1000 * 10,\n },\n);\n\nexport const reqAbiByMethodId = (methodId: string) => {\n return fetchWithPrefix<{\n list: MethodAbiItemResponse[];\n }>(\n qs.stringifyUrl({\n url: '/stat/list-abi-method',\n query: {\n id: methodId,\n },\n }),\n );\n};\n\nexport const fetchAddressNameMap = (\n addresses: string[],\n params: {\n withContractInfo?: 'true' | 'false';\n withNameTagInfo?: 'true' | 'false';\n withENSInfo?: 'true' | 'false';\n } = {},\n) => {\n const url = qs.stringifyUrl({\n url: '/account/infos',\n query: {\n accounts: addresses.join(','),\n ...params,\n },\n });\n return fetchWithOpenApi<Record<string, AddressNameMap>>(url, {\n method: 'GET',\n });\n};\n"],"mappings":"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","names":[]}
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  useAddressLabel
3
- } from "./chunk-DCQANK66.js";
3
+ } from "./chunk-VEK5DLFI.js";
4
4
  import {
5
5
  useENS
6
- } from "./chunk-CMOP3BKX.js";
6
+ } from "./chunk-O6BP54O6.js";
7
7
  import {
8
8
  Text
9
- } from "./chunk-C7OIVXE3.js";
9
+ } from "./chunk-4B7BV62E.js";
10
10
  import {
11
11
  getTranslations
12
12
  } from "./chunk-DQGLZCIG.js";
@@ -48,4 +48,4 @@ var AddressLabel = ({
48
48
  export {
49
49
  AddressLabel
50
50
  };
51
- //# sourceMappingURL=chunk-BHAXBHVC.js.map
51
+ //# sourceMappingURL=chunk-EHRGH3HS.js.map
@@ -0,0 +1,51 @@
1
+ import {
2
+ useAddressLabel
3
+ } from "./chunk-BGNBKP5R.js";
4
+ import {
5
+ useENS
6
+ } from "./chunk-225VMTCA.js";
7
+ import {
8
+ Text
9
+ } from "./chunk-YOVNVFY2.js";
10
+ import {
11
+ getTranslations
12
+ } from "./chunk-DQGLZCIG.js";
13
+
14
+ // src/components/InputData/AddressLabel.tsx
15
+ import { Bookmark } from "@zeit-ui/react-icons";
16
+ import { useTranslation } from "react-i18next";
17
+ import ICON_ENS from "./logo-cns-7CXISC6I.svg";
18
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
19
+ var ENSIcon = () => /* @__PURE__ */ jsx("img", { src: ICON_ENS, className: "w-[16px] h-[16px] mb-[3px] mr-[2px]", alt: "" });
20
+ var AddressLabel = ({
21
+ address,
22
+ space
23
+ }) => {
24
+ const translations = getTranslations();
25
+ const { ens } = useENS(space === "core" ? address : null);
26
+ const { t } = useTranslation();
27
+ const addressLabel = useAddressLabel(address);
28
+ const label = ens[address]?.name ?? "";
29
+ const addressLabelIcon = /* @__PURE__ */ jsx(Text, { tag: "span", hoverValue: t(translations.profile.tip.label), children: /* @__PURE__ */ jsx(Bookmark, { color: "var(--theme-color-gray2)", size: 16 }) });
30
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
31
+ label && /* @__PURE__ */ jsxs(Fragment, { children: [
32
+ " ",
33
+ "(",
34
+ /* @__PURE__ */ jsx(ENSIcon, {}),
35
+ label,
36
+ ")"
37
+ ] }),
38
+ addressLabel && /* @__PURE__ */ jsxs(Fragment, { children: [
39
+ " ",
40
+ "(",
41
+ addressLabelIcon,
42
+ addressLabel,
43
+ ")"
44
+ ] })
45
+ ] });
46
+ };
47
+
48
+ export {
49
+ AddressLabel
50
+ };
51
+ //# sourceMappingURL=chunk-EOSVUB2G.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/InputData/AddressLabel.tsx"],"sourcesContent":["import { Bookmark } from '@zeit-ui/react-icons';\nimport { useTranslation } from 'react-i18next';\nimport { Text } from '../Text';\nimport { getTranslations } from 'src/store';\nimport { useENS } from 'src/utils/hooks/useENS';\nimport { useAddressLabel } from 'src/utils/hooks/useAddressLabel';\nimport ICON_ENS from '../../images/logo-cns.svg';\n\nconst ENSIcon = () => (\n <img src={ICON_ENS} className=\"w-[16px] h-[16px] mb-[3px] mr-[2px]\" alt=\"\" />\n);\n\nexport const AddressLabel = ({\n address,\n space,\n}: {\n address: string;\n space: 'evm' | 'core';\n}) => {\n const translations = getTranslations();\n // ENS is only for core space, and we don't want to request ENS info for evm space to avoid unnecessary requests\n const { ens } = useENS(space === 'core' ? address : null);\n const { t } = useTranslation();\n\n const addressLabel = useAddressLabel(address);\n\n const label = ens[address]?.name ?? '';\n\n const addressLabelIcon = (\n <Text tag=\"span\" hoverValue={t(translations.profile.tip.label)}>\n <Bookmark color=\"var(--theme-color-gray2)\" size={16} />\n </Text>\n );\n\n return (\n <>\n {label && (\n <>\n {' '}\n (<ENSIcon />\n {label})\n </>\n )}\n {addressLabel && (\n <>\n {' '}\n ({addressLabelIcon}\n {addressLabel})\n </>\n )}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAK/B,OAAO,cAAc;AAGnB,SA4BM,UA5BN,KA4BM,YA5BN;AADF,IAAM,UAAU,MACd,oBAAC,SAAI,KAAK,UAAU,WAAU,uCAAsC,KAAI,IAAG;AAGtE,IAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AACF,MAGM;AACJ,QAAM,eAAe,gBAAgB;AAErC,QAAM,EAAE,IAAI,IAAI,OAAO,UAAU,SAAS,UAAU,IAAI;AACxD,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,QAAM,eAAe,gBAAgB,OAAO;AAE5C,QAAM,QAAQ,IAAI,OAAO,GAAG,QAAQ;AAEpC,QAAM,mBACJ,oBAAC,QAAK,KAAI,QAAO,YAAY,EAAE,aAAa,QAAQ,IAAI,KAAK,GAC3D,8BAAC,YAAS,OAAM,4BAA2B,MAAM,IAAI,GACvD;AAGF,SACE,iCACG;AAAA,aACC,iCACG;AAAA;AAAA,MAAI;AAAA,MACJ,oBAAC,WAAQ;AAAA,MACT;AAAA,MAAM;AAAA,OACT;AAAA,IAED,gBACC,iCACG;AAAA;AAAA,MAAI;AAAA,MACH;AAAA,MACD;AAAA,MAAa;AAAA,OAChB;AAAA,KAEJ;AAEJ;","names":[]}
@@ -0,0 +1,80 @@
1
+ import {
2
+ useAddressNameMap
3
+ } from "./chunk-4BS66NNM.js";
4
+ import {
5
+ Link
6
+ } from "./chunk-2Y57U43P.js";
7
+ import {
8
+ getAddressNameInfo
9
+ } from "./chunk-OTSNM4CR.js";
10
+ import {
11
+ DefaultTokenIcon
12
+ } from "./chunk-MWAD4CIG.js";
13
+ import {
14
+ formatAddress
15
+ } from "./chunk-MQY7EQPG.js";
16
+
17
+ // src/components/InputData/ContractDetail.tsx
18
+ import clsx from "clsx";
19
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
20
+ var Icon = ({ icon, className }) => {
21
+ return icon ? /* @__PURE__ */ jsx(
22
+ "img",
23
+ {
24
+ src: icon,
25
+ alt: "icon",
26
+ className: clsx("w-1.1429rem mr-2px mb-3px", className)
27
+ }
28
+ ) : /* @__PURE__ */ jsx(
29
+ DefaultTokenIcon,
30
+ {
31
+ className: clsx("w-1.1429rem mr-2px mb-3px", className)
32
+ }
33
+ );
34
+ };
35
+ var ContractDetail = ({ address, addressType }) => {
36
+ const { data: nameMap } = useAddressNameMap([address]);
37
+ const nameInfo = getAddressNameInfo(address, nameMap);
38
+ if (nameInfo) {
39
+ const {
40
+ tokenName,
41
+ tokenSymbol,
42
+ tokenIconUrl,
43
+ contractName,
44
+ verificationName
45
+ } = nameInfo;
46
+ let child = null;
47
+ if (tokenName || tokenSymbol) {
48
+ const name = tokenName || "--";
49
+ const symbol = `(${tokenSymbol ? tokenSymbol : "--"})`;
50
+ const icon = tokenIconUrl;
51
+ child = /* @__PURE__ */ jsxs(Fragment, { children: [
52
+ /* @__PURE__ */ jsx(Icon, { icon }),
53
+ /* @__PURE__ */ jsxs(Link, { href: `/token/${formatAddress(address, addressType)}`, children: [
54
+ name,
55
+ " ",
56
+ symbol
57
+ ] }),
58
+ " "
59
+ ] });
60
+ } else if (contractName || verificationName) {
61
+ const name = contractName || verificationName;
62
+ const icon = tokenIconUrl;
63
+ child = /* @__PURE__ */ jsxs(Fragment, { children: [
64
+ /* @__PURE__ */ jsx(Icon, { icon }),
65
+ /* @__PURE__ */ jsx(Link, { href: `/address/${formatAddress(address, addressType)}`, children: name }),
66
+ " "
67
+ ] });
68
+ }
69
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
70
+ " ",
71
+ child
72
+ ] });
73
+ }
74
+ return null;
75
+ };
76
+
77
+ export {
78
+ ContractDetail
79
+ };
80
+ //# sourceMappingURL=chunk-FGPRA3A4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/InputData/ContractDetail.tsx"],"sourcesContent":["import React from 'react';\nimport { formatAddress } from '../../utils/address';\nimport { Link } from '../Link';\nimport { DefaultTokenIcon } from '../Icons';\nimport clsx from 'clsx';\nimport { useAddressNameMap } from 'src/utils/hooks/useAddressNameMap';\nimport { getAddressNameInfo } from '../AddressContainer/utils';\n\nconst Icon = ({ icon, className }: { icon?: string; className?: string }) => {\n return icon ? (\n <img\n src={icon}\n alt=\"icon\"\n className={clsx('w-1.1429rem mr-2px mb-3px', className)}\n />\n ) : (\n <DefaultTokenIcon\n className={clsx('w-1.1429rem mr-2px mb-3px', className)}\n />\n );\n};\n\ninterface Props {\n address: string;\n addressType: 'hex' | 'base32';\n}\n\nexport const ContractDetail = ({ address, addressType }: Props) => {\n const { data: nameMap } = useAddressNameMap([address]);\n const nameInfo = getAddressNameInfo(address, nameMap);\n if (nameInfo) {\n const {\n tokenName,\n tokenSymbol,\n tokenIconUrl,\n contractName,\n verificationName,\n } = nameInfo;\n let child: React.ReactNode = null;\n\n if (tokenName || tokenSymbol) {\n const name = tokenName || '--';\n const symbol = `(${tokenSymbol ? tokenSymbol : '--'})`;\n const icon = tokenIconUrl;\n\n child = (\n <>\n <Icon icon={icon} />\n <Link href={`/token/${formatAddress(address, addressType)}`}>\n {name} {symbol}\n </Link>{' '}\n </>\n );\n } else if (contractName || verificationName) {\n const name = contractName || verificationName;\n const icon = tokenIconUrl;\n\n child = (\n <>\n <Icon icon={icon} />\n <Link href={`/address/${formatAddress(address, addressType)}`}>\n {name}\n </Link>{' '}\n </>\n );\n }\n\n return <> {child}</>;\n }\n return null;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAIA,OAAO,UAAU;AAMb,SAoCI,UApCJ,KAsCM,YAtCN;AAFJ,IAAM,OAAO,CAAC,EAAE,MAAM,UAAU,MAA6C;AAC3E,SAAO,OACL;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,KAAI;AAAA,MACJ,WAAW,KAAK,6BAA6B,SAAS;AAAA;AAAA,EACxD,IAEA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,KAAK,6BAA6B,SAAS;AAAA;AAAA,EACxD;AAEJ;AAOO,IAAM,iBAAiB,CAAC,EAAE,SAAS,YAAY,MAAa;AACjE,QAAM,EAAE,MAAM,QAAQ,IAAI,kBAAkB,CAAC,OAAO,CAAC;AACrD,QAAM,WAAW,mBAAmB,SAAS,OAAO;AACpD,MAAI,UAAU;AACZ,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI;AACJ,QAAI,QAAyB;AAE7B,QAAI,aAAa,aAAa;AAC5B,YAAM,OAAO,aAAa;AAC1B,YAAM,SAAS,IAAI,cAAc,cAAc;AAC/C,YAAM,OAAO;AAEb,cACE,iCACE;AAAA,4BAAC,QAAK,MAAY;AAAA,QAClB,qBAAC,QAAK,MAAM,UAAU,cAAc,SAAS,WAAW,KACrD;AAAA;AAAA,UAAK;AAAA,UAAE;AAAA,WACV;AAAA,QAAQ;AAAA,SACV;AAAA,IAEJ,WAAW,gBAAgB,kBAAkB;AAC3C,YAAM,OAAO,gBAAgB;AAC7B,YAAM,OAAO;AAEb,cACE,iCACE;AAAA,4BAAC,QAAK,MAAY;AAAA,QAClB,oBAAC,QAAK,MAAM,YAAY,cAAc,SAAS,WAAW,KACvD,gBACH;AAAA,QAAQ;AAAA,SACV;AAAA,IAEJ;AAEA,WAAO,iCAAE;AAAA;AAAA,MAAE;AAAA,OAAM;AAAA,EACnB;AACA,SAAO;AACT;","names":[]}
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  ErrorDecode
3
- } from "./chunk-H5ZJBRIK.js";
3
+ } from "./chunk-6PKWA444.js";
4
4
  import {
5
5
  GeneralDecode
6
6
  } from "./chunk-OYESIV3F.js";
7
7
  import {
8
8
  DecodedParameters
9
- } from "./chunk-DYNSSHD5.js";
9
+ } from "./chunk-J7UQ2R3H.js";
10
10
  import {
11
11
  Original
12
12
  } from "./chunk-YBQQ72FQ.js";
13
13
  import {
14
14
  UTF8
15
- } from "./chunk-UF5BN4QN.js";
15
+ } from "./chunk-A3VPSWVX.js";
16
16
 
17
17
  // src/components/OutputData/index.tsx
18
18
  import { jsx } from "react/jsx-runtime";
@@ -69,4 +69,4 @@ var OutputData = ({
69
69
  export {
70
70
  OutputData
71
71
  };
72
- //# sourceMappingURL=chunk-UZALXR3J.js.map
72
+ //# sourceMappingURL=chunk-FJMV3UA7.js.map
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-BMO4IZHV.js";
30
30
  import {
31
31
  cn
32
- } from "./chunk-NM3BMITL.js";
32
+ } from "./chunk-SNUPCZY7.js";
33
33
 
34
34
  // src/components/Popover/index.tsx
35
35
  import { useRef } from "react";
@@ -2146,4 +2146,4 @@ focus-trap/dist/focus-trap.esm.js:
2146
2146
  * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
2147
2147
  *)
2148
2148
  */
2149
- //# sourceMappingURL=chunk-YVV32ON3.js.map
2149
+ //# sourceMappingURL=chunk-FSYB23NA.js.map
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  getAddressNameInfo
3
- } from "./chunk-WZIT54AU.js";
3
+ } from "./chunk-OTSNM4CR.js";
4
4
  import {
5
5
  ContractAddress,
6
6
  ContractCreatedAddress,
7
7
  InvalidAddress,
8
8
  MyAddress
9
- } from "./chunk-GPQN2P32.js";
9
+ } from "./chunk-FW5ON36S.js";
10
10
  import {
11
11
  RenderAddress
12
- } from "./chunk-C3E5EA6J.js";
12
+ } from "./chunk-UX6IRX2M.js";
13
13
  import {
14
14
  convertCheckSum,
15
15
  formatAddress,
16
16
  isEvmAddress,
17
17
  isZeroAddress
18
- } from "./chunk-6L4ZEJQI.js";
18
+ } from "./chunk-MQY7EQPG.js";
19
19
  import {
20
20
  getTranslations,
21
21
  useGlobalData
@@ -109,4 +109,4 @@ var EVMAddressContainer = withTranslation()(
109
109
  export {
110
110
  EVMAddressContainer
111
111
  };
112
- //# sourceMappingURL=chunk-TC4445WV.js.map
112
+ //# sourceMappingURL=chunk-FTAFV6RE.js.map
@@ -0,0 +1,212 @@
1
+ import {
2
+ ContractCreated
3
+ } from "./chunk-MWAD4CIG.js";
4
+ import {
5
+ RenderAddress
6
+ } from "./chunk-UX6IRX2M.js";
7
+ import {
8
+ formatAddress,
9
+ isInnerContractAddress
10
+ } from "./chunk-MQY7EQPG.js";
11
+ import {
12
+ Tooltip
13
+ } from "./chunk-J536GL5G.js";
14
+ import {
15
+ coreCorrespondsToEspace,
16
+ getNetwork
17
+ } from "./chunk-SNUPCZY7.js";
18
+ import {
19
+ getEnvConfig,
20
+ getTranslations,
21
+ useGlobalData
22
+ } from "./chunk-DQGLZCIG.js";
23
+
24
+ // src/components/AddressContainer/addressSwitcher.tsx
25
+ import { AlertTriangle, File } from "@zeit-ui/react-icons";
26
+ import InternalContractIcon from "./internal-contract-icon-ZH2RG3CU.png";
27
+ import ContractIcon from "./contract-icon-P3W2HUAA.png";
28
+ import VerifiedIcon from "./verified-VJRHZNN7.png";
29
+ import isMeIcon from "./me-SIV36SR7.png";
30
+ import { isPosAddress } from "@cfx-kit/dapp-utils/dist/address";
31
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
32
+ var ContractCreatedAddress = (props) => {
33
+ const { contractCreated = "", outputType, t, isFull } = props;
34
+ const translations = getTranslations();
35
+ const contractAddress = formatAddress(contractCreated, outputType);
36
+ const customProps = {
37
+ contractName: t(translations.transaction.contractCreation),
38
+ hrefAddress: contractAddress,
39
+ cfxAddress: contractAddress,
40
+ maxWidth: 160
41
+ };
42
+ const mergedProps = { ...props, ...customProps };
43
+ return RenderAddress({
44
+ ...mergedProps,
45
+ prefix: /* @__PURE__ */ jsx("div", { className: `mr-[2px] flex-shrink-0 ${isFull ? "icon" : ""}`, children: /* @__PURE__ */ jsx(Tooltip, { title: mergedProps.contractName, children: /* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px]", children: /* @__PURE__ */ jsx(ContractCreated, { className: "w-[16px] h-[16px] align-bottom mb-[3px]" }) }) }) })
46
+ });
47
+ };
48
+ var CoreHexAddress = (props) => {
49
+ const { value, t, isFull, maxWidth } = props;
50
+ const { globalData } = useGlobalData();
51
+ const ENV_CONFIG = getEnvConfig();
52
+ const translations = getTranslations();
53
+ const hexAddress = formatAddress(value, "hex");
54
+ const network = getNetwork(
55
+ globalData?.networks,
56
+ coreCorrespondsToEspace(ENV_CONFIG.ENV_NETWORK_ID)
57
+ );
58
+ const url = `${network.url}/address/${hexAddress}`;
59
+ return RenderAddress({
60
+ cfxAddress: hexAddress,
61
+ hoverValue: hexAddress,
62
+ link: url,
63
+ isFull,
64
+ maxWidth,
65
+ suffixSize: 0,
66
+ prefix: /* @__PURE__ */ jsx("div", { className: "mr-[2px] flex-shrink-0", children: /* @__PURE__ */ jsx(Tooltip, { title: t(translations.general.eSpaceAddress), children: /* @__PURE__ */ jsx(File, { size: 16, color: "#17B38A" }) }) })
67
+ });
68
+ };
69
+ var InvalidAddress = (props) => {
70
+ const {
71
+ value,
72
+ tokenName,
73
+ contractName,
74
+ verificationName,
75
+ t,
76
+ isFull,
77
+ maxWidth,
78
+ isFullNameTag,
79
+ hideAliasPrefixInHover
80
+ } = props;
81
+ const translations = getTranslations();
82
+ const tip = t(translations.general.invalidAddress);
83
+ return RenderAddress({
84
+ cfxAddress: value,
85
+ contractName,
86
+ tokenName,
87
+ verificationName,
88
+ hoverValue: `${tip}: ${value}`,
89
+ link: false,
90
+ isFull,
91
+ isFullNameTag,
92
+ maxWidth,
93
+ style: { color: "#e00909" },
94
+ prefix: /* @__PURE__ */ jsx("div", { className: "mr-[2px] flex-shrink-0", children: /* @__PURE__ */ jsx(Tooltip, { title: tip, children: /* @__PURE__ */ jsx(AlertTriangle, { size: 16, color: "#e00909" }) }) }),
95
+ hideAliasPrefixInHover
96
+ });
97
+ };
98
+ var ContractAddress = (props) => {
99
+ const { showIcon, verify, t, cfxAddress, isFull } = props;
100
+ const translations = getTranslations();
101
+ const isInnerContract = cfxAddress && isInnerContractAddress(cfxAddress);
102
+ const typeText = t(
103
+ isInnerContract ? translations.general.internalContract : verify ? translations.general.verifiedContract : translations.general.unverifiedContract
104
+ );
105
+ return RenderAddress({
106
+ ...props,
107
+ prefix: showIcon ? /* @__PURE__ */ jsx("div", { className: `mr-[2px] flex-shrink-0 ${isFull ? "icon" : ""}`, children: /* @__PURE__ */ jsx(Tooltip, { title: typeText, children: /* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px]", children: isInnerContract ? /* @__PURE__ */ jsx(
108
+ "img",
109
+ {
110
+ className: "w-[16px] h-[16px] align-bottom mb-[5px]",
111
+ src: InternalContractIcon,
112
+ alt: typeText
113
+ }
114
+ ) : /* @__PURE__ */ jsxs(Fragment, { children: [
115
+ /* @__PURE__ */ jsx(
116
+ "img",
117
+ {
118
+ className: "w-[16px] h-[16px] align-bottom mb-[5px]",
119
+ src: ContractIcon,
120
+ alt: typeText
121
+ }
122
+ ),
123
+ verify ? /* @__PURE__ */ jsx(
124
+ "img",
125
+ {
126
+ className: "w-[8px] h-[8px] absolute bottom-[-1px] right-[1px]",
127
+ src: VerifiedIcon,
128
+ alt: ""
129
+ }
130
+ ) : /* @__PURE__ */ jsx(Fragment, {})
131
+ ] }) }) }) }) : /* @__PURE__ */ jsx(Fragment, {})
132
+ });
133
+ };
134
+ var MyAddress = (props) => {
135
+ const { isFull } = props;
136
+ return RenderAddress({
137
+ ...props,
138
+ suffix: /* @__PURE__ */ jsx("div", { className: "mr-[2px] flex-shrink-0", children: /* @__PURE__ */ jsx(
139
+ "img",
140
+ {
141
+ className: "w-[38.5px] h-[16px] ml-[3px] align-bottom",
142
+ src: isMeIcon,
143
+ alt: "is me",
144
+ style: {
145
+ marginBottom: isFull ? "6px" : "4px"
146
+ }
147
+ }
148
+ ) })
149
+ });
150
+ };
151
+ var PosAddress = (props) => {
152
+ const {
153
+ tokenName,
154
+ contractName,
155
+ verificationName,
156
+ isFull,
157
+ isFullNameTag,
158
+ maxWidth,
159
+ t,
160
+ link,
161
+ isMe,
162
+ hideAliasPrefixInHover
163
+ } = props;
164
+ const value = props.value;
165
+ if (!value) {
166
+ return /* @__PURE__ */ jsx(Fragment, { children: "--" });
167
+ }
168
+ if (isMe) {
169
+ return MyAddress(props);
170
+ }
171
+ const translations = getTranslations();
172
+ if (!isPosAddress(value)) {
173
+ const tip = t(translations.general.invalidPosAddress);
174
+ return RenderAddress({
175
+ cfxAddress: value,
176
+ tokenName,
177
+ contractName,
178
+ verificationName,
179
+ hoverValue: `${tip}: ${value}`,
180
+ link: false,
181
+ isFull,
182
+ isFullNameTag,
183
+ maxWidth,
184
+ style: { color: "#e00909" },
185
+ prefix: /* @__PURE__ */ jsx("div", { className: "mr-[2px] flex-shrink-0", children: /* @__PURE__ */ jsx(Tooltip, { title: tip, children: /* @__PURE__ */ jsx(AlertTriangle, { size: 16, color: "#e00909" }) }) }),
186
+ type: "pos",
187
+ hideAliasPrefixInHover
188
+ });
189
+ }
190
+ return RenderAddress({
191
+ cfxAddress: value,
192
+ tokenName,
193
+ contractName,
194
+ verificationName,
195
+ link,
196
+ isFull,
197
+ isFullNameTag,
198
+ maxWidth,
199
+ type: "pos",
200
+ hideAliasPrefixInHover
201
+ });
202
+ };
203
+
204
+ export {
205
+ ContractCreatedAddress,
206
+ CoreHexAddress,
207
+ InvalidAddress,
208
+ ContractAddress,
209
+ MyAddress,
210
+ PosAddress
211
+ };
212
+ //# sourceMappingURL=chunk-FW5ON36S.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/AddressContainer/addressSwitcher.tsx"],"sourcesContent":["import { WithTranslation } from 'react-i18next';\nimport { AlertTriangle, File } from '@zeit-ui/react-icons';\nimport InternalContractIcon from '../../images/internal-contract-icon.png';\nimport ContractIcon from '../../images/contract-icon.png';\nimport VerifiedIcon from '../../images/verified.png';\nimport isMeIcon from '../../images/me.png';\nimport { Tooltip } from '../Tooltip';\nimport { isPosAddress } from '@cfx-kit/dapp-utils/dist/address';\nimport { formatAddress, isInnerContractAddress } from '../../utils/address';\nimport { getTranslations, getEnvConfig, useGlobalData } from '../../store';\nimport { getNetwork, coreCorrespondsToEspace } from 'src/utils';\nimport { Props } from './types';\nimport { RenderAddress } from './addressView';\nimport { ContractCreated } from '../Icons';\n\n// common\nexport const ContractCreatedAddress = (\n props: Props & WithTranslation & { outputType: 'hex' | 'base32' },\n) => {\n const { contractCreated = '', outputType, t, isFull } = props;\n\n const translations = getTranslations();\n\n const contractAddress = formatAddress(contractCreated, outputType);\n\n const customProps = {\n contractName: t(translations.transaction.contractCreation),\n hrefAddress: contractAddress,\n cfxAddress: contractAddress,\n maxWidth: 160,\n };\n\n const mergedProps = { ...props, ...customProps };\n return RenderAddress({\n ...mergedProps,\n prefix: (\n <div className={`mr-[2px] flex-shrink-0 ${isFull ? 'icon' : ''}`}>\n <Tooltip title={mergedProps.contractName}>\n <div className=\"relative w-[16px] h-[16px]\">\n <ContractCreated className=\"w-[16px] h-[16px] align-bottom mb-[3px]\" />\n </div>\n </Tooltip>\n </div>\n ),\n });\n};\n\n// core\nexport const CoreHexAddress = (props: Props & WithTranslation) => {\n const { value, t, isFull, maxWidth } = props;\n const { globalData } = useGlobalData();\n\n const ENV_CONFIG = getEnvConfig();\n const translations = getTranslations();\n const hexAddress = formatAddress(value, 'hex');\n const network = getNetwork(\n globalData?.networks,\n coreCorrespondsToEspace(ENV_CONFIG.ENV_NETWORK_ID),\n );\n const url = `${network.url}/address/${hexAddress}`;\n\n return RenderAddress({\n cfxAddress: hexAddress,\n hoverValue: hexAddress,\n link: url,\n isFull,\n maxWidth,\n suffixSize: 0,\n prefix: (\n <div className=\"mr-[2px] flex-shrink-0\">\n <Tooltip title={t((translations as any).general.eSpaceAddress)}>\n <File size={16} color=\"#17B38A\" />\n </Tooltip>\n </div>\n ),\n });\n};\n\n// common\nexport const InvalidAddress = (props: Props & WithTranslation) => {\n const {\n value,\n tokenName,\n contractName,\n verificationName,\n t,\n isFull,\n maxWidth,\n isFullNameTag,\n hideAliasPrefixInHover,\n } = props;\n\n const translations = getTranslations();\n\n const tip = t(translations.general.invalidAddress);\n\n return RenderAddress({\n cfxAddress: value,\n contractName,\n tokenName,\n verificationName,\n hoverValue: `${tip}: ${value}`,\n link: false,\n isFull,\n isFullNameTag,\n maxWidth,\n style: { color: '#e00909' },\n prefix: (\n <div className=\"mr-[2px] flex-shrink-0\">\n <Tooltip title={tip}>\n <AlertTriangle size={16} color=\"#e00909\" />\n </Tooltip>\n </div>\n ),\n hideAliasPrefixInHover,\n });\n};\n\n// common\nexport const ContractAddress = (props: Props & WithTranslation) => {\n const { showIcon, verify, t, cfxAddress, isFull } = props;\n\n const translations = getTranslations();\n\n const isInnerContract = cfxAddress && isInnerContractAddress(cfxAddress);\n\n const typeText = t(\n isInnerContract\n ? translations.general.internalContract\n : verify\n ? translations.general.verifiedContract\n : translations.general.unverifiedContract,\n );\n\n return RenderAddress({\n ...props,\n prefix: showIcon ? (\n <div className={`mr-[2px] flex-shrink-0 ${isFull ? 'icon' : ''}`}>\n <Tooltip title={typeText}>\n <div className=\"relative w-[16px] h-[16px]\">\n {isInnerContract ? (\n <img\n className=\"w-[16px] h-[16px] align-bottom mb-[5px]\"\n src={InternalContractIcon}\n alt={typeText}\n />\n ) : (\n <>\n <img\n className=\"w-[16px] h-[16px] align-bottom mb-[5px]\"\n src={ContractIcon}\n alt={typeText}\n />\n {verify ? (\n <img\n className=\"w-[8px] h-[8px] absolute bottom-[-1px] right-[1px]\"\n src={VerifiedIcon}\n alt={''}\n />\n ) : (\n <></>\n )}\n </>\n )}\n </div>\n </Tooltip>\n </div>\n ) : (\n <></>\n ),\n });\n};\n\n// common\nexport const MyAddress = (props: Props & WithTranslation) => {\n const { isFull } = props;\n return RenderAddress({\n ...props,\n suffix: (\n <div className=\"mr-[2px] flex-shrink-0\">\n <img\n className=\"w-[38.5px] h-[16px] ml-[3px] align-bottom\"\n src={isMeIcon}\n alt=\"is me\"\n style={{\n marginBottom: isFull ? '6px' : '4px',\n }}\n />\n </div>\n ),\n });\n};\n\n// core\nexport const PosAddress = (props: Props & WithTranslation) => {\n const {\n tokenName,\n contractName,\n verificationName,\n isFull,\n isFullNameTag,\n maxWidth,\n t,\n link,\n isMe,\n hideAliasPrefixInHover,\n } = props;\n const value = props.value;\n if (!value) {\n return <>--</>;\n }\n if (isMe) {\n return MyAddress(props);\n }\n const translations = getTranslations();\n if (!isPosAddress(value)) {\n const tip = t(translations.general.invalidPosAddress);\n return RenderAddress({\n cfxAddress: value,\n tokenName,\n contractName,\n verificationName,\n hoverValue: `${tip}: ${value}`,\n link: false,\n isFull,\n isFullNameTag,\n maxWidth,\n style: { color: '#e00909' },\n prefix: (\n <div className=\"mr-[2px] flex-shrink-0\">\n <Tooltip title={tip}>\n <AlertTriangle size={16} color=\"#e00909\" />\n </Tooltip>\n </div>\n ),\n type: 'pos',\n hideAliasPrefixInHover,\n });\n }\n\n return RenderAddress({\n cfxAddress: value,\n tokenName,\n contractName,\n verificationName,\n link,\n isFull,\n isFullNameTag,\n maxWidth,\n type: 'pos',\n hideAliasPrefixInHover,\n });\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,90 @@
1
+ import {
2
+ DecodedParameters
3
+ } from "./chunk-MWSXXVVL.js";
4
+ import {
5
+ FunctionName
6
+ } from "./chunk-FYLAXC3R.js";
7
+ import {
8
+ Original
9
+ } from "./chunk-5AM5HM3B.js";
10
+ import {
11
+ AbiWarning
12
+ } from "./chunk-XBEBAU77.js";
13
+ import {
14
+ useDecodeFunctionError
15
+ } from "./chunk-C6GUZVQ2.js";
16
+ import {
17
+ cn
18
+ } from "./chunk-SNUPCZY7.js";
19
+
20
+ // src/components/OutputData/ErrorDecode.tsx
21
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
22
+ var ErrorDecode = ({
23
+ to,
24
+ errorData,
25
+ space,
26
+ labelClassName,
27
+ implementation
28
+ }) => {
29
+ const [decodedError, isLoading] = useDecodeFunctionError({
30
+ to,
31
+ implementation,
32
+ errorData,
33
+ space
34
+ });
35
+ if (isLoading || !decodedError || !decodedError.abiItem || decodedError.abiItem.type !== "error")
36
+ return /* @__PURE__ */ jsxs("div", { className: "flex min-h-32px", children: [
37
+ /* @__PURE__ */ jsx(
38
+ "div",
39
+ {
40
+ className: cn(
41
+ "w-100px shrink-0 grow-0 text-14px lh-18px pt-6px text-#6a737d",
42
+ labelClassName
43
+ ),
44
+ children: "Error:"
45
+ }
46
+ ),
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
+ ] })
56
+ ] });
57
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
58
+ /* @__PURE__ */ jsxs("div", { className: "flex min-h-32px", children: [
59
+ /* @__PURE__ */ jsxs(
60
+ "div",
61
+ {
62
+ className: cn(
63
+ "w-100px shrink-0 grow-0 text-14px lh-18px text-#6a737d pt-1px",
64
+ labelClassName
65
+ ),
66
+ children: [
67
+ "Error:",
68
+ " "
69
+ ]
70
+ }
71
+ ),
72
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(FunctionName, { abiItem: decodedError.abiItem }) })
73
+ ] }),
74
+ decodedError.args && decodedError.args.length > 0 && /* @__PURE__ */ jsx(
75
+ DecodedParameters,
76
+ {
77
+ args: decodedError.args,
78
+ params: decodedError.abiItem.inputs,
79
+ label: "Parameters:",
80
+ labelClassName,
81
+ space
82
+ }
83
+ )
84
+ ] });
85
+ };
86
+
87
+ export {
88
+ ErrorDecode
89
+ };
90
+ //# sourceMappingURL=chunk-HCEXWKMZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/OutputData/ErrorDecode.tsx"],"sourcesContent":["import { cn } from 'src/utils';\nimport { useDecodeFunctionError } from 'src/utils/hooks/useDecodeFunctionError';\nimport { Original } from '../InputData/Original';\nimport { DecodedParameters } from '../InputData/OptimizationDecode';\nimport { FunctionName } from '../InputData/FunctionName';\nimport { AbiWarning } from '../InputData/AbiWarning';\n\nexport const ErrorDecode = ({\n to,\n errorData,\n space,\n labelClassName,\n implementation,\n}: {\n errorData?: `0x${string}`;\n to?: string;\n space: 'evm' | 'core';\n labelClassName?: string;\n implementation?: string;\n}) => {\n const [decodedError, isLoading] = useDecodeFunctionError({\n to,\n implementation,\n errorData,\n space,\n });\n\n if (\n isLoading ||\n !decodedError ||\n !decodedError.abiItem ||\n decodedError.abiItem.type !== 'error'\n )\n return (\n <div className=\"flex min-h-32px\">\n <div\n className={cn(\n 'w-100px shrink-0 grow-0 text-14px lh-18px pt-6px text-#6a737d',\n labelClassName,\n )}\n >\n Error:\n </div>\n <div className=\"flex-1\">\n <Original data={errorData ?? ''} />\n {!isLoading && (\n <AbiWarning\n tip={\n decodedError?.failed\n ? 'contract.abiError'\n : decodedError?.noAbi\n ? 'contract.abiNotUploaded'\n : undefined\n }\n />\n )}\n </div>\n </div>\n );\n return (\n <>\n <div className=\"flex min-h-32px\">\n <div\n className={cn(\n 'w-100px shrink-0 grow-0 text-14px lh-18px text-#6a737d pt-1px',\n labelClassName,\n )}\n >\n Error:{' '}\n </div>\n <div>\n <FunctionName abiItem={decodedError.abiItem}></FunctionName>\n </div>\n </div>\n {decodedError.args && decodedError.args.length > 0 && (\n <DecodedParameters\n args={decodedError.args}\n params={decodedError.abiItem.inputs}\n label=\"Parameters:\"\n labelClassName={labelClassName}\n space={space}\n />\n )}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmCQ,SAyBJ,UAzBI,KAQA,YARA;AA5BD,IAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAMM;AACJ,QAAM,CAAC,cAAc,SAAS,IAAI,uBAAuB;AAAA,IACvD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,MACE,aACA,CAAC,gBACD,CAAC,aAAa,WACd,aAAa,QAAQ,SAAS;AAE9B,WACE,qBAAC,SAAI,WAAU,mBACb;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,UACD;AAAA;AAAA,MAED;AAAA,MACA,qBAAC,SAAI,WAAU,UACb;AAAA,4BAAC,YAAS,MAAM,aAAa,IAAI;AAAA,QAChC,CAAC,aACA;AAAA,UAAC;AAAA;AAAA,YACC,KACE,cAAc,SACV,sBACA,cAAc,QACZ,4BACA;AAAA;AAAA,QAEV;AAAA,SAEJ;AAAA,OACF;AAEJ,SACE,iCACE;AAAA,yBAAC,SAAI,WAAU,mBACb;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,UACD;AAAA;AAAA,YACQ;AAAA;AAAA;AAAA,MACT;AAAA,MACA,oBAAC,SACC,8BAAC,gBAAa,SAAS,aAAa,SAAS,GAC/C;AAAA,OACF;AAAA,IACC,aAAa,QAAQ,aAAa,KAAK,SAAS,KAC/C;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,aAAa;AAAA,QACnB,QAAQ,aAAa,QAAQ;AAAA,QAC7B,OAAM;AAAA,QACN;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KAEJ;AAEJ;","names":[]}
@@ -0,0 +1,17 @@
1
+ import {
2
+ reqAbiByMethodId
3
+ } from "./chunk-SYWQ2T57.js";
4
+
5
+ // src/utils/hooks/useMethodAbi.ts
6
+ import useSWRImmutable from "swr/immutable";
7
+ var useMethodAbi = (methodId, shouldFetch = true) => {
8
+ return useSWRImmutable(
9
+ shouldFetch && methodId ? `method-abi-${methodId}` : null,
10
+ () => reqAbiByMethodId(methodId ?? "")
11
+ );
12
+ };
13
+
14
+ export {
15
+ useMethodAbi
16
+ };
17
+ //# sourceMappingURL=chunk-HW5VD7EO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/hooks/useMethodAbi.ts"],"sourcesContent":["import useSWRImmutable from 'swr/immutable';\nimport { reqAbiByMethodId } from '../request';\n\nexport const useMethodAbi = (methodId?: string, shouldFetch = true) => {\n return useSWRImmutable(\n shouldFetch && methodId ? `method-abi-${methodId}` : null,\n () => reqAbiByMethodId(methodId ?? ''),\n );\n};\n"],"mappings":";;;;;AAAA,OAAO,qBAAqB;AAGrB,IAAM,eAAe,CAAC,UAAmB,cAAc,SAAS;AACrE,SAAO;AAAA,IACL,eAAe,WAAW,cAAc,aAAa;AAAA,IACrD,MAAM,iBAAiB,YAAY,EAAE;AAAA,EACvC;AACF;","names":[]}
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-BMO4IZHV.js";
24
24
  import {
25
25
  cn
26
- } from "./chunk-NM3BMITL.js";
26
+ } from "./chunk-SNUPCZY7.js";
27
27
 
28
28
  // src/components/Tooltip/index.tsx
29
29
  import {
@@ -531,4 +531,4 @@ var Tooltip2 = ({
531
531
  export {
532
532
  Tooltip2 as Tooltip
533
533
  };
534
- //# sourceMappingURL=chunk-GQRCW7WX.js.map
534
+ //# sourceMappingURL=chunk-J536GL5G.js.map