@ape.swap/bonds-sdk 5.1.48 → 5.1.49-test.1

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 (183) hide show
  1. package/README.md +14 -7
  2. package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.d.ts +4 -0
  3. package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js +39 -0
  4. package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js.map +1 -0
  5. package/dist/components/ConnectSuiWalletButton/ConnectSuiWalletButton.d.ts +5 -0
  6. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.d.ts +1 -0
  7. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js +49 -0
  8. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js.map +1 -0
  9. package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js +11 -15
  10. package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js.map +1 -1
  11. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js +13 -17
  12. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js.map +1 -1
  13. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.d.ts +1 -0
  14. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js +44 -0
  15. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js.map +1 -0
  16. package/dist/components/TokenInfoAndName/index.js +2 -0
  17. package/dist/components/TokenInfoAndName/index.js.map +1 -1
  18. package/dist/components/TokenSelectorPanel/index.js +11 -1
  19. package/dist/components/TokenSelectorPanel/index.js.map +1 -1
  20. package/dist/components/Tooltip/Tooltip.js +11 -3
  21. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  22. package/dist/components/uikit-sdk/Svg/index.js +6 -0
  23. package/dist/components/uikit-sdk/Svg/index.js.map +1 -1
  24. package/dist/components/uikit-sdk/Svg/tokens/APTOS.d.ts +4 -0
  25. package/dist/components/uikit-sdk/Svg/tokens/APTOS.js +8 -0
  26. package/dist/components/uikit-sdk/Svg/tokens/APTOS.js.map +1 -0
  27. package/dist/components/uikit-sdk/Svg/tokens/SUI.d.ts +4 -0
  28. package/dist/components/uikit-sdk/Svg/tokens/SUI.js +8 -0
  29. package/dist/components/uikit-sdk/Svg/tokens/SUI.js.map +1 -0
  30. package/dist/components/uikit-sdk/Svg/types.d.ts +2 -0
  31. package/dist/components/uikit-sdk/Svg/types.js +2 -0
  32. package/dist/components/uikit-sdk/Svg/types.js.map +1 -1
  33. package/dist/components/uikit-sdk/TokenImage/index.js +15 -3
  34. package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
  35. package/dist/config/constants/addresses.d.ts +1 -1
  36. package/dist/config/constants/addresses.js +2 -0
  37. package/dist/config/constants/addresses.js.map +1 -1
  38. package/dist/config/constants/aptosZapTokens.d.ts +23 -0
  39. package/dist/config/constants/aptosZapTokens.js +66 -0
  40. package/dist/config/constants/aptosZapTokens.js.map +1 -0
  41. package/dist/config/constants/chains.d.ts +2 -0
  42. package/dist/config/constants/chains.js +12 -0
  43. package/dist/config/constants/chains.js.map +1 -1
  44. package/dist/config/constants/networks.js +9 -0
  45. package/dist/config/constants/networks.js.map +1 -1
  46. package/dist/config/constants/queryKeys.js +23 -1
  47. package/dist/config/constants/queryKeys.js.map +1 -1
  48. package/dist/config/constants/suiZapTokens.d.ts +14 -0
  49. package/dist/config/constants/suiZapTokens.js +41 -0
  50. package/dist/config/constants/suiZapTokens.js.map +1 -0
  51. package/dist/config/constants/tokens.js +48 -0
  52. package/dist/config/constants/tokens.js.map +1 -0
  53. package/dist/config/constants/variables.d.ts +1 -1
  54. package/dist/config/constants/variables.js +2 -0
  55. package/dist/config/constants/variables.js.map +1 -1
  56. package/dist/constants/aptosConstants.d.ts +20 -0
  57. package/dist/constants/aptosConstants.js +78 -0
  58. package/dist/constants/aptosConstants.js.map +1 -0
  59. package/dist/constants/suiConstants.d.ts +18 -0
  60. package/dist/constants/suiConstants.js +61 -0
  61. package/dist/constants/suiConstants.js.map +1 -0
  62. package/dist/hooks/accounts/useAPTAccount.d.ts +30 -0
  63. package/dist/hooks/accounts/useAPTAccount.js +39 -0
  64. package/dist/hooks/accounts/useAPTAccount.js.map +1 -0
  65. package/dist/hooks/accounts/useSUIAccount.d.ts +7 -0
  66. package/dist/hooks/accounts/useSUIAccount.js +46 -0
  67. package/dist/hooks/accounts/useSUIAccount.js.map +1 -0
  68. package/dist/hooks/useMonitorTx.d.ts +2 -21
  69. package/dist/hooks/useMonitorTx.js.map +1 -1
  70. package/dist/hooks/useSortedZapList.js +7 -2
  71. package/dist/hooks/useSortedZapList.js.map +1 -1
  72. package/dist/hooks/useTokenFromZapList.js +1 -0
  73. package/dist/hooks/useTokenFromZapList.js.map +1 -1
  74. package/dist/providers/AptosWalletProvider.d.ts +5 -0
  75. package/dist/providers/SuiWalletProvider.d.ts +5 -0
  76. package/dist/state/balance/useCurrencyBalance.js +9 -0
  77. package/dist/state/balance/useCurrencyBalance.js.map +1 -1
  78. package/dist/state/balance/useCurrencyBalanceAptos.d.ts +14 -0
  79. package/dist/state/balance/useCurrencyBalanceAptos.js +75 -0
  80. package/dist/state/balance/useCurrencyBalanceAptos.js.map +1 -0
  81. package/dist/state/balance/useCurrencyBalanceSui.d.ts +14 -0
  82. package/dist/state/balance/useCurrencyBalanceSui.js +42 -0
  83. package/dist/state/balance/useCurrencyBalanceSui.js.map +1 -0
  84. package/dist/state/balance/useUserTokensBalance.js +19 -1
  85. package/dist/state/balance/useUserTokensBalance.js.map +1 -1
  86. package/dist/state/bonds/aptosBondsConfig.d.ts +4 -0
  87. package/dist/state/bonds/aptosBondsConfig.js +114 -0
  88. package/dist/state/bonds/aptosBondsConfig.js.map +1 -0
  89. package/dist/state/bonds/fetchBillsUserAptos.d.ts +4 -0
  90. package/dist/state/bonds/fetchBillsUserAptos.js +187 -0
  91. package/dist/state/bonds/fetchBillsUserAptos.js.map +1 -0
  92. package/dist/state/bonds/fetchBillsUserSui.d.ts +4 -0
  93. package/dist/state/bonds/fetchBillsUserSui.js +287 -0
  94. package/dist/state/bonds/fetchBillsUserSui.js.map +1 -0
  95. package/dist/state/bonds/fetchBondsDataAptos.d.ts +12 -0
  96. package/dist/state/bonds/fetchBondsDataAptos.js +114 -0
  97. package/dist/state/bonds/fetchBondsDataAptos.js.map +1 -0
  98. package/dist/state/bonds/fetchBondsDataSui.d.ts +13 -0
  99. package/dist/state/bonds/fetchBondsDataSui.js +205 -0
  100. package/dist/state/bonds/fetchBondsDataSui.js.map +1 -0
  101. package/dist/state/bonds/suiBondsConfig.d.ts +4 -0
  102. package/dist/state/bonds/suiBondsConfig.js +113 -0
  103. package/dist/state/bonds/suiBondsConfig.js.map +1 -0
  104. package/dist/state/bonds/useBondsData.js +32 -8
  105. package/dist/state/bonds/useBondsData.js.map +1 -1
  106. package/dist/state/bonds/useBondsList.js +15 -2
  107. package/dist/state/bonds/useBondsList.js.map +1 -1
  108. package/dist/state/bonds/useUserBonds.d.ts +1 -1
  109. package/dist/state/bonds/useUserBonds.js +34 -12
  110. package/dist/state/bonds/useUserBonds.js.map +1 -1
  111. package/dist/state/bonds/utils.js +8 -0
  112. package/dist/state/bonds/utils.js.map +1 -1
  113. package/dist/state/price/useCurrencyPrice.js +2 -1
  114. package/dist/state/price/useCurrencyPrice.js.map +1 -1
  115. package/dist/state/tiers/useTierPoints.js +1 -4
  116. package/dist/state/tiers/useTierPoints.js.map +1 -1
  117. package/dist/state/tokenPrices/useTokenPrices.js +16 -1
  118. package/dist/state/tokenPrices/useTokenPrices.js.map +1 -1
  119. package/dist/state/useSDKConfig.d.ts +4 -0
  120. package/dist/state/useSDKConfig.js.map +1 -1
  121. package/dist/state/zap/useAptosZapQuote.d.ts +28 -0
  122. package/dist/state/zap/useAptosZapQuote.js +83 -0
  123. package/dist/state/zap/useAptosZapQuote.js.map +1 -0
  124. package/dist/state/zap/useSoulZapBondQuote.js +1 -0
  125. package/dist/state/zap/useSoulZapBondQuote.js.map +1 -1
  126. package/dist/state/zap/useSuiZapQuote.d.ts +24 -0
  127. package/dist/state/zap/useSuiZapQuote.js +119 -0
  128. package/dist/state/zap/useSuiZapQuote.js.map +1 -0
  129. package/dist/types/aptosBonds.d.ts +152 -0
  130. package/dist/types/yourbonds.d.ts +3 -9
  131. package/dist/utils/aptosHelpers.d.ts +80 -0
  132. package/dist/utils/aptosHelpers.js +202 -0
  133. package/dist/utils/aptosHelpers.js.map +1 -0
  134. package/dist/utils/getNativeTicker.js +1 -0
  135. package/dist/utils/getNativeTicker.js.map +1 -1
  136. package/dist/utils/suiHelpers.d.ts +6 -0
  137. package/dist/utils/suiHelpers.js +106 -0
  138. package/dist/utils/suiHelpers.js.map +1 -0
  139. package/dist/views/Bonds/components/BondRows/ActiveBondRows.js +8 -2
  140. package/dist/views/Bonds/components/BondRows/ActiveBondRows.js.map +1 -1
  141. package/dist/views/Bonds/components/BondRows/ModalHandler.js +18 -1
  142. package/dist/views/Bonds/components/BondRows/ModalHandler.js.map +1 -1
  143. package/dist/views/Bonds/components/ChainBanner/ChainBanner.js +29 -0
  144. package/dist/views/Bonds/components/ChainBanner/ChainBanner.js.map +1 -1
  145. package/dist/views/BuyBond/BuyBondModal.js +4 -1
  146. package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
  147. package/dist/views/BuyBond/BuyComponentAptos.d.ts +10 -0
  148. package/dist/views/BuyBond/BuyComponentAptos.js +349 -0
  149. package/dist/views/BuyBond/BuyComponentAptos.js.map +1 -0
  150. package/dist/views/BuyBond/BuyComponentSui.d.ts +10 -0
  151. package/dist/views/BuyBond/BuyComponentSui.js +459 -0
  152. package/dist/views/BuyBond/BuyComponentSui.js.map +1 -0
  153. package/dist/views/BuyBond/components/Estimations.js +2 -1
  154. package/dist/views/BuyBond/components/Estimations.js.map +1 -1
  155. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js +8 -23
  156. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js.map +1 -1
  157. package/dist/views/YourBonds/YourBonds.js +19 -2
  158. package/dist/views/YourBonds/YourBonds.js.map +1 -1
  159. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +139 -5
  160. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
  161. package/dist/views/YourBonds/components/ClaimAll/index.js +6 -2
  162. package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
  163. package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.d.ts +6 -0
  164. package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js +109 -0
  165. package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js.map +1 -0
  166. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.d.ts +6 -0
  167. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js +126 -0
  168. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js.map +1 -0
  169. package/dist/views/YourBonds/components/UserBondRow/index.d.ts +2 -0
  170. package/dist/views/YourBondsModal/YourBondsModal.js +3 -1
  171. package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
  172. package/dist/views/YourBondsModal/components/Actions/ActionsAptos.d.ts +6 -0
  173. package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js +96 -0
  174. package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js.map +1 -0
  175. package/dist/views/YourBondsModal/components/Actions/ActionsSui.d.ts +6 -0
  176. package/dist/views/YourBondsModal/components/Actions/ActionsSui.js +115 -0
  177. package/dist/views/YourBondsModal/components/Actions/ActionsSui.js.map +1 -0
  178. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.d.ts +8 -0
  179. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.js +18 -0
  180. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.js.map +1 -0
  181. package/dist/views/YourBondsModal/components/TransferBondModal/index.js +2 -1
  182. package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
  183. package/package.json +7 -4
