V1 Functions
获取流动性信息
getExchange
function getExchange(
address token,
).call()
描述:获得流动性池地址
调用合约:Factory
参数:
token
address
代币地址
返回值:pool 的地址
示例:查找 TRX/USDT 的池子地址
const factory_v1 = await tronWeb.contract(V1factoryAbi, config.nile.routerV1)
const exchangeaddress_ = await factory_v1.getExchange(config.nile.usdtToken).call()
console.log(tronWeb.address.fromHex(exchangeaddress_)) //TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb
返回
TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb
增删流动性
addLiquidity
function addLiquidity(
uint256 min_liquidity,
uint256 max_tokens,
uint256 deadline,
).send()
描述:添加流动性
调用合约:pool 合约
参数:
min_liquidity
uint256
预期获取最小流动性
max_tokens
uint256
要添加流动性的最大金额
deadline
uint256
时间期限
返回值:交易hash
示例:TUSD/USDT 池子添加流动性
const swap_v1 = await tronWeb.contract(V1Abi, "TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb") //TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb 为兑换池地址
const addLiquidity_t = await swap_v1.addLiquidity(10,10000, Math.floor(Date.now() / 1000 + 86400)).send({callValue:100})
console.log(addLiquidity_t)
removeLiquidity
function removeLiquidity(
uint256 amount,
uint256 min_trx,
uint256 min_tokens,
uint256 deadline,
).send()
描述:移除流动性
调用合约:pool 合约
参数:
amount
uint256
移除流动性的数量
min_trx
uint256
预期获取最小的TRX数量
min_token
uint256
预期获取最小token数量
deadline
uint256
时间期限
返回值:交易hash
示例:TUSD/USDT 池子移除流动性
const swap_v1 = await tronWeb.contract(V1Abi, "TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb") //TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb 为兑换池地址
const removeLiquidity_t = await swap_v1.removeLiquidity(500,1, 1,Math.floor(Date.now() / 1000 + 86400)).send()
console.log(removeLiquidity_t)
执行兑换
trxToTokenSwapInput
function trxToTokenSwapInput(
uint256 min_tokens,
uint256 deadline,
).send()
描述:卖出 TRX 买入 Token (指定卖出 TRX 的数量)
调用合约:pool 合约
参数:
min_tokens
uint256
预期购买金额最小值
deadline
uint256
时间期限
返回值:交易 hash
示例:TRX 兑换 USDT
const swap_v1 = await tronWeb.contract(V1Abi, "TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb") //TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb 为兑换池地址
const trxToTokenSwapInput_t = await swap_v1.trxToTokenSwapInput(10, Math.floor(Date.now() / 1000 + 86400)).send({callValue:1})
console.log(trxToTokenSwapInput_t)
tokenToTrxSwapInput
function tokenToTrxSwapInput(
uint256 tokens_sold,
uint256 min_trx,
uint256 deadline,
).send()
描述:卖出 Token 买入 TRX (指定卖出 Token 的数量)
调用合约:pool 合约
参数:
tokens_sold
uint256
出售代币的数量
min_trx
uint256
预期购买TRX的最小额度
deadline
uint256
时间期限
返回值:交易 hash
示例:USDT 兑换 TRX
const swap_v1 = await tronWeb.contract(V1Abi, "TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb") //TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb 为兑换池地址
const tokenToTrxSwapInput_t = await swap_v1.tokenToTrxSwapInput(1000000, 1, Math.floor(Date.now() / 1000 + 86400)).send() // minTRX不能为0
console.log(tokenToTrxSwapInput_t)
trxToTokenSwapOutput
function trxToTokenSwapOutput(
uint256 tokens_bought,
uint256 deadline,
).send()
描述:卖出 TRX 买入 Token (指定买入 Token 的数量)
调用合约:pool 合约
参数:
tokens_bought
uint256
预期购买金额
deadline
uint256
时间期限
返回值:交易 hash
示例:TRX 兑换 USDT
const swap_v1 = await tronWeb.contract(V1Abi, "TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb") //TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb 为兑换池地址
const trxToTokenSwapOutput_t = await swap_v1.trxToTokenSwapOutput(10, Math.floor(Date.now() / 1000 + 86400)).send({callValue:100})
console.log(trxToTokenSwapOutput_t)
tokenToTrxSwapOutput
function tokenToTrxSwapOutput(
uint256 trx_bought,
uint256 max_tokens,
uint256 deadline,
).send()
描述:卖出 Token 买入 TRX (指定买入 TRX 的数量)
调用合约:pool 合约
参数:
trx_bought
uint256
预期购买 TRX 的额度
max_tokens
uint256
出售代币的最大数量
deadline
uint256
时间期限
返回值:交易 hash
示例:USDT 兑换 TRX
const swap_v1 = await tronWeb.contract(V1Abi, "TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb") //TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb 为兑换池地址
const tokenToTrxSwapOutput_t = await swap_v1.tokenToTrxSwapOutput(100, 100000000, Math.floor(Date.now() / 1000 + 86400)).send()
console.log(tokenToTrxSwapOutput_t)
trxToTokenTransferInput
function trxToTokenTransferInput(
uint256 min_tokens,
uint256 deadline,
address recipient,
).send()
描述:卖出 TRX 买入 Token (指定收款地址)
调用合约:pool 合约
参数:
min_token
uint256
预期购买金额最小值
deadline
uint256
时间期限
recipient
address
收款地址
返回值:交易 hash
示例:TRX 兑换 USDT
const swap_v1 = await tronWeb.contract(V1Abi, "TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb") //TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb 为兑换池地址
const trxToTokenTransferInput_t = await swap_v1.trxToTokenTransferInput(10, Math.floor(Date.now() / 1000 + 86400), "TXXXXXXXXXXXXXXXXXX").send({callValue:1})
console.log(trxToTokenTransferInput_t)
tokenToTrxTransferInput
function trxToTokenTransferInput(
uint256 tokens_sold,
uint256 min_trx,
uint256 deadline,
address recipient,
).send()
描述:卖出 Token 买入 TRX (指定收款地址)
调用合约:pool 合约
参数:
tokens_sold
uint256
出售代币的数量
min_trx
uint256
预期购买TRX的最小额度
deadline
uint256
时间期限
recipient
address
收款地址
返回值:交易 hash
示例:USDT 兑换 TRX
const swap_v1 = await tronWeb.contract(V1Abi, "TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb") //TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb 为兑换池地址
const tokenToTrxTransferInput_t = await swap_v1.tokenToTrxTransferInput(100000, 1, Math.floor(Date.now() / 1000 + 1000), "TXXXXXXXXXXXXXXXXXX").send() //minTRX 不能为0
console.log(tokenToTrxTransferInput_t)
tokenToTokenSwapInput
function tokenToTokenSwapInput(
uint256 tokens_sold,
uint256 min_tokens_bought,
uint256 min_trx_bought,
uint256 deadline,
address token_addr,
).send()
描述:卖出 Token 买入 Token (以 TRX 为桥接)
调用合约:pool 合约
参数:
tokens_sold
uint256
出售代币的数量
min_tokens_bought
uint256
预期购买代币的金额最小值
min_trx_bought
uint256
预期购买TRX的金额最小值
deadline
uint256
时间期限
token_addr
address
买入的代币地址
返回值:交易 hash
示例:USDT 兑换 SUN
const swap_v1 = await tronWeb.contract(V1Abi, "TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb") //TKxUU8588Zdt44Ues3p62gULLXtgTJ2CGb 为兑换池地址
const tokenToTokenSwapInput_t = await swap_v1.tokenToTokenSwapInput(1000000, 1, 1, Math.floor(Date.now() / 1000 + 86400), config.nile.sunToken).send()
console.log(tokenToTokenSwapInput_t)
Last updated