Complete Beginner's Guide to being an Honest Keep3rV1

I aim to become a fulltime and more advance KP3R. This topic (as it grows) will help fellow non-coders with their troubleshooting. As I advance and get help, so too will this thread/topic.

Day 1: Understanding Andre’s copy pasta code for Defender and trying to get it to work for UniswapV2Oracle.

:computer: Environment

Registered for $500 a month access, will use whatever Andre says to use. At this point, it is Autotask and Relayer.

:memo:Details

:1234: Code to reproduce

Day 1: Andre’s code:

const workableAbi = <contract ABI>;
const workableAddr = <contract address>;
const from = <from address>;
const { ethers } = require("ethers");
const { DefenderRelaySigner } = require('defender-relay-client/lib/ethers');
// Entrypoint for the Autotask
exports.handler = async function(credentials) {
  const provider = ethers.getDefaultProvider('mainnet');
  const signer = new DefenderRelaySigner(credentials, provider, { speed: 'fastest', from });
  const contract = new ethers.Contract(workableAddr, workableAbi, signer);
// Run work if needed
  if (await contract.updateable()) {
    const tx = await contract.work();
    console.log(tx.hash);
  }
}

Do not know what to put for the “from address”
Do not know how to solve “Unhandled”
Do not know how to solve “credentials” error.
Is there a difference between one ’ and "…time will tell.

Currently using Github, Andre’s template to extract the workableABI and workAddr. Was using private key from Metamask for “from address”…error message was denied due to credentials.

1 Like

Mission: Figure out how to solve
“As for the error you’re experiencing, this means that 1) you are not passing the credentials to the defender-relay-client, or 2) you have not connected your autotask to a Relayer.”

And what address to use for “const from =”

Message: Error running autotask: Unhandled

Logs: 
2020-10-31T20:06:23.565Z	AUTOTASK START
2020-10-31T20:06:23.570Z	ERROR	Invoke Error 	{"errorType":"Error","errorMessage":"Missing credentials for creating a Relayer instance. If you are running this code in an Autotask, make sure you pass the \"credentials\" parameter from the handler to the Relayer constructor. If you are running this on your own process, then pass an object with the \"apiKey\" and \"apiSecret\" generated by the relayer.","stack":["Error: Missing credentials for creating a Relayer instance. If you are running this code in an Autotask, make sure you pass the \"credentials\" parameter from the handler to the Relayer constructor. If you are running this on your own process, then pass an object with the \"apiKey\" and \"apiSecret\" generated by the relayer.","    at new Relayer (/opt/nodejs/node_modules/defender-relay-client/lib/relayer.js:73:19)","    at new DefenderRelaySigner (/opt/nodejs/node_modules/defender-relay-client/lib/ethers/index.js:29:24)","    at Runtime.exports.handler (/var/task/index.js:9:18)","    at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"]}
2020-10-31T20:06:23.605Z	AUTOTASK COMPLETE

This is the result when I put in No relayers and Private Key from Account.

1 Like

This is the error message when I keep the same parameters as above, except only run it through the relayer:

Message: Error running autotask: Unhandled

Logs: 2020-10-31T20:08:51.171Z	AUTOTASK START
2020-10-31T20:08:53.425Z	ERROR	Invoke Error 	{"errorType":"Error","errorMessage":"too long","stack":["Error: too long","    at Object.nameprep (/opt/nodejs/node_modules/@ethersproject/strings/lib/idna.js:188:15)","    at Object.namehash (/opt/nodejs/node_modules/@ethersproject/hash/lib/index.js:34:53)","    at FallbackProvider.<anonymous> (/opt/nodejs/node_modules/@ethersproject/providers/lib/base-provider.js:1312:58)","    at step (/opt/nodejs/node_modules/@ethersproject/providers/lib/base-provider.js:46:23)","    at Object.next (/opt/nodejs/node_modules/@ethersproject/providers/lib/base-provider.js:27:53)","    at fulfilled (/opt/nodejs/node_modules/@ethersproject/providers/lib/base-provider.js:18:58)"]}
2020-10-31T20:08:53.427Z	AUTOTASK COMPLETE
1 Like

