@ape.swap/bonds-sdk 3.2.0 → 3.3.0-test.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/BondFilters/BondFilters.js +0 -12
- package/dist/components/BondFilters/BondFilters.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsButtons.js +1 -13
- package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsList.js +2 -13
- package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -1
- package/dist/components/ConnectButton/index.js +3 -17
- package/dist/components/ConnectButton/index.js.map +1 -1
- package/dist/components/FavIcons/AddFavToken.js +1 -12
- package/dist/components/FavIcons/AddFavToken.js.map +1 -1
- package/dist/components/FavIcons/FavFilter.js +1 -13
- package/dist/components/FavIcons/FavFilter.js.map +1 -1
- package/dist/components/LoadingSpinner/index.js +0 -13
- package/dist/components/LoadingSpinner/index.js.map +1 -1
- package/dist/components/MenuSelect/MenuSelect.js +1 -12
- package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
- package/dist/components/MenuSelect/RecommendationSelector.js +0 -13
- package/dist/components/MenuSelect/RecommendationSelector.js.map +1 -1
- package/dist/components/NetworkFilter/index.js +2 -12
- package/dist/components/NetworkFilter/index.js.map +1 -1
- package/dist/components/PlaceholderMonkey/index.js +2 -13
- package/dist/components/PlaceholderMonkey/index.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBarWrapper.js +1 -9
- package/dist/components/ProgressBar/ProgressBarWrapper.js.map +1 -1
- package/dist/components/SlippageModal/index.js +2 -13
- package/dist/components/SlippageModal/index.js.map +1 -1
- package/dist/components/StepBubble/index.js +1 -12
- package/dist/components/StepBubble/index.js.map +1 -1
- package/dist/components/Toast/index.js +2 -10
- package/dist/components/Toast/index.js.map +1 -1
- package/dist/components/TokenInfoAndName/index.js +2 -14
- package/dist/components/TokenInfoAndName/index.js.map +1 -1
- package/dist/components/TokenSelectorModal/TokenRow.js +1 -13
- package/dist/components/TokenSelectorModal/TokenRow.js.map +1 -1
- package/dist/components/TokenSelectorModal/index.js +2 -16
- package/dist/components/TokenSelectorModal/index.js.map +1 -1
- package/dist/components/TokenSelectorPanel/index.js +1 -13
- package/dist/components/TokenSelectorPanel/index.js.map +1 -1
- package/dist/components/Tooltip/ButtonsRow.js +1 -12
- package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +0 -12
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/YouTooltip/YouTooltip.js +0 -13
- package/dist/components/YouTooltip/YouTooltip.js.map +1 -1
- package/dist/components/uikit-sdk/LoadingDots/index.js +0 -13
- package/dist/components/uikit-sdk/LoadingDots/index.js.map +1 -1
- package/dist/components/uikit-sdk/Toggle/index.js +1 -1
- package/dist/components/uikit-sdk/Toggle/index.js.map +1 -1
- package/dist/components/uikit-sdk/TokenImage/index.js +0 -13
- package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
- package/dist/config/abi/launchBond_v2_4_1.json.js +2 -2
- package/dist/config/constants/walletConnectors.d.ts +3 -0
- package/dist/config/constants/walletConnectors.js +18 -0
- package/dist/config/constants/walletConnectors.js.map +1 -0
- package/dist/contexts/ModalContext.js +0 -11
- package/dist/contexts/ModalContext.js.map +1 -1
- package/dist/contexts/Popups.js +0 -13
- package/dist/contexts/Popups.js.map +1 -1
- package/dist/state/allowance/useAllowance.js +2 -2
- package/dist/state/allowance/useAllowance.js.map +1 -1
- package/dist/state/bonds/utils.js +2 -2
- package/dist/state/preTGEBonds/usePreTGEUserBonds.js +3 -3
- package/dist/state/useSDKConfig.d.ts +7 -2
- package/dist/state/useSDKConfig.js +10 -2
- package/dist/state/useSDKConfig.js.map +1 -1
- package/dist/utils/convertToTokenValue.d.ts +1 -3
- package/dist/utils/convertToTokenValue.js +7 -9
- package/dist/utils/convertToTokenValue.js.map +1 -1
- package/dist/utils/multicall.js +34 -18
- package/dist/utils/multicall.js.map +1 -1
- package/dist/views/Bonds/Bonds.js +0 -11
- package/dist/views/Bonds/Bonds.js.map +1 -1
- package/dist/views/Bonds/components/BannerTestnet/BannerTestnet.js +1 -13
- package/dist/views/Bonds/components/BannerTestnet/BannerTestnet.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/BondRow.js +1 -13
- package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ChainTitle.js +1 -12
- package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -1
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +0 -12
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +1 -13
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js +1 -14
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
- package/dist/views/Bonds/components/BuyAgainRow/index.js +0 -11
- package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +1 -13
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -1
- package/dist/views/Bonds/components/HotBondCards/index.js +0 -12
- package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js +0 -13
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/index.js +0 -12
- package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -1
- package/dist/views/BuyBond/BuyBond.js +2 -12
- package/dist/views/BuyBond/BuyBond.js.map +1 -1
- package/dist/views/BuyBond/BuyBondModal.js +0 -12
- package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalHeader.js +1 -14
- package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js +0 -12
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -1
- package/dist/views/BuyBond/components/ExpandedViewButton.js +1 -14
- package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +2 -13
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +1 -1
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +1 -12
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -1
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js +1 -11
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js.map +1 -1
- package/dist/views/BuyBond/components/ProjectDescription.js +0 -11
- package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -1
- package/dist/views/BuyBond/index.d.ts +2 -2
- package/dist/views/BuyBond/index.js.map +1 -1
- package/dist/views/FullBondsView/FullBondsView.d.ts +0 -4
- package/dist/views/FullBondsView/FullBondsView.js +2 -19
- package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
- package/dist/views/PreTGEBonds/components/BuyComponent/BondCards.js +1 -13
- package/dist/views/PreTGEBonds/components/BuyComponent/BondCards.js.map +1 -1
- package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js +4 -14
- package/dist/views/PreTGEBonds/components/BuyComponent/ParticipationSuccessful.js.map +1 -1
- package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEBuyComponent.js +4 -13
- package/dist/views/PreTGEBonds/components/BuyComponent/PreTGEBuyComponent.js.map +1 -1
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEActions.js +3 -15
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEActions.js.map +1 -1
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEUserRow.js +1 -12
- package/dist/views/PreTGEBonds/components/PreTGEUserRows/PreTGEUserRow.js.map +1 -1
- package/dist/views/TransactionModal/TransactionModal.js +2 -13
- package/dist/views/TransactionModal/TransactionModal.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +3 -13
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/index.js +0 -13
- package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +0 -12
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js +0 -12
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js.map +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js +3 -12
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
- package/dist/views/ZapModal/index.js +4 -13
- package/dist/views/ZapModal/index.js.map +1 -1
- package/package.json +18 -8
- package/dist/components/ConnectButton/AppKitButton.d.ts +0 -3
- package/dist/components/ConnectButton/AppKitButton.js +0 -22
- package/dist/components/ConnectButton/AppKitButton.js.map +0 -1
- package/dist/components/ConnectButton/RainbowKitButton.d.ts +0 -3
- package/dist/components/ConnectButton/RainbowKitButton.js +0 -35
- package/dist/components/ConnectButton/RainbowKitButton.js.map +0 -1
- package/dist/components/uikit-sdk/index.d.ts +0 -15
- package/dist/config/abi/types/Banana.d.ts +0 -394
- package/dist/config/abi/types/Bond.d.ts +0 -758
- package/dist/config/abi/types/BondNft.d.ts +0 -556
- package/dist/config/abi/types/EnsPublicResolver.d.ts +0 -437
- package/dist/config/abi/types/EnsRegistrar.d.ts +0 -254
- package/dist/config/abi/types/Erc20.d.ts +0 -156
- package/dist/config/abi/types/Erc20_bytes32.d.ts +0 -50
- package/dist/config/abi/types/JungleChef.d.ts +0 -245
- package/dist/config/abi/types/LaunchBonds.d.ts +0 -1306
- package/dist/config/abi/types/LensContract.d.ts +0 -276
- package/dist/config/abi/types/LockVeAbond.d.ts +0 -1173
- package/dist/config/abi/types/MigrationBond.d.ts +0 -1074
- package/dist/config/abi/types/MigrationFveAbond.d.ts +0 -284
- package/dist/config/abi/types/MiniComplexRewarder.d.ts +0 -423
- package/dist/config/abi/types/Multicallv2.d.ts +0 -139
- package/dist/config/abi/types/Multicallv3.d.ts +0 -98
- package/dist/config/abi/types/NonFungibleApes.d.ts +0 -492
- package/dist/config/abi/types/NonFungibleBananas.d.ts +0 -468
- package/dist/config/abi/types/PriceGetter.d.ts +0 -676
- package/dist/config/abi/types/PriceGetterLinea.d.ts +0 -756
- package/dist/config/abi/types/PriceGetterV2.d.ts +0 -692
- package/dist/config/abi/types/SousChef.d.ts +0 -542
- package/dist/config/abi/types/Treasury.d.ts +0 -274
- package/dist/config/abi/types/Weth.d.ts +0 -206
- package/dist/config/abi/types/Zap.d.ts +0 -484
- package/dist/config/abi/types/common.d.ts +0 -22
- package/dist/config/abi/types/factories/Banana__factory.d.ts +0 -475
- package/dist/config/abi/types/factories/BondNft__factory.d.ts +0 -723
- package/dist/config/abi/types/factories/Bond__factory.d.ts +0 -799
- package/dist/config/abi/types/factories/EnsPublicResolver__factory.d.ts +0 -649
- package/dist/config/abi/types/factories/EnsRegistrar__factory.d.ts +0 -338
- package/dist/config/abi/types/factories/Erc20__factory.d.ts +0 -175
- package/dist/config/abi/types/factories/Erc20_bytes32__factory.d.ts +0 -30
- package/dist/config/abi/types/factories/JungleChef__factory.d.ts +0 -247
- package/dist/config/abi/types/factories/LaunchBonds__factory.d.ts +0 -1560
- package/dist/config/abi/types/factories/LensContract__factory.d.ts +0 -254
- package/dist/config/abi/types/factories/LockVeAbond__factory.d.ts +0 -1698
- package/dist/config/abi/types/factories/MigrationBond__factory.d.ts +0 -1268
- package/dist/config/abi/types/factories/MigrationFveAbond__factory.d.ts +0 -262
- package/dist/config/abi/types/factories/MiniComplexRewarder__factory.d.ts +0 -448
- package/dist/config/abi/types/factories/Multicallv2__factory.d.ts +0 -115
- package/dist/config/abi/types/factories/Multicallv3__factory.d.ts +0 -76
- package/dist/config/abi/types/factories/NonFungibleApes__factory.d.ts +0 -617
- package/dist/config/abi/types/factories/NonFungibleBananas__factory.d.ts +0 -576
- package/dist/config/abi/types/factories/PriceGetterLinea__factory.d.ts +0 -1105
- package/dist/config/abi/types/factories/PriceGetterV2__factory.d.ts +0 -1027
- package/dist/config/abi/types/factories/PriceGetter__factory.d.ts +0 -999
- package/dist/config/abi/types/factories/SousChef__factory.d.ts +0 -511
- package/dist/config/abi/types/factories/Treasury__factory.d.ts +0 -235
- package/dist/config/abi/types/factories/Weth__factory.d.ts +0 -220
- package/dist/config/abi/types/factories/Zap__factory.d.ts +0 -695
- package/dist/config/abi/types/factories/index.d.ts +0 -25
- package/dist/config/abi/types/index.d.ts +0 -51
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -16
- package/dist/utils/index.js.map +0 -1
|
@@ -4,18 +4,6 @@ import BondFilters from '../../../../components/BondFilters/BondFilters.js';
|
|
|
4
4
|
import 'numbro';
|
|
5
5
|
import Input from '../../../../components/uikit-sdk/Input/Input.js';
|
|
6
6
|
import Svg from '../../../../components/uikit-sdk/Svg/index.js';
|
|
7
|
-
import '../../../../components/uikit-sdk/Text/types.js';
|
|
8
|
-
import '../../../../components/uikit-sdk/Checkbox/types.js';
|
|
9
|
-
import '../../../../components/uikit-sdk/Skeleton/types.js';
|
|
10
|
-
import '../../../../components/uikit-sdk/Skeleton/styles.js';
|
|
11
|
-
import '../../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
12
|
-
import 'react';
|
|
13
|
-
import 'framer-motion';
|
|
14
|
-
import '../../../../components/uikit-sdk/Button/types.js';
|
|
15
|
-
import '../../../../components/uikit-sdk/Svg/types.js';
|
|
16
|
-
import '../../../../contexts/ModalContext.js';
|
|
17
|
-
import '../../../FullBondsView/FullBondsView.js';
|
|
18
|
-
import '../../../../components/uikit-sdk/Select/types.js';
|
|
19
7
|
import ClaimAll from '../ClaimAll/index.js';
|
|
20
8
|
import { useSDKConfig } from '../../../../state/useSDKConfig.js';
|
|
21
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YourBondsMenu.js","sources":["../../../../../src/views/YourBonds/components/YourBondsMenu/YourBondsMenu.tsx"],"sourcesContent":["import React from 'react'\nimport { Flex } from 'theme-ui'\nimport BondFilters from '../../../../components/BondFilters/BondFilters'\nimport { Input } from '../../../../components/uikit-sdk/Input'\nimport
|
|
1
|
+
{"version":3,"file":"YourBondsMenu.js","sources":["../../../../../src/views/YourBonds/components/YourBondsMenu/YourBondsMenu.tsx"],"sourcesContent":["import React from 'react'\nimport { Flex } from 'theme-ui'\nimport BondFilters from '../../../../components/BondFilters/BondFilters'\nimport { Input } from '../../../../components/uikit-sdk/Input'\nimport Svg from '../../../../components/uikit-sdk/Svg'\nimport { SortableKeys } from '../../YourBonds'\nimport ClaimAll from '../ClaimAll'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\n\nconst YourBondsMenu = ({\n chainFilterOption,\n setChainFilterOption,\n filterOptions,\n filterOption,\n setFilterOption,\n setInputValue,\n inputValue,\n handleSort,\n}: {\n chainFilterOption: string[]\n setChainFilterOption: (newValue: string[]) => void\n filterOptions: string[]\n filterOption: string\n setFilterOption: (newValue: string) => void\n setInputValue: (newValue: string) => void\n inputValue: string\n handleSort: (key: SortableKeys) => void\n}) => {\n const SDKConfig = useSDKConfig()\n\n return (\n <div className=\"bonds-menu\">\n <BondFilters\n chainFilterOption={chainFilterOption ?? ['All Chains']}\n setChainFilterOption={setChainFilterOption}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={setFilterOption}\n onHandleQueryChange={() => setInputValue('')}\n />\n <div className=\"table-header-container\">\n <div className=\"search-container\">\n <Flex sx={{ width: '100%', maxWidth: '300px' }}>\n <Input\n className=\"search-input\"\n value={inputValue}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => setInputValue(event.target.value)}\n variant=\"search\"\n sx={{ fontWeight: 600, background: 'white2', height: '30px', fontSize: '14px', color: 'white' }}\n width={'100%'}\n placeholder={'Search...'}\n />\n </Flex>\n </div>\n <div className=\"headers-container\" sx={{ pr: ['0', '0', '0', '20px'] }}>\n <div className=\"your-bonds-table-headers\" onClick={() => handleSort('claimable')}>\n CLAIMABLE\n <Flex sx={{ ml: '5px' }}>\n <Svg icon=\"sort\" width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div className=\"your-bonds-table-headers\" onClick={() => handleSort('pending')}>\n PENDING\n <Flex sx={{ ml: '5px' }}>\n <Svg icon=\"sort\" width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div className=\"your-bonds-table-headers\" onClick={() => handleSort('terms')}>\n TERMS\n <Flex sx={{ ml: '5px' }}>\n <Svg icon=\"sort\" width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <Flex className=\"claim-all-button-container\">{SDKConfig.referenceId === 'apebond' && <ClaimAll />}</Flex>\n </div>\n </div>\n </div>\n )\n}\n\nexport default YourBondsMenu\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -2,19 +2,7 @@ import { jsx, Fragment, jsxs } from 'theme-ui/jsx-runtime';
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { useChainId, useAccount, useSwitchChain, useWriteContract } from 'wagmi';
|
|
4
4
|
import BOND_NFT_ABI from '../../../../config/abi/bondNft.json.js';
|
|
5
|
-
import '../../../../components/uikit-sdk/Svg/types.js';
|
|
6
|
-
import 'theme-ui';
|
|
7
|
-
import '../../../../components/uikit-sdk/Text/types.js';
|
|
8
|
-
import '../../../../components/uikit-sdk/Checkbox/types.js';
|
|
9
|
-
import '../../../../components/uikit-sdk/Skeleton/types.js';
|
|
10
|
-
import '../../../../components/uikit-sdk/Skeleton/styles.js';
|
|
11
|
-
import '../../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
12
|
-
import 'framer-motion';
|
|
13
5
|
import Button from '../../../../components/uikit-sdk/Button/Button.js';
|
|
14
|
-
import '../../../../components/uikit-sdk/Button/types.js';
|
|
15
|
-
import '../../../../contexts/ModalContext.js';
|
|
16
|
-
import '../../../FullBondsView/FullBondsView.js';
|
|
17
|
-
import '../../../../components/uikit-sdk/Select/types.js';
|
|
18
6
|
import { NETWORK_LABEL } from '../../../../config/constants/chains.js';
|
|
19
7
|
import { useMonitorTxHash } from '../../../../hooks/useMonitorTxHash.js';
|
|
20
8
|
import { usePopups } from '../../../../state/popups/usePopups.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferAction.js","sources":["../../../../../src/views/YourBondsModal/components/TransferBondModal/TransferAction.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { useAccount, useChainId, useSwitchChain, useWriteContract } from 'wagmi'\nimport BOND_NFT_ABI from '../../../../config/abi/bondNft.json'\nimport { UserBill } from '../../../../types/yourbonds'\nimport
|
|
1
|
+
{"version":3,"file":"TransferAction.js","sources":["../../../../../src/views/YourBondsModal/components/TransferBondModal/TransferAction.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { useAccount, useChainId, useSwitchChain, useWriteContract } from 'wagmi'\nimport BOND_NFT_ABI from '../../../../config/abi/bondNft.json'\nimport { UserBill } from '../../../../types/yourbonds'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport { NETWORK_LABEL } from '../../../../config/constants/chains'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { useMonitorTxHash } from '../../../../hooks/useMonitorTxHash'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport track from '../../../../utils/track'\nimport { reportError } from '../../../../utils/reportError'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\n\nconst TransferAction = ({\n userBill,\n toAddress,\n disabled,\n}: {\n userBill?: UserBill\n toAddress?: string\n disabled?: boolean\n}) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const userChainId = useChainId()\n const { address: account } = useAccount()\n const { switchChain } = useSwitchChain()\n\n // State\n const [transferTxHash, setTransferTxHash] = useState<string | null>(null)\n const [loadingTx, setLoadingTx] = useState(false)\n const { writeContractAsync } = useWriteContract()\n const { isLoading, isSuccess: isConfirmed } = useMonitorTxHash(transferTxHash, userBill?.bond?.chainId)\n const { addToastError } = usePopups()\n\n const load = loadingTx || (isLoading && !isConfirmed)\n const handleTransfer = async () => {\n const address: `0x${string}` = userBill?.billNftAddress as `0x${string}`\n try {\n setLoadingTx(true)\n const tx = await writeContractAsync({\n address: address,\n abi: BOND_NFT_ABI,\n functionName: 'safeTransferFrom',\n args: [account, toAddress, userBill?.id],\n chain: userChainId as any,\n account: account,\n })\n if (tx) {\n setTransferTxHash(tx)\n track({\n event: 'bond',\n chain: userChainId,\n data: {\n cat: 'transfer',\n type: userBill?.bond?.billType ?? '',\n id: userBill?.id,\n from: account,\n to: toAddress,\n earnToken: userBill?.bond?.earnToken.symbol,\n },\n })\n }\n setLoadingTx(false)\n } catch (error: any) {\n console.error('Transfer failed:', error)\n setLoadingTx(false)\n addToastError(error.shortMessage)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'transfer', userBill, error },\n chainId: userChainId,\n account,\n })\n }\n }\n return (\n <>\n {userChainId !== userBill?.bond?.chainId ? (\n <Button onClick={() => switchChain({ chainId: userBill?.bond?.chainId as ChainId })}>\n Switch to {NETWORK_LABEL[userBill?.bond?.chainId as ChainId]}\n </Button>\n ) : (\n <Button onClick={handleTransfer} load={load} disabled={load || disabled} fullWidth>\n transfer\n </Button>\n )}\n </>\n )\n}\n\nexport default TransferAction\n"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
|
|
@@ -1,23 +1,14 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'theme-ui/jsx-runtime';
|
|
2
2
|
import React, { useState } from 'react';
|
|
3
3
|
import BigNumber from 'bignumber.js';
|
|
4
|
-
import '../../../../components/uikit-sdk/Svg/types.js';
|
|
5
|
-
import 'theme-ui';
|
|
6
|
-
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
7
|
-
import Text from '../../../../components/uikit-sdk/Text/index.js';
|
|
8
4
|
import Checkbox from '../../../../components/uikit-sdk/Checkbox/index.js';
|
|
9
|
-
import '../../../../components/uikit-sdk/
|
|
10
|
-
import '../../../../components/uikit-sdk/Skeleton/styles.js';
|
|
11
|
-
import '../../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
5
|
+
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
12
6
|
import Modal from '../../../../components/uikit-sdk/Modal/index.js';
|
|
13
|
-
import '
|
|
14
|
-
import '../../../FullBondsView/FullBondsView.js';
|
|
15
|
-
import Input from '../../../../components/uikit-sdk/Input/Input.js';
|
|
16
|
-
import '../../../../components/uikit-sdk/Button/types.js';
|
|
17
|
-
import '../../../../components/uikit-sdk/Select/types.js';
|
|
7
|
+
import Text from '../../../../components/uikit-sdk/Text/index.js';
|
|
18
8
|
import { getBalanceNumber } from '../../../../utils/getBalanceNumber.js';
|
|
19
9
|
import TokenImage from '../../../../components/uikit-sdk/TokenImage/index.js';
|
|
20
10
|
import 'numbro';
|
|
11
|
+
import Input from '../../../../components/uikit-sdk/Input/Input.js';
|
|
21
12
|
import TransferAction from './TransferAction.js';
|
|
22
13
|
import { getPendingVestingString } from '../../../../utils/displayHelpers.js';
|
|
23
14
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/views/YourBondsModal/components/TransferBondModal/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport BigNumber from 'bignumber.js'\nimport
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/views/YourBondsModal/components/TransferBondModal/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport BigNumber from 'bignumber.js'\nimport CheckBox from '../../../../components/uikit-sdk/Checkbox'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Modal from '../../../../components/uikit-sdk/Modal'\nimport Text from '../../../../components/uikit-sdk/Text'\nimport { UserBill } from '../../../../types/yourbonds'\nimport { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport { Input } from '../../../../components/uikit-sdk/Input'\nimport TransferAction from './TransferAction'\nimport { getPendingVestingString } from '../../../../utils/displayHelpers'\n\ninterface TransferBillModalProps {\n onDismiss?: () => void\n userBill?: UserBill\n}\n\nconst TransferModal: React.FC<TransferBillModalProps> = ({ onDismiss, userBill }) => {\n // State\n const [confirmSend, setConfirmSend] = useState(false)\n const [toAddress, setToAddress] = useState('')\n\n // Data\n const bond = userBill?.bond\n const chainId = bond?.chainId\n const { lpToken, earnToken } = userBill?.bond ?? {}\n const pending =\n chainId &&\n getBalanceNumber(new BigNumber(userBill?.payout ?? 0), earnToken?.decimals?.[chainId as ChainId] ?? 18)?.toFixed(4)\n return (\n <Modal onDismiss={onDismiss} title=\"Transfer Bond\" zIndex={130}>\n <Flex sx={{ mt: '20px' }}>\n <Text sx={{ fontWeight: 700 }}> Transferring: </Text>\n </Flex>\n <Flex sx={{ flexDirection: 'column', alignItems: 'center', mt: '30px', mr: '10px' }}>\n <Text sx={{ fontWeight: 700, fontSize: '25px' }}>\n {lpToken?.symbol} #{userBill?.id}\n </Text>\n <Flex sx={{ mt: '5px' }}>\n <Flex sx={{ flexDirection: 'column', mr: '20px' }}>\n <Text sx={{ textAlign: 'center', width: '100%', fontSize: '12px', opacity: 0.6 }}>Vesting time</Text>\n {getPendingVestingString(userBill)}\n </Flex>\n <Flex sx={{ flexDirection: 'column', ml: '20px' }}>\n <Text sx={{ textAlign: 'center', width: '100%', fontSize: '12px', opacity: 0.6 }}>Pending</Text>\n <Flex>\n <TokenImage\n symbol={userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol}\n size={20}\n chain={userBill?.bond?.chainId}\n />\n <Text sx={{ fontWeight: 700, ml: '5px' }}>{pending}</Text>\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n <Flex sx={{ flexDirection: 'column', mt: '30px' }}>\n <Text sx={{ fontWeight: 700 }}>Receiving Address:</Text>\n <Input\n mt=\"10px\"\n size=\"lg\"\n placeholder={'Paste the address here'}\n value={toAddress}\n onChange={(e: any) => setToAddress(e.target.value)}\n style={{ width: '345px', border: 'none' }}\n />\n </Flex>\n <Flex sx={{ mt: '15px' }}>\n <Text sx={{ lineHeight: '18px', fontSize: '12px', color: 'rgba(223, 65, 65, 1)' }}>\n <Text\n sx={{ display: 'block', width: '100%', fontWeight: 700, fontSize: '13px', color: 'rgba(223, 65, 65, 1)' }}\n >\n WARNING\n </Text>\n When transfering the NFT all pending rewards will also be transfered to the receiver address.\n </Text>\n </Flex>\n <Flex\n onClick={() => setConfirmSend((prev) => !prev)}\n sx={{ mt: '20px', cursor: 'pointer', alignItems: 'center' }}\n >\n <CheckBox checked={confirmSend} />\n <Text sx={{ ml: '10px', fontSize: '12px', fontWeight: 500, lineHeight: '18px' }}>\n I understand the new wallet gains ownership of all unclaimed assets.\n </Text>\n </Flex>\n <Flex sx={{ justifyContent: 'center', mt: '15px' }}>\n <TransferAction userBill={userBill} toAddress={toAddress} disabled={!confirmSend || !toAddress} />\n </Flex>\n </Modal>\n )\n}\n\nexport default React.memo(TransferModal)\n"],"names":["_jsxs","_jsx","CheckBox"],"mappings":"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"}
|
|
@@ -1,23 +1,14 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'theme-ui/jsx-runtime';
|
|
2
2
|
import { useState, useCallback } from 'react';
|
|
3
|
-
import
|
|
3
|
+
import Button from '../../components/uikit-sdk/Button/Button.js';
|
|
4
4
|
import Flex from '../../components/uikit-sdk/Flex/index.js';
|
|
5
|
-
import Text from '../../components/uikit-sdk/Text/index.js';
|
|
6
|
-
import '../../components/uikit-sdk/Checkbox/types.js';
|
|
7
|
-
import { Box, Link } from 'theme-ui';
|
|
8
|
-
import '../../components/uikit-sdk/Skeleton/types.js';
|
|
9
|
-
import '../../components/uikit-sdk/Skeleton/styles.js';
|
|
10
|
-
import '../../components/uikit-sdk/TooltipBubble/index.js';
|
|
11
5
|
import Modal from '../../components/uikit-sdk/Modal/index.js';
|
|
12
|
-
import '
|
|
13
|
-
import '
|
|
14
|
-
import Button from '../../components/uikit-sdk/Button/Button.js';
|
|
15
|
-
import '../../components/uikit-sdk/Svg/types.js';
|
|
16
|
-
import '../../components/uikit-sdk/Button/types.js';
|
|
17
|
-
import '../../components/uikit-sdk/Select/types.js';
|
|
6
|
+
import Svg from '../../components/uikit-sdk/Svg/index.js';
|
|
7
|
+
import Text from '../../components/uikit-sdk/Text/index.js';
|
|
18
8
|
import BigNumber from 'bignumber.js';
|
|
19
9
|
import { SoulZapTokenManager } from '../../config/constants/addresses.js';
|
|
20
10
|
import ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader.js';
|
|
11
|
+
import { Box, Link } from 'theme-ui';
|
|
21
12
|
import { NETWORK_LABEL } from '../../config/constants/chains.js';
|
|
22
13
|
import TokenSelectorPanel from '../../components/TokenSelectorPanel/index.js';
|
|
23
14
|
import { useChainId, useSwitchChain, useSendTransaction } from 'wagmi';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/views/ZapModal/index.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react'\nimport { Button, Flex, Modal, Svg, Text } from '../../components/uikit-sdk'\nimport { ChainId, Token } from '@ape.swap/apeswap-lists'\nimport BigNumber from 'bignumber.js'\nimport { SoulZapTokenManager } from '../../config/constants/addresses'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\nimport { Box, Link } from 'theme-ui'\nimport { NETWORK_LABEL } from '../../config/constants/chains'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport { useChainId, useSendTransaction, useSwitchChain } from 'wagmi'\nimport useSoulZapTokenQuote from '../../state/zap/useSoulZapTokenQuote'\nimport useCurrencyBalance from '../../state/balance/useCurrencyBalance'\nimport useCurrencyPrice from '../../state/price/useCurrencyPrice'\nimport { ApprovalState, useApproval } from '../../state/allowance/useAllowance'\nimport { parseEther } from 'viem'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport useModal from '../../hooks/useModal'\nimport SlippageModal from '../../components/SlippageModal'\nimport { useMonitorTxHash } from '../../hooks/useMonitorTxHash'\nimport { usePopups } from '../../state/popups/usePopups'\nimport ConnectButton from '../../components/ConnectButton'\nimport { WNATIVE } from '../../config/constants/tokens'\nimport track from '../../utils/track'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport { reportError } from '../../utils/reportError'\nimport { useSDKConfig } from '../../state/useSDKConfig'\n\n/**\n * @param chainId this is the chainId of the outputToken\n */\n\ninterface ZapModalProps {\n onDismiss?: () => void\n outputToken: Token\n chainId: ChainId\n account?: string\n}\n\nconst ZapModal = ({ onDismiss, outputToken, account, chainId }: ZapModalProps) => {\n // State\n const [pendingTx, setPendingTx] = useState(false)\n const [typedValue, setTypedValue] = useState('')\n const [inputTokenString, setInputTokenString] = useState('NATIVE')\n\n // Hooks\n const SDKConfig = useSDKConfig()\n const userChainId = useChainId()\n const { switchChain } = useSwitchChain()\n const inputToken = useTokenFromZapList(inputTokenString, chainId)\n const { data: hash, sendTransactionAsync } = useSendTransaction()\n\n const { isLoading: isConfirming } = useMonitorTxHash(hash, chainId)\n const { addToastError } = usePopups()\n\n // Modals\n const [onOpenSlippageModal] = useModal(<SlippageModal />)\n\n // Prices & Balances\n const { data: outputTokenBalance } = useCurrencyBalance(outputToken ?? null, account ?? null, chainId)\n const outputTokenPrice = useCurrencyPrice(outputToken ?? null, chainId)\n\n const { data: inputTokenBalance } = useCurrencyBalance(inputToken ?? null, account ?? null, chainId)\n const inputTokenPrice = useCurrencyPrice(inputToken ?? null, chainId)\n\n const hasEnoughBalance = new BigNumber(typedValue).lte(new BigNumber(inputTokenBalance ?? '0'))\n const isWrap =\n inputTokenString === 'NATIVE' &&\n outputToken?.address?.[chainId]?.toLowerCase() === WNATIVE[chainId]?.address?.[chainId]?.toLowerCase()\n const outputTokenBalanceString = outputTokenBalance ? new BigNumber(outputTokenBalance).toPrecision(5) : 'loading'\n\n // Zap Quote\n const [fetchingQuote, zapData, outputValue, zapError] = useSoulZapTokenQuote(\n typedValue,\n inputToken,\n outputToken,\n chainId,\n account,\n )\n\n // Functions\n const handleCurrencySelect = useCallback((newInputToken: string) => {\n setTypedValue('')\n setInputTokenString(newInputToken)\n }, [])\n\n const handleMaxInput = useCallback(() => {\n setTypedValue(inputTokenBalance ?? '')\n }, [inputTokenBalance])\n\n const soulZapCallback = useCallback(async () => {\n if (zapData && zapData?.txData?.to && zapData?.txData?.data) {\n try {\n console.log(zapData)\n console.log('Attempting zap tx')\n const validated18DecimalAmount = new BigNumber(typedValue ?? '0').toFixed(18, 5)\n const parsedValue = parseEther(validated18DecimalAmount)\n setPendingTx(true)\n await sendTransactionAsync({\n to: zapData.txData.to,\n data: zapData.txData.data,\n value: inputToken === 'NATIVE' ? parsedValue : undefined,\n })\n .then(() => {\n track({\n event: 'zap',\n chain: chainId,\n data: {\n cat: 'LP',\n token1: getSymbol(inputToken),\n token2: getSymbol(outputToken),\n amount: typedValue,\n usdAmount: parseFloat(typedValue) * (inputTokenPrice?.price ?? 0),\n },\n })\n })\n .finally(() => setPendingTx(false))\n } catch (e: any) {\n console.error(e)\n setPendingTx(false)\n addToastError(e?.shortMessage)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: e,\n extraInfo: { type: 'zap-lp', zapData, e },\n chainId,\n account,\n })\n }\n }\n }, [\n zapData,\n typedValue,\n sendTransactionAsync,\n inputToken,\n chainId,\n outputToken,\n inputTokenPrice?.price,\n addToastError,\n SDKConfig?.urls?.apiV2,\n account,\n ])\n\n // Approve hook\n const [approvalState, approveCallback] = useApproval(\n typedValue,\n inputToken ?? null,\n SoulZapTokenManager[chainId] ?? null,\n account ?? null,\n chainId,\n )\n const handleApprove = () => {\n approveCallback().then(() => {\n track({\n event: 'approveTokenClick',\n chain: userChainId,\n data: {\n bond: null,\n earnToken: outputToken.symbol,\n },\n })\n })\n }\n\n return (\n <Modal>\n <ModalHeader onDismiss={onDismiss}>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Text sx={{ fontSize: '22px', fontWeight: 700, lineHeight: '30px' }}>\n Zap <Svg icon=\"ZapIcon\" />\n </Text>\n <Flex onClick={onOpenSlippageModal} sx={{ mr: '15px' }}>\n <Svg icon=\"cog\" width=\"16px\" />\n </Flex>\n </Flex>\n </ModalHeader>\n <Flex sx={{ flexDirection: 'column', pt: '10px', gap: '10px' }}>\n <Flex sx={{ position: 'relative' }}>\n <Text>From:</Text>\n </Flex>\n <Flex sx={{ width: '100%', height: 'auto', justifyContent: 'space-between' }}>\n <TokenSelectorPanel\n typedValue={typedValue}\n setTypedValue={setTypedValue}\n selectedToken={inputToken}\n handleValueBtn={handleMaxInput}\n handleCurrencySelect={handleCurrencySelect}\n chainId={chainId}\n enableZap={true}\n tokenBalance={inputTokenBalance ?? undefined}\n selectedTokenPrice={inputTokenPrice?.price}\n />\n </Flex>\n <Flex sx={{ position: 'relative', mt: '10px' }}>\n <Text>To:</Text>\n <Box sx={{ position: 'absolute', top: '50%', left: '50%', transform: 'translate(-50%, -50%)' }}>\n <Svg icon=\"ZapArrow\" />\n </Box>\n </Flex>\n <TokenSelectorPanel\n typedValue={isWrap ? typedValue : outputValue === 0 ? '' : outputValue.toFixed(18)}\n setTypedValue={() => null}\n selectedToken={outputToken}\n handleCurrencySelect={() => null}\n chainId={chainId}\n enableZap={false}\n tokenBalance={outputTokenBalanceString}\n selectedTokenPrice={outputTokenPrice?.price}\n />\n <Flex className=\"button-container zap\">\n {!account ? (\n <ConnectButton />\n ) : userChainId !== chainId ? (\n <Button\n className=\"switch-button zap\"\n onClick={(event) => {\n event.stopPropagation()\n switchChain({ chainId: chainId })\n }}\n >\n Switch to {NETWORK_LABEL[chainId]}\n </Button>\n ) : approvalState === ApprovalState.NOT_APPROVED || approvalState === ApprovalState.PENDING ? (\n <Button\n onClick={handleApprove}\n fullWidth\n load={approvalState === ApprovalState.PENDING}\n disable={approvalState === ApprovalState.PENDING}\n >\n {pendingTx || approvalState === ApprovalState.PENDING ? 'ENABLING' : 'ENABLE'}\n </Button>\n ) : (\n <Button\n onClick={soulZapCallback}\n fullWidth\n load={pendingTx || fetchingQuote || isConfirming}\n disabled={pendingTx || fetchingQuote || !zapData || !hasEnoughBalance || isConfirming || zapError}\n >\n {zapError\n ? 'something went wrong'\n : fetchingQuote\n ? 'Loading'\n : !hasEnoughBalance && zapData\n ? 'Not enough balance'\n : 'BUY'}\n </Button>\n )}\n </Flex>\n <Flex sx={{ marginTop: '10px', justifyContent: 'center' }}>\n <Link\n href=\"https://docs.ape.bond/apebond/products-and-features/zap\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n sx={{ textDecoration: 'none' }}\n >\n <Text style={{ fontSize: '12px', lineHeight: '18px', fontWeight: 400, borderBottom: '1px solid' }}>\n Learn more{'>'}\n </Text>\n </Link>\n </Flex>\n </Flex>\n </Modal>\n )\n}\n\nexport default ZapModal\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/views/ZapModal/index.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport Svg from '../../components/uikit-sdk/Svg'\nimport Text from '../../components/uikit-sdk/Text'\nimport { ChainId, Token } from '@ape.swap/apeswap-lists'\nimport BigNumber from 'bignumber.js'\nimport { SoulZapTokenManager } from '../../config/constants/addresses'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\nimport { Box, Link } from 'theme-ui'\nimport { NETWORK_LABEL } from '../../config/constants/chains'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport { useChainId, useSendTransaction, useSwitchChain } from 'wagmi'\nimport useSoulZapTokenQuote from '../../state/zap/useSoulZapTokenQuote'\nimport useCurrencyBalance from '../../state/balance/useCurrencyBalance'\nimport useCurrencyPrice from '../../state/price/useCurrencyPrice'\nimport { ApprovalState, useApproval } from '../../state/allowance/useAllowance'\nimport { parseEther } from 'viem'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport useModal from '../../hooks/useModal'\nimport SlippageModal from '../../components/SlippageModal'\nimport { useMonitorTxHash } from '../../hooks/useMonitorTxHash'\nimport { usePopups } from '../../state/popups/usePopups'\nimport ConnectButton from '../../components/ConnectButton'\nimport { WNATIVE } from '../../config/constants/tokens'\nimport track from '../../utils/track'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport { reportError } from '../../utils/reportError'\nimport { useSDKConfig } from '../../state/useSDKConfig'\n\n/**\n * @param chainId this is the chainId of the outputToken\n */\n\ninterface ZapModalProps {\n onDismiss?: () => void\n outputToken: Token\n chainId: ChainId\n account?: string\n}\n\nconst ZapModal = ({ onDismiss, outputToken, account, chainId }: ZapModalProps) => {\n // State\n const [pendingTx, setPendingTx] = useState(false)\n const [typedValue, setTypedValue] = useState('')\n const [inputTokenString, setInputTokenString] = useState('NATIVE')\n\n // Hooks\n const SDKConfig = useSDKConfig()\n const userChainId = useChainId()\n const { switchChain } = useSwitchChain()\n const inputToken = useTokenFromZapList(inputTokenString, chainId)\n const { data: hash, sendTransactionAsync } = useSendTransaction()\n\n const { isLoading: isConfirming } = useMonitorTxHash(hash, chainId)\n const { addToastError } = usePopups()\n\n // Modals\n const [onOpenSlippageModal] = useModal(<SlippageModal />)\n\n // Prices & Balances\n const { data: outputTokenBalance } = useCurrencyBalance(outputToken ?? null, account ?? null, chainId)\n const outputTokenPrice = useCurrencyPrice(outputToken ?? null, chainId)\n\n const { data: inputTokenBalance } = useCurrencyBalance(inputToken ?? null, account ?? null, chainId)\n const inputTokenPrice = useCurrencyPrice(inputToken ?? null, chainId)\n\n const hasEnoughBalance = new BigNumber(typedValue).lte(new BigNumber(inputTokenBalance ?? '0'))\n const isWrap =\n inputTokenString === 'NATIVE' &&\n outputToken?.address?.[chainId]?.toLowerCase() === WNATIVE[chainId]?.address?.[chainId]?.toLowerCase()\n const outputTokenBalanceString = outputTokenBalance ? new BigNumber(outputTokenBalance).toPrecision(5) : 'loading'\n\n // Zap Quote\n const [fetchingQuote, zapData, outputValue, zapError] = useSoulZapTokenQuote(\n typedValue,\n inputToken,\n outputToken,\n chainId,\n account,\n )\n\n // Functions\n const handleCurrencySelect = useCallback((newInputToken: string) => {\n setTypedValue('')\n setInputTokenString(newInputToken)\n }, [])\n\n const handleMaxInput = useCallback(() => {\n setTypedValue(inputTokenBalance ?? '')\n }, [inputTokenBalance])\n\n const soulZapCallback = useCallback(async () => {\n if (zapData && zapData?.txData?.to && zapData?.txData?.data) {\n try {\n console.log(zapData)\n console.log('Attempting zap tx')\n const validated18DecimalAmount = new BigNumber(typedValue ?? '0').toFixed(18, 5)\n const parsedValue = parseEther(validated18DecimalAmount)\n setPendingTx(true)\n await sendTransactionAsync({\n to: zapData.txData.to,\n data: zapData.txData.data,\n value: inputToken === 'NATIVE' ? parsedValue : undefined,\n })\n .then(() => {\n track({\n event: 'zap',\n chain: chainId,\n data: {\n cat: 'LP',\n token1: getSymbol(inputToken),\n token2: getSymbol(outputToken),\n amount: typedValue,\n usdAmount: parseFloat(typedValue) * (inputTokenPrice?.price ?? 0),\n },\n })\n })\n .finally(() => setPendingTx(false))\n } catch (e: any) {\n console.error(e)\n setPendingTx(false)\n addToastError(e?.shortMessage)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: e,\n extraInfo: { type: 'zap-lp', zapData, e },\n chainId,\n account,\n })\n }\n }\n }, [\n zapData,\n typedValue,\n sendTransactionAsync,\n inputToken,\n chainId,\n outputToken,\n inputTokenPrice?.price,\n addToastError,\n SDKConfig?.urls?.apiV2,\n account,\n ])\n\n // Approve hook\n const [approvalState, approveCallback] = useApproval(\n typedValue,\n inputToken ?? null,\n SoulZapTokenManager[chainId] ?? null,\n account ?? null,\n chainId,\n )\n const handleApprove = () => {\n approveCallback().then(() => {\n track({\n event: 'approveTokenClick',\n chain: userChainId,\n data: {\n bond: null,\n earnToken: outputToken.symbol,\n },\n })\n })\n }\n\n return (\n <Modal>\n <ModalHeader onDismiss={onDismiss}>\n <Flex sx={{ width: '100%', justifyContent: 'space-between' }}>\n <Text sx={{ fontSize: '22px', fontWeight: 700, lineHeight: '30px' }}>\n Zap <Svg icon=\"ZapIcon\" />\n </Text>\n <Flex onClick={onOpenSlippageModal} sx={{ mr: '15px' }}>\n <Svg icon=\"cog\" width=\"16px\" />\n </Flex>\n </Flex>\n </ModalHeader>\n <Flex sx={{ flexDirection: 'column', pt: '10px', gap: '10px' }}>\n <Flex sx={{ position: 'relative' }}>\n <Text>From:</Text>\n </Flex>\n <Flex sx={{ width: '100%', height: 'auto', justifyContent: 'space-between' }}>\n <TokenSelectorPanel\n typedValue={typedValue}\n setTypedValue={setTypedValue}\n selectedToken={inputToken}\n handleValueBtn={handleMaxInput}\n handleCurrencySelect={handleCurrencySelect}\n chainId={chainId}\n enableZap={true}\n tokenBalance={inputTokenBalance ?? undefined}\n selectedTokenPrice={inputTokenPrice?.price}\n />\n </Flex>\n <Flex sx={{ position: 'relative', mt: '10px' }}>\n <Text>To:</Text>\n <Box sx={{ position: 'absolute', top: '50%', left: '50%', transform: 'translate(-50%, -50%)' }}>\n <Svg icon=\"ZapArrow\" />\n </Box>\n </Flex>\n <TokenSelectorPanel\n typedValue={isWrap ? typedValue : outputValue === 0 ? '' : outputValue.toFixed(18)}\n setTypedValue={() => null}\n selectedToken={outputToken}\n handleCurrencySelect={() => null}\n chainId={chainId}\n enableZap={false}\n tokenBalance={outputTokenBalanceString}\n selectedTokenPrice={outputTokenPrice?.price}\n />\n <Flex className=\"button-container zap\">\n {!account ? (\n <ConnectButton />\n ) : userChainId !== chainId ? (\n <Button\n className=\"switch-button zap\"\n onClick={(event) => {\n event.stopPropagation()\n switchChain({ chainId: chainId })\n }}\n >\n Switch to {NETWORK_LABEL[chainId]}\n </Button>\n ) : approvalState === ApprovalState.NOT_APPROVED || approvalState === ApprovalState.PENDING ? (\n <Button\n onClick={handleApprove}\n fullWidth\n load={approvalState === ApprovalState.PENDING}\n disable={approvalState === ApprovalState.PENDING}\n >\n {pendingTx || approvalState === ApprovalState.PENDING ? 'ENABLING' : 'ENABLE'}\n </Button>\n ) : (\n <Button\n onClick={soulZapCallback}\n fullWidth\n load={pendingTx || fetchingQuote || isConfirming}\n disabled={pendingTx || fetchingQuote || !zapData || !hasEnoughBalance || isConfirming || zapError}\n >\n {zapError\n ? 'something went wrong'\n : fetchingQuote\n ? 'Loading'\n : !hasEnoughBalance && zapData\n ? 'Not enough balance'\n : 'BUY'}\n </Button>\n )}\n </Flex>\n <Flex sx={{ marginTop: '10px', justifyContent: 'center' }}>\n <Link\n href=\"https://docs.ape.bond/apebond/products-and-features/zap\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n sx={{ textDecoration: 'none' }}\n >\n <Text style={{ fontSize: '12px', lineHeight: '18px', fontWeight: 400, borderBottom: '1px solid' }}>\n Learn more{'>'}\n </Text>\n </Link>\n </Flex>\n </Flex>\n </Modal>\n )\n}\n\nexport default ZapModal\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,10 +3,23 @@
|
|
|
3
3
|
"description": "Ape Bond SDK",
|
|
4
4
|
"author": "Ape Bond",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"version": "3.
|
|
6
|
+
"version": "3.3.0-test.4",
|
|
7
7
|
"module": "dist/main.js",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"types": "dist/main.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/main.d.ts",
|
|
13
|
+
"import": "./dist/main.js",
|
|
14
|
+
"default": "./dist/main.js"
|
|
15
|
+
},
|
|
16
|
+
"./views/FullBondsView": {
|
|
17
|
+
"types": "./dist/views/FullBondsView/index.d.ts",
|
|
18
|
+
"import": "./dist/views/FullBondsView/index.js"
|
|
19
|
+
},
|
|
20
|
+
"./styles.css": "./dist/styles.css",
|
|
21
|
+
"./package.json": "./package.json"
|
|
22
|
+
},
|
|
10
23
|
"files": [
|
|
11
24
|
"dist"
|
|
12
25
|
],
|
|
@@ -30,16 +43,15 @@
|
|
|
30
43
|
]
|
|
31
44
|
},
|
|
32
45
|
"peerDependencies": {
|
|
33
|
-
"@rainbow-me/rainbowkit": "^2.2.8",
|
|
34
46
|
"@tanstack/react-query": "5.x",
|
|
35
47
|
"axios": ">=1.7.2",
|
|
36
48
|
"react": ">=17",
|
|
37
49
|
"react-dom": ">=17",
|
|
38
|
-
"wagmi": ">=2.14.
|
|
50
|
+
"wagmi": ">=2.14.11"
|
|
39
51
|
},
|
|
40
52
|
"devDependencies": {
|
|
41
53
|
"@eslint/js": "^9.28.0",
|
|
42
|
-
"@rainbow-me/rainbowkit": "
|
|
54
|
+
"@rainbow-me/rainbowkit": "2.2.11",
|
|
43
55
|
"@rollup/plugin-commonjs": "^25.0.7",
|
|
44
56
|
"@rollup/plugin-json": "^6.1.0",
|
|
45
57
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
@@ -50,11 +62,10 @@
|
|
|
50
62
|
"@types/lodash": "^4.17.6",
|
|
51
63
|
"@types/node": "^24.0.13",
|
|
52
64
|
"@vitejs/plugin-react": "^4.2.1",
|
|
53
|
-
"axios": "1.
|
|
65
|
+
"axios": "1.18.1",
|
|
54
66
|
"eslint": "^9.28.0",
|
|
55
67
|
"eslint-plugin-react": "^7.37.5",
|
|
56
68
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
57
|
-
"ethers": "5.8.0",
|
|
58
69
|
"husky": "^9.0.11",
|
|
59
70
|
"lint-staged": "^16.1.0",
|
|
60
71
|
"prettier": "^3.3.3",
|
|
@@ -64,8 +75,7 @@
|
|
|
64
75
|
"sass": "^1.77.7",
|
|
65
76
|
"typescript": "^5.0.0",
|
|
66
77
|
"typescript-eslint": "^8.34.0",
|
|
67
|
-
"vite": "
|
|
68
|
-
"yalc": "^1.0.0-pre.53",
|
|
78
|
+
"vite": "7.3.5",
|
|
69
79
|
"react": "19.2.4",
|
|
70
80
|
"react-dom": "19.2.4",
|
|
71
81
|
"@types/react": "19.2.14",
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'theme-ui/jsx-runtime';
|
|
2
|
-
import '../uikit-sdk/Svg/types.js';
|
|
3
|
-
import 'theme-ui';
|
|
4
|
-
import Flex from '../uikit-sdk/Flex/index.js';
|
|
5
|
-
import '../uikit-sdk/Text/types.js';
|
|
6
|
-
import '../uikit-sdk/Checkbox/types.js';
|
|
7
|
-
import '../uikit-sdk/Skeleton/types.js';
|
|
8
|
-
import '../uikit-sdk/Skeleton/styles.js';
|
|
9
|
-
import '../uikit-sdk/TooltipBubble/index.js';
|
|
10
|
-
import 'react';
|
|
11
|
-
import 'framer-motion';
|
|
12
|
-
import '../uikit-sdk/Button/types.js';
|
|
13
|
-
import '../../contexts/ModalContext.js';
|
|
14
|
-
import '../../views/FullBondsView/FullBondsView.js';
|
|
15
|
-
import '../uikit-sdk/Select/types.js';
|
|
16
|
-
|
|
17
|
-
const AppKitButton = () => {
|
|
18
|
-
return (jsx(Flex, { sx: { width: '100%', justifyContent: 'center' }, children: jsx("appkit-connect-button", { label: "Connect Your Wallet" }) }));
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export { AppKitButton as default };
|
|
22
|
-
//# sourceMappingURL=AppKitButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AppKitButton.js","sources":["../../../src/components/ConnectButton/AppKitButton.tsx"],"sourcesContent":["import React from 'react'\nimport { Flex } from '../uikit-sdk'\n\nconst AppKitButton = () => {\n return (\n <Flex sx={{ width: '100%', justifyContent: 'center' }}>\n {/*@ts-ignore*/}\n <appkit-connect-button label=\"Connect Your Wallet\" />\n </Flex>\n )\n}\n\nexport default AppKitButton\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;AAGA,MAAM,YAAY,GAAG,MAAK;IACxB,QACEA,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAA,QAAA,EAEnDA,GAAA,CAAA,uBAAA,EAAA,EAAuB,KAAK,EAAC,qBAAqB,EAAA,CAAG,EAAA,CAChD;AAEX;;;;"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'theme-ui/jsx-runtime';
|
|
2
|
-
import { ConnectButton } from '@rainbow-me/rainbowkit';
|
|
3
|
-
import '../uikit-sdk/Svg/types.js';
|
|
4
|
-
import 'theme-ui';
|
|
5
|
-
import '../uikit-sdk/Text/types.js';
|
|
6
|
-
import '../uikit-sdk/Checkbox/types.js';
|
|
7
|
-
import '../uikit-sdk/Skeleton/types.js';
|
|
8
|
-
import '../uikit-sdk/Skeleton/styles.js';
|
|
9
|
-
import '../uikit-sdk/TooltipBubble/index.js';
|
|
10
|
-
import 'react';
|
|
11
|
-
import 'framer-motion';
|
|
12
|
-
import Button from '../uikit-sdk/Button/Button.js';
|
|
13
|
-
import '../uikit-sdk/Button/types.js';
|
|
14
|
-
import '../../contexts/ModalContext.js';
|
|
15
|
-
import '../../views/FullBondsView/FullBondsView.js';
|
|
16
|
-
import '../uikit-sdk/Select/types.js';
|
|
17
|
-
import track from '../../utils/track.js';
|
|
18
|
-
|
|
19
|
-
const RainbowKitButton = () => {
|
|
20
|
-
return (jsx(ConnectButton.Custom, { children: ({ openConnectModal }) => {
|
|
21
|
-
return (jsx(Button, { fullWidth: true, onClick: () => {
|
|
22
|
-
openConnectModal();
|
|
23
|
-
track({
|
|
24
|
-
event: 'wallet_connect',
|
|
25
|
-
chain: 0,
|
|
26
|
-
data: {
|
|
27
|
-
wallet: 'rainbow',
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
}, sx: { height: '45px', padding: '10px 10px', alignItems: 'center', width: '100%' }, children: "Connect" }));
|
|
31
|
-
} }));
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
export { RainbowKitButton as default };
|
|
35
|
-
//# sourceMappingURL=RainbowKitButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RainbowKitButton.js","sources":["../../../src/components/ConnectButton/RainbowKitButton.tsx"],"sourcesContent":["import React from 'react'\nimport { ConnectButton } from '@rainbow-me/rainbowkit'\nimport { Button } from '../uikit-sdk'\nimport track from '../../utils/track'\n\nconst RainbowKitButton = () => {\n return (\n <ConnectButton.Custom>\n {({ openConnectModal }) => {\n return (\n <Button\n fullWidth\n onClick={() => {\n openConnectModal()\n track({\n event: 'wallet_connect',\n chain: 0,\n data: {\n wallet: 'rainbow',\n },\n })\n }}\n sx={{ height: '45px', padding: '10px 10px', alignItems: 'center', width: '100%' }}\n >\n Connect\n </Button>\n )\n }}\n </ConnectButton.Custom>\n )\n}\n\nexport default RainbowKitButton\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;;AAKA,MAAM,gBAAgB,GAAG,MAAK;IAC5B,QACEA,GAAA,CAAC,aAAa,CAAC,MAAM,EAAA,EAAA,QAAA,EAClB,CAAC,EAAE,gBAAgB,EAAE,KAAI;YACxB,QACEA,IAAC,MAAM,EAAA,EACL,SAAS,EAAA,IAAA,EACT,OAAO,EAAE,MAAK;AACZ,oBAAA,gBAAgB,EAAE;AAClB,oBAAA,KAAK,CAAC;AACJ,wBAAA,KAAK,EAAE,gBAAgB;AACvB,wBAAA,KAAK,EAAE,CAAC;AACR,wBAAA,IAAI,EAAE;AACJ,4BAAA,MAAM,EAAE,SAAS;AAClB,yBAAA;AACF,qBAAA,CAAC;gBACJ,CAAC,EACD,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,SAAA,EAAA,CAG1E;QAEb,CAAC,EAAA,CACoB;AAE3B;;;;"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export { default as Svg } from './Svg';
|
|
2
|
-
export { default as Flex } from './Flex';
|
|
3
|
-
export { default as Text } from './Text';
|
|
4
|
-
export { default as CheckBox } from './Checkbox';
|
|
5
|
-
export { default as Skeleton } from './Skeleton';
|
|
6
|
-
export { default as TooltipBubble } from './TooltipBubble';
|
|
7
|
-
export { default as Modal } from './Modal';
|
|
8
|
-
export { default as Toggle } from './Toggle';
|
|
9
|
-
export { default as SwiperDots } from './SwiperDots';
|
|
10
|
-
export { default as LoadingDots } from './LoadingDots';
|
|
11
|
-
export { default as Checkbox } from './Checkbox';
|
|
12
|
-
export { default as Input } from './Input/Input';
|
|
13
|
-
export { Button, IconButton } from './Button';
|
|
14
|
-
export { Select, SelectItem } from './Select';
|
|
15
|
-
export { ListTag } from './Tag';
|