Does the repository support ethers ^6.6.0
I am using
const { Multicall } = require("ethereum-multicall");
const poolABI = require('./utils/uniswapPairV2ABI.json');
const { ethers } = require("ethers");
const { wsURL } = require("./config.js");
const { Web3 } = require("web3");
const rpcURL = "My RPC URL";
// const web3 = new Web3(rpcURL);
const calls = [
{ methodName: 'token0', methodParameters: [] },
{ methodName: 'token1', methodParameters: [] },
{ methodName: 'factory', methodParameters: [] }
];
// A pair address
const contractAddress = "0xB6909B960DbbE7392D405429eB2b3649752b4838";
const callObject = {
reference: "result0",
contractAddress: contractAddress,
abi: poolABI,
calls: calls
};
const provider = new ethers.JsonRpcProvider(rpcURL);
console.log(provider);
const myMulticall = new Multicall({
ethersProvider: provider,
tryAggregate: true,
});
async function getResult() {
let resp = await myMulticall.call(callObject);
console.log(resp.results.result0.callsReturnContext);
}
getResult();
It throws out the error
Error: invalid signer or provider (argument="signerOrProvider", value={}, code=INVALID_ARGUMENT, version=contracts/5.7.0)
The ethers version is 6.6.1. I want to ask if the error is caused by the version conflict.
most likely will take a look this week
Right now only use "nodeUrl" with ethers ^6.6.0:
const multicall = new Multicall({ nodeUrl: REST_RPC.POLYGON, tryAggregate: true, })
oops let this one slip i guess ethers ^6.6.0 did some breaking changes will add to my list and support thanks for the code above
Would really like to see this as well. Is anyone actively working on this?
no but its pretty easy change PR welcome we can keep support for old one as well as you pass in the instance we can just add support for ethers 6 @bradens
no but its pretty easy change PR welcome we can keep support for old one as well as you pass in the instance we can just add support for ethers 6 @bradens
Got a PR up for you here: https://github.com/joshstevens19/ethereum-multicall/pull/72