@cfxjs/sirius-next-common 0.1.36 → 0.1.38

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/TransactionAction/evmTransactionAction.tsx"],"sourcesContent":["import React, { useEffect, useCallback } from 'react';\nimport { formatBalance } from '../../utils';\nimport { formatAddress } from '../../utils/address';\nimport { Link } from '../Link';\nimport {\n decodeData,\n filterByTokenAddress,\n} from '@cfx-kit/dapp-utils/dist/decode-action';\nimport { EVMAddressContainer } from '../AddressContainer/EVMAddressContainer';\nimport { reqNametag, reqContractAndToken } from '../../utils/request';\nimport { useNametagCacheStore } from '../../store';\nimport {\n TransactionActionProps,\n AddressNameTagContainerProps,\n MultiAction,\n} from '@cfx-kit/dapp-utils/dist/decode-action';\nimport { TokenIcon, TokenName, TokenSymbol, TokenDecimals } from './constants';\n\nconst Token = (\n address: string,\n customInfo: any,\n tokenType: string,\n tokenExhibit: string[], // icon, name, symbol\n) => {\n const customInfoToken = filterByTokenAddress(customInfo.token || {}, address);\n return customInfoToken && customInfoToken['token'] ? (\n <>\n {tokenExhibit.includes('icon') ? (\n customInfoToken['token']['iconUrl'] ? (\n <img\n className=\"w-[16px] h-[16px] mt-[2px]\"\n src={customInfoToken['token']['iconUrl']}\n alt=\"icon\"\n />\n ) : (\n <>\n <img\n className=\"w-[16px] h-[16px] mt-[2px]\"\n src={TokenIcon}\n alt=\"icon\"\n />\n </>\n )\n ) : (\n <></>\n )}\n {tokenExhibit.includes('name') ? (\n <Link href={`/address/${formatAddress(address, 'hex')}`}>\n {customInfoToken['token']['name'] ? (\n `${customInfoToken['token']['name']}`\n ) : (\n <div>{TokenName}</div>\n )}{' '}\n </Link>\n ) : (\n <></>\n )}\n {tokenExhibit.includes('symbol') ? (\n <Link href={`/address/${formatAddress(address, 'hex')}`}>\n {customInfoToken['token']['symbol']\n ? customInfoToken['token']['symbol']\n : TokenSymbol}{' '}\n </Link>\n ) : (\n <></>\n )}\n </>\n ) : (\n <>\n {tokenExhibit.includes('icon') && (\n <img\n className=\"w-[16px] h-[16px] mt-[2px]\"\n src={TokenIcon}\n alt=\"icon\"\n />\n )}\n {tokenExhibit.includes('name') && <div>{TokenName}</div>}\n {tokenExhibit.includes('symbol') && <div>({TokenSymbol})</div>}\n </>\n );\n};\n\n// TODO: When the evm api is changed to hex address, it can be deleted.\nconst convertMapKeysToHex = (\n data: Record<string, any>,\n): Record<string, any> => {\n const newMap: Record<string, any> = {};\n for (const [key, value] of Object.entries(data)) {\n const newKey = formatAddress(key, 'hex');\n newMap[newKey] = value;\n }\n return newMap;\n};\n\nconst AddressNameTagContainer: React.FC<AddressNameTagContainerProps> = ({\n value,\n}) => {\n const { nametagCache, contractCache, setNametagCache, setContractCache } =\n useNametagCacheStore(state => ({\n nametagCache: state.nametagCache,\n contractCache: state.contractCache,\n setNametagCache: state.setNametagCache,\n setContractCache: state.setContractCache,\n }));\n\n const fetchContractAndToken = useCallback(\n async (address: string) => {\n try {\n const data = await reqContractAndToken([address]);\n const dataToHex = convertMapKeysToHex(data);\n if (dataToHex[address]) {\n setContractCache({ [address]: dataToHex[address] });\n }\n } catch (error) {\n console.error(error);\n }\n },\n [setContractCache],\n );\n\n const fetchNameTag = useCallback(\n async (address: string) => {\n try {\n const data = await reqNametag([address]);\n const dataToHex = convertMapKeysToHex(data);\n if (dataToHex[address]) {\n setNametagCache({ [address]: dataToHex[address] });\n }\n } catch (error) {\n console.error(error);\n }\n },\n [setNametagCache],\n );\n\n useEffect(() => {\n if (value && !contractCache[value]) {\n fetchContractAndToken(value);\n }\n\n if (value && !nametagCache[value]) {\n fetchNameTag(value);\n }\n }, [value, fetchContractAndToken, fetchNameTag, nametagCache, contractCache]);\n\n const nametagInfo = {\n [value]: {\n address: value,\n nametag: nametagCache[value]?.nameTag || '',\n },\n };\n\n return (\n <EVMAddressContainer\n value={value}\n alias={\n contractCache[value]?.contract?.name ||\n contractCache[value]?.token?.name\n }\n isFullNameTag={true}\n nametagInfo={nametagInfo}\n />\n );\n};\nconst customUI: MultiAction = {\n ERC20_Transfer: ({ address, toAddress, value, customInfo }) => {\n const customInfoToken = filterByTokenAddress(\n customInfo.token || {},\n address,\n );\n const decimals = customInfoToken?.token?.decimals ?? TokenDecimals;\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer\n <div className=\"font-extrabold\">\n {formatBalance(value, decimals, true)}\n </div>{' '}\n {Token(address, customInfo, 'ERC20', ['icon', 'symbol'])} to{' '}\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n </div>\n );\n },\n ERC20_Approved: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Approved\n {Token(address, customInfo, 'ERC20', ['icon', 'symbol'])} for\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC20_Revoked: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Revoked\n {Token(address, customInfo, 'ERC20', ['icon', 'symbol'])} from\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC721_Mint: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Mint <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC721', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC721_Transfer: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC721', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC721_Burn: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Burn <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC721', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC721_SafeTransferFrom: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC721', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC721_Revoked: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Revoked {Token(address, customInfo, 'ERC721', ['icon', 'symbol'])}\n from\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC721_Approved: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Approved {Token(address, customInfo, 'ERC721', ['icon', 'symbol'])}\n for\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC1155_Approved: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Approved {Token(address, customInfo, 'ERC1155', ['icon', 'symbol'])}\n for\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC1155_Revoked: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Revoked {Token(address, customInfo, 'ERC1155', ['icon', 'symbol'])}\n from\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC1155_Mint: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Mint <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_SafeTransferFrom: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_Burn: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Burn <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_Transfer: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_SafeBatchTransferFrom: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_BatchBurn: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Burn <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_BatchMint: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Mint <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n};\n\nexport const TransactionAction = ({\n transaction,\n event,\n customInfo,\n}: TransactionActionProps) => {\n const res = decodeData(transaction, event, customInfo, customUI);\n if (res && res.content && res.content.length > 0) {\n return {\n show: true,\n content: (\n <div className=\"max-h-[119px] overflow-y-auto\">\n {res.content.map((e: any, i) => {\n return <div key={i}>{e}</div>;\n })}\n </div>\n ),\n };\n }\n return {\n show: false,\n content: undefined,\n };\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/TransactionAction/evmTransactionAction.tsx"],"sourcesContent":["import React, { useEffect, useCallback } from 'react';\nimport { formatBalance } from '../../utils';\nimport { formatAddress } from '../../utils/address';\nimport { Link } from '../Link';\nimport {\n decodeData,\n filterByTokenAddress,\n} from '@cfx-kit/dapp-utils/dist/decode-action';\nimport { EVMAddressContainer } from '../AddressContainer/EVMAddressContainer';\nimport { reqNametag, reqContractAndToken } from '../../utils/request';\nimport { useNametagCacheStore } from '../../store';\nimport type {\n TransactionActionProps,\n AddressNameTagContainerProps,\n MultiAction,\n} from '@cfx-kit/dapp-utils/dist/decode-action';\nimport { TokenIcon, TokenName, TokenSymbol, TokenDecimals } from './constants';\n\nconst Token = (\n address: string,\n customInfo: any,\n tokenType: string,\n tokenExhibit: string[], // icon, name, symbol\n) => {\n const customInfoToken = filterByTokenAddress(customInfo.token || {}, address);\n return customInfoToken && customInfoToken['token'] ? (\n <>\n {tokenExhibit.includes('icon') ? (\n customInfoToken['token']['iconUrl'] ? (\n <img\n className=\"w-[16px] h-[16px] mt-[2px]\"\n src={customInfoToken['token']['iconUrl']}\n alt=\"icon\"\n />\n ) : (\n <>\n <img\n className=\"w-[16px] h-[16px] mt-[2px]\"\n src={TokenIcon}\n alt=\"icon\"\n />\n </>\n )\n ) : (\n <></>\n )}\n {tokenExhibit.includes('name') ? (\n <Link href={`/address/${formatAddress(address, 'hex')}`}>\n {customInfoToken['token']['name'] ? (\n `${customInfoToken['token']['name']}`\n ) : (\n <div>{TokenName}</div>\n )}{' '}\n </Link>\n ) : (\n <></>\n )}\n {tokenExhibit.includes('symbol') ? (\n <Link href={`/address/${formatAddress(address, 'hex')}`}>\n {customInfoToken['token']['symbol']\n ? customInfoToken['token']['symbol']\n : TokenSymbol}{' '}\n </Link>\n ) : (\n <></>\n )}\n </>\n ) : (\n <>\n {tokenExhibit.includes('icon') && (\n <img\n className=\"w-[16px] h-[16px] mt-[2px]\"\n src={TokenIcon}\n alt=\"icon\"\n />\n )}\n {tokenExhibit.includes('name') && <div>{TokenName}</div>}\n {tokenExhibit.includes('symbol') && <div>({TokenSymbol})</div>}\n </>\n );\n};\n\n// TODO: When the evm api is changed to hex address, it can be deleted.\nconst convertMapKeysToHex = (\n data: Record<string, any>,\n): Record<string, any> => {\n const newMap: Record<string, any> = {};\n for (const [key, value] of Object.entries(data)) {\n const newKey = formatAddress(key, 'hex');\n newMap[newKey] = value;\n }\n return newMap;\n};\n\nconst AddressNameTagContainer: React.FC<AddressNameTagContainerProps> = ({\n value,\n}) => {\n const { nametagCache, contractCache, setNametagCache, setContractCache } =\n useNametagCacheStore(state => ({\n nametagCache: state.nametagCache,\n contractCache: state.contractCache,\n setNametagCache: state.setNametagCache,\n setContractCache: state.setContractCache,\n }));\n\n const fetchContractAndToken = useCallback(\n async (address: string) => {\n try {\n const data = await reqContractAndToken([address]);\n const dataToHex = convertMapKeysToHex(data);\n if (dataToHex[address]) {\n setContractCache({ [address]: dataToHex[address] });\n }\n } catch (error) {\n console.error(error);\n }\n },\n [setContractCache],\n );\n\n const fetchNameTag = useCallback(\n async (address: string) => {\n try {\n const data = await reqNametag([address]);\n const dataToHex = convertMapKeysToHex(data);\n if (dataToHex[address]) {\n setNametagCache({ [address]: dataToHex[address] });\n }\n } catch (error) {\n console.error(error);\n }\n },\n [setNametagCache],\n );\n\n useEffect(() => {\n if (value && !contractCache[value]) {\n fetchContractAndToken(value);\n }\n\n if (value && !nametagCache[value]) {\n fetchNameTag(value);\n }\n }, [value, fetchContractAndToken, fetchNameTag, nametagCache, contractCache]);\n\n const nametagInfo = {\n [value]: {\n address: value,\n nametag: nametagCache[value]?.nameTag || '',\n },\n };\n\n return (\n <EVMAddressContainer\n value={value}\n alias={\n contractCache[value]?.contract?.name ||\n contractCache[value]?.token?.name\n }\n isFullNameTag={true}\n nametagInfo={nametagInfo}\n />\n );\n};\nconst customUI: MultiAction = {\n ERC20_Transfer: ({ address, toAddress, value, customInfo }) => {\n const customInfoToken = filterByTokenAddress(\n customInfo.token || {},\n address,\n );\n const decimals = customInfoToken?.token?.decimals ?? TokenDecimals;\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer\n <div className=\"font-extrabold\">\n {formatBalance(value, decimals, true)}\n </div>{' '}\n {Token(address, customInfo, 'ERC20', ['icon', 'symbol'])} to{' '}\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n </div>\n );\n },\n ERC20_Approved: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Approved\n {Token(address, customInfo, 'ERC20', ['icon', 'symbol'])} for\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC20_Revoked: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Revoked\n {Token(address, customInfo, 'ERC20', ['icon', 'symbol'])} from\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC721_Mint: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Mint <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC721', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC721_Transfer: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC721', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC721_Burn: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Burn <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC721', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC721_SafeTransferFrom: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC721', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC721_Revoked: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Revoked {Token(address, customInfo, 'ERC721', ['icon', 'symbol'])}\n from\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC721_Approved: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Approved {Token(address, customInfo, 'ERC721', ['icon', 'symbol'])}\n for\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC1155_Approved: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Approved {Token(address, customInfo, 'ERC1155', ['icon', 'symbol'])}\n for\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC1155_Revoked: ({ address, toAddress, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Revoked {Token(address, customInfo, 'ERC1155', ['icon', 'symbol'])}\n from\n {toAddress && (\n <Link href={`/address/${toAddress}`}>\n <AddressNameTagContainer value={formatAddress(toAddress, 'hex')} />\n </Link>\n )}\n </div>\n );\n },\n ERC1155_Mint: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Mint <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_SafeTransferFrom: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_Burn: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Burn <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_Transfer: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_SafeBatchTransferFrom: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Transfer <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_BatchBurn: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Burn <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n ERC1155_BatchMint: ({ value, address, customInfo }) => {\n return (\n <div className=\"flex flex-wrap content-center gap-[5px]\">\n Mint <div className=\"font-extrabold\">{value}</div> of{' '}\n {Token(address, customInfo, 'ERC1155', ['icon', 'name', 'symbol'])}\n </div>\n );\n },\n};\n\nexport const TransactionAction = ({\n transaction,\n event,\n customInfo,\n}: TransactionActionProps) => {\n const res = decodeData(transaction, event, customInfo, customUI);\n if (res && res.content && res.content.length > 0) {\n return {\n show: true,\n content: (\n <div className=\"max-h-[119px] overflow-y-auto\">\n {res.content.map((e: any, i) => {\n return <div key={i}>{e}</div>;\n })}\n </div>\n ),\n };\n }\n return {\n show: false,\n content: undefined,\n };\n};\n"],"mappings":"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","names":[]}
@@ -7,7 +7,7 @@ interface AddressCache {
7
7
  [key: string]: unknown;
8
8
  }
9
9
  declare const ADDRESS_FUNC_CACHE: AddressCache;
10
- declare const convertCheckSum: <T extends LooseAddressType>(address: T) => T | `0x${string}`;
10
+ declare const convertCheckSum: <T extends LooseAddressType>(address: T) => `0x${string}` | T;
11
11
  declare const isCoreMainOrTestAddress: (address: LooseAddressType) => boolean;
12
12
  declare const isCoreMainnetAddress: (address: LooseAddressType) => boolean;
13
13
  declare const isCoreTestnetAddress: (address: LooseAddressType) => boolean;
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@cfxjs/sirius-next-common",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist/**"
7
7
  ],
