LFJ Developer Docs
  • Liquidity Book
  • Introduction
  • LB V2.2 Key Changes
  • Guides
    • Swap Tokens
    • Add/Remove Liquidity
    • Tracking Volume
    • Tracking Pool Balances
    • Finding The Best Quote
    • Byte32 Decoding
    • Price From Bin Id
    • Bin Id From Price
    • Finding Liquidity Depth
    • User Balances
  • Concepts
    • Concentrated Liquidity
    • Bin Math
    • Bin Liquidity
    • Swaps
    • Fees
    • Oracle
  • Contracts
    • Interfaces
      • ILBLegacyFactory
      • ILBLegacyToken
      • ILBLegacyPair
      • ILBLegacyRouter
      • ILBFlashLoanCallback
      • IPendingOwnable
      • IJoeFactory
      • IJoePair
      • IJoeRouter01
      • IJoeRouter02
      • IWNATIVE
      • ILBFactory
      • ILBHooks
      • ILBPair
      • ILBRouter
      • ILBToken
    • Libraries
      • Math
        • BitMath
        • Encoded
        • LiquidityConfigurations
        • PackedUint128Math
        • SafeCast
        • SampleMath
        • TreeMath
        • Uint128x128Math
        • Uint256x256Math
      • BinHelper
      • Clone
      • Constants
      • FeeHelper
      • Hooks
      • ImmutableClone
      • JoeLibrary
      • OracleHelper
      • PairParameterHelper
      • PriceHelper
      • ReentrancyGuardUpgradeable
      • TokenHelper
    • LBBaseHooks
    • LBFactory
    • LBPair
    • LBQuoter
    • LBRouter
    • LBToken
  • Deployment Addresses
    • Avalanche C-Chain
    • Fuji Testnet
    • Arbitrum One
    • Binance Smart Chain
    • Binance Smart Chain Testnet
    • Ethereum Mainnet
    • Monad Testnet
  • SDK
    • Introduction
    • Making a Trade
    • Adding Liquidity
    • Removing Liquidity
  • Audits
  • AMM
    • Joe V1 Contracts
    • Joe V1 Audits
  • LFJ DEX API
    • Dex Analytics
    • Pools
    • Rewards
    • User
    • User Lifetime Stats
    • Vaults
    • Models
  • LFJ Aggregator API
    • Default
    • Models
Powered by GitBook
On this page
  • Functions
  • safeTransferFrom
  • safeTransfer
  • _callAndCatch
  • Errors
  • TokenHelper__TransferFailed
  1. Contracts
  2. Libraries

TokenHelper

PreviousReentrancyGuardUpgradeableNextLBBaseHooks

Last updated 8 days ago

Author: Trader Joe

Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a using TokenHelper for IERC20; statement to your contract, which allows you to call the safe operation as token.safeTransfer(...)

Functions

safeTransferFrom

Transfers token and reverts if the transfer fails

function safeTransferFrom(IERC20 token, address owner, address recipient, uint256 amount) internal;

Parameters

Name
Type
Description

token

IERC20

The address of the token

owner

address

The owner of the tokens

recipient

address

The address of the recipient

amount

uint256

The amount to send

safeTransfer

Transfers token and reverts if the transfer fails

function safeTransfer(IERC20 token, address recipient, uint256 amount) internal;

Parameters

Name
Type
Description

token

IERC20

The address of the token

recipient

address

The address of the recipient

amount

uint256

The amount to send

_callAndCatch

function _callAndCatch(IERC20 token, bytes memory data) internal;

Errors

TokenHelper__TransferFailed

error TokenHelper__TransferFailed();
Git Source