-
Notifications
You must be signed in to change notification settings - Fork 0
/
PriceFetch.js
47 lines (41 loc) · 1.22 KB
/
PriceFetch.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
const ethers = require('ethers');
const {
factoryAddress,
routerAddress,
fromAddress,
toAddress
} = require("./AddressList")
const { erc20ABI, factoryABI, pairABI, routerABI } = require("./AbiInfo")
const provider = new ethers.providers.JsonRpcProvider(
"https://bsc-dataseed1.binance.org/"
)
const factoryInstance = new ethers.Contract(
factoryAddress, factoryABI, provider
)
const routerInstance = new ethers.Contract(
routerAddress, routerABI, provider
)
const priceFetch = async(humanFormat) => {
const token1 = new ethers.Contract(
fromAddress, erc20ABI, provider
)
const token2 = new ethers.Contract(
toAddress, erc20ABI, provider
)
const decimal1 = await token1.decimals()
const decimal2 = await token2.decimals()
const amountIn = ethers.utils.parseUnits(humanFormat,decimal1).toString();
console.log(amountIn)
const amountsOut = await routerInstance.getAmountsOut(
amountIn, [
fromAddress,
toAddress
])
const humanOutput = ethers.utils.formatUnits(
amountsOut[1].toString(),
decimal2
)
console.log("This is the number of WBNB:", humanOutput)
}
const humanFormat = "100"
priceFetch(humanFormat)