@@ -1 +1 @@
1
- {"version":3,"file":"chains.js","sources":["../../../src/config/constants/chains.ts"],"sourcesContent":["// Network chain ids\nimport { icons } from '../../components/uikit-sdk/Svg/types'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n\n// These are the lists we will display to the user\nexport const MAINNET_CHAINS = [\n ChainId.MAINNET,\n ChainId.BSC,\n ChainId.MATIC,\n ChainId.BASE,\n ChainId.IOTA,\n ChainId.LINEA,\n ChainId.ARBITRUM,\n ChainId.LIGHTLINK,\n ChainId.GRAPHLINQ,\n ChainId.AVAX,\n ChainId.BLAST,\n ChainId.CROSSFI,\n ChainId.SONIC,\n ChainId.MONAD,\n ChainId.BERACHAIN,\n ChainId.SOL,\n ChainId.KATANA,\n ChainId.UNICHAIN,\n ChainId.MEGAETH_TESTNET,\n ChainId.HYPEREVM,\n]\n\nexport const TESTNET_CHAINS = [ChainId.MEGAETH_TESTNET]\n\n// Network Icons\nexport const NETWORK_ICONS: Partial<Record<number, icons>> = {\n [ChainId.BSC]: icons.BNB_TOKEN,\n [ChainId.MATIC]: icons.POLYGON_TOKEN,\n [ChainId.MAINNET]: icons.ETH_TOKEN,\n [ChainId.TLOS]: icons.TLOS_TOKEN,\n [ChainId.ARBITRUM]: icons.ARBITRUM_TOKEN,\n [ChainId.INEVM]: icons.INEVM,\n [ChainId.SEPOLIA]: icons.ETH_TOKEN,\n [ChainId.LINEA]: icons.LINEA,\n [ChainId.LIGHTLINK]: icons.LIGHTLINK,\n [ChainId.IOTA]: icons.IOTA,\n [ChainId.BASE]: icons.BASE,\n [ChainId.GRAPHLINQ]: icons.GRAPHLINQ,\n [ChainId.AVAX]: icons.AVAX_TOKEN,\n [ChainId.BLAST]: icons.BLAST,\n [ChainId.CROSSFI]: icons.CROSSFI,\n [ChainId.MONAD_TESTNET]: icons.MONAD,\n [ChainId.MONAD]: icons.MONAD,\n [ChainId.SONIC]: icons.SONIC,\n [ChainId.BERACHAIN]: icons.BERA,\n [ChainId.SOL]: icons.SOL,\n [ChainId.KATANA]: icons.KATANA,\n [ChainId.UNICHAIN]: icons.UNICHAIN,\n [ChainId.MEGAETH_TESTNET]: icons.MEGAETH,\n [ChainId.HYPEREVM]: icons.HYPEREVM,\n}\n\n// Network labels\nexport const NETWORK_LABEL: Record<number, string> = {\n [ChainId.BSC]: 'BNB',\n [ChainId.BSC_TESTNET]: 'BNB Testnet',\n [ChainId.MATIC]: 'Polygon',\n [ChainId.MAINNET]: 'Ethereum',\n [ChainId.TLOS]: 'Telos',\n [ChainId.ARBITRUM]: 'Arbitrum',\n [ChainId.INEVM]: 'inEVM',\n [ChainId.SEPOLIA]: 'Sepolia',\n [ChainId.LINEA]: 'Linea',\n [ChainId.LIGHTLINK]: 'Lightlink',\n [ChainId.IOTA]: 'Iota',\n [ChainId.IOTA_TESTNET]: 'Iota Testnet',\n [ChainId.BASE]: 'Base',\n [ChainId.GRAPHLINQ]: 'GraphLinq',\n [ChainId.AVAX]: 'Avalanche',\n [ChainId.BLAST]: 'Blast',\n [ChainId.CROSSFI]: 'Crossfi',\n [ChainId.MONAD_TESTNET]: 'Monad Testnet',\n [ChainId.MONAD]: 'Monad',\n [ChainId.SONIC]: 'Sonic',\n [ChainId.BERACHAIN]: 'Berachain',\n [ChainId.SOL]: 'Solana',\n [ChainId.KATANA]: 'Katana',\n [ChainId.UNICHAIN]: 'Unichain',\n [ChainId.MEGAETH_TESTNET]: 'MegaETH Testnet',\n [ChainId.HYPEREVM]: 'HyperEVM',\n}\n\nexport const SHORT_NETWORK_LABEL: Record<number, string> = {\n [ChainId.BSC]: 'BNB',\n [ChainId.MATIC]: 'Pol',\n [ChainId.MAINNET]: 'Eth',\n [ChainId.TLOS]: 'Telo',\n [ChainId.ARBITRUM]: 'Arb',\n [ChainId.LINEA]: 'Line',\n [ChainId.LIGHTLINK]: 'Ligh',\n [ChainId.IOTA]: 'Iota',\n [ChainId.BASE]: 'Base',\n [ChainId.GRAPHLINQ]: 'Grap',\n [ChainId.AVAX]: 'Avax',\n [ChainId.BLAST]: 'Bla',\n [ChainId.CROSSFI]: 'Cro',\n [ChainId.MONAD]: 'Mona',\n [ChainId.SONIC]: 'Son',\n [ChainId.BERACHAIN]: 'Bera',\n [ChainId.SOL]: 'Sol',\n [ChainId.KATANA]: 'Kat',\n [ChainId.UNICHAIN]: 'Unic',\n [ChainId.HYPEREVM]: 'Hyp',\n}\n\n// Network block explorers\nexport const BLOCK_EXPLORER: Record<number, string> = {\n [ChainId.MAINNET]: 'https://etherscan.io',\n [ChainId.ARBITRUM]: 'https://arbiscan.io',\n [ChainId.MATIC]: 'https://polygonscan.com',\n [ChainId.BSC]: 'https://bscscan.com',\n [ChainId.BSC_TESTNET]: 'https://testnet.bscscan.com',\n [ChainId.TLOS]: 'https://www.teloscan.io',\n [ChainId.INEVM]: 'https://explorer.inevm.com',\n [ChainId.SEPOLIA]: 'https://sepolia.etherscan.io',\n [ChainId.LINEA]: 'https://lineascan.build',\n [ChainId.LIGHTLINK]: 'https://phoenix.lightlink.io',\n [ChainId.IOTA]: 'https://explorer.evm.iota.org',\n [ChainId.IOTA_TESTNET]: 'https://explorer.evm.testnet.iotaledger.net/',\n [ChainId.BASE]: 'https://basescan.org',\n [ChainId.GRAPHLINQ]: 'https://graphlinq.dex.guru',\n [ChainId.AVAX]: 'https://snowtrace.io/',\n [ChainId.BLAST]: 'https://blastscan.io',\n [ChainId.CROSSFI]: 'https://xfiscan.com',\n [ChainId.MONAD_TESTNET]: 'https://testnet.monadexplorer.com/',\n [ChainId.MONAD]: 'https://monadvision.com/',\n [ChainId.SONIC]: 'https://sonicscan.org',\n [ChainId.BERACHAIN]: 'https://berascan.com',\n [ChainId.SOL]: 'https://solscan.io',\n [ChainId.KATANA]: 'https://explorer.katanarpc.com',\n [ChainId.UNICHAIN]: 'https://uniscan.xyz',\n [ChainId.MEGAETH_TESTNET]: 'https://megaexplorer.xyz',\n [ChainId.HYPEREVM]: 'https://hyperevmscan.io',\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chains.js","sources":["../../../src/config/constants/chains.ts"],"sourcesContent":["// Network chain ids\nimport { icons } from '../../components/uikit-sdk/Svg/types'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n// Ensure the ChainId.APTOS and ChainId.SUI runtime patches run before the maps below evaluate\nimport '../../constants/aptosConstants'\nimport '../../constants/suiConstants'\n\n// These are the lists we will display to the user\nexport const MAINNET_CHAINS = [\n ChainId.MAINNET,\n ChainId.BSC,\n ChainId.MATIC,\n ChainId.BASE,\n ChainId.IOTA,\n ChainId.LINEA,\n ChainId.ARBITRUM,\n ChainId.APTOS,\n ChainId.SUI,\n ChainId.LIGHTLINK,\n ChainId.GRAPHLINQ,\n ChainId.AVAX,\n ChainId.BLAST,\n ChainId.CROSSFI,\n ChainId.SONIC,\n ChainId.MONAD,\n ChainId.BERACHAIN,\n ChainId.SOL,\n ChainId.KATANA,\n ChainId.UNICHAIN,\n ChainId.MEGAETH_TESTNET,\n ChainId.HYPEREVM,\n]\n\nexport const TESTNET_CHAINS = [ChainId.MEGAETH_TESTNET]\n\n// Network Icons\nexport const NETWORK_ICONS: Partial<Record<number, icons>> = {\n [ChainId.BSC]: icons.BNB_TOKEN,\n [ChainId.MATIC]: icons.POLYGON_TOKEN,\n [ChainId.MAINNET]: icons.ETH_TOKEN,\n [ChainId.TLOS]: icons.TLOS_TOKEN,\n [ChainId.ARBITRUM]: icons.ARBITRUM_TOKEN,\n [ChainId.INEVM]: icons.INEVM,\n [ChainId.SEPOLIA]: icons.ETH_TOKEN,\n [ChainId.LINEA]: icons.LINEA,\n [ChainId.LIGHTLINK]: icons.LIGHTLINK,\n [ChainId.IOTA]: icons.IOTA,\n [ChainId.BASE]: icons.BASE,\n [ChainId.GRAPHLINQ]: icons.GRAPHLINQ,\n [ChainId.AVAX]: icons.AVAX_TOKEN,\n [ChainId.BLAST]: icons.BLAST,\n [ChainId.CROSSFI]: icons.CROSSFI,\n [ChainId.MONAD_TESTNET]: icons.MONAD,\n [ChainId.MONAD]: icons.MONAD,\n [ChainId.SONIC]: icons.SONIC,\n [ChainId.BERACHAIN]: icons.BERA,\n [ChainId.SOL]: icons.SOL,\n [ChainId.KATANA]: icons.KATANA,\n [ChainId.UNICHAIN]: icons.UNICHAIN,\n [ChainId.MEGAETH_TESTNET]: icons.MEGAETH,\n [ChainId.HYPEREVM]: icons.HYPEREVM,\n [ChainId.APTOS]: icons.APTOS,\n [ChainId.SUI]: icons.SUI,\n}\n\n// Network labels\nexport const NETWORK_LABEL: Record<number, string> = {\n [ChainId.BSC]: 'BNB',\n [ChainId.BSC_TESTNET]: 'BNB Testnet',\n [ChainId.MATIC]: 'Polygon',\n [ChainId.MAINNET]: 'Ethereum',\n [ChainId.TLOS]: 'Telos',\n [ChainId.ARBITRUM]: 'Arbitrum',\n [ChainId.INEVM]: 'inEVM',\n [ChainId.SEPOLIA]: 'Sepolia',\n [ChainId.LINEA]: 'Linea',\n [ChainId.LIGHTLINK]: 'Lightlink',\n [ChainId.IOTA]: 'Iota',\n [ChainId.IOTA_TESTNET]: 'Iota Testnet',\n [ChainId.BASE]: 'Base',\n [ChainId.GRAPHLINQ]: 'GraphLinq',\n [ChainId.AVAX]: 'Avalanche',\n [ChainId.BLAST]: 'Blast',\n [ChainId.CROSSFI]: 'Crossfi',\n [ChainId.MONAD_TESTNET]: 'Monad Testnet',\n [ChainId.MONAD]: 'Monad',\n [ChainId.SONIC]: 'Sonic',\n [ChainId.BERACHAIN]: 'Berachain',\n [ChainId.SOL]: 'Solana',\n [ChainId.KATANA]: 'Katana',\n [ChainId.UNICHAIN]: 'Unichain',\n [ChainId.MEGAETH_TESTNET]: 'MegaETH Testnet',\n [ChainId.HYPEREVM]: 'HyperEVM',\n [ChainId.APTOS]: 'Aptos',\n [ChainId.SUI]: 'Sui',\n}\n\nexport const SHORT_NETWORK_LABEL: Record<number, string> = {\n [ChainId.BSC]: 'BNB',\n [ChainId.MATIC]: 'Pol',\n [ChainId.MAINNET]: 'Eth',\n [ChainId.TLOS]: 'Telo',\n [ChainId.ARBITRUM]: 'Arb',\n [ChainId.LINEA]: 'Line',\n [ChainId.LIGHTLINK]: 'Ligh',\n [ChainId.IOTA]: 'Iota',\n [ChainId.BASE]: 'Base',\n [ChainId.GRAPHLINQ]: 'Grap',\n [ChainId.AVAX]: 'Avax',\n [ChainId.BLAST]: 'Bla',\n [ChainId.CROSSFI]: 'Cro',\n [ChainId.MONAD]: 'Mona',\n [ChainId.SONIC]: 'Son',\n [ChainId.BERACHAIN]: 'Bera',\n [ChainId.SOL]: 'Sol',\n [ChainId.KATANA]: 'Kat',\n [ChainId.UNICHAIN]: 'Unic',\n [ChainId.HYPEREVM]: 'Hyp',\n [ChainId.APTOS]: 'Apt',\n [ChainId.SUI]: 'Sui',\n}\n\n// Network block explorers\nexport const BLOCK_EXPLORER: Record<number, string> = {\n [ChainId.MAINNET]: 'https://etherscan.io',\n [ChainId.ARBITRUM]: 'https://arbiscan.io',\n [ChainId.MATIC]: 'https://polygonscan.com',\n [ChainId.BSC]: 'https://bscscan.com',\n [ChainId.BSC_TESTNET]: 'https://testnet.bscscan.com',\n [ChainId.TLOS]: 'https://www.teloscan.io',\n [ChainId.INEVM]: 'https://explorer.inevm.com',\n [ChainId.SEPOLIA]: 'https://sepolia.etherscan.io',\n [ChainId.LINEA]: 'https://lineascan.build',\n [ChainId.LIGHTLINK]: 'https://phoenix.lightlink.io',\n [ChainId.IOTA]: 'https://explorer.evm.iota.org',\n [ChainId.IOTA_TESTNET]: 'https://explorer.evm.testnet.iotaledger.net/',\n [ChainId.BASE]: 'https://basescan.org',\n [ChainId.GRAPHLINQ]: 'https://graphlinq.dex.guru',\n [ChainId.AVAX]: 'https://snowtrace.io/',\n [ChainId.BLAST]: 'https://blastscan.io',\n [ChainId.CROSSFI]: 'https://xfiscan.com',\n [ChainId.MONAD_TESTNET]: 'https://testnet.monadexplorer.com/',\n [ChainId.MONAD]: 'https://monadvision.com/',\n [ChainId.SONIC]: 'https://sonicscan.org',\n [ChainId.BERACHAIN]: 'https://berascan.com',\n [ChainId.SOL]: 'https://solscan.io',\n [ChainId.KATANA]: 'https://explorer.katanarpc.com',\n [ChainId.UNICHAIN]: 'https://uniscan.xyz',\n [ChainId.MEGAETH_TESTNET]: 'https://megaexplorer.xyz',\n [ChainId.HYPEREVM]: 'https://hyperevmscan.io',\n [ChainId.APTOS]: 'https://explorer.aptoslabs.com',\n [ChainId.SUI]: 'https://suiscan.xyz/testnet',\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { ChainId } from '@ape.swap/apeswap-lists';
2
+ import { APTOS_FULLNODE_URL } from '../../constants/aptosConstants.js';
3
+ import { SUI_FULLNODE_URL } from '../../constants/suiConstants.js';
2
4
 
3
5
  const PUBLIC_RPC_URLS = {
4
6
  [ChainId.BSC]: [
@@ -56,6 +58,13 @@ const PUBLIC_RPC_URLS = {
56
58
  [ChainId.UNICHAIN]: ['https://unichain-rpc.publicnode.com', 'https://unichain.drpc.org'],
57
59
  [ChainId.MEGAETH_TESTNET]: ['https://carrot.megaeth.com/rpc'],
58
60
  [ChainId.HYPEREVM]: ['https://rpc.hyperliquid.xyz/evm'],
61
+ // Aptos fullnode — URL is clean; the API key goes in the Authorization
62
+ // header, not as a query param (see aptosConstants.ts). The cast on
63
+ // APTOS_CHAIN_ID is required because the synthetic id is not in the
64
+ // ChainId enum yet.
65
+ [ChainId.APTOS]: [APTOS_FULLNODE_URL],
66
+ // Sui fullnode — public RPC, no API key required (see suiConstants.ts).
67
+ [ChainId.SUI]: [SUI_FULLNODE_URL],
59
68
  // SOL RPC is not public. Production URL (morning-autumn-dream) is domain-protected, development URL (ancient-cold-sailboat) is free, use with caution.
60
69
  [ChainId.SOL]: process.env.NODE_ENV === 'production'
61
70
  ? ['https://morning-autumn-dream.solana-mainnet.quiknode.pro/1ef6069950c798a43a112c0fe5eb157309427db8']
@@ -1 +1 @@
1
- {"version":3,"file":"networks.js","sources":["../../../src/config/constants/networks.ts"],"sourcesContent":["import { ChainId } from '@ape.swap/apeswap-lists'\n\nexport const PUBLIC_RPC_URLS: Partial<Record<ChainId, string[]>> = {\n [ChainId.BSC]: [\n 'https://bsc-dataseed.binance.org/',\n 'https://bsc-dataseed1.defibit.io',\n 'https://endpoints.omniatech.io/v1/bsc/mainnet/public',\n ],\n [ChainId.ARBITRUM]: ['https://arb1.arbitrum.io/rpc'],\n [ChainId.BSC_TESTNET]: ['https://data-seed-prebsc-2-s3.binance.org:8545/'],\n [ChainId.MATIC]: [\n 'https://polygon.drpc.org',\n 'https://1rpc.io/matic',\n 'https://polygon-rpc.com/', // this is now freemium\n 'https://polygon-mainnet.public.blastapi.io/',\n 'https://rpc-mainnet.matic.network',\n 'https://matic-mainnet.chainstacklabs.com',\n ],\n [ChainId.MAINNET]: [\n 'https://ethereum-rpc.publicnode.com',\n 'https://eth.drpc.org',\n 'https://eth-mainnet.public.blastapi.io',\n 'https://rpc.ankr.com/eth',\n ],\n [ChainId.TLOS]: ['https://mainnet.telos.net/evm'],\n [ChainId.INEVM]: ['https://mainnet.rpc.inevm.com/http'],\n [ChainId.SEPOLIA]: ['https://eth-sepolia-public.unifra.io'],\n [ChainId.LINEA]: [\n 'https://rpc.linea.build',\n 'https://linea.drpc.org',\n 'https://linea.blockpi.network/v1/rpc/public',\n 'https://linea.decubate.com',\n ],\n [ChainId.LIGHTLINK]: [\n 'https://replicator.phoenix.lightlink.io/rpc/v1',\n 'https://endpoints.omniatech.io/v1/lightlink/phoenix/public',\n ],\n [ChainId.IOTA]: ['https://json-rpc.evm.iotaledger.net/'],\n [ChainId.IOTA_TESTNET]: ['https://json-rpc.evm.testnet.iotaledger.net/'],\n [ChainId.BASE]: ['https://base-rpc.publicnode.com', 'https://mainnet.base.org'],\n [ChainId.GRAPHLINQ]: ['https://glq-dataseed.graphlinq.io'],\n [ChainId.AVAX]: ['https://avalanche-c-chain-rpc.publicnode.com', 'https://avax.meowrpc.com'],\n [ChainId.BLAST]: ['https://rpc.blast.io'],\n [ChainId.CROSSFI]: ['https://rpc.mainnet.ms'],\n [ChainId.MONAD_TESTNET]: ['https://testnet-rpc2.monad.xyz/52227f026fa8fac9e2014c58fbf5643369b3bfc6'],\n [ChainId.MONAD]: [\n 'https://rpc.monad.xyz',\n 'https://rpc1.monad.xyz',\n 'https://rpc2.monad.xyz',\n 'https://rpc3.monad.xyz',\n 'https://rpc4.monad.xyz',\n ],\n [ChainId.SONIC]: ['https://rpc.soniclabs.com'],\n [ChainId.BERACHAIN]: ['https://rpc.berachain.com', 'https://berachain.drpc.org'],\n [ChainId.KATANA]: ['https://rpc-katana.t.conduit.xyz/NRcSLqEG4Hw55GzTSu6Sratq94kKtUGfH'],\n [ChainId.UNICHAIN]: ['https://unichain-rpc.publicnode.com', 'https://unichain.drpc.org'],\n [ChainId.MEGAETH_TESTNET]: ['https://carrot.megaeth.com/rpc'],\n [ChainId.HYPEREVM]: ['https://rpc.hyperliquid.xyz/evm'],\n\n // SOL RPC is not public. Production URL (morning-autumn-dream) is domain-protected, development URL (ancient-cold-sailboat) is free, use with caution.\n [ChainId.SOL]:\n process.env.NODE_ENV === 'production'\n ? ['https://morning-autumn-dream.solana-mainnet.quiknode.pro/1ef6069950c798a43a112c0fe5eb157309427db8']\n : [\n 'https://ancient-cold-sailboat.solana-mainnet.quiknode.pro/da13400ad8d0035313f3e71c6a37c107d0d0334b',\n 'https://mainnet.helius-rpc.com/?api-key=d80b11e0-692f-4da0-91d6-830799c8c385',\n ], // mainnet\n // [ChainId.SOL]: ['https://devnet.helius-rpc.com/?api-key=095f6fc7-1be0-4d94-a737-4a5ee0d82ea5'], // devnet\n}\n\n// Multiple Helius SOL RPC endpoints for rotation\nexport const HELIUS_SOL_RPC_ENDPOINTS = [\n 'https://mainnet.helius-rpc.com/?api-key=d80b11e0-692f-4da0-91d6-830799c8c385', // apefede09@gmail.com\n 'https://mainnet.helius-rpc.com/?api-key=8631ce42-9000-490d-9ac3-f3a81de508b2', // apebond.design@gmail.com\n 'https://mainnet.helius-rpc.com/?api-key=c097651d-ae13-4ab4-ae4c-fef7e48d4561', // n0mbr3al3at0r10@gmail.com\n 'https://mainnet.helius-rpc.com/?api-key=a5c4ea36-fa6b-4bcc-a7a4-e10012b9ea7e', // RandomApe personal mail\n]\n\n// export const HELIUS_SOL_RPC_ENDPOINTS = ['https://devnet.helius-rpc.com/?api-key=095f6fc7-1be0-4d94-a737-4a5ee0d82ea5'] //devnet\n\n// Function to get a random Helius SOL RPC endpoint\nexport const getRandomHeliusRPC = (): string => {\n const randomIndex = Math.floor(Math.random() * HELIUS_SOL_RPC_ENDPOINTS.length)\n return HELIUS_SOL_RPC_ENDPOINTS[randomIndex]\n}\n\n// Keep the current export for backward compatibility\nexport const HELIUS_SOL_RPC = getRandomHeliusRPC()\n\n// Custom RPC registry — set by the consumer via the `customRPCS` prop\nlet _customRPCS: Partial<Record<ChainId, string[]>> = {}\n\nexport const setCustomRPCS = (urls: Partial<Record<ChainId, string[]>>) => {\n _customRPCS = urls\n}\n\nexport const getRPC = (chain: ChainId): string => {\n return _customRPCS?.[chain]?.[0] ?? (PUBLIC_RPC_URLS?.[chain]?.[0] as string)\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networks.js","sources":["../../../src/config/constants/networks.ts"],"sourcesContent":["import { ChainId } from '@ape.swap/apeswap-lists'\nimport { APTOS_FULLNODE_URL } from '../../constants/aptosConstants'\nimport { SUI_FULLNODE_URL } from '../../constants/suiConstants'\n\nexport const PUBLIC_RPC_URLS: Partial<Record<ChainId, string[]>> = {\n [ChainId.BSC]: [\n 'https://bsc-dataseed.binance.org/',\n 'https://bsc-dataseed1.defibit.io',\n 'https://endpoints.omniatech.io/v1/bsc/mainnet/public',\n ],\n [ChainId.ARBITRUM]: ['https://arb1.arbitrum.io/rpc'],\n [ChainId.BSC_TESTNET]: ['https://data-seed-prebsc-2-s3.binance.org:8545/'],\n [ChainId.MATIC]: [\n 'https://polygon.drpc.org',\n 'https://1rpc.io/matic',\n 'https://polygon-rpc.com/', // this is now freemium\n 'https://polygon-mainnet.public.blastapi.io/',\n 'https://rpc-mainnet.matic.network',\n 'https://matic-mainnet.chainstacklabs.com',\n ],\n [ChainId.MAINNET]: [\n 'https://ethereum-rpc.publicnode.com',\n 'https://eth.drpc.org',\n 'https://eth-mainnet.public.blastapi.io',\n 'https://rpc.ankr.com/eth',\n ],\n [ChainId.TLOS]: ['https://mainnet.telos.net/evm'],\n [ChainId.INEVM]: ['https://mainnet.rpc.inevm.com/http'],\n [ChainId.SEPOLIA]: ['https://eth-sepolia-public.unifra.io'],\n [ChainId.LINEA]: [\n 'https://rpc.linea.build',\n 'https://linea.drpc.org',\n 'https://linea.blockpi.network/v1/rpc/public',\n 'https://linea.decubate.com',\n ],\n [ChainId.LIGHTLINK]: [\n 'https://replicator.phoenix.lightlink.io/rpc/v1',\n 'https://endpoints.omniatech.io/v1/lightlink/phoenix/public',\n ],\n [ChainId.IOTA]: ['https://json-rpc.evm.iotaledger.net/'],\n [ChainId.IOTA_TESTNET]: ['https://json-rpc.evm.testnet.iotaledger.net/'],\n [ChainId.BASE]: ['https://base-rpc.publicnode.com', 'https://mainnet.base.org'],\n [ChainId.GRAPHLINQ]: ['https://glq-dataseed.graphlinq.io'],\n [ChainId.AVAX]: ['https://avalanche-c-chain-rpc.publicnode.com', 'https://avax.meowrpc.com'],\n [ChainId.BLAST]: ['https://rpc.blast.io'],\n [ChainId.CROSSFI]: ['https://rpc.mainnet.ms'],\n [ChainId.MONAD_TESTNET]: ['https://testnet-rpc2.monad.xyz/52227f026fa8fac9e2014c58fbf5643369b3bfc6'],\n [ChainId.MONAD]: [\n 'https://rpc.monad.xyz',\n 'https://rpc1.monad.xyz',\n 'https://rpc2.monad.xyz',\n 'https://rpc3.monad.xyz',\n 'https://rpc4.monad.xyz',\n ],\n [ChainId.SONIC]: ['https://rpc.soniclabs.com'],\n [ChainId.BERACHAIN]: ['https://rpc.berachain.com', 'https://berachain.drpc.org'],\n [ChainId.KATANA]: ['https://rpc-katana.t.conduit.xyz/NRcSLqEG4Hw55GzTSu6Sratq94kKtUGfH'],\n [ChainId.UNICHAIN]: ['https://unichain-rpc.publicnode.com', 'https://unichain.drpc.org'],\n [ChainId.MEGAETH_TESTNET]: ['https://carrot.megaeth.com/rpc'],\n [ChainId.HYPEREVM]: ['https://rpc.hyperliquid.xyz/evm'],\n\n // Aptos fullnode — URL is clean; the API key goes in the Authorization\n // header, not as a query param (see aptosConstants.ts). The cast on\n // APTOS_CHAIN_ID is required because the synthetic id is not in the\n // ChainId enum yet.\n [ChainId.APTOS]: [APTOS_FULLNODE_URL],\n\n // Sui fullnode — public RPC, no API key required (see suiConstants.ts).\n [ChainId.SUI]: [SUI_FULLNODE_URL],\n\n // SOL RPC is not public. Production URL (morning-autumn-dream) is domain-protected, development URL (ancient-cold-sailboat) is free, use with caution.\n [ChainId.SOL]:\n process.env.NODE_ENV === 'production'\n ? ['https://morning-autumn-dream.solana-mainnet.quiknode.pro/1ef6069950c798a43a112c0fe5eb157309427db8']\n : [\n 'https://ancient-cold-sailboat.solana-mainnet.quiknode.pro/da13400ad8d0035313f3e71c6a37c107d0d0334b',\n 'https://mainnet.helius-rpc.com/?api-key=d80b11e0-692f-4da0-91d6-830799c8c385',\n ], // mainnet\n // [ChainId.SOL]: ['https://devnet.helius-rpc.com/?api-key=095f6fc7-1be0-4d94-a737-4a5ee0d82ea5'], // devnet\n}\n\n// Multiple Helius SOL RPC endpoints for rotation\nexport const HELIUS_SOL_RPC_ENDPOINTS = [\n 'https://mainnet.helius-rpc.com/?api-key=d80b11e0-692f-4da0-91d6-830799c8c385', // apefede09@gmail.com\n 'https://mainnet.helius-rpc.com/?api-key=8631ce42-9000-490d-9ac3-f3a81de508b2', // apebond.design@gmail.com\n 'https://mainnet.helius-rpc.com/?api-key=c097651d-ae13-4ab4-ae4c-fef7e48d4561', // n0mbr3al3at0r10@gmail.com\n 'https://mainnet.helius-rpc.com/?api-key=a5c4ea36-fa6b-4bcc-a7a4-e10012b9ea7e', // RandomApe personal mail\n]\n\n// export const HELIUS_SOL_RPC_ENDPOINTS = ['https://devnet.helius-rpc.com/?api-key=095f6fc7-1be0-4d94-a737-4a5ee0d82ea5'] //devnet\n\n// Function to get a random Helius SOL RPC endpoint\nexport const getRandomHeliusRPC = (): string => {\n const randomIndex = Math.floor(Math.random() * HELIUS_SOL_RPC_ENDPOINTS.length)\n return HELIUS_SOL_RPC_ENDPOINTS[randomIndex]\n}\n\n// Keep the current export for backward compatibility\nexport const HELIUS_SOL_RPC = getRandomHeliusRPC()\n\n// Custom RPC registry — set by the consumer via the `customRPCS` prop\nlet _customRPCS: Partial<Record<ChainId, string[]>> = {}\n\nexport const setCustomRPCS = (urls: Partial<Record<ChainId, string[]>>) => {\n _customRPCS = urls\n}\n\nexport const getRPC = (chain: ChainId): string => {\n return _customRPCS?.[chain]?.[0] ?? (PUBLIC_RPC_URLS?.[chain]?.[0] as string)\n}\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,29 @@
1
1
  const QUERY_KEYS = {
2
+ INDUSTRY_STATS: 'industryStats',
3
+ HISTORICAL_INDUSTRY_STATS: 'historicalIndustryStats',
4
+ LHD_PROFILES: 'lhdProfiles',
5
+ LHD_PROFILE: 'lhdProfile',
6
+ LHD_PASSWORD_VERIFIED: 'lhdPasswordVerified',
7
+ HOMEPAGE_STATS: 'homepageStats',
8
+ BOND_PAGE_STATS: 'bondPageStats',
9
+ LIVE_AND_UPCOMING: 'liveAndUpcoming',
10
+ TVL_STATS: 'tvlStats',
11
+ TOKEN_HISTORIC: 'tokenHistoric',
12
+ BONDS_LANDING: 'bondsLanding',
13
+ BOND_POST_REFERENCE: 'bondPostReference',
2
14
  TIERS: 'tiers',
15
+ AB_TEST_VALUE: 'ABTestValue',
16
+ USE_CURRENCY_NEW: 'useCurrencyNew',
3
17
  // used values on SDK
4
18
  BOND_API_STATS: 'ApeBond-SDK-bondApiStats',
5
19
  SDK_CONFIG: 'ApeBond-SDK-sdkConfig',
6
20
  BOND_RECOMMENDATIONS: 'ApeBond-SDK-bondRecommendations',
21
+ USER_STATS: 'ApeBond-SDK-userStats',
7
22
  BONDS_DATA: 'ApeBond-SDK-bondsData',
8
23
  BONDS_LIST: 'ApeBond-SDK-bondsList',
9
24
  BONDS_LIST_PRE_TGE: 'ApeBond-SDK-bondsListPreTGE',
10
25
  USER_BONDS: 'ApeBond-SDK-userBonds',
26
+ BOND_NFT_DATA: 'ApeBond-SDK-bondNFTData',
11
27
  TOKEN_PRICES: 'ApeBond-SDK-tokenPrices',
12
28
  HOT_BONDS: 'ApeBond-SDK-hotBonds',
13
29
  HOT_BONDS_CONTRACTS: 'ApeBond-SDK-hotBondsContracts',
@@ -15,14 +31,20 @@ const QUERY_KEYS = {
15
31
  ALLOWANCE: 'ApeBond-SDK-allowance',
16
32
  SLIPPAGE: 'ApeBond-SDK-slippage',
17
33
  ZAP_TOKEN_QUOTE: 'ApeBond-SDK-zapTokenQuote',
34
+ ZAP_BOND_QUOTE: 'ApeBond-SDK-zapBondQuote',
18
35
  CHAIN_FILTER_OPTION: 'ApeBond-SDK-chainFilterOption',
19
36
  FAVORITE_TOKENS: 'ApeBond-SDK-favoriteTokens',
20
37
  POP_UPS: 'ApeBond-SDK-popUps',
38
+ GEO_FENCING: 'ApeBond-SDK-geoFencing',
21
39
  TIER_PROOF_SIG: 'ApeBond-SDK-tierProofSig',
22
40
  ACTIVE_VIEW: 'ApeBond-SDK-activeView',
23
41
  PRE_TGE_USER_BONDS: 'ApeBond-SDK-preTGEUserBonds',
24
42
  USER_TOKENS_BALANCES: 'ApeBond-SDK-userTokensBalances',
25
- HISTORICAL_PRICE: 'ApeBond-SDK-historicalPrice'};
43
+ TOKEN_LIST: 'ApeBond-SDK-tokenList',
44
+ HISTORICAL_PRICE: 'ApeBond-SDK-historicalPrice',
45
+ TIER_OPTIMIZATION_PREVIEW: 'ApeBond-SDK-tierOptimizationPreview',
46
+ PROMOTIONS: 'ApeBond-SDK-promotions',
47
+ };
26
48
 
27
49
  export { QUERY_KEYS };
28
50
  //# sourceMappingURL=queryKeys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryKeys.js","sources":["../../../src/config/constants/queryKeys.ts"],"sourcesContent":["export const QUERY_KEYS = {\n INDUSTRY_STATS: 'industryStats',\n HISTORICAL_INDUSTRY_STATS: 'historicalIndustryStats',\n LHD_PROFILES: 'lhdProfiles',\n LHD_PROFILE: 'lhdProfile',\n LHD_PASSWORD_VERIFIED: 'lhdPasswordVerified',\n HOMEPAGE_STATS: 'homepageStats',\n BOND_PAGE_STATS: 'bondPageStats',\n LIVE_AND_UPCOMING: 'liveAndUpcoming',\n TVL_STATS: 'tvlStats',\n TOKEN_HISTORIC: 'tokenHistoric',\n BONDS_LANDING: 'bondsLanding',\n BOND_POST_REFERENCE: 'bondPostReference',\n TIERS: 'tiers',\n AB_TEST_VALUE: 'ABTestValue',\n USE_CURRENCY_NEW: 'useCurrencyNew',\n // used values on SDK\n BOND_API_STATS: 'ApeBond-SDK-bondApiStats',\n SDK_CONFIG: 'ApeBond-SDK-sdkConfig',\n BOND_RECOMMENDATIONS: 'ApeBond-SDK-bondRecommendations',\n USER_STATS: 'ApeBond-SDK-userStats',\n BONDS_DATA: 'ApeBond-SDK-bondsData',\n BONDS_LIST: 'ApeBond-SDK-bondsList',\n BONDS_LIST_PRE_TGE: 'ApeBond-SDK-bondsListPreTGE',\n USER_BONDS: 'ApeBond-SDK-userBonds',\n BOND_NFT_DATA: 'ApeBond-SDK-bondNFTData',\n TOKEN_PRICES: 'ApeBond-SDK-tokenPrices',\n HOT_BONDS: 'ApeBond-SDK-hotBonds',\n HOT_BONDS_CONTRACTS: 'ApeBond-SDK-hotBondsContracts',\n CURRENCY_BALANCE: 'ApeBond-SDK-currencyBalance',\n ALLOWANCE: 'ApeBond-SDK-allowance',\n SLIPPAGE: 'ApeBond-SDK-slippage',\n ZAP_TOKEN_QUOTE: 'ApeBond-SDK-zapTokenQuote',\n ZAP_BOND_QUOTE: 'ApeBond-SDK-zapBondQuote',\n CHAIN_FILTER_OPTION: 'ApeBond-SDK-chainFilterOption',\n FAVORITE_TOKENS: 'ApeBond-SDK-favoriteTokens',\n POP_UPS: 'ApeBond-SDK-popUps',\n GEO_FENCING: 'ApeBond-SDK-geoFencing',\n TIER_PROOF_SIG: 'ApeBond-SDK-tierProofSig',\n ACTIVE_VIEW: 'ApeBond-SDK-activeView',\n PRE_TGE_USER_BONDS: 'ApeBond-SDK-preTGEUserBonds',\n USER_TOKENS_BALANCES: 'ApeBond-SDK-userTokensBalances',\n TOKEN_LIST: 'ApeBond-SDK-tokenList',\n HISTORICAL_PRICE: 'ApeBond-SDK-historicalPrice',\n TIER_OPTIMIZATION_PREVIEW: 'ApeBond-SDK-tierOptimizationPreview',\n PROMOTIONS: 'ApeBond-SDK-promotions',\n}\n"],"names":[],"mappings":"AAAO,MAAM,UAAU,GAAG;AACxB,IAYA,KAAK,EAAE,OAAO;AACd,IAEA;AACA,IAAA,cAAc,EAAE,0BAA0B;AAC1C,IAAA,UAAU,EAAE,uBAAuB;AACnC,IAAA,oBAAoB,EAAE,iCAAiC;AACvD,IACA,UAAU,EAAE,uBAAuB;AACnC,IAAA,UAAU,EAAE,uBAAuB;AACnC,IAAA,kBAAkB,EAAE,6BAA6B;AACjD,IAAA,UAAU,EAAE,uBAAuB;AACnC,IACA,YAAY,EAAE,yBAAyB;AACvC,IAAA,SAAS,EAAE,sBAAsB;AACjC,IAAA,mBAAmB,EAAE,+BAA+B;AACpD,IAAA,gBAAgB,EAAE,6BAA6B;AAC/C,IAAA,SAAS,EAAE,uBAAuB;AAClC,IAAA,QAAQ,EAAE,sBAAsB;AAChC,IAAA,eAAe,EAAE,2BAA2B;AAC5C,IACA,mBAAmB,EAAE,+BAA+B;AACpD,IAAA,eAAe,EAAE,4BAA4B;AAC7C,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IACA,cAAc,EAAE,0BAA0B;AAC1C,IAAA,WAAW,EAAE,wBAAwB;AACrC,IAAA,kBAAkB,EAAE,6BAA6B;AACjD,IAAA,oBAAoB,EAAE,gCAAgC;AACtD,IACA,gBAAgB,EAAE;;;;"}
1
+ {"version":3,"file":"queryKeys.js","sources":["../../../src/config/constants/queryKeys.ts"],"sourcesContent":["export const QUERY_KEYS = {\n INDUSTRY_STATS: 'industryStats',\n HISTORICAL_INDUSTRY_STATS: 'historicalIndustryStats',\n LHD_PROFILES: 'lhdProfiles',\n LHD_PROFILE: 'lhdProfile',\n LHD_PASSWORD_VERIFIED: 'lhdPasswordVerified',\n HOMEPAGE_STATS: 'homepageStats',\n BOND_PAGE_STATS: 'bondPageStats',\n LIVE_AND_UPCOMING: 'liveAndUpcoming',\n TVL_STATS: 'tvlStats',\n TOKEN_HISTORIC: 'tokenHistoric',\n BONDS_LANDING: 'bondsLanding',\n BOND_POST_REFERENCE: 'bondPostReference',\n TIERS: 'tiers',\n AB_TEST_VALUE: 'ABTestValue',\n USE_CURRENCY_NEW: 'useCurrencyNew',\n // used values on SDK\n BOND_API_STATS: 'ApeBond-SDK-bondApiStats',\n SDK_CONFIG: 'ApeBond-SDK-sdkConfig',\n BOND_RECOMMENDATIONS: 'ApeBond-SDK-bondRecommendations',\n USER_STATS: 'ApeBond-SDK-userStats',\n BONDS_DATA: 'ApeBond-SDK-bondsData',\n BONDS_LIST: 'ApeBond-SDK-bondsList',\n BONDS_LIST_PRE_TGE: 'ApeBond-SDK-bondsListPreTGE',\n USER_BONDS: 'ApeBond-SDK-userBonds',\n BOND_NFT_DATA: 'ApeBond-SDK-bondNFTData',\n TOKEN_PRICES: 'ApeBond-SDK-tokenPrices',\n HOT_BONDS: 'ApeBond-SDK-hotBonds',\n HOT_BONDS_CONTRACTS: 'ApeBond-SDK-hotBondsContracts',\n CURRENCY_BALANCE: 'ApeBond-SDK-currencyBalance',\n ALLOWANCE: 'ApeBond-SDK-allowance',\n SLIPPAGE: 'ApeBond-SDK-slippage',\n ZAP_TOKEN_QUOTE: 'ApeBond-SDK-zapTokenQuote',\n ZAP_BOND_QUOTE: 'ApeBond-SDK-zapBondQuote',\n CHAIN_FILTER_OPTION: 'ApeBond-SDK-chainFilterOption',\n FAVORITE_TOKENS: 'ApeBond-SDK-favoriteTokens',\n POP_UPS: 'ApeBond-SDK-popUps',\n GEO_FENCING: 'ApeBond-SDK-geoFencing',\n TIER_PROOF_SIG: 'ApeBond-SDK-tierProofSig',\n ACTIVE_VIEW: 'ApeBond-SDK-activeView',\n PRE_TGE_USER_BONDS: 'ApeBond-SDK-preTGEUserBonds',\n USER_TOKENS_BALANCES: 'ApeBond-SDK-userTokensBalances',\n TOKEN_LIST: 'ApeBond-SDK-tokenList',\n HISTORICAL_PRICE: 'ApeBond-SDK-historicalPrice',\n TIER_OPTIMIZATION_PREVIEW: 'ApeBond-SDK-tierOptimizationPreview',\n PROMOTIONS: 'ApeBond-SDK-promotions',\n}\n"],"names":[],"mappings":"AAAO,MAAM,UAAU,GAAG;AACxB,IAAA,cAAc,EAAE,eAAe;AAC/B,IAAA,yBAAyB,EAAE,yBAAyB;AACpD,IAAA,YAAY,EAAE,aAAa;AAC3B,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,qBAAqB,EAAE,qBAAqB;AAC5C,IAAA,cAAc,EAAE,eAAe;AAC/B,IAAA,eAAe,EAAE,eAAe;AAChC,IAAA,iBAAiB,EAAE,iBAAiB;AACpC,IAAA,SAAS,EAAE,UAAU;AACrB,IAAA,cAAc,EAAE,eAAe;AAC/B,IAAA,aAAa,EAAE,cAAc;AAC7B,IAAA,mBAAmB,EAAE,mBAAmB;AACxC,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,aAAa,EAAE,aAAa;AAC5B,IAAA,gBAAgB,EAAE,gBAAgB;;AAElC,IAAA,cAAc,EAAE,0BAA0B;AAC1C,IAAA,UAAU,EAAE,uBAAuB;AACnC,IAAA,oBAAoB,EAAE,iCAAiC;AACvD,IAAA,UAAU,EAAE,uBAAuB;AACnC,IAAA,UAAU,EAAE,uBAAuB;AACnC,IAAA,UAAU,EAAE,uBAAuB;AACnC,IAAA,kBAAkB,EAAE,6BAA6B;AACjD,IAAA,UAAU,EAAE,uBAAuB;AACnC,IAAA,aAAa,EAAE,yBAAyB;AACxC,IAAA,YAAY,EAAE,yBAAyB;AACvC,IAAA,SAAS,EAAE,sBAAsB;AACjC,IAAA,mBAAmB,EAAE,+BAA+B;AACpD,IAAA,gBAAgB,EAAE,6BAA6B;AAC/C,IAAA,SAAS,EAAE,uBAAuB;AAClC,IAAA,QAAQ,EAAE,sBAAsB;AAChC,IAAA,eAAe,EAAE,2BAA2B;AAC5C,IAAA,cAAc,EAAE,0BAA0B;AAC1C,IAAA,mBAAmB,EAAE,+BAA+B;AACpD,IAAA,eAAe,EAAE,4BAA4B;AAC7C,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,WAAW,EAAE,wBAAwB;AACrC,IAAA,cAAc,EAAE,0BAA0B;AAC1C,IAAA,WAAW,EAAE,wBAAwB;AACrC,IAAA,kBAAkB,EAAE,6BAA6B;AACjD,IAAA,oBAAoB,EAAE,gCAAgC;AACtD,IAAA,UAAU,EAAE,uBAAuB;AACnC,IAAA,gBAAgB,EAAE,6BAA6B;AAC/C,IAAA,yBAAyB,EAAE,qCAAqC;AAChE,IAAA,UAAU,EAAE,wBAAwB;;;;;"}
@@ -0,0 +1,14 @@
1
+ export interface SuiZapToken {
2
+ symbol: string;
3
+ name: string;
4
+ address: string;
5
+ decimals: number;
6
+ logoUrl?: string;
7
+ }
8
+ export declare const SUI_ZAP_TOKENS: SuiZapToken[];
9
+ export declare const getSuiZapTokens: () => SuiZapToken[];
10
+ /**
11
+ * Find a zap token by its address. Includes SUI even though it's not in the
12
+ * selector list (NATIVE resolves to SUI for quote purposes).
13
+ */
14
+ export declare const findSuiZapToken: (address: string | undefined) => SuiZapToken | undefined;
@@ -0,0 +1,41 @@
1
+ import { SUI_PACKAGE_ID } from '../../constants/suiConstants.js';
2
+
3
+ // =============================================================================
4
+ // Sui zap tokens — static list of tokens available for zap on Sui
5
+ // =============================================================================
6
+ //
7
+ // Equivalent to zapInputTokens[ChainId.SOL] from @ape.swap/apeswap-lists.
8
+ // Until that package supports Sui, we maintain this local list.
9
+ //
10
+ // SUI native is NOT included here — it is covered by the 'NATIVE' entry that
11
+ // useSortedZapList injects automatically (via WNATIVE[ChainId.SUI]).
12
+ // Including it would cause a duplicate in the token selector.
13
+ //
14
+ // TODO(sui): Move to @ape.swap/apeswap-lists when it supports Sui.
15
+ // TODO(sui): Replace testnet coin types with mainnet addresses before launch.
16
+ const SUI_ZAP_TOKENS_LIST = [
17
+ {
18
+ symbol: 'tUSDC',
19
+ name: 'Test USDC',
20
+ address: `${SUI_PACKAGE_ID}::test_principal_token::TEST_PRINCIPAL_TOKEN`,
21
+ decimals: 6,
22
+ },
23
+ ];
24
+ const SUI_ZAP_TOKENS = SUI_ZAP_TOKENS_LIST;
25
+ // SUI entry used only by findSuiZapToken for zap quote resolution.
26
+ // Not in SUI_ZAP_TOKENS to avoid duplicate in the selector (NATIVE covers it).
27
+ const SUI_TOKEN = { symbol: 'SUI', name: 'Sui', address: '0x2::sui::SUI', decimals: 9 };
28
+ /**
29
+ * Find a zap token by its address. Includes SUI even though it's not in the
30
+ * selector list (NATIVE resolves to SUI for quote purposes).
31
+ */
32
+ const findSuiZapToken = (address) => {
33
+ if (!address)
34
+ return undefined;
35
+ if (address.toLowerCase() === '0x2::sui::sui')
36
+ return SUI_TOKEN;
37
+ return SUI_ZAP_TOKENS.find((t) => t.address.toLowerCase() === address.toLowerCase());
38
+ };
39
+
40
+ export { SUI_ZAP_TOKENS, findSuiZapToken };
41
+ //# sourceMappingURL=suiZapTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suiZapTokens.js","sources":["../../../src/config/constants/suiZapTokens.ts"],"sourcesContent":["// =============================================================================\n// Sui zap tokens — static list of tokens available for zap on Sui\n// =============================================================================\n//\n// Equivalent to zapInputTokens[ChainId.SOL] from @ape.swap/apeswap-lists.\n// Until that package supports Sui, we maintain this local list.\n//\n// SUI native is NOT included here — it is covered by the 'NATIVE' entry that\n// useSortedZapList injects automatically (via WNATIVE[ChainId.SUI]).\n// Including it would cause a duplicate in the token selector.\n//\n// TODO(sui): Move to @ape.swap/apeswap-lists when it supports Sui.\n\nimport { SUI_PACKAGE_ID } from '../../constants/suiConstants'\n\nexport interface SuiZapToken {\n symbol: string\n name: string\n address: string\n decimals: number\n logoUrl?: string\n}\n\n// TODO(sui): Replace testnet coin types with mainnet addresses before launch.\nconst SUI_ZAP_TOKENS_LIST: SuiZapToken[] = [\n {\n symbol: 'tUSDC',\n name: 'Test USDC',\n address: `${SUI_PACKAGE_ID}::test_principal_token::TEST_PRINCIPAL_TOKEN`,\n decimals: 6,\n },\n]\n\nexport const SUI_ZAP_TOKENS: SuiZapToken[] = SUI_ZAP_TOKENS_LIST\n\nexport const getSuiZapTokens = (): SuiZapToken[] => SUI_ZAP_TOKENS\n\n// SUI entry used only by findSuiZapToken for zap quote resolution.\n// Not in SUI_ZAP_TOKENS to avoid duplicate in the selector (NATIVE covers it).\nconst SUI_TOKEN: SuiZapToken = { symbol: 'SUI', name: 'Sui', address: '0x2::sui::SUI', decimals: 9 }\n\n/**\n * Find a zap token by its address. Includes SUI even though it's not in the\n * selector list (NATIVE resolves to SUI for quote purposes).\n */\nexport const findSuiZapToken = (address: string | undefined): SuiZapToken | undefined => {\n if (!address) return undefined\n if (address.toLowerCase() === '0x2::sui::sui') return SUI_TOKEN\n return SUI_ZAP_TOKENS.find((t) => t.address.toLowerCase() === address.toLowerCase())\n}\n"],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYA;AACA,MAAM,mBAAmB,GAAkB;AACzC,IAAA;AACE,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAA,EAAG,cAAc,CAAA,4CAAA,CAA8C;AACxE,QAAA,QAAQ,EAAE,CAAC;AACZ,KAAA;CACF;AAEM,MAAM,cAAc,GAAkB;AAI7C;AACA;AACA,MAAM,SAAS,GAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,EAAE;AAEpG;;;AAGG;AACI,MAAM,eAAe,GAAG,CAAC,OAA2B,KAA6B;AACtF,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAO,SAAS;AAC9B,IAAA,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,eAAe;AAAE,QAAA,OAAO,SAAS;IAC/D,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;AACtF;;;;"}
@@ -0,0 +1,48 @@
1
+ import { zapInputTokens, ChainId, WNATIVE } from '@ape.swap/apeswap-lists';
2
+ export { WNATIVE, zapInputTokens } from '@ape.swap/apeswap-lists';
3
+ import { APTOS_ZAP_TOKENS } from './aptosZapTokens.js';
4
+ import { SUI_ZAP_TOKENS } from './suiZapTokens.js';
5
+
6
+ // Inject Aptos zap tokens into the shared zapInputTokens map so the existing
7
+ // TokenSelectorModal / useSortedZapList infrastructure picks them up.
8
+ // TODO(aptos): Remove these runtime patches once @ape.swap/apeswap-lists ships Aptos natively.
9
+ if (!zapInputTokens[ChainId.APTOS]) {
10
+ zapInputTokens[ChainId.APTOS] = APTOS_ZAP_TOKENS.map((t) => ({
11
+ symbol: t.symbol,
12
+ address: { [ChainId.APTOS]: t.faAddress },
13
+ active: true,
14
+ decimals: { [ChainId.APTOS]: t.decimals },
15
+ }));
16
+ }
17
+ // Inject WNATIVE for Aptos so useSortedZapList / getNativeTicker resolve APT.
18
+ // APT is not a wrapped token, but the infrastructure expects a WNATIVE entry.
19
+ if (!WNATIVE[ChainId.APTOS]) {
20
+ WNATIVE[ChainId.APTOS] = {
21
+ symbol: 'WAPT',
22
+ address: { [ChainId.APTOS]: '0xa' },
23
+ active: true,
24
+ decimals: { [ChainId.APTOS]: 8 },
25
+ };
26
+ }
27
+ // Inject Sui zap tokens into the shared zapInputTokens map so the existing
28
+ // TokenSelectorModal / useSortedZapList infrastructure picks them up.
29
+ // TODO(sui): Remove these runtime patches once @ape.swap/apeswap-lists ships Sui natively.
30
+ if (!zapInputTokens[ChainId.SUI]) {
31
+ zapInputTokens[ChainId.SUI] = SUI_ZAP_TOKENS.map((t) => ({
32
+ symbol: t.symbol,
33
+ address: { [ChainId.SUI]: t.address },
34
+ active: true,
35
+ decimals: { [ChainId.SUI]: t.decimals },
36
+ }));
37
+ }
38
+ // Inject WNATIVE for Sui so useSortedZapList / getNativeTicker resolve SUI.
39
+ // SUI is not a wrapped token, but the infrastructure expects a WNATIVE entry.
40
+ if (!WNATIVE[ChainId.SUI]) {
41
+ WNATIVE[ChainId.SUI] = {
42
+ symbol: 'WSUI',
43
+ address: { [ChainId.SUI]: '0x2::sui::SUI' },
44
+ active: true,
45
+ decimals: { [ChainId.SUI]: 9 },
46
+ };
47
+ }
48
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sources":["../../../src/config/constants/tokens.ts"],"sourcesContent":["import { ChainId, Token, WNATIVE, zapInputTokens } from '@ape.swap/apeswap-lists'\nimport { APTOS_ZAP_TOKENS } from './aptosZapTokens'\nimport { SUI_ZAP_TOKENS } from './suiZapTokens'\n\n// Inject Aptos zap tokens into the shared zapInputTokens map so the existing\n// TokenSelectorModal / useSortedZapList infrastructure picks them up.\n// TODO(aptos): Remove these runtime patches once @ape.swap/apeswap-lists ships Aptos natively.\nif (!zapInputTokens[ChainId.APTOS]) {\n ;(zapInputTokens as Record<number, Token[]>)[ChainId.APTOS] = APTOS_ZAP_TOKENS.map((t) => ({\n symbol: t.symbol,\n address: { [ChainId.APTOS]: t.faAddress } as Partial<Record<ChainId, string>>,\n active: true,\n decimals: { [ChainId.APTOS]: t.decimals } as Partial<Record<ChainId, number | null>>,\n }))\n}\n\n// Inject WNATIVE for Aptos so useSortedZapList / getNativeTicker resolve APT.\n// APT is not a wrapped token, but the infrastructure expects a WNATIVE entry.\nif (!WNATIVE[ChainId.APTOS]) {\n ;(WNATIVE as Record<number, Token>)[ChainId.APTOS] = {\n symbol: 'WAPT',\n address: { [ChainId.APTOS]: '0xa' } as Partial<Record<ChainId, string>>,\n active: true,\n decimals: { [ChainId.APTOS]: 8 } as Partial<Record<ChainId, number | null>>,\n }\n}\n\n// Inject Sui zap tokens into the shared zapInputTokens map so the existing\n// TokenSelectorModal / useSortedZapList infrastructure picks them up.\n// TODO(sui): Remove these runtime patches once @ape.swap/apeswap-lists ships Sui natively.\nif (!zapInputTokens[ChainId.SUI]) {\n ;(zapInputTokens as Record<number, Token[]>)[ChainId.SUI] = SUI_ZAP_TOKENS.map((t) => ({\n symbol: t.symbol,\n address: { [ChainId.SUI]: t.address } as Partial<Record<ChainId, string>>,\n active: true,\n decimals: { [ChainId.SUI]: t.decimals } as Partial<Record<ChainId, number | null>>,\n }))\n}\n\n// Inject WNATIVE for Sui so useSortedZapList / getNativeTicker resolve SUI.\n// SUI is not a wrapped token, but the infrastructure expects a WNATIVE entry.\nif (!WNATIVE[ChainId.SUI]) {\n ;(WNATIVE as Record<number, Token>)[ChainId.SUI] = {\n symbol: 'WSUI',\n address: { [ChainId.SUI]: '0x2::sui::SUI' } as Partial<Record<ChainId, string>>,\n active: true,\n decimals: { [ChainId.SUI]: 9 } as Partial<Record<ChainId, number | null>>,\n }\n}\n\nexport { WNATIVE, zapInputTokens }\n"],"names":[],"mappings":";;;;;AAIA;AACA;AACA;AACA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAChC,IAAA,cAA0C,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;QACzF,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,EAAsC;AAC7E,QAAA,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,EAA6C;AACrF,KAAA,CAAC,CAAC;AACL;AAEA;AACA;AACA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACzB,IAAA,OAAiC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;AACnD,QAAA,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,EAAsC;AACvE,QAAA,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAA6C;KAC5E;AACH;AAEA;AACA;AACA;AACA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AAC9B,IAAA,cAA0C,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;QACrF,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAsC;AACzE,QAAA,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAA6C;AACnF,KAAA,CAAC,CAAC;AACL;AAEA;AACA;AACA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACvB,IAAA,OAAiC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;AACjD,QAAA,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,eAAe,EAAsC;AAC/E,QAAA,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,EAA6C;KAC1E;AACH"}
@@ -1,6 +1,6 @@
1
1
  import { ChainId } from '@ape.swap/apeswap-lists';
2
2
  export declare const LifiSupported: ChainId[];
3
- export declare const zapSupported: readonly [ChainId.MAINNET, ChainId.MATIC, ChainId.BSC, ChainId.ARBITRUM, ChainId.LINEA, ChainId.BASE, ChainId.AVAX, ChainId.BLAST, ChainId.SONIC, ChainId.BERACHAIN, ChainId.KATANA, ChainId.SOL, ChainId.HYPEREVM];
3
+ export declare const zapSupported: readonly [ChainId.MAINNET, ChainId.MATIC, ChainId.BSC, ChainId.ARBITRUM, ChainId.LINEA, ChainId.BASE, ChainId.AVAX, ChainId.BLAST, ChainId.SONIC, ChainId.BERACHAIN, ChainId.KATANA, ChainId.SOL, ChainId.HYPEREVM, ChainId.APTOS, ChainId.SUI];
4
4
  /** Union of all chain IDs where zap is supported. Derived from `zapSupported`. */
5
5
  export type ZapSupportedChainId = (typeof zapSupported)[number];
6
6
  export declare const STRAPI_URL = "https://strapi-api.ape.bond";
@@ -32,6 +32,8 @@ const zapSupported = [
32
32
  ChainId.KATANA,
33
33
  ChainId.SOL,
34
34
  ChainId.HYPEREVM,
35
+ ChainId.APTOS,
36
+ ChainId.SUI,
35
37
  ];
36
38
  const STRAPI_URL = `https://strapi-api.ape.bond`;
37
39
  const SOUL_ZAP_API = `https://zap-api.ape.bond/zap`;
@@ -1 +1 @@
1
- {"version":3,"file":"variables.js","sources":["../../../src/config/constants/variables.ts"],"sourcesContent":["import { ChainId } from '@ape.swap/apeswap-lists'\n\nexport const LifiSupported = [\n ChainId.BASE,\n ChainId.MAINNET,\n ChainId.MATIC,\n ChainId.BSC,\n ChainId.ARBITRUM,\n ChainId.LINEA,\n ChainId.AVAX,\n ChainId.BLAST,\n ChainId.SONIC,\n ChainId.BERACHAIN,\n ChainId.UNICHAIN,\n ChainId.MONAD,\n ChainId.KATANA,\n ChainId.SOL,\n ChainId.HYPEREVM,\n]\n\nexport const zapSupported = [\n ChainId.MAINNET,\n ChainId.MATIC,\n ChainId.BSC,\n ChainId.ARBITRUM,\n ChainId.LINEA,\n ChainId.BASE,\n ChainId.AVAX,\n ChainId.BLAST,\n ChainId.SONIC,\n ChainId.BERACHAIN,\n // ChainId.UNICHAIN, not working atm\n ChainId.KATANA,\n ChainId.SOL,\n ChainId.HYPEREVM,\n] as const\n\n/** Union of all chain IDs where zap is supported. Derived from `zapSupported`. */\nexport type ZapSupportedChainId = (typeof zapSupported)[number]\n\nexport const STRAPI_URL = `https://strapi-api.ape.bond`\nexport const SOUL_ZAP_API = `https://zap-api.ape.bond/zap`\nexport const APEBOND = `https://ape.bond`\n\nexport const tierOptimizerUIEnabled = true\n"],"names":[],"mappings":";;AAEO,MAAM,aAAa,GAAG;AAC3B,IAAA,OAAO,CAAC,IAAI;AACZ,IAAA,OAAO,CAAC,OAAO;AACf,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,GAAG;AACX,IAAA,OAAO,CAAC,QAAQ;AAChB,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,IAAI;AACZ,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,SAAS;AACjB,IAAA,OAAO,CAAC,QAAQ;AAChB,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,MAAM;AACd,IAAA,OAAO,CAAC,GAAG;AACX,IAAA,OAAO,CAAC,QAAQ;;AAGX,MAAM,YAAY,GAAG;AAC1B,IAAA,OAAO,CAAC,OAAO;AACf,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,GAAG;AACX,IAAA,OAAO,CAAC,QAAQ;AAChB,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,IAAI;AACZ,IAAA,OAAO,CAAC,IAAI;AACZ,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,SAAS;;AAEjB,IAAA,OAAO,CAAC,MAAM;AACd,IAAA,OAAO,CAAC,GAAG;AACX,IAAA,OAAO,CAAC,QAAQ;;AAMX,MAAM,UAAU,GAAG;AACnB,MAAM,YAAY,GAAG;AACrB,MAAM,OAAO,GAAG;AAEhB,MAAM,sBAAsB,GAAG;;;;"}
1
+ {"version":3,"file":"variables.js","sources":["../../../src/config/constants/variables.ts"],"sourcesContent":["import { ChainId } from '@ape.swap/apeswap-lists'\n\nexport const LifiSupported = [\n ChainId.BASE,\n ChainId.MAINNET,\n ChainId.MATIC,\n ChainId.BSC,\n ChainId.ARBITRUM,\n ChainId.LINEA,\n ChainId.AVAX,\n ChainId.BLAST,\n ChainId.SONIC,\n ChainId.BERACHAIN,\n ChainId.UNICHAIN,\n ChainId.MONAD,\n ChainId.KATANA,\n ChainId.SOL,\n ChainId.HYPEREVM,\n]\n\nexport const zapSupported = [\n ChainId.MAINNET,\n ChainId.MATIC,\n ChainId.BSC,\n ChainId.ARBITRUM,\n ChainId.LINEA,\n ChainId.BASE,\n ChainId.AVAX,\n ChainId.BLAST,\n ChainId.SONIC,\n ChainId.BERACHAIN,\n // ChainId.UNICHAIN, not working atm\n ChainId.KATANA,\n ChainId.SOL,\n ChainId.HYPEREVM,\n ChainId.APTOS,\n ChainId.SUI,\n] as const\n\n/** Union of all chain IDs where zap is supported. Derived from `zapSupported`. */\nexport type ZapSupportedChainId = (typeof zapSupported)[number]\n\nexport const STRAPI_URL = `https://strapi-api.ape.bond`\nexport const SOUL_ZAP_API = `https://zap-api.ape.bond/zap`\nexport const APEBOND = `https://ape.bond`\n\nexport const tierOptimizerUIEnabled = true\n"],"names":[],"mappings":";;AAEO,MAAM,aAAa,GAAG;AAC3B,IAAA,OAAO,CAAC,IAAI;AACZ,IAAA,OAAO,CAAC,OAAO;AACf,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,GAAG;AACX,IAAA,OAAO,CAAC,QAAQ;AAChB,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,IAAI;AACZ,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,SAAS;AACjB,IAAA,OAAO,CAAC,QAAQ;AAChB,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,MAAM;AACd,IAAA,OAAO,CAAC,GAAG;AACX,IAAA,OAAO,CAAC,QAAQ;;AAGX,MAAM,YAAY,GAAG;AAC1B,IAAA,OAAO,CAAC,OAAO;AACf,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,GAAG;AACX,IAAA,OAAO,CAAC,QAAQ;AAChB,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,IAAI;AACZ,IAAA,OAAO,CAAC,IAAI;AACZ,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,SAAS;;AAEjB,IAAA,OAAO,CAAC,MAAM;AACd,IAAA,OAAO,CAAC,GAAG;AACX,IAAA,OAAO,CAAC,QAAQ;AAChB,IAAA,OAAO,CAAC,KAAK;AACb,IAAA,OAAO,CAAC,GAAG;;AAMN,MAAM,UAAU,GAAG;AACnB,MAAM,YAAY,GAAG;AACrB,MAAM,OAAO,GAAG;AAEhB,MAAM,sBAAsB,GAAG;;;;"}
@@ -0,0 +1,20 @@
1
+ import { Network } from '@aptos-labs/ts-sdk';
2
+ export declare const IS_APTOS_MAINNET: boolean;
3
+ export declare const APTOS_NETWORK: Network;
4
+ export declare const APTOS_CONTRACT_ADDRESS: string;
5
+ export declare const APTOS_FULLNODE_URL: string;
6
+ export declare const APTOS_INDEXER_URL: string;
7
+ export declare const APTOS_EXPLORER_URL = "https://explorer.aptoslabs.com";
8
+ export declare const APTOS_API_KEYS_TESTNET: string[];
9
+ export declare const APTOS_API_KEYS_MAINNET: string[];
10
+ export declare const getRandomAptosApiKey: () => string | undefined;
11
+ export declare const APTOS_BOND_MODULE: string;
12
+ export declare const APTOS_DEPOSIT_FUNCTION: `${string}::${string}::${string}`;
13
+ export declare const APTOS_CLAIM_FUNCTION: `${string}::${string}::${string}`;
14
+ export declare const APTOS_VIEW_MARKET_INFO: `${string}::${string}::${string}`;
15
+ export declare const APTOS_VIEW_BILL_INFO: `${string}::${string}::${string}`;
16
+ export declare const APTOS_VIEW_USER_BILLS: `${string}::${string}::${string}`;
17
+ export declare const APTOS_VIEW_VESTING_PROGRESS: `${string}::${string}::${string}`;
18
+ export declare const APTOS_VIEW_BOND_MARKET_BY_ID: `${string}::${string}::${string}`;
19
+ export declare const APTOS_VIEW_NFT_ADDRESS: `${string}::${string}::${string}`;
20
+ export declare const APTOS_PLACEHOLDER_BILL_IMAGE = "https://www.ape.bond/images/bills/hidden-bill.jpg";
@@ -0,0 +1,78 @@
1
+ import { Network } from '@aptos-labs/ts-sdk';
2
+
3
+ // ---------------------------------------------------------------------------
4
+ // Env gating — use NEXT_PUBLIC_APTOS_NETWORK to control mainnet vs testnet.
5
+ // Defaults to testnet until mainnet contracts are deployed and verified.
6
+ // Set NEXT_PUBLIC_APTOS_NETWORK=mainnet to switch to mainnet.
7
+ // ---------------------------------------------------------------------------
8
+ const IS_APTOS_MAINNET = typeof process !== 'undefined' && process.env?.NEXT_PUBLIC_APTOS_NETWORK === 'mainnet';
9
+ const APTOS_NETWORK = IS_APTOS_MAINNET ? Network.MAINNET : Network.TESTNET;
10
+ // ---------------------------------------------------------------------------
11
+ // Contract address (single Move package containing bond, factory, treasury)
12
+ // ---------------------------------------------------------------------------
13
+ // Testnet address is the current apebond-move deployment (see CLAUDE.md).
14
+ // Mainnet is a placeholder until PLAN_002 or a future mainnet deploy lands.
15
+ // TODO(aptos): Replace APTOS_CONTRACT_ADDRESS_MAINNET when mainnet is deployed.
16
+ const APTOS_CONTRACT_ADDRESS_TESTNET = '0xa1cec270b22272c801092d031ba609091f2164988a5b96cde8d9bdac0de4287b';
17
+ const APTOS_CONTRACT_ADDRESS_MAINNET = '0x0000000000000000000000000000000000000000000000000000000000000000';
18
+ const APTOS_CONTRACT_ADDRESS = IS_APTOS_MAINNET ? APTOS_CONTRACT_ADDRESS_MAINNET : APTOS_CONTRACT_ADDRESS_TESTNET;
19
+ // Warn loudly if we ever end up in production with the placeholder address —
20
+ // that would silently break every Aptos interaction.
21
+ if (typeof window !== 'undefined' &&
22
+ IS_APTOS_MAINNET &&
23
+ APTOS_CONTRACT_ADDRESS === APTOS_CONTRACT_ADDRESS_MAINNET &&
24
+ APTOS_CONTRACT_ADDRESS_MAINNET.startsWith('0x0000')) {
25
+ console.warn('[ApeBond SDK] APTOS_CONTRACT_ADDRESS is still the placeholder in production. ' +
26
+ 'Replace APTOS_CONTRACT_ADDRESS_MAINNET in src/constants/aptosConstants.ts before shipping.');
27
+ }
28
+ // ---------------------------------------------------------------------------
29
+ // Network endpoints (fullnode + indexer + explorer)
30
+ // ---------------------------------------------------------------------------
31
+ // Note: Aptos Labs authenticates via the `Authorization: Bearer <key>` header,
32
+ // NOT via query parameters (unlike Helius). We therefore keep the URLs clean
33
+ // and inject the key through `clientConfig.HEADERS` (see aptosHelpers.ts).
34
+ const APTOS_FULLNODE_URL = IS_APTOS_MAINNET
35
+ ? 'https://api.mainnet.aptoslabs.com/v1'
36
+ : 'https://api.testnet.aptoslabs.com/v1';
37
+ // ---------------------------------------------------------------------------
38
+ // API key rotation (same pattern as HELIUS_SOL_RPC_ENDPOINTS in networks.ts)
39
+ // ---------------------------------------------------------------------------
40
+ // TODO(APTOS): the testnet key below is a temporary dev key owned by Tomás.
41
+ // Rotate it and add more keys for load balancing before the public testnet
42
+ // launch.
43
+ const APTOS_API_KEYS_TESTNET = ['aptoslabs_WmE77ykde6q_5vYSpFBrmsexdQF71Rp44az5BQNt51DeV'];
44
+ // TODO(APTOS): mainnet keys are pending — they will be generated once a
45
+ // production deployment exists.
46
+ const APTOS_API_KEYS_MAINNET = [];
47
+ const getRandomAptosApiKey = () => {
48
+ const pool = IS_APTOS_MAINNET ? APTOS_API_KEYS_MAINNET : APTOS_API_KEYS_TESTNET;
49
+ if (pool.length === 0)
50
+ return undefined;
51
+ return pool[Math.floor(Math.random() * pool.length)];
52
+ };
53
+ // Typed narrowly so the Aptos ts-sdk `InputEntryFunctionData.function` field
54
+ // (which expects `${string}::${string}::${string}`) accepts them directly.
55
+ // Entry functions (write path)
56
+ const APTOS_DEPOSIT_FUNCTION = `${APTOS_CONTRACT_ADDRESS}::bond::deposit`;
57
+ const APTOS_CLAIM_FUNCTION = `${APTOS_CONTRACT_ADDRESS}::bond::claim`;
58
+ // View functions (read path, PLAN_001 Etapa 5b).
59
+ // Names verified against apebond-move-playground routes:
60
+ // - app/bond-market-info → bond::market_info
61
+ // - app/bond-bill-info → bond::bill_info
62
+ // - app/bond-nft-user-bills → bond_nft::user_bills
63
+ // - app/bond-nft-vesting-progress → bond_nft::vesting_progress
64
+ // - app/bond-nft-bond-market-by-id → bond_nft::bond_market_by_id
65
+ // - app/bond-nft-nft-address → bond_nft::nft_address
66
+ const APTOS_VIEW_MARKET_INFO = `${APTOS_CONTRACT_ADDRESS}::bond::market_info`;
67
+ const APTOS_VIEW_BILL_INFO = `${APTOS_CONTRACT_ADDRESS}::bond::bill_info`;
68
+ const APTOS_VIEW_USER_BILLS = `${APTOS_CONTRACT_ADDRESS}::bond_nft::user_bills`;
69
+ const APTOS_VIEW_VESTING_PROGRESS = `${APTOS_CONTRACT_ADDRESS}::bond::vesting_progress`;
70
+ const APTOS_VIEW_BOND_MARKET_BY_ID = `${APTOS_CONTRACT_ADDRESS}::bond_nft::bond_market_by_id`;
71
+ const APTOS_VIEW_NFT_ADDRESS = `${APTOS_CONTRACT_ADDRESS}::bond_nft::nft_address`;
72
+ // ---------------------------------------------------------------------------
73
+ // Placeholder bill image (shown until backend enrichment is available)
74
+ // ---------------------------------------------------------------------------
75
+ const APTOS_PLACEHOLDER_BILL_IMAGE = 'https://www.ape.bond/images/bills/hidden-bill.jpg';
76
+
77
+ export { APTOS_API_KEYS_MAINNET, APTOS_API_KEYS_TESTNET, APTOS_CLAIM_FUNCTION, APTOS_CONTRACT_ADDRESS, APTOS_DEPOSIT_FUNCTION, APTOS_FULLNODE_URL, APTOS_NETWORK, APTOS_PLACEHOLDER_BILL_IMAGE, APTOS_VIEW_BILL_INFO, APTOS_VIEW_BOND_MARKET_BY_ID, APTOS_VIEW_MARKET_INFO, APTOS_VIEW_NFT_ADDRESS, APTOS_VIEW_USER_BILLS, APTOS_VIEW_VESTING_PROGRESS, IS_APTOS_MAINNET, getRandomAptosApiKey };
78
+ //# sourceMappingURL=aptosConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aptosConstants.js","sources":["../../src/constants/aptosConstants.ts"],"sourcesContent":["import { Network } from '@aptos-labs/ts-sdk'\n\n// ---------------------------------------------------------------------------\n// Env gating — use NEXT_PUBLIC_APTOS_NETWORK to control mainnet vs testnet.\n// Defaults to testnet until mainnet contracts are deployed and verified.\n// Set NEXT_PUBLIC_APTOS_NETWORK=mainnet to switch to mainnet.\n// ---------------------------------------------------------------------------\nexport const IS_APTOS_MAINNET = typeof process !== 'undefined' && process.env?.NEXT_PUBLIC_APTOS_NETWORK === 'mainnet'\n\nexport const APTOS_NETWORK: Network = IS_APTOS_MAINNET ? Network.MAINNET : Network.TESTNET\n\n// ---------------------------------------------------------------------------\n// Contract address (single Move package containing bond, factory, treasury)\n// ---------------------------------------------------------------------------\n// Testnet address is the current apebond-move deployment (see CLAUDE.md).\n// Mainnet is a placeholder until PLAN_002 or a future mainnet deploy lands.\n// TODO(aptos): Replace APTOS_CONTRACT_ADDRESS_MAINNET when mainnet is deployed.\nconst APTOS_CONTRACT_ADDRESS_TESTNET = '0xa1cec270b22272c801092d031ba609091f2164988a5b96cde8d9bdac0de4287b'\nconst APTOS_CONTRACT_ADDRESS_MAINNET = '0x0000000000000000000000000000000000000000000000000000000000000000'\n\nexport const APTOS_CONTRACT_ADDRESS = IS_APTOS_MAINNET ? APTOS_CONTRACT_ADDRESS_MAINNET : APTOS_CONTRACT_ADDRESS_TESTNET\n\n// Warn loudly if we ever end up in production with the placeholder address —\n// that would silently break every Aptos interaction.\nif (\n typeof window !== 'undefined' &&\n IS_APTOS_MAINNET &&\n APTOS_CONTRACT_ADDRESS === APTOS_CONTRACT_ADDRESS_MAINNET &&\n APTOS_CONTRACT_ADDRESS_MAINNET.startsWith('0x0000')\n) {\n console.warn(\n '[ApeBond SDK] APTOS_CONTRACT_ADDRESS is still the placeholder in production. ' +\n 'Replace APTOS_CONTRACT_ADDRESS_MAINNET in src/constants/aptosConstants.ts before shipping.',\n )\n}\n\n// ---------------------------------------------------------------------------\n// Network endpoints (fullnode + indexer + explorer)\n// ---------------------------------------------------------------------------\n// Note: Aptos Labs authenticates via the `Authorization: Bearer <key>` header,\n// NOT via query parameters (unlike Helius). We therefore keep the URLs clean\n// and inject the key through `clientConfig.HEADERS` (see aptosHelpers.ts).\nexport const APTOS_FULLNODE_URL = IS_APTOS_MAINNET\n ? 'https://api.mainnet.aptoslabs.com/v1'\n : 'https://api.testnet.aptoslabs.com/v1'\n\nexport const APTOS_INDEXER_URL = IS_APTOS_MAINNET\n ? 'https://api.mainnet.aptoslabs.com/v1/graphql'\n : 'https://api.testnet.aptoslabs.com/v1/graphql'\n\nexport const APTOS_EXPLORER_URL = 'https://explorer.aptoslabs.com'\n\n// ---------------------------------------------------------------------------\n// API key rotation (same pattern as HELIUS_SOL_RPC_ENDPOINTS in networks.ts)\n// ---------------------------------------------------------------------------\n// TODO(APTOS): the testnet key below is a temporary dev key owned by Tomás.\n// Rotate it and add more keys for load balancing before the public testnet\n// launch.\nexport const APTOS_API_KEYS_TESTNET: string[] = ['aptoslabs_WmE77ykde6q_5vYSpFBrmsexdQF71Rp44az5BQNt51DeV']\n\n// TODO(APTOS): mainnet keys are pending — they will be generated once a\n// production deployment exists.\nexport const APTOS_API_KEYS_MAINNET: string[] = []\n\nexport const getRandomAptosApiKey = (): string | undefined => {\n const pool = IS_APTOS_MAINNET ? APTOS_API_KEYS_MAINNET : APTOS_API_KEYS_TESTNET\n if (pool.length === 0) return undefined\n return pool[Math.floor(Math.random() * pool.length)]\n}\n\n// ---------------------------------------------------------------------------\n// Module / entry function paths (stable across networks)\n// ---------------------------------------------------------------------------\n// Built directly from `APTOS_CONTRACT_ADDRESS` so TypeScript infers each\n// entry as `${string}::${string}::${string}`, which is exactly what the\n// Aptos ts-sdk's `InputEntryFunctionData.function` field expects. Going via\n// an intermediate `APTOS_BOND_MODULE` constant makes TS collapse the inner\n// template literal and lose the third segment — avoid that.\nexport const APTOS_BOND_MODULE = `${APTOS_CONTRACT_ADDRESS}::bond`\n// Typed narrowly so the Aptos ts-sdk `InputEntryFunctionData.function` field\n// (which expects `${string}::${string}::${string}`) accepts them directly.\n\n// Entry functions (write path)\nexport const APTOS_DEPOSIT_FUNCTION: `${string}::${string}::${string}` = `${APTOS_CONTRACT_ADDRESS}::bond::deposit`\nexport const APTOS_CLAIM_FUNCTION: `${string}::${string}::${string}` = `${APTOS_CONTRACT_ADDRESS}::bond::claim`\n\n// View functions (read path, PLAN_001 Etapa 5b).\n// Names verified against apebond-move-playground routes:\n// - app/bond-market-info → bond::market_info\n// - app/bond-bill-info → bond::bill_info\n// - app/bond-nft-user-bills → bond_nft::user_bills\n// - app/bond-nft-vesting-progress → bond_nft::vesting_progress\n// - app/bond-nft-bond-market-by-id → bond_nft::bond_market_by_id\n// - app/bond-nft-nft-address → bond_nft::nft_address\nexport const APTOS_VIEW_MARKET_INFO: `${string}::${string}::${string}` = `${APTOS_CONTRACT_ADDRESS}::bond::market_info`\nexport const APTOS_VIEW_BILL_INFO: `${string}::${string}::${string}` = `${APTOS_CONTRACT_ADDRESS}::bond::bill_info`\nexport const APTOS_VIEW_USER_BILLS: `${string}::${string}::${string}` = `${APTOS_CONTRACT_ADDRESS}::bond_nft::user_bills`\nexport const APTOS_VIEW_VESTING_PROGRESS: `${string}::${string}::${string}` = `${APTOS_CONTRACT_ADDRESS}::bond::vesting_progress`\nexport const APTOS_VIEW_BOND_MARKET_BY_ID: `${string}::${string}::${string}` = `${APTOS_CONTRACT_ADDRESS}::bond_nft::bond_market_by_id`\nexport const APTOS_VIEW_NFT_ADDRESS: `${string}::${string}::${string}` = `${APTOS_CONTRACT_ADDRESS}::bond_nft::nft_address`\n\n// ---------------------------------------------------------------------------\n// Placeholder bill image (shown until backend enrichment is available)\n// ---------------------------------------------------------------------------\nexport const APTOS_PLACEHOLDER_BILL_IMAGE = 'https://www.ape.bond/images/bills/hidden-bill.jpg'\n"],"names":[],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACO,MAAM,gBAAgB,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,yBAAyB,KAAK;AAEtG,MAAM,aAAa,GAAY,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAEnF;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8BAA8B,GAAG,oEAAoE;AAC3G,MAAM,8BAA8B,GAAG,oEAAoE;AAEpG,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,8BAA8B,GAAG;AAE1F;AACA;AACA,IACE,OAAO,MAAM,KAAK,WAAW;IAC7B,gBAAgB;AAChB,IAAA,sBAAsB,KAAK,8BAA8B;AACzD,IAAA,8BAA8B,CAAC,UAAU,CAAC,QAAQ,CAAC,EACnD;IACA,OAAO,CAAC,IAAI,CACV,+EAA+E;AAC7E,QAAA,4FAA4F,CAC/F;AACH;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,kBAAkB,GAAG;AAChC,MAAE;MACA;AAQJ;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,sBAAsB,GAAa,CAAC,yDAAyD;AAE1G;AACA;AACO,MAAM,sBAAsB,GAAa;AAEzC,MAAM,oBAAoB,GAAG,MAAyB;IAC3D,MAAM,IAAI,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,sBAAsB;AAC/E,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,OAAO,SAAS;AACvC,IAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AACtD;AAWA;AACA;AAEA;AACO,MAAM,sBAAsB,GAAsC,CAAA,EAAG,sBAAsB;AAC3F,MAAM,oBAAoB,GAAsC,CAAA,EAAG,sBAAsB;AAEhG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,sBAAsB,GAAsC,CAAA,EAAG,sBAAsB;AAC3F,MAAM,oBAAoB,GAAsC,CAAA,EAAG,sBAAsB;AACzF,MAAM,qBAAqB,GAAsC,CAAA,EAAG,sBAAsB;AAC1F,MAAM,2BAA2B,GAAsC,CAAA,EAAG,sBAAsB;AAChG,MAAM,4BAA4B,GAAsC,CAAA,EAAG,sBAAsB;AACjG,MAAM,sBAAsB,GAAsC,CAAA,EAAG,sBAAsB;AAElG;AACA;AACA;AACO,MAAM,4BAA4B,GAAG;;;;"}
@@ -0,0 +1,18 @@
1
+ export declare const IS_SUI_MAINNET: boolean;
2
+ export declare const SUI_NETWORK: 'mainnet' | 'testnet';
3
+ export declare const SUI_PACKAGE_ID: string;
4
+ export declare const SUI_BOND_NFT_REGISTRY: string;
5
+ export declare const SUI_BOND_MARKET: string;
6
+ export declare const SUI_TREASURY: string;
7
+ export declare const SUI_FULLNODE_URL: string;
8
+ export declare const SUI_EXPLORER_URL: string;
9
+ export declare const SUI_BOND_MODULE: string;
10
+ export declare const SUI_DEPOSIT_FUNCTION: string;
11
+ export declare const SUI_CLAIM_FUNCTION: string;
12
+ export declare const SUI_VIEW_MARKET_INFO: string;
13
+ export declare const SUI_VIEW_BILL_INFO: string;
14
+ export declare const SUI_VIEW_VESTING_PROGRESS: string;
15
+ export declare const SUI_VIEW_USER_BILLS: string;
16
+ export declare const SUI_PRINCIPAL_TOKEN_ADMIN_TESTNET = "0x8fddf5d4465b5e9562686b1becba04d233d47626f9a82e20c6383a600f93270f";
17
+ export declare const SUI_MINT_PRINCIPAL_FUNCTION: string;
18
+ export declare const SUI_PLACEHOLDER_BILL_IMAGE = "https://www.ape.bond/images/bills/hidden-bill.jpg";
@@ -0,0 +1,61 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Env gating — use NEXT_PUBLIC_SUI_NETWORK to control mainnet vs testnet.
3
+ // Defaults to testnet until mainnet contracts are deployed and verified.
4
+ // Set NEXT_PUBLIC_SUI_NETWORK=mainnet to switch to mainnet.
5
+ // ---------------------------------------------------------------------------
6
+ const IS_SUI_MAINNET = typeof process !== 'undefined' && process.env?.NEXT_PUBLIC_SUI_NETWORK === 'mainnet';
7
+ // ---------------------------------------------------------------------------
8
+ // Package ID (single Move package containing bond, factory, treasury modules)
9
+ // ---------------------------------------------------------------------------
10
+ // Testnet address is the current apebond-move-sui deployment.
11
+ // Mainnet is a placeholder until a mainnet deploy lands.
12
+ // TODO(sui): Replace SUI_PACKAGE_ID_MAINNET when mainnet is deployed.
13
+ const SUI_PACKAGE_ID_TESTNET = '0x50c08fbf9c330f7658e1400f847f46b76165c8a68630e09a2d5ade0ceaa47264';
14
+ const SUI_PACKAGE_ID_MAINNET = '0x0000000000000000000000000000000000000000000000000000000000000000';
15
+ const SUI_PACKAGE_ID = IS_SUI_MAINNET ? SUI_PACKAGE_ID_MAINNET : SUI_PACKAGE_ID_TESTNET;
16
+ // Warn loudly if we ever end up in production with the placeholder address —
17
+ // that would silently break every Sui interaction.
18
+ if (typeof window !== 'undefined' &&
19
+ IS_SUI_MAINNET &&
20
+ SUI_PACKAGE_ID === SUI_PACKAGE_ID_MAINNET &&
21
+ SUI_PACKAGE_ID_MAINNET.startsWith('0x0000')) {
22
+ console.warn('[ApeBond SDK] SUI_PACKAGE_ID is still the placeholder in production. ' +
23
+ 'Replace SUI_PACKAGE_ID_MAINNET in src/constants/suiConstants.ts before shipping.');
24
+ }
25
+ // ---------------------------------------------------------------------------
26
+ // Shared object IDs (testnet / mainnet)
27
+ // ---------------------------------------------------------------------------
28
+ const SUI_BOND_NFT_REGISTRY_TESTNET = '0x8e9a26ff170e0bd42aaa6c4a8d05c49e9a3f68ce086590a35e49abb7c9e98ee3';
29
+ const SUI_BOND_NFT_REGISTRY_MAINNET = '0x0000000000000000000000000000000000000000000000000000000000000000';
30
+ const SUI_BOND_MARKET_TESTNET = '0x09b35be15cf3567d9a19a7aa35de08264549dc84d81fe30c5953c9d7fa5abaa3';
31
+ const SUI_BOND_MARKET_MAINNET = '0x0000000000000000000000000000000000000000000000000000000000000000';
32
+ const SUI_TREASURY_TESTNET = '0xde1e50b1ce7ca0effe23cfe1bfd46e438f53887db0417fb653f1033501ce056f';
33
+ const SUI_TREASURY_MAINNET = '0x0000000000000000000000000000000000000000000000000000000000000000';
34
+ const SUI_BOND_NFT_REGISTRY = IS_SUI_MAINNET ? SUI_BOND_NFT_REGISTRY_MAINNET : SUI_BOND_NFT_REGISTRY_TESTNET;
35
+ const SUI_BOND_MARKET = IS_SUI_MAINNET ? SUI_BOND_MARKET_MAINNET : SUI_BOND_MARKET_TESTNET;
36
+ const SUI_TREASURY = IS_SUI_MAINNET ? SUI_TREASURY_MAINNET : SUI_TREASURY_TESTNET;
37
+ // ---------------------------------------------------------------------------
38
+ // Network endpoints (fullnode + explorer)
39
+ // ---------------------------------------------------------------------------
40
+ // Sui public RPC does not require API keys.
41
+ const SUI_FULLNODE_URL = IS_SUI_MAINNET
42
+ ? 'https://fullnode.mainnet.sui.io:443'
43
+ : 'https://fullnode.testnet.sui.io:443';
44
+ // Entry functions (write path)
45
+ const SUI_DEPOSIT_FUNCTION = `${SUI_PACKAGE_ID}::bond::deposit`;
46
+ const SUI_CLAIM_FUNCTION = `${SUI_PACKAGE_ID}::bond::claim`;
47
+ // ---------------------------------------------------------------------------
48
+ // Testnet-only: shared object IDs for test token minting (zap mock)
49
+ // ---------------------------------------------------------------------------
50
+ // PrincipalTokenAdmin is a shared object created during package publish.
51
+ // On testnet, the zap flow calls test_principal_token::mint instead of a DEX
52
+ // aggregator. On mainnet this is unused — real DEX swap via Aftermath.
53
+ const SUI_PRINCIPAL_TOKEN_ADMIN_TESTNET = '0x8fddf5d4465b5e9562686b1becba04d233d47626f9a82e20c6383a600f93270f';
54
+ const SUI_MINT_PRINCIPAL_FUNCTION = `${SUI_PACKAGE_ID}::test_principal_token::mint`;
55
+ // ---------------------------------------------------------------------------
56
+ // Placeholder bill image (shown until backend enrichment is available)
57
+ // ---------------------------------------------------------------------------
58
+ const SUI_PLACEHOLDER_BILL_IMAGE = 'https://www.ape.bond/images/bills/hidden-bill.jpg';
59
+
60
+ export { IS_SUI_MAINNET, SUI_BOND_MARKET, SUI_BOND_NFT_REGISTRY, SUI_CLAIM_FUNCTION, SUI_DEPOSIT_FUNCTION, SUI_FULLNODE_URL, SUI_MINT_PRINCIPAL_FUNCTION, SUI_PACKAGE_ID, SUI_PLACEHOLDER_BILL_IMAGE, SUI_PRINCIPAL_TOKEN_ADMIN_TESTNET, SUI_TREASURY };
61
+ //# sourceMappingURL=suiConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suiConstants.js","sources":["../../src/constants/suiConstants.ts"],"sourcesContent":["// ---------------------------------------------------------------------------\n// Env gating — use NEXT_PUBLIC_SUI_NETWORK to control mainnet vs testnet.\n// Defaults to testnet until mainnet contracts are deployed and verified.\n// Set NEXT_PUBLIC_SUI_NETWORK=mainnet to switch to mainnet.\n// ---------------------------------------------------------------------------\nexport const IS_SUI_MAINNET = typeof process !== 'undefined' && process.env?.NEXT_PUBLIC_SUI_NETWORK === 'mainnet'\n\nexport const SUI_NETWORK: 'mainnet' | 'testnet' = IS_SUI_MAINNET ? 'mainnet' : 'testnet'\n\n// ---------------------------------------------------------------------------\n// Package ID (single Move package containing bond, factory, treasury modules)\n// ---------------------------------------------------------------------------\n// Testnet address is the current apebond-move-sui deployment.\n// Mainnet is a placeholder until a mainnet deploy lands.\n// TODO(sui): Replace SUI_PACKAGE_ID_MAINNET when mainnet is deployed.\nconst SUI_PACKAGE_ID_TESTNET = '0x50c08fbf9c330f7658e1400f847f46b76165c8a68630e09a2d5ade0ceaa47264'\nconst SUI_PACKAGE_ID_MAINNET = '0x0000000000000000000000000000000000000000000000000000000000000000'\n\nexport const SUI_PACKAGE_ID = IS_SUI_MAINNET ? SUI_PACKAGE_ID_MAINNET : SUI_PACKAGE_ID_TESTNET\n\n// Warn loudly if we ever end up in production with the placeholder address —\n// that would silently break every Sui interaction.\nif (\n typeof window !== 'undefined' &&\n IS_SUI_MAINNET &&\n SUI_PACKAGE_ID === SUI_PACKAGE_ID_MAINNET &&\n SUI_PACKAGE_ID_MAINNET.startsWith('0x0000')\n) {\n console.warn(\n '[ApeBond SDK] SUI_PACKAGE_ID is still the placeholder in production. ' +\n 'Replace SUI_PACKAGE_ID_MAINNET in src/constants/suiConstants.ts before shipping.',\n )\n}\n\n// ---------------------------------------------------------------------------\n// Shared object IDs (testnet / mainnet)\n// ---------------------------------------------------------------------------\nconst SUI_BOND_NFT_REGISTRY_TESTNET = '0x8e9a26ff170e0bd42aaa6c4a8d05c49e9a3f68ce086590a35e49abb7c9e98ee3'\nconst SUI_BOND_NFT_REGISTRY_MAINNET = '0x0000000000000000000000000000000000000000000000000000000000000000'\n\nconst SUI_BOND_MARKET_TESTNET = '0x09b35be15cf3567d9a19a7aa35de08264549dc84d81fe30c5953c9d7fa5abaa3'\nconst SUI_BOND_MARKET_MAINNET = '0x0000000000000000000000000000000000000000000000000000000000000000'\n\nconst SUI_TREASURY_TESTNET = '0xde1e50b1ce7ca0effe23cfe1bfd46e438f53887db0417fb653f1033501ce056f'\nconst SUI_TREASURY_MAINNET = '0x0000000000000000000000000000000000000000000000000000000000000000'\n\nexport const SUI_BOND_NFT_REGISTRY = IS_SUI_MAINNET ? SUI_BOND_NFT_REGISTRY_MAINNET : SUI_BOND_NFT_REGISTRY_TESTNET\nexport const SUI_BOND_MARKET = IS_SUI_MAINNET ? SUI_BOND_MARKET_MAINNET : SUI_BOND_MARKET_TESTNET\nexport const SUI_TREASURY = IS_SUI_MAINNET ? SUI_TREASURY_MAINNET : SUI_TREASURY_TESTNET\n\n// ---------------------------------------------------------------------------\n// Network endpoints (fullnode + explorer)\n// ---------------------------------------------------------------------------\n// Sui public RPC does not require API keys.\nexport const SUI_FULLNODE_URL = IS_SUI_MAINNET\n ? 'https://fullnode.mainnet.sui.io:443'\n : 'https://fullnode.testnet.sui.io:443'\n\nexport const SUI_EXPLORER_URL = IS_SUI_MAINNET ? 'https://suiscan.xyz/mainnet' : 'https://suiscan.xyz/testnet'\n\n// ---------------------------------------------------------------------------\n// Module / entry function paths (stable across networks)\n// ---------------------------------------------------------------------------\n// Built directly from `SUI_PACKAGE_ID` so each path follows the\n// `package::module::function` convention used by the Sui Move VM.\nexport const SUI_BOND_MODULE = `${SUI_PACKAGE_ID}::bond`\n\n// Entry functions (write path)\nexport const SUI_DEPOSIT_FUNCTION = `${SUI_PACKAGE_ID}::bond::deposit`\nexport const SUI_CLAIM_FUNCTION = `${SUI_PACKAGE_ID}::bond::claim`\n\n// View / read functions\nexport const SUI_VIEW_MARKET_INFO = `${SUI_PACKAGE_ID}::bond::market_info`\nexport const SUI_VIEW_BILL_INFO = `${SUI_PACKAGE_ID}::bond::bill_info`\nexport const SUI_VIEW_VESTING_PROGRESS = `${SUI_PACKAGE_ID}::bond::vesting_progress`\nexport const SUI_VIEW_USER_BILLS = `${SUI_PACKAGE_ID}::bond_nft::user_bills`\n\n// ---------------------------------------------------------------------------\n// Testnet-only: shared object IDs for test token minting (zap mock)\n// ---------------------------------------------------------------------------\n// PrincipalTokenAdmin is a shared object created during package publish.\n// On testnet, the zap flow calls test_principal_token::mint instead of a DEX\n// aggregator. On mainnet this is unused — real DEX swap via Aftermath.\nexport const SUI_PRINCIPAL_TOKEN_ADMIN_TESTNET = '0x8fddf5d4465b5e9562686b1becba04d233d47626f9a82e20c6383a600f93270f'\nexport const SUI_MINT_PRINCIPAL_FUNCTION = `${SUI_PACKAGE_ID}::test_principal_token::mint`\n\n// ---------------------------------------------------------------------------\n// Placeholder bill image (shown until backend enrichment is available)\n// ---------------------------------------------------------------------------\nexport const SUI_PLACEHOLDER_BILL_IMAGE = 'https://www.ape.bond/images/bills/hidden-bill.jpg'\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACO,MAAM,cAAc,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,uBAAuB,KAAK;AAIzG;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,sBAAsB,GAAG,oEAAoE;AACnG,MAAM,sBAAsB,GAAG,oEAAoE;AAE5F,MAAM,cAAc,GAAG,cAAc,GAAG,sBAAsB,GAAG;AAExE;AACA;AACA,IACE,OAAO,MAAM,KAAK,WAAW;IAC7B,cAAc;AACd,IAAA,cAAc,KAAK,sBAAsB;AACzC,IAAA,sBAAsB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC3C;IACA,OAAO,CAAC,IAAI,CACV,uEAAuE;AACrE,QAAA,kFAAkF,CACrF;AACH;AAEA;AACA;AACA;AACA,MAAM,6BAA6B,GAAG,oEAAoE;AAC1G,MAAM,6BAA6B,GAAG,oEAAoE;AAE1G,MAAM,uBAAuB,GAAG,oEAAoE;AACpG,MAAM,uBAAuB,GAAG,oEAAoE;AAEpG,MAAM,oBAAoB,GAAG,oEAAoE;AACjG,MAAM,oBAAoB,GAAG,oEAAoE;AAE1F,MAAM,qBAAqB,GAAG,cAAc,GAAG,6BAA6B,GAAG;AAC/E,MAAM,eAAe,GAAG,cAAc,GAAG,uBAAuB,GAAG;AACnE,MAAM,YAAY,GAAG,cAAc,GAAG,oBAAoB,GAAG;AAEpE;AACA;AACA;AACA;AACO,MAAM,gBAAgB,GAAG;AAC9B,MAAE;MACA;AAWJ;AACO,MAAM,oBAAoB,GAAG,CAAA,EAAG,cAAc;AAC9C,MAAM,kBAAkB,GAAG,CAAA,EAAG,cAAc;AAQnD;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,iCAAiC,GAAG;AAC1C,MAAM,2BAA2B,GAAG,CAAA,EAAG,cAAc;AAE5D;AACA;AACA;AACO,MAAM,0BAA0B,GAAG;;;;"}
@@ -0,0 +1,30 @@
1
+ declare const useAPTAccount: () => {
2
+ address: string | undefined;
3
+ connected: boolean;
4
+ isLoading: boolean;
5
+ account: import("@aptos-labs/wallet-adapter-react").AccountInfo | null;
6
+ network: import("@aptos-labs/wallet-adapter-react").NetworkInfo | null;
7
+ connect(walletName: string): void;
8
+ signIn(args: {
9
+ walletName: string;
10
+ input: import("@aptos-labs/wallet-adapter-react").AptosSignInInput;
11
+ }): Promise<import("@aptos-labs/wallet-adapter-react").AptosSignInOutput | undefined>;
12
+ signAndSubmitTransaction(transaction: import("@aptos-labs/wallet-adapter-react").InputTransactionData): Promise<import("@aptos-labs/wallet-adapter-react").AptosSignAndSubmitTransactionOutput>;
13
+ signTransaction(args: {
14
+ transactionOrPayload: import("@aptos-labs/wallet-adapter-react").AnyRawTransaction | import("@aptos-labs/wallet-adapter-react").InputTransactionData;
15
+ asFeePayer?: boolean;
16
+ }): Promise<{
17
+ authenticator: import("@aptos-labs/wallet-adapter-react").AccountAuthenticator;
18
+ rawTransaction: Uint8Array;
19
+ }>;
20
+ signMessage(message: import("@aptos-labs/wallet-adapter-react").AptosSignMessageInput): Promise<import("@aptos-labs/wallet-adapter-react").AptosSignMessageOutput>;
21
+ signMessageAndVerify(message: import("@aptos-labs/wallet-adapter-react").AptosSignMessageInput): Promise<boolean>;
22
+ disconnect(): void;
23
+ changeNetwork(network: import("@aptos-labs/wallet-adapter-react").Network): Promise<import("@aptos-labs/wallet-adapter-react").AptosChangeNetworkOutput>;
24
+ submitTransaction(transaction: import("@aptos-labs/wallet-adapter-react").InputSubmitTransactionData): Promise<import("@aptos-labs/wallet-adapter-react").PendingTransactionResponse>;
25
+ wallet: import("@aptos-labs/wallet-adapter-react").AdapterWallet | null;
26
+ wallets: ReadonlyArray<import("@aptos-labs/wallet-adapter-react").AdapterWallet>;
27
+ hiddenWallets: ReadonlyArray<import("@aptos-labs/wallet-adapter-react").AdapterWallet>;
28
+ notDetectedWallets: ReadonlyArray<import("@aptos-labs/wallet-adapter-react").AdapterNotDetectedWallet>;
29
+ };
30
+ export default useAPTAccount;