@ape.swap/bonds-sdk 7.0.3 → 7.0.4-test.0

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 (125) hide show
  1. package/dist/adapters/evm/index.d.ts +3 -2
  2. package/dist/adapters/evm/index.js +11 -2
  3. package/dist/adapters/evm/index.js.map +1 -1
  4. package/dist/adapters/evm/state/balances.js +1 -1
  5. package/dist/adapters/evm/state/balances.js.map +1 -1
  6. package/dist/adapters/evm/state/fetchBondsDataEVM.js +65 -2
  7. package/dist/adapters/evm/state/fetchBondsDataEVM.js.map +1 -1
  8. package/dist/adapters/evm/state/fetchUsersBondsEVM.js +234 -2
  9. package/dist/adapters/evm/state/fetchUsersBondsEVM.js.map +1 -1
  10. package/dist/adapters/evm/state/lpStaking/fetchLpStakingLimits.d.ts +24 -0
  11. package/dist/adapters/evm/state/lpStaking/fetchLpStakingLimits.js +118 -0
  12. package/dist/adapters/evm/state/lpStaking/fetchLpStakingLimits.js.map +1 -0
  13. package/dist/adapters/evm/state/lpStaking/useSoulZapLpStakingQuote.d.ts +4 -0
  14. package/dist/adapters/evm/state/lpStaking/useSoulZapLpStakingQuote.js +140 -0
  15. package/dist/adapters/evm/state/lpStaking/useSoulZapLpStakingQuote.js.map +1 -0
  16. package/dist/adapters/evm/state/useSoulZapBondQuote.js +1 -1
  17. package/dist/adapters/evm/views/BuyComponent.js +1 -1
  18. package/dist/adapters/evm/views/BuyComponent.js.map +1 -1
  19. package/dist/adapters/evm/views/lpStaking/BuyComponentLpStaking.d.ts +4 -0
  20. package/dist/adapters/evm/views/lpStaking/BuyComponentLpStaking.js +212 -0
  21. package/dist/adapters/evm/views/lpStaking/BuyComponentLpStaking.js.map +1 -0
  22. package/dist/adapters/evm/views/lpStaking/LpBondModalHeader.d.ts +7 -0
  23. package/dist/adapters/evm/views/lpStaking/LpBondModalHeader.js +66 -0
  24. package/dist/adapters/evm/views/lpStaking/LpBondModalHeader.js.map +1 -0
  25. package/dist/adapters/evm/views/lpStaking/LpStakingEstimations.d.ts +23 -0
  26. package/dist/adapters/evm/views/lpStaking/LpStakingEstimations.js +40 -0
  27. package/dist/adapters/evm/views/lpStaking/LpStakingEstimations.js.map +1 -0
  28. package/dist/adapters/evm/views/lpStaking/ModalHandlerLpStaking.d.ts +3 -0
  29. package/dist/adapters/evm/views/lpStaking/ModalHandlerLpStaking.js +90 -0
  30. package/dist/adapters/evm/views/lpStaking/ModalHandlerLpStaking.js.map +1 -0
  31. package/dist/adapters/evm/views/lpStaking/UserLpStakingBondRow.d.ts +5 -0
  32. package/dist/adapters/evm/views/lpStaking/UserLpStakingBondRow.js +32 -0
  33. package/dist/adapters/evm/views/lpStaking/UserLpStakingBondRow.js.map +1 -0
  34. package/dist/adapters/evm/views/lpStaking/YourLpBondModalHeader.d.ts +7 -0
  35. package/dist/adapters/evm/views/lpStaking/YourLpBondModalHeader.js +20 -0
  36. package/dist/adapters/evm/views/lpStaking/YourLpBondModalHeader.js.map +1 -0
  37. package/dist/adapters/evm/views/lpStaking/YourLpStakingBondModal.d.ts +7 -0
  38. package/dist/adapters/evm/views/lpStaking/YourLpStakingBondModal.js +78 -0
  39. package/dist/adapters/evm/views/lpStaking/YourLpStakingBondModal.js.map +1 -0
  40. package/dist/adapters/types.d.ts +20 -5
  41. package/dist/components/TokenInfoAndName/index.js +4 -1
  42. package/dist/components/TokenInfoAndName/index.js.map +1 -1
  43. package/dist/components/Tooltip/ButtonsRow.js +1 -1
  44. package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
  45. package/dist/components/Tooltip/Tooltip.js +3 -2
  46. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  47. package/dist/components/uikit-sdk/TokenImage/index.js +3 -1
  48. package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
  49. package/dist/config/abi/apeBondPositionAdapter.json.js +1347 -0
  50. package/dist/config/abi/apeBondPositionAdapter.json.js.map +1 -0
  51. package/dist/config/abi/bonusEscrow.json.js +33 -0
  52. package/dist/config/abi/bonusEscrow.json.js.map +1 -0
  53. package/dist/config/abi/lpStakingVault.json.js +34 -0
  54. package/dist/config/abi/lpStakingVault.json.js.map +1 -0
  55. package/dist/config/abi/uniswapV3Pool.json.js +47 -0
  56. package/dist/config/abi/uniswapV3Pool.json.js.map +1 -0
  57. package/dist/config/abi/uniswapV3QuoterV2.json.js +66 -0
  58. package/dist/config/abi/uniswapV3QuoterV2.json.js.map +1 -0
  59. package/dist/config/constants/addresses.d.ts +1 -0
  60. package/dist/config/constants/addresses.js +7 -1
  61. package/dist/config/constants/addresses.js.map +1 -1
  62. package/dist/config/constants/chains.js +3 -1
  63. package/dist/config/constants/chains.js.map +1 -1
  64. package/dist/config/constants/networks.js +1 -1
  65. package/dist/config/constants/networks.js.map +1 -1
  66. package/dist/config/constants/variables.d.ts +2 -2
  67. package/dist/config/constants/variables.js +3 -1
  68. package/dist/config/constants/variables.js.map +1 -1
  69. package/dist/state/bonds/useBondsData.js +1 -0
  70. package/dist/state/bonds/useBondsData.js.map +1 -1
  71. package/dist/state/bonds/useUserBonds.d.ts +10 -1
  72. package/dist/state/bonds/useUserBonds.js +18 -11
  73. package/dist/state/bonds/useUserBonds.js.map +1 -1
  74. package/dist/state/useSDKConfig.js +2 -2
  75. package/dist/state/useSDKConfig.js.map +1 -1
  76. package/dist/state/zap/getChainParam.d.ts +1 -16
  77. package/dist/state/zap/getChainParam.js +16 -40
  78. package/dist/state/zap/getChainParam.js.map +1 -1
  79. package/dist/styles.css +1 -1
  80. package/dist/types/yourbonds.d.ts +24 -0
  81. package/dist/views/Bonds/components/BondRows/ActiveBondRows.js +19 -2
  82. package/dist/views/Bonds/components/BondRows/ActiveBondRows.js.map +1 -1
  83. package/dist/views/Bonds/components/BondRows/BondRow.d.ts +3 -2
  84. package/dist/views/Bonds/components/BondRows/BondRow.js +15 -10
  85. package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
  86. package/dist/views/Bonds/components/BondRows/ModalHandler.js +1 -1
  87. package/dist/views/Bonds/components/BondRows/ModalHandler.js.map +1 -1
  88. package/dist/views/Bonds/components/BondRows/SoldOutRows.js +1 -1
  89. package/dist/views/Bonds/components/BondRows/SoldOutRows.js.map +1 -1
  90. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +1 -1
  91. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
  92. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +1 -1
  93. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
  94. package/dist/views/Bonds/components/BuyAgainRow/index.js +1 -1
  95. package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
  96. package/dist/views/Bonds/components/CheckURL/index.js +20 -15
  97. package/dist/views/Bonds/components/CheckURL/index.js.map +1 -1
  98. package/dist/views/BuyBond/ChainBuyComponent.d.ts +4 -1
  99. package/dist/views/BuyBond/ChainBuyComponent.js +14 -2
  100. package/dist/views/BuyBond/ChainBuyComponent.js.map +1 -1
  101. package/dist/views/BuyBond/components/BondCards/BondCards.js +1 -7
  102. package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
  103. package/dist/views/BuyBond/components/BondModalHeader.d.ts +1 -2
  104. package/dist/views/BuyBond/components/BondModalHeader.js +13 -5
  105. package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
  106. package/dist/views/BuyBond/components/Estimations.js +1 -1
  107. package/dist/views/BuyBond/components/Estimations.js.map +1 -1
  108. package/dist/views/BuyBond/components/ExpandedViewButton.d.ts +2 -2
  109. package/dist/views/BuyBond/components/ExpandedViewButton.js +2 -2
  110. package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
  111. package/dist/views/FullBondsView/FullBondsView.js +2 -1
  112. package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
  113. package/dist/views/FullBondsView/YourBondsStatus.d.ts +3 -0
  114. package/dist/views/FullBondsView/YourBondsStatus.js +54 -0
  115. package/dist/views/FullBondsView/YourBondsStatus.js.map +1 -0
  116. package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js +2 -5
  117. package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js.map +1 -1
  118. package/dist/views/YourBonds/YourBonds.js +6 -1
  119. package/dist/views/YourBonds/YourBonds.js.map +1 -1
  120. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +2 -1
  121. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
  122. package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.d.ts +2 -1
  123. package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js +2 -2
  124. package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
  125. package/package.json +2 -2
