New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TypeError: Token.fetchData is not a function #53
Comments
Having the same problem ....... any solution? |
I think uniswap SDK v2 has new features and no longer supports fetchdata method. So try to use Fetcher.fetchTokenData and Fetcher.fetchPairData. |
@cherylkw you da man! It worked perfectly |
Hi all....I am having the same issue as detailed in the thread above! When I install UniSwap SDK I am installing v3? Is there anyway to install a specific SDK version, and also it would appear that SDK v2 allows Fetcher.fetchTokenData and Fetcher.fetchPairData and appeared to work...if so what was the code amendment please? |
Hi there. What was the code amendments you made please> |
from Batman, in another thread |
@NumberXXIV thanks so much this worked |
To elaborate a bit for those in the tutorial who may not be aware of every aspect of object oriented coding structures. If you installed using @uniswap/sdk, and did not indicate a version as of 10/22/2021, you would have installed version 3.0.3. In this case, in the const used to import values from uniswap (at the top of the code), you'll need to replace the "Token" and "Pair" statements with a single "Fetcher" statement. Then, within your methods in the code, replace "Token.fetchData" and "Pair.fetchData" with "Fetcher.fetchTokenData" and "Fetcher.fetchPairData" It should look like this, Then, within your method, const init = async () => { //Apply WETH to process - In Uniswap, weth is used to trade ETH. ETH is sent to a weth token and the weth token is used to represent ETH during the trade. To @wcDogg's point... EatTheBlocks course designers need to modify these details in the instructions or provide additional training on how we can manage version changes for the many different npm installs that are required for the build. It's an expensive course and it's no surprise that people will be frustrated on this one. |
require('dotenv').config() const web3 = new Web3( const kyber = new web3.eth.Contract( const AMOUNT_ETH = 100; const init = async () => { web3.eth.subscribe('newBlockHeaders')
} |
I was having the same issue and this solved it so easily. Thank you!! |
Super helpful you make my day :). |
i manage to make it work: and then npm install @uniswap/sdk@2.0.5 |
Hello I am following the pro course on profitable-arbitrage, 15 Poll Uniswap Prices. When i run run-arbitrage.js I get the following error. What does this mean and how I proceed? Thanks
Blair@DESKTOP-L81FL5C MINGW64 ~/profitable-flashloans
$ node run-arbitrage.js
C:\Users\Blair\profitable-flashloans\run-arbitrage.js:24
Token.fetchData(
^
TypeError: Token.fetchData is not a function
at C:\Users\Blair\profitable-flashloans\run-arbitrage.js:24:19
at Array.map ()
at init (C:\Users\Blair\profitable-flashloans\run-arbitrage.js:23:55)
at Object. (C:\Users\Blair\profitable-flashloans\run-arbitrage.js
:78:1)
at Module._compile (node:internal/modules/cjs/loader:1109:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10)
at Module.load (node:internal/modules/cjs/loader:989:32)
at Function.Module._load (node:internal/modules/cjs/loader:829:14)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_ma
in:76:12)
at node:internal/main/run_main_module:17:47
The text was updated successfully, but these errors were encountered: