BoringDAO SDK
npm install @boringdao/boringdao-sdk``typescript
import ethers from 'ethers'
// Source chain provider with account
const provider = new ethers.providers.Web3Provider(window.ethereum)
const signer = provider.getSigner() // provider with account
// Destination chain provider
const targetProvider = new ethers.providers.JsonRpcProvider(
'https://bsc-dataseed.binance.org/',
56
)
// 1. Get USDT liquidity (Ethereum -> BSC)
const liquidity = await getUSDTLiquidity(provider, targetProvider, 1, 56)
console.log(liquidity.toString())
// 2. Get cross-chain fee (Ethereum -> BSC, 100 USDT)
const result = await getCrossUSDTResult(provider, targetProvider, 1, 56, "100")
console.log(result[0].toString()) // Cross-chain fee
console.log(result[1].toString()) // The USDT amount that user will get at destination chain(BSC)
// 3. Cross USDT (Ethereum -> BSC, 100 USDT)
// You should approve twoway contract to use your USDT before crossOutUSDTgetTwowayAddress
// You can get twoway contract address by function getUSDTAddress
// and get USDT address by function `
await crossOutUSDT(
signer,
1,
56,
"0x1fF1a0A34F5Da76d6e7d7ba2E9B809228B0d6113",
"0x2fF1a0A34F5Da76d6e7d7ba2E9B809228B0d6113",
"100"
)
`typescript`
export const crossOutUSDT = async (
signerOrProvider: Signer | ethers.providers.Provider,
fromChainID: number,
toChainID: number,
account: string,
to: string,
amount: string
): Promise
signerOrProvider: Provider or Signer
fromChainID: Source chain id
toChainID: Destination chain id
account: User account
to: Destination chain address
amount: USDT amount (The value entered by the user)
`typescript`
export const getCrossUSDTResult = async (
provider: ethers.providers.Provider,
targetProvider: ethers.providers.Provider,
fromChainID: number,
toChainID: number,
amount: string
): Promise
The return value is fee amount and obtaining USDT amount(The decimal of result is 18)
provider: Provider
targetProvider: Destination chain provider
fromChainID: Source chain id
toChainID: Destination chain id
amount: USDT amount (The value entered by the user)
`typescript`
export const getUSDTLiquidity = async (
provider: ethers.providers.Provider,
targetProvider: ethers.providers.Provider,
fromChainID: number,
toChainID: number
): Promise
The return value(Decimal is 18) is maximum cross-chain amount
provider: Provider
targetProvider: Destination chain provider
fromChainID: Source wallet chain id
toChainID: Destination chain id
Get twoway address by chain id
`typescript`
export const getTwowayAddress = (chainID: number) => {}
Get USDT address by chain id
`typescript``
export const getUSDTAddress = (chainID: number) => {}