utils APIs
- calculateSlippageAmount
- calculateGasMargin
- getRouterContract
- getBscScanLink
- isAddress
- shortenAddress
- getEtherscanLink
- basisPointsToPercent
- getTokenAddress
- copyToClipboard
- deepMergeByKey
- decrypt
- encrypt
- emailErrorMsg
- reqErrorMsg
- debouncePromise
- callbackify
- isValidURL
- hasUserApiEditAccess
- loadThirdPartyScript
- getCurrentWindow
- hashVote
- toEthSignedMessageHash
- MAINNET_ID
- usePrevious
- bnum
- normalizeBalance
- isWalletScheme
- WalletSchemeProposalState
- VotingMachineProposalState
- calculateStakes
- formatBalance
- denormalizeBalance
- PendingAction
- isVoteNo
- isVoteYes
- parseSignedVoteMessage
- toPercentage
- verifySignedVote
- NETWORK_ASSET_SYMBOL
- ZERO_ADDRESS
- enumKeys
- DEFAULT_CHAIN_ID
- useInterval
- getBlockchainLink
- getERC20Token
- getDxVoteContract
- toAddressStub
- getNetworkById
- formatNumberValue
- encodeDxdVestingCreate
- encodeErc20Approval
- encodeErc20Transfer
- encodeRepMint
- TXEvents
- BigNumber
- ZERO_HASH
- ANY_ADDRESS
- ERC20_APPROVE_SIGNATURE
- ERC20_TRANSFER_SIGNATURE
- QUEUED_PRIORITY_THRESHOLD
- NETWORKS
- toCamelCaseString
- ALCHEMY_NETWORK_URLS
- DEFAULT_RPC_URLS
- appendEthAPIKey
- NETWORK_APIS
- INFURA_NETWORK_NAMES
- POKT_NETWORK_URLS
- constants
- session
- displayFromWei
- getBigNumber
- getSupplyCap
- getAllowance
- approve
- fromWei
- getFullDisplayBalance
- getLibrary
- maxAmountSpend
- addMaticToMetamask
- returnTokenFromKey
- isSupportedNetwork
- formatTokenAmount
- formatCompact
- formatNumber
- isTokensOnList
- getAPYWithFee
- getRewardRate
- getStakedAmountStakingInfo
- getTVLStaking
- getEarnedUSDLPFarm
- getEarnedUSDDualFarm
- formatAPY
- getUSDString
- formatMulDivTokenAmount
- getExactTokenAmount
- escapeRegExp
- currencyId
- getOneYearFee
- returnStakingInfo
- getAllTokensOnUniswap
- getAllPairsOnUniswap
- getSecondsOneDay
- getValueTokenDecimals
- getPartialTokenAmount
- confirmPriceImpactWithoutFee
- halfAmountSpend
- getTokenInfo
- getEthPrice
- getIntervalTokenData
- getTokenAPRSyrup
- getEarnedUSDSyrup
- getFormattedPrice
- getPriceColor
- getTopTokens
- shortenTx
- getContract
- isZero
- getChartData
- getChartDates
- getChartStartTime
- getLimitedData
- getTopPairs
- getGlobalData
- getBulkPairData
- formatDateFromTimeStamp
- getPairChartData
- getYAXISValuesAnalytics
- getPairTransactions
- getTokenChartData
- getTokenPairs2
- useLairDQUICKAPY
- getPageItemsToLoad
- returnFullWidthMobile
- returnDualStakingInfo
- getDaysCurrentYear
- getTokenPairs
- getBlockFromTimestamp
- getFarmLPToken
- getSyrupLPToken
- initTokenAmountFromCallResult
- returnSyrupInfo
- getCallStateResult
- notEmpty
- DEFAULT_TO_CHAIN_ID
- CHAINS
- UnsupportedChainIdError
- switchChain
- showMigrationBanner
- isValidAddress
- ChainId
- COLORS
- QUERIES
- onboard
- disableSendForm
- max
- parseUnits
- formatUnits
- ParsingError
- TOKENS_LIST
- Token
- blockLiquidity
- migrationPoolV2Warning
- formatEtherRaw
- numberFormatter
- estimateGasForAddEthLiquidity
- DEFAULT_ADD_LIQUIDITY_ETH_GAS_ESTIMATE
- UPDATE_GAS_INTERVAL_MS
- toWeiSafe
- addEtherscan
- receiveAmount
- getEstimatedDepositTime
- DEFAULT_FROM_CHAIN_ID
- formatEther
- PROVIDERS
- getRelayFees
- getLpFee
- isSupportedChainId
- getAddress
- getDepositBox
- TransactionError
- MAX_APPROVAL_AMOUNT
- optimismErc20Pairs
- bobaErc20Pairs
- tagAddress
- validateContractAndChain
- multicallTwoAddress
- IChainSelection
- CHAINS_SELECTION
- onboardBaseConfig
- getConfirmationDepositTime
- shortenAddressLong
- timeAgo
- textareaAutoResize
- initOAuthWindow
- parseURL
- scrollToBottom
- isUrl
- get_url_extension
- wait
- b64_to_utf8
- utf8_to_b64
- callDelayer
- useKeyboardDidShow
- capitalizedCase
- getCoinSymbol
- getCountryName
- getTransactionStatusColor
- useAlert
- scaleSpacing
- getActiveCase
- changeBodyTheme
- getPercentage
- metaGenerator
- useFetch
- visualize
- worldLegends
- dateFormat
- getPerDayStats
- API_BASEURL
- API_INDONESIA
- indonesiaLegends
- getActiveCaseID
- isWsAddress
- constructApiDescriptionObject
- encodeURI
- NOOP
- isLoggedIn
- getBalance
- getAccount
- isTokenOnList
- formatAddressShort
- requiresTypeSlug
- getNextOffchainPollEndingTime
- slugify
- slugifyPreserveDashes
- setupSwagger
- isBlindMode
- getExplorerLink
- isCountdown
- showVvsPrice
- getCookies
- iconFromMIME
- makeRangeArray
- exitIfMaintenance
- sanitizeHtmlString
- parseDate
- retryWrapper
- batchPromises
- arrayPartitions
- sleep
- checkKeyboardTrigger
- clampValue
- debounce
- normalize
- strToInt
- getFromLocalStorage
- saveToLocalStorage
- generateTagColors
- formatNumberWithCommas
- memoize
- calculateTotalInvestment
- throttle
- urlParametersState
- mmddyyyy2ddmmyyy
- sortStringDates
- gtag
- compactNumberFormatter
- getNumberSign
- getLastArrayElement
- fillArrayUntil
- capitalizeFirstLetter
- buildUrl
- XmlWrapper
- XmlTemplate
- setCookie
Other Related APIs
utils#approve TypeScript Examples
The following examples show how to use
utils#approve.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: useApproval.ts From index-ui with MIT License | 5 votes |
useApproval = (
tokenAddress?: string,
spenderAddress?: string,
onTxHash?: (txHash: string) => void
) => {
const allowance = useAllowance(tokenAddress, spenderAddress)
const [isApproving, setIsApproving] = useState(false)
const [isApproved, setIsApproved] = useState(false)
const {
account,
ethereum,
}: { account: string | null | undefined; ethereum?: provider } = useWallet()
const handleApprove = useCallback(async () => {
if (!ethereum || !account || !spenderAddress || !tokenAddress) {
return
}
try {
setIsApproving(true)
const result = await approve(
account,
spenderAddress,
tokenAddress,
ethereum,
onTxHash
)
setIsApproved(result)
setIsApproving(false)
} catch (e) {
setIsApproving(false)
return false
}
}, [
account,
ethereum,
onTxHash,
setIsApproved,
setIsApproving,
spenderAddress,
tokenAddress,
])
useEffect(() => {
if (allowance?.isGreaterThan(minimumRequiredApprovalQuantity)) {
setIsApproved(true)
return
}
setIsApproved(false)
}, [allowance, setIsApproved])
return {
isApproved,
isApproving,
onApprove: handleApprove,
}
}