1.0.9 • Published 4 years ago

@boringdao/boringdao-sdk v1.0.9

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

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) => {}
1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago