dappuniversity / price-bot

397 stars 392 forks source link

TypeError: uniswapFactoryContract.methods.getExchange #28

Open summitgithub08 opened 3 years ago

summitgithub08 commented 3 years ago

Hi,

I updated the code to get values from Uniswap v2 but it seems to not identify the ABI Address.

const UNISWAP_FACTORY_ABI = [{"inputs":[{"internalType":"address","name":"_feeToSetter","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token0","type":"address"},{"indexed":true,"internalType":"address","name":"token1","type":"address"},{"indexed":false,"internalType":"address","name":"pair","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"PairCreated","type":"event"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allPairs","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allPairsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"}],"name":"createPair","outputs":[{"internalType":"address","name":"pair","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feeTo","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeToSetter","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"getPair","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_feeTo","type":"address"}],"name":"setFeeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_feeToSetter","type":"address"}],"name":"setFeeToSetter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}] const UNISWAP_FACTORY_ADDRESS = '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f'

Error after checking price

TypeError: uniswapFactoryContract.methods.getExchange is not a function at checkPair (/Users/price-bot/index.js:36:64) at monitorPrice (/Users/price-bot/index.js:68:11) at Timeout._onTimeout (/Users/price-bot/index.js:112:48) at listOnTimeout (internal/timers.js:555:17) at processTimers (internal/timers.js:498:7)

bliitzkrieg commented 3 years ago

I fixed by installing web3 via npm install web3

OpeOginni commented 1 year ago

If I take your code and replace the original code. Will it work the same way or I still have to make some extra changes?

OpeOginni commented 1 year ago

To solve it add { name: "getExchange", outputs: [{ type: "address", name: "out" }], inputs: [{ type: "address", name: "token" }], constant: true, payable: false, type: "function", gas: "715", }

To the ABI