Missing New #3156
-
Ethers Version5.2 Search TermsBigNumber Describe the ProblemProblem
Checked the docs, here and stackexchange none of the answers resolved this issue. Environment
Code Snippetconst provider = new ethers.providers.Web3Provider(window.ethereum);
const contractAddress = "0x4Ea309D87590FC52C2E7T173E0094436798A7eAA";
const contractABI = '[{ABI}]'
async function getSubscriptions() {
var network = await provider.getNetwork();
//console.log(network['chainId'], network['name'])
if (network['chainId'] == 1) {
var [account] = await ethereum.request({ method: 'eth_requestAccounts' });
var signer = provider.getSigner(account);
signerAddress = await signer.getAddress();
const contractInstance = new ethers.Contract(contractAddress, contractABI, signer);
var result = await contractInstance.getSubscriptions();
console.log(result);
console.log(ethers.BigNumber(result[0]["amount"]).toNumber());
}
} Contract ABINo response Errors**Browser Console**
(2) [Array(13), Array(13)]0: (13) [BigNumber, '0x4Ea309D87590FC52C2E7T173E0094436798A7eAA', BigNumber, '0x4Ea309D87590FC52C2E7T173E0094436798A7eAA', '0xd7aB3fe27fB60Ecf97B7f28bF4cE3B25266e5f83', BigNumber, BigNumber, true, BigNumber, BigNumber, BigNumber, BigNumber, true, id: BigNumber, merchant: '0x4Ea309D87590FC52C2E7T173E0094436798A7eAA', merchantplan: BigNumber, token: '0x4Ea309D87590FC52C2E7T173E0094436798A7eAA', subscriber: '0xd7aB3fe27fB60Ecf97B7f28bF4cE3B25266e5f83', …]1: (13) [BigNumber, '0x4Ea309D87590FC52C2E6f173E0094436798A7eAA', BigNumber, '0x4Ea309D87590FC52C2E7T173E0094436798A7eAA', '0x8ED1f25ab90Fa078aBdb35a2d88fe8B352EVad24', BigNumber, BigNumber, false, BigNumber, BigNumber, BigNumber, BigNumber, true, id: BigNumber, merchant: '0x4Ea309D87590FC52C2E7T173E0094436798A7eAA', merchantplan: BigNumber, token: '0x4Ea309D87590FC52C2E7T173E0094436798A7eAA', subscriber: '0x8ED1f25ab90Fa078aBdb35a2d88fe8B352EVad24', …]length: 2[[Prototype]]: Array(0)
ethers-5.2.umd.min.js:1 Uncaught (in promise) BigNumber: missing new (name="BigNumber", code=MISSING_NEW, version=bignumber/5.2.0)
at Logger.makeError (https://cdn.ethers.io/lib/ethers-5.2.umd.min.js:1:59669)
at Logger.throwError (https://cdn.ethers.io/lib/ethers-5.2.umd.min.js:1:59874)
at Logger.checkNew (https://cdn.ethers.io/lib/ethers-5.2.umd.min.js:1:61555)
at Object.BigNumber (https://cdn.ethers.io/lib/ethers-5.2.umd.min.js:1:72920)
at HTMLButtonElement.getSubscriptions (http://127.0.0.1:5000/static/smartcontract.js:28:16)
Logger.makeError @ ethers-5.2.umd.min.js:1
Logger.throwError @ ethers-5.2.umd.min.js:1
Logger.checkNew @ ethers-5.2.umd.min.js:1
BigNumber @ ethers-5.2.umd.min.js:1
getSubscriptions @ smartcontract.js:28 EnvironmentEthereum (mainnet/ropsten/rinkeby/goerli) Environment (Other)No response |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
Anyone? |
Beta Was this translation helpful? Give feedback.
-
You are missing the |
Beta Was this translation helpful? Give feedback.
-
I managed to solve the problem and convert bignumber to number by just placing the property accessors [dot] after the variable and call the toNumbers() function. Other thing I learned and may help future readers. I just want to retrieve the values of public variables and view functions. This can also be done with a provider without interacting with metamask/signer. ` async function getSubscriptions() {
} |
Beta Was this translation helpful? Give feedback.
I managed to solve the problem and convert bignumber to number by just placing the property accessors [dot] after the variable and call the toNumbers() function.
Other thing I learned and may help future readers. I just want to retrieve the values of public variables and view functions. This can also be done with a provider without interacting with metamask/signer.
`
const providerReadOnly = new ethers.providers.AlchemyProvider("goerli");
const contractAddress = "0x4Ea309D87590FC52C2E7T173E0094436798A7eAA";
const contractABI = '[{ABI}]'
async function getSubscriptions() {