h-agent-swap 2.1.8 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/.DS_Store +0 -0
- package/src/BERC20.js +30 -0
- package/src/abi/ERC20Standard.json +359 -0
- package/src/abi/PancakePair.json +5 -1
- package/src/abi/ProofPoker.json +293 -0
- package/src/abi/SwapFactory.json +2 -2
- package/src/abi/SwapRouter.json +7 -2
- package/src/abi/TokenMarket.json +324 -956
- package/src/agent-swap.js +118 -96
- package/src/index.js +7 -1
- package/src/poker.js +31 -0
- package/src/swap-router.js +45 -2
package/src/agent-swap.js
CHANGED
|
@@ -19,6 +19,20 @@ class AgentSwap extends HI {
|
|
|
19
19
|
this.lp = lp
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
async transfer({ to,amount,contract }) {
|
|
23
|
+
let tokenItem = new ERC20({ ...this.network,contract })
|
|
24
|
+
let user = this.web3.eth.defaultAccount
|
|
25
|
+
let balance = await this.balanceOf({
|
|
26
|
+
token:contract,
|
|
27
|
+
address:user
|
|
28
|
+
})
|
|
29
|
+
if(parseFloat(balance) < parseFloat(amount)) {
|
|
30
|
+
return false
|
|
31
|
+
}
|
|
32
|
+
let result = await tokenItem.transfer(to,amount)
|
|
33
|
+
return result
|
|
34
|
+
}
|
|
35
|
+
|
|
22
36
|
async estimate({ side = 0,amount = 0, point = 0 , wallet = "" ,usdt = "" }) {
|
|
23
37
|
let usdt_precision = 6
|
|
24
38
|
let tau_precision = 18
|
|
@@ -304,22 +318,11 @@ ${JSON.stringify(data,null,2)}`)
|
|
|
304
318
|
|
|
305
319
|
|
|
306
320
|
|
|
307
|
-
async updateConfig({ tokenIn,tokenOut,config
|
|
321
|
+
async updateConfig({ tokenIn,tokenOut,config }) {
|
|
308
322
|
|
|
309
323
|
config.feeRate = multiplication(division(config.feeRate,100),this.pointMax)
|
|
310
|
-
config.
|
|
311
|
-
|
|
312
|
-
config.feeMax = multiplication(division(config.feeMax,100),this.pointMax)
|
|
313
|
-
config.rewardMin = multiplication(division(config.rewardMin,100),this.pointMax)
|
|
314
|
-
config.rewardMax = multiplication(division(config.rewardMax,100),this.pointMax)
|
|
315
|
-
config.range = multiplication(division(config.range,100),this.pointMax)
|
|
316
|
-
config.feeChange = multiplication(division(config.feeChange,100),this.pointMax)
|
|
317
|
-
config.rewardChange = multiplication(division(config.rewardChange,100),this.pointMax)
|
|
318
|
-
tax.tax = multiplication(division(tax.tax,100),this.pointMax)
|
|
319
|
-
tax.backBuy = multiplication(division(tax.backBuy,100),this.pointMax)
|
|
320
|
-
|
|
321
|
-
let symbol = new HERC20({ ...this.network, contract: usdt ? usdt : tokenOut })
|
|
322
|
-
config.price = await symbol.toAmount(config.price)
|
|
324
|
+
config.burnRate = multiplication(division(config.burnRate,100),this.pointMax)
|
|
325
|
+
|
|
323
326
|
|
|
324
327
|
let params = [
|
|
325
328
|
tokenIn,
|
|
@@ -327,30 +330,83 @@ ${JSON.stringify(data,null,2)}`)
|
|
|
327
330
|
[
|
|
328
331
|
config.feeReceipt,
|
|
329
332
|
config.feeRate,
|
|
330
|
-
config.
|
|
331
|
-
config.
|
|
332
|
-
config.
|
|
333
|
-
config.feeMin,
|
|
334
|
-
config.feeMax,
|
|
335
|
-
config.rewardMin,
|
|
336
|
-
config.rewardMax,
|
|
337
|
-
config.range,
|
|
338
|
-
config.feeChange,
|
|
339
|
-
config.rewardChange
|
|
333
|
+
config.burnReceipt,
|
|
334
|
+
config.burnRate,
|
|
335
|
+
config.onoff
|
|
340
336
|
],
|
|
341
|
-
[
|
|
342
|
-
tax.taxReceipt,
|
|
343
|
-
tax.tax,
|
|
344
|
-
tax.backBuy,
|
|
345
|
-
tax.pricing
|
|
346
|
-
]
|
|
347
|
-
|
|
348
337
|
]
|
|
349
|
-
console.log(params)
|
|
350
338
|
let result = await this.manage("updateConfig",params)
|
|
351
339
|
return result
|
|
352
340
|
}
|
|
353
341
|
|
|
342
|
+
async sync({ tokenIn,tokenOut }) {
|
|
343
|
+
|
|
344
|
+
let params = [
|
|
345
|
+
tokenIn,
|
|
346
|
+
tokenOut,
|
|
347
|
+
]
|
|
348
|
+
let result = await this.manage("sync",params)
|
|
349
|
+
return result
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
async updateWhite({ address,onoff }) {
|
|
354
|
+
|
|
355
|
+
let params = [
|
|
356
|
+
address,
|
|
357
|
+
onoff
|
|
358
|
+
]
|
|
359
|
+
let result = await this.manage("updateWhite",params)
|
|
360
|
+
return result
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
async setMaxAllowedOffset(percent) {
|
|
365
|
+
percent = multiplication(division(percent,100),this.pointMax)
|
|
366
|
+
let params = [
|
|
367
|
+
percent
|
|
368
|
+
]
|
|
369
|
+
let result = await this.manage("setMaxAllowedOffset",params)
|
|
370
|
+
return result
|
|
371
|
+
}
|
|
372
|
+
async getMaxAllowedOffset() {
|
|
373
|
+
let result = await this.SC.methods.maxAllowedOffset().call()
|
|
374
|
+
|
|
375
|
+
return division(result,this.pointMax)
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
async setMaxSwapRatioBps(percent) {
|
|
379
|
+
percent = multiplication(division(percent,100),this.pointMax)
|
|
380
|
+
let params = [
|
|
381
|
+
percent
|
|
382
|
+
]
|
|
383
|
+
let result = await this.manage("setMaxSwapRatioBps",params)
|
|
384
|
+
return result
|
|
385
|
+
}
|
|
386
|
+
async getMaxSwapRatioBps() {
|
|
387
|
+
let result = await this.SC.methods.maxSwapRatioBps().call()
|
|
388
|
+
|
|
389
|
+
return division(result,this.pointMax)
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
async setTwapPeriod(period) {
|
|
395
|
+
|
|
396
|
+
let params = [
|
|
397
|
+
period
|
|
398
|
+
]
|
|
399
|
+
let result = await this.manage("setTwapPeriod",params)
|
|
400
|
+
return result
|
|
401
|
+
}
|
|
402
|
+
async getTwapPeriod() {
|
|
403
|
+
let result = await this.SC.methods.twapPeriod().call()
|
|
404
|
+
|
|
405
|
+
return result
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
|
|
354
410
|
|
|
355
411
|
async route() {
|
|
356
412
|
if (!this.ROUTER) {
|
|
@@ -376,27 +432,10 @@ ${JSON.stringify(data,null,2)}`)
|
|
|
376
432
|
}
|
|
377
433
|
|
|
378
434
|
|
|
379
|
-
async getConfig({ tokenIn,tokenOut
|
|
380
|
-
let
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
let result = {
|
|
384
|
-
...result1,
|
|
385
|
-
...result2
|
|
386
|
-
}
|
|
387
|
-
result.feeChange = multiplication(division(result.feeChange,this.pointMax),100)
|
|
388
|
-
result.rewardChange = multiplication(division(result.rewardChange,this.pointMax),100)
|
|
389
|
-
result.feeMax = multiplication(division(result.feeMax,this.pointMax),100)
|
|
390
|
-
result.feeMin = multiplication(division(result.feeMin,this.pointMax),100)
|
|
391
|
-
result.feeRate = multiplication(division(result.feeRate,this.pointMax),100)
|
|
392
|
-
result.range = multiplication(division(result.range,this.pointMax),100)
|
|
393
|
-
result.price = await usdtToken.fromAmount(result.price)
|
|
394
|
-
result.reward = multiplication(division(result.reward,this.pointMax),100)
|
|
395
|
-
|
|
396
|
-
result.rewardMax = multiplication(division(result.rewardMax,this.pointMax),100)
|
|
397
|
-
result.rewardMin = multiplication(division(result.rewardMin,this.pointMax),100)
|
|
398
|
-
result.tax = multiplication(division(result.tax,this.pointMax),100)
|
|
399
|
-
result.backBuy = multiplication(division(result.backBuy,this.pointMax),100)
|
|
435
|
+
async getConfig({ tokenIn,tokenOut }) {
|
|
436
|
+
let result = await this.SC.methods.runConfig(tokenIn,tokenOut).call()
|
|
437
|
+
|
|
438
|
+
|
|
400
439
|
return result
|
|
401
440
|
}
|
|
402
441
|
|
|
@@ -505,8 +544,29 @@ ${JSON.stringify(data,null,2)}`)
|
|
|
505
544
|
|
|
506
545
|
|
|
507
546
|
async tradeConfig({ amount,path,side = 0,point = 1000, target = "" }) {
|
|
547
|
+
if(path.length != 2) {
|
|
548
|
+
throw "仅支持单一交易对计算"
|
|
549
|
+
}
|
|
550
|
+
if(side != 0) {
|
|
551
|
+
throw "仅支持固定输入计算"
|
|
552
|
+
}
|
|
508
553
|
let inToken = path[0]
|
|
509
554
|
let outToken = path[path.length - 1]
|
|
555
|
+
|
|
556
|
+
let config = await this.getConfig({ tokenIn:inToken,tokenOut:outToken })
|
|
557
|
+
if(!config.onoff) {
|
|
558
|
+
throw "交易对未开启"
|
|
559
|
+
}
|
|
560
|
+
// amount 为固定输入金额
|
|
561
|
+
// 扣除手续费 以及 销毁费用
|
|
562
|
+
amount = await this.pointOffset({
|
|
563
|
+
point:plus(config.feeRate,config.burnRate),
|
|
564
|
+
amount,
|
|
565
|
+
isplus:false
|
|
566
|
+
})
|
|
567
|
+
console.log("扣除费用后金额:",amount)
|
|
568
|
+
|
|
569
|
+
|
|
510
570
|
let IToken = new HERC20({ ...this.network, contract: inToken })
|
|
511
571
|
let OToken = new HERC20({ ...this.network, contract: outToken })
|
|
512
572
|
let outAmount;
|
|
@@ -516,51 +576,12 @@ ${JSON.stringify(data,null,2)}`)
|
|
|
516
576
|
inAmount = amount
|
|
517
577
|
outAmount = await this.computeAmount({ amount,path,side,point })
|
|
518
578
|
inputAmount = await IToken.toAmount(amount)
|
|
519
|
-
|
|
520
|
-
inAmount = await this.computeAmount({ amount,path,side,point,format:true })
|
|
521
|
-
outAmount = await OToken.toAmount(amount)
|
|
522
|
-
inputAmount = await IToken.toAmount(amount)
|
|
579
|
+
console.log("预计输出金额:",outAmount)
|
|
523
580
|
}
|
|
524
|
-
let user = target ? target : this.web3.eth.defaultAccount
|
|
525
|
-
console.log([inToken,outToken,path,inputAmount,outAmount,user])
|
|
526
|
-
|
|
527
|
-
let result;
|
|
528
|
-
let decimals = await OToken.decimals()
|
|
529
|
-
try{
|
|
530
|
-
|
|
531
|
-
result = await this.SC.methods.fundRead(inToken,outToken,path,inputAmount,outAmount,user).call()
|
|
532
|
-
console.log(result)
|
|
533
|
-
|
|
534
|
-
result.feeAmount = toSmall(result.group.feeAmount,decimals)
|
|
535
|
-
result.outReal = toSmall(result.group.outAmount,decimals)
|
|
536
|
-
result.taxAmount = toSmall(result.group.taxAmount,decimals)
|
|
537
|
-
result.backAmount = toSmall(result.group.backAmount,decimals)
|
|
538
|
-
result.buyAmount = toSmall(result.group.buyAmount,decimals)
|
|
539
|
-
result.change = toSmall(result.group.change,decimals)
|
|
540
|
-
result.win = result.group.win
|
|
541
|
-
|
|
542
|
-
result.feeRate = division(result.config.feeRate,this.pointMax)
|
|
543
|
-
result.reward = division(result.config.reward,this.pointMax)
|
|
544
|
-
result.rewardAmount = multiplication(result.reward,toSmall(outAmount,decimals))
|
|
545
|
-
result.outAmount = toSmall(outAmount,decimals)
|
|
546
|
-
result.inAmount = inAmount
|
|
547
|
-
}catch(err){
|
|
548
|
-
console.log(err)
|
|
549
|
-
result = {}
|
|
550
|
-
result.outAmount = toSmall(outAmount,decimals)
|
|
551
|
-
result.inAmount = inAmount
|
|
552
|
-
result.feeAmount = 0
|
|
553
|
-
result.outReal = 0
|
|
554
|
-
result.taxAmount = 0
|
|
555
|
-
result.buyAmount = 0
|
|
556
|
-
result.change = 0
|
|
557
|
-
result.win = false
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
console.log(result)
|
|
561
581
|
|
|
582
|
+
let outputAmount = await OToken.fromAmount(outAmount)
|
|
562
583
|
|
|
563
|
-
return
|
|
584
|
+
return outputAmount
|
|
564
585
|
}
|
|
565
586
|
|
|
566
587
|
|
|
@@ -652,6 +673,7 @@ ${JSON.stringify(data,null,2)}`)
|
|
|
652
673
|
ethAmount = inAmount
|
|
653
674
|
}
|
|
654
675
|
|
|
676
|
+
|
|
655
677
|
let amountIn = await IToken.fromAmount(inAmount)
|
|
656
678
|
await IToken.tradeApprove(this.contract,amountIn)
|
|
657
679
|
|
|
@@ -661,7 +683,7 @@ ${JSON.stringify(data,null,2)}`)
|
|
|
661
683
|
deadline = deadline ? deadline : plus(multiplication(60, 30), now)
|
|
662
684
|
|
|
663
685
|
let parma_list = [
|
|
664
|
-
path,inAmount,
|
|
686
|
+
path,inAmount,side, deadline,point
|
|
665
687
|
]
|
|
666
688
|
console.log(parma_list)
|
|
667
689
|
let parmas = await this.buildTx("swapToken", parma_list, ethAmount)
|
package/src/index.js
CHANGED
|
@@ -3,16 +3,22 @@ let AgentSwap = require("./agent-swap")
|
|
|
3
3
|
let SwapFactory = require("./swap-factory")
|
|
4
4
|
let SwapRouter = require("./swap-router")
|
|
5
5
|
let SwapLP = require("./swap-pair")
|
|
6
|
+
let Poker = require("./poker")
|
|
7
|
+
let BERC20 = require("./BERC20")
|
|
6
8
|
if (window) {
|
|
7
9
|
window.AgentSwap = AgentSwap
|
|
8
10
|
window.SwapFactory = SwapFactory
|
|
9
11
|
window.SwapRouter = SwapRouter
|
|
10
12
|
window.SwapLP = SwapLP
|
|
13
|
+
window.Poker = Poker
|
|
14
|
+
window.BERC20 = BERC20
|
|
11
15
|
}
|
|
12
16
|
|
|
13
17
|
module.exports = {
|
|
14
18
|
AgentSwap,
|
|
15
19
|
SwapFactory,
|
|
16
20
|
SwapRouter,
|
|
17
|
-
SwapLP
|
|
21
|
+
SwapLP,
|
|
22
|
+
Poker,
|
|
23
|
+
BERC20
|
|
18
24
|
}
|
package/src/poker.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
let { HI, HERC20, HERC721 } = require("h-token-staking")
|
|
2
|
+
let { abi } = require("./abi/PancakePair.json")
|
|
3
|
+
|
|
4
|
+
let { plus, reduce, multiplication, division, saveNum, charCompare, longHandle, toSmall } = require("h-token-staking/src/utils")
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Poker extends HI {
|
|
8
|
+
constructor({ provider, account, rpcUrl, privateKey, contract }) {
|
|
9
|
+
super({ provider, account, rpcUrl, privateKey, contract, abi })
|
|
10
|
+
this.mainToken = "0x0000000000000000000000000000000000000000"
|
|
11
|
+
this.maxVal = "999000000000000000000000000000000000000000000000000"
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
async manage(method, param = []) {
|
|
15
|
+
|
|
16
|
+
let parmas = await this.buildTx(method, param)
|
|
17
|
+
let result = parmas && await this.broadTx(parmas)
|
|
18
|
+
return result
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async batchShuffleDeck() {
|
|
22
|
+
let result = await this.manage("batchShuffleDeck", [
|
|
23
|
+
[4, 9, ["BCN3flPvQG7WwA0QeJf6zQ==", "AyiTbgXKnzBBRL5k3RalkA==", "oNmVY+Hfd+AhCfIbWntkvA==", "LS1ntlTCXaCmNSddhA2UhQ==", "YmgD1T8gdEKPKCy40rAxww==", "K6k0LZ9Ccf9YaD4W1SyrUA==", "aQ+UMN31NIt+CGa5gggxzA==", "eX5FqgHkrdjDnPzr8aNwyQ==", "t3uWwv5pZ6cCNWdZGooCpw==", "gxmozokr7q2CNHRk/3Tn6w==", "0XwEbSmXDQoaumvC1Lxfxg==", "IuuC5ijJJU6YEh/GjGtr5g==", "fw50pD+WozmGqsCM39g3/Q==", "PsS+8aKEvtrKPr48q2Tblw==", "IJ+AJ9pOpRsIC60DPjbs5w==", "f5Q6mNRz+7bWeT4CdCNk8g==", "7AlL0l8qaH2nWAWK5VtLmg==", "d8dmOZvHEgzikh6C7PTGKw==", "izr8d/Ejgdq/SpO2BNrFIQ==", "j8GnE/dF0Zs4Mh8XUP68dg==", "0HnGukrdknUBDc4ZufwuRQ==", "95vYaGn/RHmOygp8ClvWfg==", "G7+iavf+Akm1sHiPQsm0TQ=="]],
|
|
24
|
+
[5, 9, ["ONczmRH95zmrfXTMtDyIsA==", "TM804gczm1uAcrK2ZVzbHA==", "QnfEXRsRwduSrTAzOgrRUA==", "IH56WOzJ8NRJXP79zUCWIw==", "GWxNo4EwLHc1lpeg5yCnoQ==", "3VcZqi5W47B6wcWsQxxNUQ==", "zE0cMG5ipNKX3bEUjpFsJA==", "SyDKRiDl+Rz5hg0HHE1PCQ==", "dirNT5ChBfPC0oZ8ctgw7A==", "xskDjAwxVOZkAIPMvUW5Zw==", "IgSv0F+ibJ9ErlwetUSv6w==", "pyWQcNmzIJ9UnxP3AhBo4A==", "WmU99woVsPCeOCP34k90gQ==", "Eu5+JU6/ePC7broKWAdJiQ==", "9COwh60lVtLnIEPZQGUuQA==", "yJxEDNvI4YOwsF45aYv9pw==", "iEPUJbpYkubUK6w1iJoQ+A==", "W/ktKxAKmW/rtP6PZCdCgg==", "SNJ7MlIbXg4zRCThzBlQqA==", "q6pnlFj1pw5E8l40gQ0tKw==", "25UjeQsif+UPUN1kweaJQA==", "WSVlQ2S6BhjCtST7EFGSgQ==", "UbNeaEmRW+p4LcLrwYXrFg=="]],
|
|
25
|
+
[6, 9, ["TTgHdcIPOQujo+F7xWe1Zw==", "uJ1ABPwWhGjrQJlkK+dTFA==", "cvLZwIjGLxGxG5DSSAUETg==", "VGHKdF0Tzcg7VeeLAHZstg==", "9ILIiwQotAnoYzVjv5uP0Q==", "vJb5KNoPn+oXg6t0asn5yw==", "VIfQbLiUBxx3R7ST6Eh5eg==", "gwSr3saCHQlvvgXNHuWgbw==", "HUqm1Mhy37wagPu/5wvsLw==", "lZ4+kbTK4LGqlf/Sy7OWeg==", "9EHrARME1VU32x/ut1cPbQ==", "etW9wU1SM44kwm1TUpt1lQ==", "Ck37jaaJNRicKIdyQE+k9w==", "AeQRDUsdIGZzb4NVeHeZyg==", "AxLm8wmsM64owMIB1u3gYg==", "SpbGHhdf9NX6QRo1plI8nw==", "9Jd+HHMW8DHTacnI84wBkQ==", "F8PG/m+HX+cAlgb9cvDDjQ==", "PwDw83D/pt5wF9x9ChJ6mw==", "kTOv28m/s7spI3A6Rib3rQ==", "ACJ4H18jt/G354z3wP+9Yg==", "hj50cQZQgjs5LHc5juDSXA==", "2GyE9ZOegwM43KT9dMCNtQ=="]]
|
|
26
|
+
])
|
|
27
|
+
return result
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
module.exports = Poker
|
package/src/swap-router.js
CHANGED
|
@@ -2,6 +2,7 @@ let { HI, HERC20, HERC721 } = require("h-token-staking")
|
|
|
2
2
|
let { abi, bytecode } = require("./abi/SwapRouter.json")
|
|
3
3
|
let SwapFactory = require("./swap-factory")
|
|
4
4
|
let SwapPair = require("./swap-pair")
|
|
5
|
+
let { plus, reduce, multiplication, division, saveNum, charCompare,longHandle,toSmall } = require("h-token-staking/src/utils")
|
|
5
6
|
class SwapRouter extends HI {
|
|
6
7
|
constructor({ provider, account, rpcUrl, privateKey, contract,factory = "" }) {
|
|
7
8
|
super({ provider, account, rpcUrl, privateKey, contract, abi })
|
|
@@ -65,12 +66,29 @@ class SwapRouter extends HI {
|
|
|
65
66
|
async getTokenAmounts(liquidityId) {
|
|
66
67
|
let user = this.web3.eth.defaultAccount
|
|
67
68
|
let amounts = await this.SC.methods.getTokenAmounts(liquidityId,user).call()
|
|
69
|
+
let Token0 = new HERC20({ ...this.network, contract: amounts.token0 })
|
|
70
|
+
let Token1 = new HERC20({ ...this.network, contract: amounts.token1 })
|
|
71
|
+
amounts.reserve0 = await Token0.fromAmount(amounts.reserve0)
|
|
72
|
+
amounts.reserve1 = await Token1.fromAmount(amounts.reserve1)
|
|
73
|
+
amounts.balance0 = await Token0.fromAmount(amounts.balance0)
|
|
74
|
+
amounts.balance1 = await Token1.fromAmount(amounts.balance1)
|
|
75
|
+
amounts.totalSupply = toSmall(amounts.totalSupply,18)
|
|
76
|
+
amounts.balance = toSmall(amounts.balance,18)
|
|
77
|
+
amounts.liquidity = toSmall(amounts.liquidity,18)
|
|
68
78
|
return amounts
|
|
69
79
|
}
|
|
70
80
|
|
|
71
81
|
async getTokens({ tokenA,tokenB }) {
|
|
72
82
|
let user = this.web3.eth.defaultAccount
|
|
73
83
|
let amounts = await this.SC.methods.getTokens(tokenA,tokenB,user).call()
|
|
84
|
+
let Token0 = new HERC20({ ...this.network, contract: amounts.token0 })
|
|
85
|
+
let Token1 = new HERC20({ ...this.network, contract: amounts.token1 })
|
|
86
|
+
amounts.reserve0 = await Token0.fromAmount(amounts.reserve0)
|
|
87
|
+
amounts.reserve1 = await Token1.fromAmount(amounts.reserve1)
|
|
88
|
+
amounts.balance0 = await Token0.fromAmount(amounts.balance0)
|
|
89
|
+
amounts.balance1 = await Token1.fromAmount(amounts.balance1)
|
|
90
|
+
amounts.totalSupply = toSmall(amounts.totalSupply,18)
|
|
91
|
+
amounts.balance = toSmall(amounts.balance,18)
|
|
74
92
|
return amounts
|
|
75
93
|
}
|
|
76
94
|
|
|
@@ -89,7 +107,18 @@ class SwapRouter extends HI {
|
|
|
89
107
|
now = parseInt(division(now, 1000))
|
|
90
108
|
let deadline = plus(multiplication(60, 5), now)
|
|
91
109
|
|
|
92
|
-
let result = await this.manage("addLiquidity", [
|
|
110
|
+
/* let result = await this.manage("addLiquidity", [
|
|
111
|
+
token0,
|
|
112
|
+
token1,
|
|
113
|
+
amount0,
|
|
114
|
+
amount1,
|
|
115
|
+
1,
|
|
116
|
+
1,
|
|
117
|
+
user,
|
|
118
|
+
deadline
|
|
119
|
+
]) */
|
|
120
|
+
|
|
121
|
+
let parmas = await this.buildTx("addLiquidity", [
|
|
93
122
|
token0,
|
|
94
123
|
token1,
|
|
95
124
|
amount0,
|
|
@@ -99,7 +128,9 @@ class SwapRouter extends HI {
|
|
|
99
128
|
user,
|
|
100
129
|
deadline
|
|
101
130
|
])
|
|
131
|
+
let result = parmas && await this.broadTx(parmas)
|
|
102
132
|
return result
|
|
133
|
+
// return result
|
|
103
134
|
}
|
|
104
135
|
|
|
105
136
|
async returnLiquidity({ liquidityId,token0,token1,liquidity,amount0,amount1 }) {
|
|
@@ -111,6 +142,7 @@ class SwapRouter extends HI {
|
|
|
111
142
|
|
|
112
143
|
amount0 = await Token0.toAmount(amount0)
|
|
113
144
|
amount1 = await Token1.toAmount(amount1)
|
|
145
|
+
liquidity = longHandle(liquidity,18)
|
|
114
146
|
|
|
115
147
|
let factory = new SwapFactory({
|
|
116
148
|
...this.network,
|
|
@@ -127,7 +159,17 @@ class SwapRouter extends HI {
|
|
|
127
159
|
now = parseInt(division(now, 1000))
|
|
128
160
|
let deadline = plus(multiplication(60, 5), now)
|
|
129
161
|
|
|
130
|
-
let result = await this.manage("returnLiquidity", [
|
|
162
|
+
/* let result = await this.manage("returnLiquidity", [
|
|
163
|
+
liquidityId,
|
|
164
|
+
token0,
|
|
165
|
+
token1,
|
|
166
|
+
liquidity,
|
|
167
|
+
amount0,
|
|
168
|
+
amount1,
|
|
169
|
+
user,
|
|
170
|
+
deadline
|
|
171
|
+
]) */
|
|
172
|
+
let parmas = await this.buildTx("returnLiquidity", [
|
|
131
173
|
liquidityId,
|
|
132
174
|
token0,
|
|
133
175
|
token1,
|
|
@@ -137,6 +179,7 @@ class SwapRouter extends HI {
|
|
|
137
179
|
user,
|
|
138
180
|
deadline
|
|
139
181
|
])
|
|
182
|
+
let result = parmas && await this.broadTx(parmas)
|
|
140
183
|
return result
|
|
141
184
|
}
|
|
142
185
|
|