@@ -13,6 +13,7 @@ import Question from '../uikit-sdk/Svg/Icons/Question.js';
13
13
  const NETWORK_COLORS = {
14
14
  [ChainId.BSC]: '#F3BA2F4d',
15
15
  [ChainId.MAINNET]: '#627eea4d',
16
+ [ChainId.SEPOLIA]: '#627eea4d',
16
17
  [ChainId.MATIC]: '#8247e54d',
17
18
  [ChainId.LIGHTLINK]: '#6087ff4d',
18
19
  [ChainId.BASE]: '#0052ff4d',
@@ -22,6 +23,7 @@ const NETWORK_COLORS = {
22
23
  [ChainId.GRAPHLINQ]: '#ded2ff4d',
23
24
  [ChainId.AVAX]: '#e743444d',
24
25
  [ChainId.BLAST]: '#fcfc034d',
26
+ [ChainId.ROBINHOOD]: 'rgb(223 223 0 / 0.3)',
25
27
  [ChainId.CROSSFI]: '#7c80844d',
26
28
  [ChainId.MONAD_TESTNET]: '#836EF94d',
27
29
  [ChainId.MONAD]: '#836EF94d',
@@ -38,13 +40,14 @@ const NETWORK_COLORS = {
38
40
  };
39
41
  const TokenInfoAndName = ({ tokenSymbol, chain, tag, vestEnds, isHotBond, marketingCampaign, cardsView, }) => {
40
42
  const ChainIcon = (chain && NETWORK_ICONS[chain]) || Question;
43
+ const [tokenSymbol0, tokenSymbol1] = tokenSymbol?.split('-') ?? [];
41
44
  return (jsxs(Flex, { className: clsx('tokeninfoname container ape:w-full ape:relative ape:h-full ape:rounded-[10px]', cardsView
42
45
  ? 'ape:flex-col ape:items-start ape:gap-[10px] ape:pl-0 ape:pt-[5px] ape:justify-start'
43
46
  : 'ape:justify-start ape:items-center'), children: [jsx(Flex, { className: "ape:absolute ape:left-0 ape:top-0 ape:w-[125px] ape:h-full ape:rounded-normal", style: {
44
47
  background: isHotBond
45
48
  ? 'transparent'
46
49
  : `linear-gradient(90deg, ${chain ? NETWORK_COLORS[chain] : '#FFFFFF33'} 0%, rgba(0,0,0,0) 75%)`,
47
- } }), jsx(Flex, { className: clsx('tokeninfoname chain ape:absolute ape:left-0 ape:top-0 ape:overflow-hidden ape:rounded-tl-[10px] ape:rounded-br-[8px] ape:z-[5]', cardsView && 'ape:hidden'), children: jsx(ChainIcon, { width: 20, height: 20 }) }), jsxs(Flex, { className: clsx('tokeninfoname tokencontainer ape:w-full ape:items-center', cardsView ? 'ape:max-w-full ape:pl-0' : 'ape:sm:max-w-[190px]', !cardsView && (vestEnds ? 'ape:mt-[10px] ape:lg:mt-0' : 'ape:mt-0')), children: [jsxs(Flex, { className: "ape:relative ape:min-w-[33px] ape:ml-3.5 ape:sm:ml-5", children: [jsx(Flex, { style: MCTokenIconStyles[marketingCampaign] }), jsx(TokenImage, { symbol: tokenSymbol, size: 33 })] }), jsxs(Flex, { className: "tokeninfoname tokentext ape:ml-1 ape:sm:ml-2 ape:font-bold ape:w-full ape:flex-col", children: [jsx(Flex, { className: "ape:justify-between ape:w-full ape:items-center", children: jsx(Text, { className: "ape:text-[12px]! ape:sm:text-[16px]!", children: tokenSymbol }) }), vestEnds && (jsx(Flex, { className: "ape:text-[12px] ape:font-normal ape:opacity-60 ape:leading-[14px]", children: vestEnds }))] }), jsx(Flex, { className: "tokeninfofav ape:min-w-[25px] ape:p-[5px]", children: jsx(AddFavToken, { tokenSymbol: tokenSymbol, hotBond: !vestEnds && isHotBond }) })] }), jsx(Flex, { className: clsx('ape:items-center', isHotBond ? 'ape:justify-center' : 'ape:justify-start'), children: jsx(Flex, { className: isHotBond ? 'ape:flex' : 'ape:hidden ape:xl:flex', children: (tag || marketingCampaign) && (jsx(ListTag, { text: MCTagNameMapping[marketingCampaign] || tag, marketingCampaign: marketingCampaign })) }) })] }));
50
+ } }), jsx(Flex, { className: clsx('tokeninfoname chain ape:absolute ape:left-0 ape:top-0 ape:overflow-hidden ape:rounded-tl-[10px] ape:rounded-br-[8px] ape:z-[5]', cardsView && 'ape:hidden'), children: jsx(ChainIcon, { width: 20, height: 20 }) }), jsxs(Flex, { className: clsx('tokeninfoname tokencontainer ape:w-full ape:items-center', cardsView ? 'ape:max-w-full ape:pl-0' : 'ape:sm:max-w-[200px]', !cardsView && (vestEnds ? 'ape:mt-[10px] ape:lg:mt-0' : 'ape:mt-0')), children: [jsxs(Flex, { className: "ape:relative ape:min-w-[33px] ape:ml-3.5 ape:sm:ml-5", children: [jsx(Flex, { style: MCTokenIconStyles[marketingCampaign] }), jsx(TokenImage, { symbol: tokenSymbol0, symbol2: tokenSymbol1, size: tokenSymbol1 ? 24 : 33 })] }), jsxs(Flex, { className: "tokeninfoname tokentext ape:ml-1 ape:sm:ml-2 ape:font-bold ape:w-full ape:flex-col", children: [jsx(Flex, { className: "ape:justify-between ape:w-full ape:items-center", children: jsx(Text, { className: "ape:text-[12px]! ape:sm:text-[16px]!", children: tokenSymbol }) }), vestEnds && (jsx(Flex, { className: "ape:text-[12px] ape:font-normal ape:opacity-60 ape:leading-[14px]", children: vestEnds }))] }), jsx(Flex, { className: "tokeninfofav ape:min-w-[25px] ape:p-[5px]", children: jsx(AddFavToken, { tokenSymbol: tokenSymbol, hotBond: !vestEnds && isHotBond }) })] }), jsx(Flex, { className: clsx('ape:items-center', isHotBond ? 'ape:justify-center' : 'ape:justify-start'), children: jsx(Flex, { className: isHotBond ? 'ape:flex' : 'ape:hidden ape:xl:flex', children: (tag || marketingCampaign) && (jsx(ListTag, { text: MCTagNameMapping[marketingCampaign] || tag, marketingCampaign: marketingCampaign })) }) })] }));
48
51
  };
49
52
 