Ladies and Gents, all the noobs and noobets, it took over 8 hours to troubleshoot my KP3R using Autotasks and a Relayer on OZ, but by god I’ve done it (for UNIV2 at least).

Solution as follows:

  1. I had to wait to be allowed mainnet access by Zepplin staff.
  2. get ABI off of Github, get workableAddr off Github, AND —this was the killer---- input the activated keeper PUBLIC MetaAddress in the from address = slot".

Wow what a day. I will keep myself/and others updated as my progress as I move forward being a KP3R for more and more jobs. Hopefully Andre and the team will keep providing How to Guides and Code so honest people can prove they are not malicious and be given the opportunity to make money.

If others gain from my experience, that is the point. If others help ease my experience with help, that is also the point.

Until later then.

3 Likes

Ali-

Thanks so much!

We realize that we need to create a smooth path to activate Defender Relayers on the keep3r.network and we will come up with a solution for that fast. In the meantime Santiago Palladino created some demo autotask code which will handle checking and activating you can see the code here.

Also regarding future Defender fees … for now Defender is free, in the future there will be fees for mainnet use but we will have special pricing for keepers, we are thinking 10% of keeper rewards to Defender up to maximum $500/month (so if you earn no rewards you pay nothing). If anyone has feedback on that please let us know.

1 Like

Day 2 Captain’s Log:
Woke up excited to see if my autotask had done work and received K3PR. To my dismay, no KP3R and yet another litany of error messages.

Progress: I will post the most common error message next, but for now I will say progress has been made with my understanding of a little bit of codes for Keep3r.
It seems (if I can figure this correctly in laymen terms)…a Keep3r must automate a “function”. In UniV2Oracle the function is called “updateable”…I set up the Hedgic Job using the word “workable” in place of “updateable”…and I believe for the MetaKeep3r Job the correct answer is using the word “task” instead of “workable”. Feel proud about progress, but head has started hurting.

Anyways…current major issue…I still get error messages on all my autotasks…new error I think is causing me not to get paid. It seems I get “success” for most part, but my hypothesis is that when my autotasks actually gets called to do work I get hit with the error. I believe the error indicates that my Keep3r was accepted for the job, but then failed. (Only a hunch, no idea how to solve current error)…for now…

Also, a shout out to Jonathan and SPalladino…they have been reading this and working with me in a prompt manner to address these issue regarding massive learning curve for non-techies. Thank you both, this is only the beginning.

For future generations, the idea has be thrown around to create a “copy paste” into autotasks for each job to be given on Keep3r.network. And SPalladino has already created a “demo-KP3R” branch on his Github.

Onwards and upwards!

1 Like

I cannot find the error’s anymore in the autotask list…hm…when it happens again i will post it (for all newbies to reference, and experts to chime in).

What I remember is the error message (especially on the Hedgic job)…keeps saying "Invoke Error; unable to meet quorum.) My suspicions say this happens because I need to keep my computer running? I do know, but either way I do not know if using autotasks requires me to keep computer running or if I can just run the code and the move on with computer usage and ability to shut down. We shall see…

1 Like

A post was split to a new topic: Keep3r: which addresses correspond to what

Hi @AliDean92,

Welcome to the community :wave:

Thank you for sharing your Beginner’s Guide. I moved to https://forum.openzeppelin.com/tag/coding-journey as it is a great read,

Looking forward to helping and learning from the Keep3r community.

Hey, Jonathan,
Have you tried the scrpt? Does it work for you?

1 Like
Message: Error running autotask: Unhandled

Logs: 2020-11-01T23:09:45.963Z	AUTOTASK START
Message: Error running autotask: Unhandled

