1.0.9 • Published 4 years ago
@boringdao/boringdao-sdk v1.0.9
BoringDAO SDK
Demo
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 `crossOutUSDT`
// You can get twoway contract address by function `getTwowayAddress`
// and get USDT address by function `getUSDTAddress`
await crossOutUSDT(
signer,
1,
56,
"0x1fF1a0A34F5Da76d6e7d7ba2E9B809228B0d6113",
"0x2fF1a0A34F5Da76d6e7d7ba2E9B809228B0d6113",
"100"
)
crossOutUSDT
export const crossOutUSDT = async (
signerOrProvider: Signer | ethers.providers.Provider,
fromChainID: number,
toChainID: number,
account: string,
to: string,
amount: string
): Promise<TransactionReceipt>
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)
getCrossUSDTResult
export const getCrossUSDTResult = async (
provider: ethers.providers.Provider,
targetProvider: ethers.providers.Provider,
fromChainID: number,
toChainID: number,
amount: string
): Promise<string[]>
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)
getUSDTLiquidity
export const getUSDTLiquidity = async (
provider: ethers.providers.Provider,
targetProvider: ethers.providers.Provider,
fromChainID: number,
toChainID: number
): Promise<string>
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
getTwowayAddress
Get twoway address by chain id
export const getTwowayAddress = (chainID: number) => {}
getUSDTAddress
Get USDT address by chain id
export const getUSDTAddress = (chainID: number) => {}