8
8
  "dependencies": {
9
- "@cfx-kit/dapp-utils": "^0.2.3",
10
- "@cfx-kit/react-utils": "^0.0.45",
9
+ "@cfx-kit/dapp-utils": "^0.2.12",
10
+ "@cfx-kit/react-utils": "^0.0.65",
11
11
  "@cfx-kit/ui-components": "^0.0.18",
12
12
  "@radix-ui/react-radio-group": "^1.2.3",
13
13
  "@radix-ui/react-select": "^2.0.0",
@@ -28,7 +28,7 @@
28
28
  "i18next": "^19.3.4",
29
29
  "i18next-browser-languagedetector": "^7.2.1",
30
30
  "jest-environment-jsdom": "^29.7.0",
31
- "js-conflux-sdk": "2.5.0",
31
+ "js-conflux-sdk": "2.5.1",
32
32
  "lodash": "^4.17.21",
33
33
  "lucide-react": "^0.379.0",
34
34
  "pako": "2.0.2",
@@ -64,7 +64,7 @@
64
64
  "typescript": "^5.4.2",
65
65
  "unocss": "0.58.6",
66
66
  "vitest": "3.2.3",
67
- "@cfxjs/sirius-next-i18n": "0.1.25",
67
+ "@cfxjs/sirius-next-i18n": "0.1.33",
68
68
  "@cfxjs/sirius-next-typescript-config": "0.0.0",
69
69
  "@cfxjs/sirius-next-eslint-config": "0.0.0"
70
70
  },