50
53
  export { TokenInfoAndName as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/TokenInfoAndName/index.tsx"],"sourcesContent":["import React from 'react'\nimport clsx from 'clsx'\nimport { NETWORK_ICONS } from '../../config/constants/chains'\nimport TokenImage from '../uikit-sdk/TokenImage'\nimport AddFavToken from '../FavIcons/AddFavToken'\nimport { ChainId, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport { MCTagNameMapping, MCTokenIconStyles } from '../../utils/campaignStyles'\nimport Flex from '../uikit-sdk/Flex'\nimport Text from '../uikit-sdk/Text'\nimport ListTag from '../uikit-sdk/Tag/ListTag'\nimport Question from '../uikit-sdk/Svg/Icons/Question'\n\nconst NETWORK_COLORS: Partial<Record<number, string>> = {\n [ChainId.BSC]: '#F3BA2F4d',\n [ChainId.MAINNET]: '#627eea4d',\n [ChainId.MATIC]: '#8247e54d',\n [ChainId.LIGHTLINK]: '#6087ff4d',\n [ChainId.BASE]: '#0052ff4d',\n [ChainId.ARBITRUM]: '#289fef4d',\n [ChainId.LINEA]: '#ffffff4d',\n [ChainId.IOTA]: '#ffffff4d',\n [ChainId.GRAPHLINQ]: '#ded2ff4d',\n [ChainId.AVAX]: '#e743444d',\n [ChainId.BLAST]: '#fcfc034d',\n [ChainId.CROSSFI]: '#7c80844d',\n [ChainId.MONAD_TESTNET]: '#836EF94d',\n [ChainId.MONAD]: '#836EF94d',\n [ChainId.SOL]: '#836EF94d',\n [ChainId.SONIC]: '#fb9a4c4d',\n [ChainId.BERACHAIN]: '#783e244d',\n [ChainId.KATANA]: '#068be34d',\n [ChainId.UNICHAIN]: '#f50db44d',\n [ChainId.MEGAETH_TESTNET]: '#DFD9D94d',\n [ChainId.HYPEREVM]: '#ffffff4d',\n [ChainId.APTOS]: 'rgb(240 111 126 / 0.3)',\n [ChainId.SUI]: '#6fbcf04d',\n [ChainId.L1X]: '#e743444d',\n}\n\nconst TokenInfoAndName = ({\n tokenSymbol,\n chain,\n tag,\n vestEnds,\n isHotBond,\n marketingCampaign,\n cardsView,\n}: {\n tokenSymbol?: string\n chain?: number\n tag?: string\n vestEnds?: string\n isHotBond?: boolean\n marketingCampaign?: MarketingCampaign\n cardsView?: boolean\n}) => {\n const ChainIcon = (chain && NETWORK_ICONS[chain]) || Question\n return (\n <Flex\n className={clsx(\n 'tokeninfoname container ape:w-full ape:relative ape:h-full ape:rounded-[10px]',\n cardsView\n ? 'ape:flex-col ape:items-start ape:gap-[10px] ape:pl-0 ape:pt-[5px] ape:justify-start'\n : 'ape:justify-start ape:items-center',\n )}\n >\n <Flex\n className=\"ape:absolute ape:left-0 ape:top-0 ape:w-[125px] ape:h-full ape:rounded-normal\"\n style={{\n background: isHotBond\n ? 'transparent'\n : `linear-gradient(90deg, ${chain ? NETWORK_COLORS[chain] : '#FFFFFF33'} 0%, rgba(0,0,0,0) 75%)`,\n }}\n />\n <Flex\n className={clsx(\n 'tokeninfoname chain ape:absolute ape:left-0 ape:top-0 ape:overflow-hidden ape:rounded-tl-[10px] ape:rounded-br-[8px] ape:z-[5]',\n cardsView && 'ape:hidden',\n )}\n >\n <ChainIcon width={20} height={20} />\n </Flex>\n <Flex\n className={clsx(\n 'tokeninfoname tokencontainer ape:w-full ape:items-center',\n cardsView ? 'ape:max-w-full ape:pl-0' : 'ape:sm:max-w-[190px]',\n !cardsView && (vestEnds ? 'ape:mt-[10px] ape:lg:mt-0' : 'ape:mt-0'),\n )}\n >\n <Flex className=\"ape:relative ape:min-w-[33px] ape:ml-3.5 ape:sm:ml-5\">\n <Flex style={MCTokenIconStyles[marketingCampaign!]} />\n <TokenImage symbol={tokenSymbol} size={33} />\n </Flex>\n <Flex className=\"tokeninfoname tokentext ape:ml-1 ape:sm:ml-2 ape:font-bold ape:w-full ape:flex-col\">\n <Flex className=\"ape:justify-between ape:w-full ape:items-center\">\n <Text className=\"ape:text-[12px]! ape:sm:text-[16px]!\">{tokenSymbol}</Text>\n </Flex>\n {vestEnds && (\n <Flex className=\"ape:text-[12px] ape:font-normal ape:opacity-60 ape:leading-[14px]\">{vestEnds}</Flex>\n )}\n </Flex>\n <Flex className=\"tokeninfofav ape:min-w-[25px] ape:p-[5px]\">\n <AddFavToken tokenSymbol={tokenSymbol} hotBond={!vestEnds && isHotBond} />\n </Flex>\n </Flex>\n <Flex className={clsx('ape:items-center', isHotBond ? 'ape:justify-center' : 'ape:justify-start')}>\n <Flex className={isHotBond ? 'ape:flex' : 'ape:hidden ape:xl:flex'}>\n {(tag || marketingCampaign) && (\n <ListTag text={MCTagNameMapping[marketingCampaign!] || tag} marketingCampaign={marketingCampaign} />\n )}\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default TokenInfoAndName\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/TokenInfoAndName/index.tsx"],"sourcesContent":["import React from 'react'\nimport clsx from 'clsx'\nimport { NETWORK_ICONS } from '../../config/constants/chains'\nimport TokenImage from '../uikit-sdk/TokenImage'\nimport AddFavToken from '../FavIcons/AddFavToken'\nimport { ChainId, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport { MCTagNameMapping, MCTokenIconStyles } from '../../utils/campaignStyles'\nimport Flex from '../uikit-sdk/Flex'\nimport Text from '../uikit-sdk/Text'\nimport ListTag from '../uikit-sdk/Tag/ListTag'\nimport Question from '../uikit-sdk/Svg/Icons/Question'\n\nconst NETWORK_COLORS: Partial<Record<number, string>> = {\n [ChainId.BSC]: '#F3BA2F4d',\n [ChainId.MAINNET]: '#627eea4d',\n [ChainId.SEPOLIA]: '#627eea4d',\n [ChainId.MATIC]: '#8247e54d',\n [ChainId.LIGHTLINK]: '#6087ff4d',\n [ChainId.BASE]: '#0052ff4d',\n [ChainId.ARBITRUM]: '#289fef4d',\n [ChainId.LINEA]: '#ffffff4d',\n [ChainId.IOTA]: '#ffffff4d',\n [ChainId.GRAPHLINQ]: '#ded2ff4d',\n [ChainId.AVAX]: '#e743444d',\n [ChainId.BLAST]: '#fcfc034d',\n [ChainId.ROBINHOOD]: 'rgb(223 223 0 / 0.3)',\n [ChainId.CROSSFI]: '#7c80844d',\n [ChainId.MONAD_TESTNET]: '#836EF94d',\n [ChainId.MONAD]: '#836EF94d',\n [ChainId.SOL]: '#836EF94d',\n [ChainId.SONIC]: '#fb9a4c4d',\n [ChainId.BERACHAIN]: '#783e244d',\n [ChainId.KATANA]: '#068be34d',\n [ChainId.UNICHAIN]: '#f50db44d',\n [ChainId.MEGAETH_TESTNET]: '#DFD9D94d',\n [ChainId.HYPEREVM]: '#ffffff4d',\n [ChainId.APTOS]: 'rgb(240 111 126 / 0.3)',\n [ChainId.SUI]: '#6fbcf04d',\n [ChainId.L1X]: '#e743444d',\n}\n\nconst TokenInfoAndName = ({\n tokenSymbol,\n chain,\n tag,\n vestEnds,\n isHotBond,\n marketingCampaign,\n cardsView,\n}: {\n tokenSymbol?: string\n chain?: number\n tag?: string\n vestEnds?: string\n isHotBond?: boolean\n marketingCampaign?: MarketingCampaign\n cardsView?: boolean\n}) => {\n const ChainIcon = (chain && NETWORK_ICONS[chain]) || Question\n const [tokenSymbol0, tokenSymbol1] = tokenSymbol?.split('-') ?? []\n\n return (\n <Flex\n className={clsx(\n 'tokeninfoname container ape:w-full ape:relative ape:h-full ape:rounded-[10px]',\n cardsView\n ? 'ape:flex-col ape:items-start ape:gap-[10px] ape:pl-0 ape:pt-[5px] ape:justify-start'\n : 'ape:justify-start ape:items-center',\n )}\n >\n <Flex\n className=\"ape:absolute ape:left-0 ape:top-0 ape:w-[125px] ape:h-full ape:rounded-normal\"\n style={{\n background: isHotBond\n ? 'transparent'\n : `linear-gradient(90deg, ${chain ? NETWORK_COLORS[chain] : '#FFFFFF33'} 0%, rgba(0,0,0,0) 75%)`,\n }}\n />\n <Flex\n className={clsx(\n 'tokeninfoname chain ape:absolute ape:left-0 ape:top-0 ape:overflow-hidden ape:rounded-tl-[10px] ape:rounded-br-[8px] ape:z-[5]',\n cardsView && 'ape:hidden',\n )}\n >\n <ChainIcon width={20} height={20} />\n </Flex>\n <Flex\n className={clsx(\n 'tokeninfoname tokencontainer ape:w-full ape:items-center',\n cardsView ? 'ape:max-w-full ape:pl-0' : 'ape:sm:max-w-[200px]',\n !cardsView && (vestEnds ? 'ape:mt-[10px] ape:lg:mt-0' : 'ape:mt-0'),\n )}\n >\n <Flex className=\"ape:relative ape:min-w-[33px] ape:ml-3.5 ape:sm:ml-5\">\n <Flex style={MCTokenIconStyles[marketingCampaign!]} />\n <TokenImage symbol={tokenSymbol0} symbol2={tokenSymbol1} size={tokenSymbol1 ? 24 : 33} />\n </Flex>\n <Flex className=\"tokeninfoname tokentext ape:ml-1 ape:sm:ml-2 ape:font-bold ape:w-full ape:flex-col\">\n <Flex className=\"ape:justify-between ape:w-full ape:items-center\">\n <Text className=\"ape:text-[12px]! ape:sm:text-[16px]!\">{tokenSymbol}</Text>\n </Flex>\n {vestEnds && (\n <Flex className=\"ape:text-[12px] ape:font-normal ape:opacity-60 ape:leading-[14px]\">{vestEnds}</Flex>\n )}\n </Flex>\n <Flex className=\"tokeninfofav ape:min-w-[25px] ape:p-[5px]\">\n <AddFavToken tokenSymbol={tokenSymbol} hotBond={!vestEnds && isHotBond} />\n </Flex>\n </Flex>\n <Flex className={clsx('ape:items-center', isHotBond ? 'ape:justify-center' : 'ape:justify-start')}>\n <Flex className={isHotBond ? 'ape:flex' : 'ape:hidden ape:xl:flex'}>\n {(tag || marketingCampaign) && (\n <ListTag text={MCTagNameMapping[marketingCampaign!] || tag} marketingCampaign={marketingCampaign} />\n )}\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default TokenInfoAndName\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -9,7 +9,7 @@ const iconButtonClasses = 'ape:bg-white3 ape:no-underline ape:items-center ape:j
9
9
  const ButtonsRow = ({ projectLink, twitter, earnTokenContract, cgId, dexscreener }) => {
10
10
  const dexscreenerURL = dexscreener || (earnTokenContract ? `https://dexscreener.com/search?q=${earnTokenContract}` : undefined);
11
11
  const coingeckoURL = cgId ? `https://www.coingecko.com/en/coins/${cgId}` : undefined;
12
- return (jsxs(Flex, { className: "ape:justify-center", children: [jsx(Flex, { className: iconButtonClasses, as: "a", href: projectLink, target: "_blank", children: jsx(URL, { width: 18 }) }), jsx(Flex, { className: iconButtonClasses, as: "a", href: twitter, target: "_blank", children: jsx(Twitter, { width: 18, color: "text" }) }), dexscreenerURL && (jsx(Flex, { className: iconButtonClasses, as: "a", href: dexscreenerURL, target: "_blank", children: jsx(DexScreener, { width: 18, color: "text" }) })), coingeckoURL && (jsx(Flex, { className: iconButtonClasses, as: "a", href: coingeckoURL, target: "_blank", children: jsx(CoinGecko, { width: 18, color: "text" }) }))] }));
12
+ return (jsxs(Flex, { className: "ape:justify-around", children: [jsx(Flex, { className: iconButtonClasses, as: "a", href: projectLink, target: "_blank", children: jsx(URL, { width: 18 }) }), jsx(Flex, { className: iconButtonClasses, as: "a", href: twitter, target: "_blank", children: jsx(Twitter, { width: 18, color: "text" }) }), dexscreenerURL && (jsx(Flex, { className: iconButtonClasses, as: "a", href: dexscreenerURL, target: "_blank", children: jsx(DexScreener, { width: 18, color: "text" }) })), coingeckoURL && (jsx(Flex, { className: iconButtonClasses, as: "a", href: coingeckoURL, target: "_blank", children: jsx(CoinGecko, { width: 18, color: "text" }) }))] }));
13
13
  };
14
14
 
15
15
  export { ButtonsRow as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonsRow.js","sources":["../../../src/components/Tooltip/ButtonsRow.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../uikit-sdk/Flex'\nimport URLIcon from '../uikit-sdk/Svg/Icons/URL'\nimport Twitter from '../uikit-sdk/Svg/Icons/Twitter'\nimport DexScreener from '../uikit-sdk/Svg/Icons/DexScreener'\nimport CoinGecko from '../uikit-sdk/Svg/Icons/CoinGecko'\n\nconst iconButtonClasses =\n 'ape:bg-white3 ape:no-underline ape:items-center ape:justify-center ape:w-fit ape:h-[30px] ape:p-[2px_5px] ape:rounded-[8px] ape:m-[0_5px_5px_0] ape:hover:cursor-pointer'\n\nconst ButtonsRow: React.FC<{\n projectLink?: string\n twitter?: string\n earnTokenContract?: string\n cgId?: string\n dexscreener?: string\n}> = ({ projectLink, twitter, earnTokenContract, cgId, dexscreener }) => {\n const dexscreenerURL =\n dexscreener || (earnTokenContract ? `https://dexscreener.com/search?q=${earnTokenContract}` : undefined)\n const coingeckoURL = cgId ? `https://www.coingecko.com/en/coins/${cgId}` : undefined\n\n return (\n <Flex className=\"ape:justify-center\">\n <Flex className={iconButtonClasses} as=\"a\" href={projectLink} target=\"_blank\">\n <URLIcon width={18} />\n </Flex>\n <Flex className={iconButtonClasses} as=\"a\" href={twitter} target=\"_blank\">\n <Twitter width={18} color=\"text\" />\n </Flex>\n {dexscreenerURL && (\n <Flex className={iconButtonClasses} as=\"a\" href={dexscreenerURL} target=\"_blank\">\n <DexScreener width={18} color=\"text\" />\n </Flex>\n )}\n {coingeckoURL && (\n <Flex className={iconButtonClasses} as=\"a\" href={coingeckoURL} target=\"_blank\">\n <CoinGecko width={18} color=\"text\" />\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default ButtonsRow\n"],"names":["_jsxs","_jsx","URLIcon"],"mappings":";;;;;;;AAOA,MAAM,iBAAiB,GACrB,0KAA0K;AAE5K,MAAM,UAAU,GAMX,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,KAAI;AACtE,IAAA,MAAM,cAAc,GAClB,WAAW,KAAK,iBAAiB,GAAG,CAAA,iCAAA,EAAoC,iBAAiB,CAAA,CAAE,GAAG,SAAS,CAAC;AAC1G,IAAA,MAAM,YAAY,GAAG,IAAI,GAAG,CAAA,mCAAA,EAAsC,IAAI,CAAA,CAAE,GAAG,SAAS;AAEpF,IAAA,QACEA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CAClCC,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAC,GAAG,EAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAC,QAAQ,EAAA,QAAA,EAC3EA,GAAA,CAACC,GAAO,EAAA,EAAC,KAAK,EAAE,EAAE,EAAA,CAAI,EAAA,CACjB,EACPD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAC,GAAG,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAC,QAAQ,EAAA,QAAA,EACvEA,GAAA,CAAC,OAAO,EAAA,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CAC9B,EACN,cAAc,KACbA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAC,GAAG,EAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAC,QAAQ,EAAA,QAAA,EAC9EA,GAAA,CAAC,WAAW,EAAA,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CAClC,CACR,EACA,YAAY,KACXA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAC,GAAG,EAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAC,QAAQ,EAAA,QAAA,EAC5EA,GAAA,CAAC,SAAS,EAAA,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CAChC,CACR,CAAA,EAAA,CACI;AAEX;;;;"}
1
+ {"version":3,"file":"ButtonsRow.js","sources":["../../../src/components/Tooltip/ButtonsRow.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../uikit-sdk/Flex'\nimport URLIcon from '../uikit-sdk/Svg/Icons/URL'\nimport Twitter from '../uikit-sdk/Svg/Icons/Twitter'\nimport DexScreener from '../uikit-sdk/Svg/Icons/DexScreener'\nimport CoinGecko from '../uikit-sdk/Svg/Icons/CoinGecko'\n\nconst iconButtonClasses =\n 'ape:bg-white3 ape:no-underline ape:items-center ape:justify-center ape:w-fit ape:h-[30px] ape:p-[2px_5px] ape:rounded-[8px] ape:m-[0_5px_5px_0] ape:hover:cursor-pointer'\n\nconst ButtonsRow: React.FC<{\n projectLink?: string\n twitter?: string\n earnTokenContract?: string\n cgId?: string\n dexscreener?: string\n}> = ({ projectLink, twitter, earnTokenContract, cgId, dexscreener }) => {\n const dexscreenerURL =\n dexscreener || (earnTokenContract ? `https://dexscreener.com/search?q=${earnTokenContract}` : undefined)\n const coingeckoURL = cgId ? `https://www.coingecko.com/en/coins/${cgId}` : undefined\n\n return (\n <Flex className=\"ape:justify-around\">\n <Flex className={iconButtonClasses} as=\"a\" href={projectLink} target=\"_blank\">\n <URLIcon width={18} />\n </Flex>\n <Flex className={iconButtonClasses} as=\"a\" href={twitter} target=\"_blank\">\n <Twitter width={18} color=\"text\" />\n </Flex>\n {dexscreenerURL && (\n <Flex className={iconButtonClasses} as=\"a\" href={dexscreenerURL} target=\"_blank\">\n <DexScreener width={18} color=\"text\" />\n </Flex>\n )}\n {coingeckoURL && (\n <Flex className={iconButtonClasses} as=\"a\" href={coingeckoURL} target=\"_blank\">\n <CoinGecko width={18} color=\"text\" />\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default ButtonsRow\n"],"names":["_jsxs","_jsx","URLIcon"],"mappings":";;;;;;;AAOA,MAAM,iBAAiB,GACrB,0KAA0K;AAE5K,MAAM,UAAU,GAMX,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,KAAI;AACtE,IAAA,MAAM,cAAc,GAClB,WAAW,KAAK,iBAAiB,GAAG,CAAA,iCAAA,EAAoC,iBAAiB,CAAA,CAAE,GAAG,SAAS,CAAC;AAC1G,IAAA,MAAM,YAAY,GAAG,IAAI,GAAG,CAAA,mCAAA,EAAsC,IAAI,CAAA,CAAE,GAAG,SAAS;AAEpF,IAAA,QACEA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CAClCC,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAC,GAAG,EAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAC,QAAQ,EAAA,QAAA,EAC3EA,GAAA,CAACC,GAAO,EAAA,EAAC,KAAK,EAAE,EAAE,EAAA,CAAI,EAAA,CACjB,EACPD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAC,GAAG,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAC,QAAQ,EAAA,QAAA,EACvEA,GAAA,CAAC,OAAO,EAAA,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CAC9B,EACN,cAAc,KACbA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAC,GAAG,EAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAC,QAAQ,EAAA,QAAA,EAC9EA,GAAA,CAAC,WAAW,EAAA,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CAClC,CACR,EACA,YAAY,KACXA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAC,GAAG,EAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAC,QAAQ,EAAA,QAAA,EAC5EA,GAAA,CAAC,SAAS,EAAA,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CAChC,CACR,CAAA,EAAA,CACI;AAEX;;;;"}
@@ -25,7 +25,8 @@ const BondInfoTooltip = ({ earnTokenContract, earnTokenSymbol, bondContract, pro
25
25
  const tokenLink = `${explorerLink}/${urlPage}/${earnTokenContract}${aptosNetworkParam}`;
26
26
  const bondLink = `${explorerLink}/${urlPage}/${bondContract}${aptosNetworkParam}`;
27
27
  const bondDashboard = `https://dashboard.ape.bond/bond/${bondContract}`;
28
- const handleProjectViewNavigation = () => {
28
+ const handleProjectViewNavigation = (e) => {
29
+ e?.stopPropagation();
29
30
  window.location.href = `/bonds/${bondContract}/${chain}`;
30
31
  track({
31
32
  event: 'projectInfoClick',
@@ -37,7 +38,7 @@ const BondInfoTooltip = ({ earnTokenContract, earnTokenSymbol, bondContract, pro
37
38
  },
38
39
  });
39
40
  };
40
- return (jsxs(Flex, { className: "ape:flex-col ape:flex-wrap", children: [jsx(ButtonsRow, { twitter: twitter, projectLink: projectLink, earnTokenContract: earnTokenContract, cgId: cgId, dexscreener: dexscreener }), config?.referenceId === 'apebond' && !isSoldOut && billType !== 'fcfs' && (jsx(Flex, { className: "ape:w-full ape:my-[5px] ape:justify-center ape:relative ape:h-[25px]", children: jsx(ExpandedViewButton, { handleNavigation: handleProjectViewNavigation, rightPos: '-5px' }) })), jsx(Flex, { className: "ape:justify-center", children: jsxs(Flex, { className: "ape:w-[144px] ape:flex-col", children: [jsx(Flex, { className: linkRowClasses, children: tokenLink && (jsxs("a", { href: tokenLink, className: linkClasses, target: "_blank", rel: "noreferrer", children: ["View Token Contract", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(External, { color: "text", width: 10 }) })] })) }), jsx(Flex, { className: linkRowClasses, children: bondLink && (jsxs("a", { href: bondLink, className: linkClasses, target: "_blank", rel: "noreferrer", children: ["View Bond Contract", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(External, { color: "text", width: 10 }) })] })) }), jsx(Flex, { className: linkRowClasses, children: billType !== 'fcfs' && (jsxs("a", { href: bondDashboard, className: linkClasses, target: "_blank", rel: "noopener noreferrer", children: ["View Bond Insights", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(External, { color: "text", width: 10 }) })] })) })] }) })] }));
41
+ return (jsxs(Flex, { className: "ape:flex-col ape:flex-wrap", children: [config?.referenceId === 'apebond' && !isSoldOut && billType !== 'fcfs' && (jsx(Flex, { className: "ape:w-full ape:mb-[10px] ape:justify-center ape:relative ape:h-[25px]", children: jsx(ExpandedViewButton, { handleNavigation: (e) => handleProjectViewNavigation(e), rightPos: '17px' }) })), jsx(ButtonsRow, { twitter: twitter, projectLink: projectLink, earnTokenContract: earnTokenContract, cgId: cgId, dexscreener: dexscreener }), jsx(Flex, { className: "ape:justify-center", children: jsxs(Flex, { className: "ape:w-[144px] ape:flex-col", children: [jsx(Flex, { className: linkRowClasses, children: tokenLink && (jsxs("a", { href: tokenLink, className: linkClasses, target: "_blank", rel: "noreferrer", children: ["View Token Contract", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(External, { color: "text", width: 10 }) })] })) }), jsx(Flex, { className: linkRowClasses, children: bondLink && (jsxs("a", { href: bondLink, className: linkClasses, target: "_blank", rel: "noreferrer", children: ["View Bond Contract", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(External, { color: "text", width: 10 }) })] })) }), jsx(Flex, { className: linkRowClasses, children: billType !== 'fcfs' && (jsxs("a", { href: bondDashboard, className: linkClasses, target: "_blank", rel: "noopener noreferrer", children: ["View Bond Insights", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(External, { color: "text", width: 10 }) })] })) })] }) })] }));
41
42
  };