Logs: 2020-11-02T10:21:45.727Z	AUTOTASK START
2020-11-02T10:21:46.946Z	ERROR	Invoke Error 	{"errorType":"Error","errorMessage":"failed to meet quorum (method=\"getBlockNumber\", params={}, results=[{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11173741,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312505915,\"connection\":{\"url\":\"https://cloudflare-eth.com/\"},\"_nextId\":43,\"_internalBlockNumber\":{},\"_fastBlockNumber\":11173741,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"start\":1604312505730,\"result\":11173741},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11177066,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312506059,\"connection\":{\"url\":\"https://mainnet.infura.io/v3/84842078b09946638c03157f83405213\"},\"_nextId\":43,\"apiKey\":\"84842078b09946638c03157f83405213\",\"projectId\":\"84842078b09946638c03157f83405213\",\"projectSecret\":null,\"_internalBlockNumber\":{},\"_fastBlockNumber\":11177066,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"start\":1604312505730,\"result\":11177066},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":-1024,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":0,\"connection\":{\"url\":\"https://eth-mainnet.alchemyapi.io/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\"},\"_nextId\":43,\"apiKey\":\"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\",\"_internalBlockNumber\":{}},\"weight\":1,\"start\":1604312506561,\"error\":{\"reason\":\"bad response\",\"code\":\"SERVER_ERROR\",\"status\":403,\"headers\":{\"date\":\"Mon, 02 Nov 2020 10:21:46 GMT\",\"content-type\":\"application/json\",\"content-length\":\"211\",\"connection\":\"close\",\"server\":\"Apache\",\"vary\":\"Origin,Accept-Encoding\"},\"body\":\"{\\\"jsonrpc\\\": \\\"2.0\\\", \\\"id\\\": 42, \\\"error\\\": {\\\"code\\\": -32000, \\\"message\\\": \\\"Monthly capacity limit exceeded. Visit https://dashboard.alchemyapi.io/settings/billing to upgrade your scaling policy for continued service.\\\"}}\",\"requestBody\":\"{\\\"method\\\":\\\"eth_blockNumber\\\",\\\"params\\\":[],\\\"id\\\":42,\\\"jsonrpc\\\":\\\"2.0\\\"}\",\"requestMethod\":\"POST\",\"url\":\"https://eth-mainnet.alchemyapi.io/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\"}},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11177066,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312506905,\"baseUrl\":\"https://api.etherscan.io\",\"apiKey\":\"9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB\",\"_internalBlockNumber\":{},\"_fastBlockNumber\":11177066,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"start\":1604312506561,\"result\":11177066}], provider={\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":-1024,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":0,\"providerConfigs\":[{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11177066,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312506059,\"connection\":{\"url\":\"https://mainnet.infura.io/v3/84842078b09946638c03157f83405213\"},\"_nextId\":43,\"apiKey\":\"84842078b09946638c03157f83405213\",\"projectId\":\"84842078b09946638c03157f83405213\",\"projectSecret\":null,\"_internalBlockNumber\":{},\"_fastBlockNumber\":11177066,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"stallTimeout\":750,\"priority\":1},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11177066,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312506905,\"baseUrl\":\"https://api.etherscan.io\",\"apiKey\":\"9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB\",\"_internalBlockNumber\":{},\"_fastBlockNumber\":11177066,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"stallTimeout\":750,\"priority\":1},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":-1024,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":0,\"connection\":{\"url\":\"https://eth-mainnet.alchemyapi.io/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\"},\"_nextId\":43,\"apiKey\":\"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\",\"_internalBlockNumber\":{}},\"weight\":1,\"stallTimeout\":750,\"priority\":1},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11173741,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312505915,\"connection\":{\"url\":\"https://cloudflare-eth.com/\"},\"_nextId\":43,\"_internalBlockNumber\":{},\"_fastBlockNumber\":11173741,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"stallTimeout\":750,\"priority\":1}],\"quorum\":2,\"_highestBlockNumber\":-1,\"_internalBlockNumber\":{}}, code=SERVER_ERROR, version=providers/5.0.5)","code":"SERVER_ERROR","reason":"failed to meet quorum","method":"getBlockNumber","params":{},"results":[{"provider":{"_isProvider":true,"_events":[],"_emitted":{"block":-2},"formatter":{"formats":{"transaction":{},"transactionRequest":{},"receiptLog":{},"receipt":{},"block":{},"blockWithTransactions":{},"filter":{},"filterLog":{}}},"anyNetwork":false,"_network":{"name":"homestead","chainId":1,"ensAddress":"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},"_maxInternalBlockNumber":11173741,"_lastBlockNumber":-2,"_pollingInterval":4000,"_fastQueryDate":1604312505915,"connection":{"url":"https://cloudflare-eth.com/"},"_nextId":43,"_internalBlockNumber":{},"_fastBlockNumber":11173741,"_fastBlockNumberPromise":{}},"weight":1,"start":1604312505730,"result":11173741},{"provider":{"_isProvider":true,"_events":[],"_emitted":{"block":-2},"formatter":{"formats":{"transaction":{},"transactionRequest":{},"receiptLog":{},"receipt":{},"block":{},"blockWithTransactions":{},"filter":{},"filterLog":{}}},"anyNetwork":false,"_network":{"name":"homestead","chainId":1,"ensAddress":"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},"_maxInternalBlockNumber":11177066,"_lastBlockNumber":-2,"_pollingInterval":4000,"_fastQueryDate":1604312506059,"connection":{"url":"https://mainnet.infura.io/v3/84842078b09946638c03157f83405213"},"_nextId":43,"apiKey":"84842078b09946638c03157f83405213","projectId":"84842078b09946638c03157f83405213","projectSecret":null,"_internalBlockNumber":{},"_fastBlockNumber":11177066,"_fastBlockNumberPromise":{}},"weight":1,"start":1604312505730,"result":11177066},{"provider":{"_isProvider":true,"_events":[],"_emitted":{"block":-2},"formatter":{"formats":{"transaction":{},"transactionRequest":{},"receiptLog":{},"receipt":{},"block":{},"blockWithTransactions":{},"filter":{},"filterLog":{}}},"anyNetwork":false,"_network":{"name":"homestead","chainId":1,"ensAddress":"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},"_maxInternalBlockNumber":-1024,"_lastBlockNumber":-2,"_pollingInterval":4000,"_fastQueryDate":0,"connection":{"url":"https://eth-mainnet.alchemyapi.io/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC"},"_nextId":43,"apiKey":"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC","_internalBlockNumber":{}},"weight":1,"start":1604312506561,"error":{"errorType":"Error","errorMessage":"bad response (status=403, headers={\"date\":\"Mon, 02 Nov 2020 10:21:46 GMT\",\"content-type\":\"application/json\",\"content-length\":\"211\",\"connection\":\"close\",\"server\":\"Apache\",\"vary\":\"Origin,Accept-Encoding\"}, body=\"{\\\"jsonrpc\\\": \\\"2.0\\\", \\\"id\\\": 42, \\\"error\\\": {\\\"code\\\": -32000, \\\"message\\\": \\\"Monthly capacity limit exceeded. Visit https://dashboard.alchemyapi.io/settings/billing to upgrade your scaling policy for continued service.\\\"}}\", requestBody=\"{\\\"method\\\":\\\"eth_blockNumber\\\",\\\"params\\\":[],\\\"id\\\":42,\\\"jsonrpc\\\":\\\"2.0\\\"}\", requestMethod=\"POST\", url=\"https://eth-mainnet.alchemyapi.io/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\", code=SERVER_ERROR, version=web/5.0.2)","code":"SERVER_ERROR","reason":"bad response","status":403,"headers":{"date":"Mon, 02 Nov 2020 10:21:46 GMT","content-type":"application/json","content-length":"211","connection":"close","server":"Apache","vary":"Origin,Accept-Encoding"},"body":"{\"jsonrpc\": \"2.0\", \"id\": 42, \"error\": {\"code\": -32000, \"message\": \"Monthly capacity limit exceeded. Visit https://dashboard.alchemyapi.io/settings/billing to upgrade your scaling policy for continued service.\"}}","requestBody":"{\"method\":\"eth_blockNumber\",\"params\":[],\"id\":42,\"jsonrpc\":\"2.0\"}","requestMethod":"POST","url":"https://eth-mainnet.alchemyapi.io/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC","stack":["Error: bad response (status=403, headers={\"date\":\"Mon, 02 Nov 2020 10:21:46 GMT\",\"content-type\":\"application/json\",\"content-length\":\"211\",\"connection\":\"close\",\"server\":\"Apache\",\"vary\":\"Origin,Accept-Encoding\"}, body=\"{\\\"jsonrpc\\\": \\\"2.0\\\", \\\"id\\\": 42, \\\"error\\\": {\\\"code\\\": -32000, \\\"message\\\": \\\"Monthly capacity limit exceeded. Visit https://dashboard.alchemyapi.io/settings/billing to upgrade your scaling policy for continued service.\\\"}}\", requestBody=\"{\\\"method\\\":\\\"eth_blockNumber\\\",\\\"params\\\":[],\\\"id\\\":42,\\\"jsonrpc\\\":\\\"2.0\\\"}\", requestMethod=\"POST\", url=\"https://eth-mainnet.alchemyapi.io/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\", code=SERVER_ERROR, version=web/5.0.2)","    at Logger.makeError (/opt/nodejs/node_modules/@ethersproject/logger/lib/index.js:179:21)","    at Logger.throwError (/opt/nodejs/node_modules/@ethersproject/logger/lib/index.js:188:20)","    at /opt/nodejs/node_modules/@ethersproject/web/lib/index.js:193:36","    at step (/opt/nodejs/node_modules/@ethersproject/web/lib/index.js:33:23)","    at Object.next (/opt/nodejs/node_modules/@ethersproject/web/lib/index.js:14:53)","    at fulfilled (/opt/nodejs/node_modules/@ethersproject/web/lib/index.js:5:58)","    at runMicrotasks (<anonymous>)","    at processTicksAndRejections (internal/process/task_queues.js:97:5)"]}},{"provider":{"_isProvider":true,"_events":[],"_emitted":{"block":-2},"formatter":{"formats":{"transaction":{},"transactionRequest":{},"receiptLog":{},"receipt":{},"block":{},"blockWithTransactions":{},"filter":{},"filterLog":{}}},"anyNetwork":false,"_network":{"name":"homestead","chainId":1,"ensAddress":"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},"_maxInternalBlockNumber":11177066,"_lastBlockNumber":-2,"_pollingInterval":4000,"_fastQueryDate":1604312506905,"baseUrl":"https://api.etherscan.io","apiKey":"9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB","_internalBlockNumber":{},"_fastBlockNumber":11177066,"_fastBlockNumberPromise":{}},"weight":1,"start":1604312506561,"result":11177066}],"provider":{"_isProvider":true,"_events":[],"_emitted":{"block":-2},"formatter":{"formats":{"transaction":{},"transactionRequest":{},"receiptLog":{},"receipt":{},"block":{},"blockWithTransactions":{},"filter":{},"filterLog":{}}},"anyNetwork":false,"_network":{"name":"homestead","chainId":1,"ensAddress":"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},"_maxInternalBlockNumber":-1024,"_lastBlockNumber":-2,"_pollingInterval":4000,"_fastQueryDate":0,"providerConfigs":[{"provider":{"_isProvider":true,"_events":[],"_emitted":{"block":-2},"formatter":{"formats":{"transaction":{},"transactionRequest":{},"receiptLog":{},"receipt":{},"block":{},"blockWithTransactions":{},"filter":{},"filterLog":{}}},"anyNetwork":false,"_network":{"name":"homestead","chainId":1,"ensAddress":"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},"_maxInternalBlockNumber":11177066,"_lastBlockNumber":-2,"_pollingInterval":4000,"_fastQueryDate":1604312506059,"connection":{"url":"https://mainnet.infura.io/v3/84842078b09946638c03157f83405213"},"_nextId":43,"apiKey":"84842078b09946638c03157f83405213","projectId":"84842078b09946638c03157f83405213","projectSecret":null,"_internalBlockNumber":{},"_fastBlockNumber":11177066,"_fastBlockNumberPromise":{}},"weight":1,"stallTimeout":750,"priority":1},{"provider":{"_isProvider":true,"_events":[],"_emitted":{"block":-2},"formatter":{"formats":{"transaction":{},"transactionRequest":{},"receiptLog":{},"receipt":{},"block":{},"blockWithTransactions":{},"filter":{},"filterLog":{}}},"anyNetwork":false,"_network":{"name":"homestead","chainId":1,"ensAddress":"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},"_maxInternalBlockNumber":11177066,"_lastBlockNumber":-2,"_pollingInterval":4000,"_fastQueryDate":1604312506905,"baseUrl":"https://api.etherscan.io","apiKey":"9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB","_internalBlockNumber":{},"_fastBlockNumber":11177066,"_fastBlockNumberPromise":{}},"weight":1,"stallTimeout":750,"priority":1},{"provider":{"_isProvider":true,"_events":[],"_emitted":{"block":-2},"formatter":{"formats":{"transaction":{},"transactionRequest":{},"receiptLog":{},"receipt":{},"block":{},"blockWithTransactions":{},"filter":{},"filterLog":{}}},"anyNetwork":false,"_network":{"name":"homestead","chainId":1,"ensAddress":"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},"_maxInternalBlockNumber":-1024,"_lastBlockNumber":-2,"_pollingInterval":4000,"_fastQueryDate":0,"connection":{"url":"https://eth-mainnet.alchemyapi.io/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC"},"_nextId":43,"apiKey":"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC","_internalBlockNumber":{}},"weight":1,"stallTimeout":750,"priority":1},{"provider":{"_isProvider":true,"_events":[],"_emitted":{"block":-2},"formatter":{"formats":{"transaction":{},"transactionRequest":{},"receiptLog":{},"receipt":{},"block":{},"blockWithTransactions":{},"filter":{},"filterLog":{}}},"anyNetwork":false,"_network":{"name":"homestead","chainId":1,"ensAddress":"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},"_maxInternalBlockNumber":11173741,"_lastBlockNumber":-2,"_pollingInterval":4000,"_fastQueryDate":1604312505915,"connection":{"url":"https://cloudflare-eth.com/"},"_nextId":43,"_internalBlockNumber":{},"_fastBlockNumber":11173741,"_fastBlockNumberPromise":{}},"weight":1,"stallTimeout":750,"priority":1}],"quorum":2,"_highestBlockNumber":-1,"_internalBlockNumber":{}},"stack":["Error: failed to meet quorum (method=\"getBlockNumber\", params={}, results=[{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11173741,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312505915,\"connection\":{\"url\":\"https://cloudflare-eth.com/\"},\"_nextId\":43,\"_internalBlockNumber\":{},\"_fastBlockNumber\":11173741,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"start\":1604312505730,\"result\":11173741},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11177066,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312506059,\"connection\":{\"url\":\"https://mainnet.infura.io/v3/84842078b09946638c03157f83405213\"},\"_nextId\":43,\"apiKey\":\"84842078b09946638c03157f83405213\",\"projectId\":\"84842078b09946638c03157f83405213\",\"projectSecret\":null,\"_internalBlockNumber\":{},\"_fastBlockNumber\":11177066,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"start\":1604312505730,\"result\":11177066},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":-1024,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":0,\"connection\":{\"url\":\"https://eth-mainnet.alchemyapi.io/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\"},\"_nextId\":43,\"apiKey\":\"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\",\"_internalBlockNumber\":{}},\"weight\":1,\"start\":1604312506561,\"error\":{\"reason\":\"bad response\",\"code\":\"SERVER_ERROR\",\"status\":403,\"headers\":{\"date\":\"Mon, 02 Nov 2020 10:21:46 GMT\",\"content-type\":\"application/json\",\"content-length\":\"211\",\"connection\":\"close\",\"server\":\"Apache\",\"vary\":\"Origin,Accept-Encoding\"},\"body\":\"{\\\"jsonrpc\\\": \\\"2.0\\\", \\\"id\\\": 42, \\\"error\\\": {\\\"code\\\": -32000, \\\"message\\\": \\\"Monthly capacity limit exceeded. Visit https://dashboard.alchemyapi.io/settings/billing to upgrade your scaling policy for continued service.\\\"}}\",\"requestBody\":\"{\\\"method\\\":\\\"eth_blockNumber\\\",\\\"params\\\":[],\\\"id\\\":42,\\\"jsonrpc\\\":\\\"2.0\\\"}\",\"requestMethod\":\"POST\",\"url\":\"https://eth-mainnet.alchemyapi.io/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\"}},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11177066,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312506905,\"baseUrl\":\"https://api.etherscan.io\",\"apiKey\":\"9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB\",\"_internalBlockNumber\":{},\"_fastBlockNumber\":11177066,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"start\":1604312506561,\"result\":11177066}], provider={\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":-1024,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":0,\"providerConfigs\":[{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11177066,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312506059,\"connection\":{\"url\":\"https://mainnet.infura.io/v3/84842078b09946638c03157f83405213\"},\"_nextId\":43,\"apiKey\":\"84842078b09946638c03157f83405213\",\"projectId\":\"84842078b09946638c03157f83405213\",\"projectSecret\":null,\"_internalBlockNumber\":{},\"_fastBlockNumber\":11177066,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"stallTimeout\":750,\"priority\":1},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11177066,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312506905,\"baseUrl\":\"https://api.etherscan.io\",\"apiKey\":\"9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB\",\"_internalBlockNumber\":{},\"_fastBlockNumber\":11177066,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"stallTimeout\":750,\"priority\":1},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":-1024,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":0,\"connection\":{\"url\":\"https://eth-mainnet.alchemyapi.io/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\"},\"_nextId\":43,\"apiKey\":\"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\",\"_internalBlockNumber\":{}},\"weight\":1,\"stallTimeout\":750,\"priority\":1},{\"provider\":{\"_isProvider\":true,\"_events\":[],\"_emitted\":{\"block\":-2},\"formatter\":{\"formats\":{\"transaction\":{},\"transactionRequest\":{},\"receiptLog\":{},\"receipt\":{},\"block\":{},\"blockWithTransactions\":{},\"filter\":{},\"filterLog\":{}}},\"anyNetwork\":false,\"_network\":{\"name\":\"homestead\",\"chainId\":1,\"ensAddress\":\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"},\"_maxInternalBlockNumber\":11173741,\"_lastBlockNumber\":-2,\"_pollingInterval\":4000,\"_fastQueryDate\":1604312505915,\"connection\":{\"url\":\"https://cloudflare-eth.com/\"},\"_nextId\":43,\"_internalBlockNumber\":{},\"_fastBlockNumber\":11173741,\"_fastBlockNumberPromise\":{}},\"weight\":1,\"stallTimeout\":750,\"priority\":1}],\"quorum\":2,\"_highestBlockNumber\":-1,\"_internalBlockNumber\":{}}, code=SERVER_ERROR, version=providers/5.0.5)","    at Logger.makeError (/opt/nodejs/node_modules/@ethersproject/logger/lib/index.js:179:21)","    at Logger.throwError (/opt/nodejs/node_modules/@ethersproject/logger/lib/index.js:188:20)","    at FallbackProvider.<anonymous> (/opt/nodejs/node_modules/@ethersproject/providers/lib/fallback-provider.js:626:54)","    at step (/opt/nodejs/node_modules/@ethersproject/providers/lib/fallback-provider.js:46:23)","    at Object.next (/opt/nodejs/node_modules/@ethersproject/providers/lib/fallback-provider.js:27:53)","    at fulfilled (/opt/nodejs/node_modules/@ethersproject/providers/lib/fallback-provider.js:18:58)"]}
2020-11-02T10:21:46.948Z	AUTOTASK COMPLETE
1 Like

This error is common on all 3 autotasks I have set up…Uni, Hedgic, and Yearn. Need to solve this (as usual I post it all and let myself go regarding typing it all…this allows me to feel free and have a sense of motivation, focus, and cataloging).

People who know the solution, post to help me and other like me save on headaches. Also, I need to figure out where I should be reading to get the answers. Anyways…another day another dollar…or should I say bug. :slight_smile:

1 Like

Hey @AliDean92! The “failed to meet quorum” error is generated by ethers.js (see here) when it cannot get reliable data from any network provider. When you create a new ethers.js provider via ethers.getDefaultProvider(), it uses a set of shared API keys that can be throttled, and end up causing these errors. See this section of the ethers documentation for more info on the issue. My suggestion would be to sign up for an API key on either alchemy or infura, and then just create an alchemy provider or infura provider.

2 Likes

Captain’s Log Day “I don’t know anymore…3 or 4, moving forward it will always be Day X?”: Anyways…progress is being made on my part regarding understanding and troubleshooting. Huge shoutout to @spalladino His response pinpointing why I was getting my most recent error message focused me on exactly where I need to go to seek help/solve the issue.

As of now, I have chosen and created a Project through Infura (for all non-coders, I chose Infura over Alchemy because Alchemy is linked to…um…how to say this…extremely establishment oriented companies. Infura seems cool and has backing of Truffle Box :slight_smile:

Quick recap: SPalladino pinpoints to laymen understanding of issue, provides context for next steps, have created Infura project, now I’m trying to figure out what to change in the original Andre Keep3r code to funnel the keeper through Infura…hm…keep working on it. Until next update.

1 Like

If you share here your current snippet, perhaps I can help on where to inject the Infura token!

1 Like
const workableAbi = [{"inputs":[{"internalType":"address","name":"_keep3r","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"KP3R","outputs":[{"internalType":"contract IKeep3rV1","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"address","name":"tokenOut","type":"address"}],"name":"consult","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"granularity","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"observationIndexOf","outputs":[{"internalType":"uint8","name":"index","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"pairObservations","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"price0Cumulative","type":"uint256"},{"internalType":"uint256","name":"price1Cumulative","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairs","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingGovernance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_keep3r","type":"address"}],"name":"setKeep3r","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"}],"name":"update","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"i","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"updateFor","outputs":[{"internalType":"bool","name":"updated","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"updatePair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"i","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"updateableFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"updateableList","outputs":[{"internalType":"address[]","name":"list","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"windowSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"work","outputs":[],"stateMutability":"nonpayable","type":"function"}];;
const workableAddr = '0x127a2975c4E1c75f1ed4757a861bbd42523DB035';
const from = '';
const network = "homestead";

const { ethers } = require("ethers");
const { DefenderRelaySigner } = require('defender-relay-client/lib/ethers');
// Entrypoint for the Autotask
exports.handler = async function(credentials) {
  const provider = new InfuraProvider("homestead", '1695a717870a4838b7a93854f5eb1769');
  const signer = new DefenderRelaySigner(credentials, provider, { speed: 'fastest', from });
  const contract = new ethers.Contract(workableAddr, workableAbi, signer);

  // Run work if needed
  if (await contract.updateable()) {
    const tx = await contract.work();
    console.log(tx.hash);
  }
}
1 Like

I don’t even know what to say anymore, this is Day 3? and it has been a mind swirl hour after hour. I read and feel good thinking I am on the right track. Then I implement what is given as a template and a new error occurs.

The snippet I just ugly pasted reads error “Infra provider not defined”.

If anyone else who knows little to nothing about coding is following along, stay strong there must be loads of KP3R rewards on the other side. I feel it! :slight_smile:

1 Like

You have to change new InfuraProvider to new ethers.InfuraProvider. Also, you may want to reset your Infura token, since other people who have seen this post could copy it and use it.

2 Likes

Hi Jonathan,

I have cloned the github repo as your readme file but keep getting the following error:

users-mbp:defender-keep3r-demo user$ npm run simple-keeper

> defender-keep3r-demo@1.0.0 simple-keeper
> node src/simple-keeper.js

Error: too long
    at Object.nameprep (/Users/user/Documents/Keep3r/defender-keep3r-demo/node_modules/@ethersproject/strings/lib/idna.js:188:15)
    at Object.namehash (/Users/user/Documents/Keep3r/defender-keep3r-demo/node_modules/@ethersproject/hash/lib/index.js:34:53)
    at FallbackProvider.<anonymous> (/Users/user/Documents/Keep3r/defender-keep3r-demo/node_modules/@ethersproject/providers/lib/base-provider.js:1533:58)
    at step (/Users/user/Documents/Keep3r/defender-keep3r-demo/node_modules/@ethersproject/providers/lib/base-provider.js:46:23)
    at Object.next (/Users/user/Documents/Keep3r/defender-keep3r-demo/node_modules/@ethersproject/providers/lib/base-provider.js:27:53)
    at fulfilled (/Users/user/Documents/Keep3r/defender-keep3r-demo/node_modules/@ethersproject/providers/lib/base-provider.js:18:58)
npm ERR! code 1
npm ERR! path /Users/user/Documents/Keep3r/defender-keep3r-demo
npm ERR! command failed
npm ERR! command sh -c node src/simple-keeper.js

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/user/.npm/_logs/2020-11-02T21_46_33_690Z-debug.log

Any idea what might be missing?

Thanks

1 Like