42
43
 
43
44
  export { BondInfoTooltip as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React from 'react'\nimport ButtonsRow from './ButtonsRow'\nimport { BLOCK_EXPLORER } from '../../config/constants/chains'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { IS_APTOS_MAINNET } from '../../constants/aptosConstants'\nimport Flex from '../uikit-sdk/Flex'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport ExpandedViewButton from '../../views/BuyBond/components/ExpandedViewButton'\nimport track from '../../utils/track'\nimport External from '../uikit-sdk/Svg/Icons/External'\n\ninterface TooltipProps {\n earnTokenContract: string\n earnTokenSymbol: string\n bondContract: string\n projectLink?: string\n twitter?: string\n chain: number\n isSoldOut?: boolean\n billType?: string\n cgId?: string\n dexscreener?: string\n}\n\nconst linkRowClasses = 'ape:w-full ape:mt-[5px] ape:justify-end ape:[&_svg]:w-[11px]'\nconst linkClasses = 'ape:text-[12px] ape:leading-[14px] ape:flex ape:no-underline ape:hover:underline'\n\nconst BondInfoTooltip: React.FunctionComponent<TooltipProps> = ({\n earnTokenContract,\n earnTokenSymbol,\n bondContract,\n projectLink,\n twitter,\n chain,\n isSoldOut = false,\n billType,\n cgId,\n dexscreener,\n}) => {\n const config = useSDKConfig()\n const explorerLink = BLOCK_EXPLORER[chain as ChainId]\n const urlPage =\n chain === ChainId.SOL\n ? 'account'\n : chain === ChainId.APTOS\n ? 'object'\n : chain === ChainId.SUI\n ? 'object'\n : 'address'\n const aptosNetworkParam = chain === ChainId.APTOS ? `?network=${IS_APTOS_MAINNET ? 'mainnet' : 'testnet'}` : ''\n const tokenLink = `${explorerLink}/${urlPage}/${earnTokenContract}${aptosNetworkParam}`\n const bondLink = `${explorerLink}/${urlPage}/${bondContract}${aptosNetworkParam}`\n const bondDashboard = `https://dashboard.ape.bond/bond/${bondContract}`\n\n const handleProjectViewNavigation = () => {\n window.location.href = `/bonds/${bondContract}/${chain}`\n track({\n event: 'projectInfoClick',\n chain: chain,\n data: {\n cat: 'Table',\n bond: earnTokenSymbol,\n bondChain: chain,\n },\n })\n }\n return (\n <Flex className=\"ape:flex-col ape:flex-wrap\">\n <ButtonsRow\n twitter={twitter}\n projectLink={projectLink}\n earnTokenContract={earnTokenContract}\n cgId={cgId}\n dexscreener={dexscreener}\n />\n {config?.referenceId === 'apebond' && !isSoldOut && billType !== 'fcfs' && (\n <Flex className=\"ape:w-full ape:my-[5px] ape:justify-center ape:relative ape:h-[25px]\">\n <ExpandedViewButton handleNavigation={handleProjectViewNavigation} rightPos={'-5px'} />\n </Flex>\n )}\n <Flex className=\"ape:justify-center\">\n <Flex className=\"ape:w-[144px] ape:flex-col\">\n <Flex className={linkRowClasses}>\n {tokenLink && (\n <a href={tokenLink} className={linkClasses} target=\"_blank\" rel=\"noreferrer\">\n View Token Contract\n <Flex className=\"ape:ml-[5px]\">\n <External color=\"text\" width={10} />\n </Flex>\n </a>\n )}\n </Flex>\n <Flex className={linkRowClasses}>\n {bondLink && (\n <a href={bondLink} className={linkClasses} target=\"_blank\" rel=\"noreferrer\">\n View Bond Contract\n <Flex className=\"ape:ml-[5px]\">\n <External color=\"text\" width={10} />\n </Flex>\n </a>\n )}\n </Flex>\n <Flex className={linkRowClasses}>\n {billType !== 'fcfs' && (\n <a href={bondDashboard} className={linkClasses} target=\"_blank\" rel=\"noopener noreferrer\">\n View Bond Insights\n <Flex className=\"ape:ml-[5px]\">\n <External color=\"text\" width={10} />\n </Flex>\n </a>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default BondInfoTooltip\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React from 'react'\nimport ButtonsRow from './ButtonsRow'\nimport { BLOCK_EXPLORER } from '../../config/constants/chains'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { IS_APTOS_MAINNET } from '../../constants/aptosConstants'\nimport Flex from '../uikit-sdk/Flex'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport ExpandedViewButton from '../../views/BuyBond/components/ExpandedViewButton'\nimport track from '../../utils/track'\nimport External from '../uikit-sdk/Svg/Icons/External'\n\ninterface TooltipProps {\n earnTokenContract: string\n earnTokenSymbol: string\n bondContract: string\n projectLink?: string\n twitter?: string\n chain: number\n isSoldOut?: boolean\n billType?: string\n cgId?: string\n dexscreener?: string\n}\n\nconst linkRowClasses = 'ape:w-full ape:mt-[5px] ape:justify-end ape:[&_svg]:w-[11px]'\nconst linkClasses = 'ape:text-[12px] ape:leading-[14px] ape:flex ape:no-underline ape:hover:underline'\n\nconst BondInfoTooltip: React.FunctionComponent<TooltipProps> = ({\n earnTokenContract,\n earnTokenSymbol,\n bondContract,\n projectLink,\n twitter,\n chain,\n isSoldOut = false,\n billType,\n cgId,\n dexscreener,\n}) => {\n const config = useSDKConfig()\n const explorerLink = BLOCK_EXPLORER[chain as ChainId]\n const urlPage =\n chain === ChainId.SOL\n ? 'account'\n : chain === ChainId.APTOS\n ? 'object'\n : chain === ChainId.SUI\n ? 'object'\n : 'address'\n const aptosNetworkParam = chain === ChainId.APTOS ? `?network=${IS_APTOS_MAINNET ? 'mainnet' : 'testnet'}` : ''\n const tokenLink = `${explorerLink}/${urlPage}/${earnTokenContract}${aptosNetworkParam}`\n const bondLink = `${explorerLink}/${urlPage}/${bondContract}${aptosNetworkParam}`\n const bondDashboard = `https://dashboard.ape.bond/bond/${bondContract}`\n\n const handleProjectViewNavigation = (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n e?.stopPropagation()\n window.location.href = `/bonds/${bondContract}/${chain}`\n track({\n event: 'projectInfoClick',\n chain: chain,\n data: {\n cat: 'Table',\n bond: earnTokenSymbol,\n bondChain: chain,\n },\n })\n }\n return (\n <Flex className=\"ape:flex-col ape:flex-wrap\">\n {config?.referenceId === 'apebond' && !isSoldOut && billType !== 'fcfs' && (\n <Flex className=\"ape:w-full ape:mb-[10px] ape:justify-center ape:relative ape:h-[25px]\">\n <ExpandedViewButton\n handleNavigation={(e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => handleProjectViewNavigation(e)}\n rightPos={'17px'}\n />\n </Flex>\n )}\n <ButtonsRow\n twitter={twitter}\n projectLink={projectLink}\n earnTokenContract={earnTokenContract}\n cgId={cgId}\n dexscreener={dexscreener}\n />\n <Flex className=\"ape:justify-center\">\n <Flex className=\"ape:w-[144px] ape:flex-col\">\n <Flex className={linkRowClasses}>\n {tokenLink && (\n <a href={tokenLink} className={linkClasses} target=\"_blank\" rel=\"noreferrer\">\n View Token Contract\n <Flex className=\"ape:ml-[5px]\">\n <External color=\"text\" width={10} />\n </Flex>\n </a>\n )}\n </Flex>\n <Flex className={linkRowClasses}>\n {bondLink && (\n <a href={bondLink} className={linkClasses} target=\"_blank\" rel=\"noreferrer\">\n View Bond Contract\n <Flex className=\"ape:ml-[5px]\">\n <External color=\"text\" width={10} />\n </Flex>\n </a>\n )}\n </Flex>\n <Flex className={linkRowClasses}>\n {billType !== 'fcfs' && (\n <a href={bondDashboard} className={linkClasses} target=\"_blank\" rel=\"noopener noreferrer\">\n View Bond Insights\n <Flex className=\"ape:ml-[5px]\">\n <External color=\"text\" width={10} />\n </Flex>\n </a>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default BondInfoTooltip\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;AAwBA,MAAM,cAAc,GAAG,8DAA8D;AACrF,MAAM,WAAW,GAAG,kFAAkF;AAEtG,MAAM,eAAe,GAA0C,CAAC,EAC9D,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,OAAO,EACP,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,IAAI,EACJ,WAAW,GACZ,KAAI;AACH,IAAA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,IAAA,MAAM,YAAY,GAAG,cAAc,CAAC,KAAgB,CAAC;AACrD,IAAA,MAAM,OAAO,GACX,KAAK,KAAK,OAAO,CAAC;AAChB,UAAE;AACF,UAAE,KAAK,KAAK,OAAO,CAAC;AAClB,cAAE;AACF,cAAE,KAAK,KAAK,OAAO,CAAC;AAClB,kBAAE;kBACA,SAAS;IACnB,MAAM,iBAAiB,GAAG,KAAK,KAAK,OAAO,CAAC,KAAK,GAAG,CAAA,SAAA,EAAY,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAA,CAAE,GAAG,EAAE;IAC/G,MAAM,SAAS,GAAG,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,iBAAiB,CAAA,EAAG,iBAAiB,CAAA,CAAE;IACvF,MAAM,QAAQ,GAAG,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,YAAY,CAAA,EAAG,iBAAiB,CAAA,CAAE;AACjF,IAAA,MAAM,aAAa,GAAG,CAAA,gCAAA,EAAmC,YAAY,EAAE;AAEvE,IAAA,MAAM,2BAA2B,GAAG,CAAC,CAAkD,KAAI;QACzF,CAAC,EAAE,eAAe,EAAE;QACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,YAAY,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE;AACxD,QAAA,KAAK,CAAC;AACJ,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,IAAI,EAAE;AACJ,gBAAA,GAAG,EAAE,OAAO;AACZ,gBAAA,IAAI,EAAE,eAAe;AACrB,gBAAA,SAAS,EAAE,KAAK;AACjB,aAAA;AACF,SAAA,CAAC;AACJ,IAAA,CAAC;IACD,QACEA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,4BAA4B,EAAA,QAAA,EAAA,CACzC,MAAM,EAAE,WAAW,KAAK,SAAS,IAAI,CAAC,SAAS,IAAI,QAAQ,KAAK,MAAM,KACrEC,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uEAAuE,EAAA,QAAA,EACrFA,IAAC,kBAAkB,EAAA,EACjB,gBAAgB,EAAE,CAAC,CAAkD,KAAK,2BAA2B,CAAC,CAAC,CAAC,EACxG,QAAQ,EAAE,MAAM,EAAA,CAChB,EAAA,CACG,CACR,EACDA,GAAA,CAAC,UAAU,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EAAA,CACxB,EACFA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAClCD,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,4BAA4B,EAAA,QAAA,EAAA,CAC1CC,GAAA,CAAC,IAAI,IAAC,SAAS,EAAE,cAAc,EAAA,QAAA,EAC5B,SAAS,KACRD,IAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,EAAA,QAAA,EAAA,CAAA,qBAAA,EAE1EC,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,cAAc,YAC5BA,GAAA,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,EAAA,CAAI,EAAA,CAC/B,CAAA,EAAA,CACL,CACL,EAAA,CACI,EACPA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,cAAc,EAAA,QAAA,EAC5B,QAAQ,KACPD,IAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,EAAA,QAAA,EAAA,CAAA,oBAAA,EAEzEC,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,cAAc,EAAA,QAAA,EAC5BA,GAAA,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,EAAA,CAAI,GAC/B,CAAA,EAAA,CACL,CACL,EAAA,CACI,EACPA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,cAAc,EAAA,QAAA,EAC5B,QAAQ,KAAK,MAAM,KAClBD,IAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAA,QAAA,EAAA,CAAA,oBAAA,EAEvFC,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,cAAc,EAAA,QAAA,EAC5BA,GAAA,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,EAAA,CAAI,EAAA,CAC/B,CAAA,EAAA,CACL,CACL,EAAA,CACI,CAAA,EAAA,CACF,EAAA,CACF,CAAA,EAAA,CACF;AAEX;;;;"}
@@ -19,7 +19,9 @@ const TokenImage = ({ symbol, symbol2, size, chain, }) => {
19
19
  const url1 = token1 ? `${APEBOND}/tokenImages/${token1.toUpperCase()}.png` : '';
20
20
  const [error, setError] = useState(failedUrls.has(url1));
21
21
  const NetworkIcon = (chain && NETWORK_ICONS?.[chain]) || Question;
22
- return error || !token1 ? (jsx(Flex, { className: "ape:justify-center ape:items-center ape:relative", style: { width: size - 2, height: size - 2, borderRadius: '55px' }, children: jsx(Skeleton, { animation: "waves", style: { width: size - 2, height: size - 2, borderRadius: '55px', marginBottom: '5px' } }) })) : token2 ? (jsxs(Flex, { className: "ape:justify-center ape:items-center ape:relative", style: { minWidth: size * 1.5 - 2, height: size - 2, borderRadius: '55px' }, children: [jsx("img", { src: url1, alt: `tokenImgFor:${token1}`, width: size, height: size, style: { position: 'absolute', zIndex: 4001, left: 0 }, onLoad: () => loadedUrls.add(url1) }), jsx("img", { src: `${APEBOND}/tokenImages/${token2.toUpperCase()}.png`, alt: `tokenImgFor:${token2}`, width: size, height: size, style: { position: 'absolute', zIndex: 4000, left: '33%' } }), chain && (jsx(Flex, { className: "ape:absolute ape:overflow-hidden ape:rounded-[50px]", style: { zIndex: 4002, top: '-2px', right: `-${size / 5}px` }, children: jsx(NetworkIcon, { width: size / 2.5, height: size / 2.5 }) }))] })) : (jsxs(Flex, { className: "ape:justify-center ape:items-center ape:relative", style: { width: size - 2, height: size - 2, borderRadius: '55px' }, children: [jsx("img", { src: url1, alt: `tokenImgFor:${token1}`, width: size, height: token1 === 'BNB-ICHI' ? 19 : size, onLoad: () => loadedUrls.add(url1), onError: () => {
22
+ return error || !token1 ? (jsx(Flex, { className: "ape:justify-center ape:items-center ape:relative", style: { width: size - 2, height: size - 2, borderRadius: '55px' }, children: jsx(Skeleton, { animation: "waves", style: { width: size - 2, height: size - 2, borderRadius: '55px', marginBottom: '5px' } }) })) : token2 ? (jsxs(Flex, { className: "ape:justify-center ape:items-center ape:relative",
23
+ // isolate keeps the images' z-indexes inside this icon, so they never cover modals or the host page
24
+ style: { minWidth: size * 1.5 - 2, height: size - 2, borderRadius: '55px', isolation: 'isolate' }, children: [jsx("img", { src: url1, alt: `tokenImgFor:${token1}`, width: size, height: size, style: { position: 'absolute', zIndex: 2, left: 0 }, onLoad: () => loadedUrls.add(url1) }), jsx("img", { src: `${APEBOND}/tokenImages/${token2.toUpperCase()}.png`, alt: `tokenImgFor:${token2}`, width: size, height: size, style: { position: 'absolute', zIndex: 1, left: '33%' } }), chain && (jsx(Flex, { className: "ape:absolute ape:overflow-hidden ape:rounded-[50px]", style: { zIndex: 3, top: '-2px', right: `-${size / 5}px` }, children: jsx(NetworkIcon, { width: size / 2.5, height: size / 2.5 }) }))] })) : (jsxs(Flex, { className: "ape:justify-center ape:items-center ape:relative", style: { width: size - 2, height: size - 2, borderRadius: '55px' }, children: [jsx("img", { src: url1, alt: `tokenImgFor:${token1}`, width: size, height: token1 === 'BNB-ICHI' ? 19 : size, onLoad: () => loadedUrls.add(url1), onError: () => {
23
25
  if (!loadedUrls.has(url1)) {
24
26
  failedUrls.add(url1);
25
27
  setError(true);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/uikit-sdk/TokenImage/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport Flex from '../Flex'\nimport { NETWORK_ICONS } from '../../../config/constants/chains'\nimport { APEBOND } from '../../../config/constants/variables'\nimport Skeleton from '../Skeleton'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport Question from '../Svg/Icons/Question'\n\n// TODO(aptos): Upload Aptos token images to https://www.ape.bond/tokenImages/\n// Missing: APT.png, TAPE.png (tAPE). Without them the token selector shows a\n// skeleton loader instead of the token logo.\n\n// Module-level cache: once an image loads successfully, skip onError on re-mounts.\nconst loadedUrls = new Set<string>()\nconst failedUrls = new Set<string>()\n\nconst TokenImage = ({\n symbol,\n symbol2,\n size,\n chain,\n}: {\n symbol?: string\n symbol2?: string\n size: number\n chain?: number\n}) => {\n const token1 = symbol === 'USDC.e' ? 'USDC' : symbol === 'AIX' && chain === ChainId.SOL ? 'SOLAIX' : symbol\n const token2 = symbol2 === 'USDC.e' ? 'USDC' : symbol2 === 'AIX' && chain === ChainId.SOL ? 'SOLAIX' : symbol2\n const url1 = token1 ? `${APEBOND}/tokenImages/${token1.toUpperCase()}.png` : ''\n const [error, setError] = useState(failedUrls.has(url1))\n const NetworkIcon = (chain && NETWORK_ICONS?.[chain]) || Question\n\n return error || !token1 ? (\n <Flex\n className=\"ape:justify-center ape:items-center ape:relative\"\n style={{ width: size - 2, height: size - 2, borderRadius: '55px' }}\n >\n <Skeleton\n animation=\"waves\"\n style={{ width: size - 2, height: size - 2, borderRadius: '55px', marginBottom: '5px' }}\n />\n </Flex>\n ) : token2 ? (\n <Flex\n className=\"ape:justify-center ape:items-center ape:relative\"\n style={{ minWidth: size * 1.5 - 2, height: size - 2, borderRadius: '55px' }}\n >\n <img\n src={url1}\n alt={`tokenImgFor:${token1}`}\n width={size}\n height={size}\n style={{ position: 'absolute', zIndex: 4001, left: 0 }}\n onLoad={() => loadedUrls.add(url1)}\n />\n <img\n src={`${APEBOND}/tokenImages/${token2.toUpperCase()}.png`}\n alt={`tokenImgFor:${token2}`}\n width={size}\n height={size}\n style={{ position: 'absolute', zIndex: 4000, left: '33%' }}\n />\n {chain && (\n <Flex\n className=\"ape:absolute ape:overflow-hidden ape:rounded-[50px]\"\n style={{ zIndex: 4002, top: '-2px', right: `-${size / 5}px` }}\n >\n <NetworkIcon width={size / 2.5} height={size / 2.5} />\n </Flex>\n )}\n </Flex>\n ) : (\n <Flex\n className=\"ape:justify-center ape:items-center ape:relative\"\n style={{ width: size - 2, height: size - 2, borderRadius: '55px' }}\n >\n <img\n src={url1}\n alt={`tokenImgFor:${token1}`}\n width={size}\n height={token1 === 'BNB-ICHI' ? 19 : size}\n onLoad={() => loadedUrls.add(url1)}\n onError={() => {\n if (!loadedUrls.has(url1)) {\n failedUrls.add(url1)\n setError(true)\n }\n }}\n />\n {chain && (\n <Flex\n className=\"ape:absolute ape:overflow-hidden ape:rounded-[50px]\"\n style={{ zIndex: 5, top: '-2px', right: '-4px', width: `${size / 2.5}px`, height: `${size / 2.5}px` }}\n >\n <NetworkIcon width={size / 2.5} height={size / 2.5} />\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default TokenImage\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/uikit-sdk/TokenImage/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport Flex from '../Flex'\nimport { NETWORK_ICONS } from '../../../config/constants/chains'\nimport { APEBOND } from '../../../config/constants/variables'\nimport Skeleton from '../Skeleton'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport Question from '../Svg/Icons/Question'\n\n// TODO(aptos): Upload Aptos token images to https://www.ape.bond/tokenImages/\n// Missing: APT.png, TAPE.png (tAPE). Without them the token selector shows a\n// skeleton loader instead of the token logo.\n\n// Module-level cache: once an image loads successfully, skip onError on re-mounts.\nconst loadedUrls = new Set<string>()\nconst failedUrls = new Set<string>()\n\nconst TokenImage = ({\n symbol,\n symbol2,\n size,\n chain,\n}: {\n symbol?: string\n symbol2?: string\n size: number\n chain?: number\n}) => {\n const token1 = symbol === 'USDC.e' ? 'USDC' : symbol === 'AIX' && chain === ChainId.SOL ? 'SOLAIX' : symbol\n const token2 = symbol2 === 'USDC.e' ? 'USDC' : symbol2 === 'AIX' && chain === ChainId.SOL ? 'SOLAIX' : symbol2\n const url1 = token1 ? `${APEBOND}/tokenImages/${token1.toUpperCase()}.png` : ''\n const [error, setError] = useState(failedUrls.has(url1))\n const NetworkIcon = (chain && NETWORK_ICONS?.[chain]) || Question\n\n return error || !token1 ? (\n <Flex\n className=\"ape:justify-center ape:items-center ape:relative\"\n style={{ width: size - 2, height: size - 2, borderRadius: '55px' }}\n >\n <Skeleton\n animation=\"waves\"\n style={{ width: size - 2, height: size - 2, borderRadius: '55px', marginBottom: '5px' }}\n />\n </Flex>\n ) : token2 ? (\n <Flex\n className=\"ape:justify-center ape:items-center ape:relative\"\n // isolate keeps the images' z-indexes inside this icon, so they never cover modals or the host page\n style={{ minWidth: size * 1.5 - 2, height: size - 2, borderRadius: '55px', isolation: 'isolate' }}\n >\n <img\n src={url1}\n alt={`tokenImgFor:${token1}`}\n width={size}\n height={size}\n style={{ position: 'absolute', zIndex: 2, left: 0 }}\n onLoad={() => loadedUrls.add(url1)}\n />\n <img\n src={`${APEBOND}/tokenImages/${token2.toUpperCase()}.png`}\n alt={`tokenImgFor:${token2}`}\n width={size}\n height={size}\n style={{ position: 'absolute', zIndex: 1, left: '33%' }}\n />\n {chain && (\n <Flex\n className=\"ape:absolute ape:overflow-hidden ape:rounded-[50px]\"\n style={{ zIndex: 3, top: '-2px', right: `-${size / 5}px` }}\n >\n <NetworkIcon width={size / 2.5} height={size / 2.5} />\n </Flex>\n )}\n </Flex>\n ) : (\n <Flex\n className=\"ape:justify-center ape:items-center ape:relative\"\n style={{ width: size - 2, height: size - 2, borderRadius: '55px' }}\n >\n <img\n src={url1}\n alt={`tokenImgFor:${token1}`}\n width={size}\n height={token1 === 'BNB-ICHI' ? 19 : size}\n onLoad={() => loadedUrls.add(url1)}\n onError={() => {\n if (!loadedUrls.has(url1)) {\n failedUrls.add(url1)\n setError(true)\n }\n }}\n />\n {chain && (\n <Flex\n className=\"ape:absolute ape:overflow-hidden ape:rounded-[50px]\"\n style={{ zIndex: 5, top: '-2px', right: '-4px', width: `${size / 2.5}px`, height: `${size / 2.5}px` }}\n >\n <NetworkIcon width={size / 2.5} height={size / 2.5} />\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default TokenImage\n"],"names":["_jsx","_jsxs"],"mappings":"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"}