5afe / contract-proxy-kit

Enable batched transactions and contract account interactions using a unique deterministic Gnosis Safe.
103 stars 38 forks source link

EthersAdapter error: this.signer.provider.send is not a function #149

Closed tzumby closed 3 years ago

tzumby commented 3 years ago

Hi there,

First of all, thank you Gnosis team for the whole Gnosis Safe ecosystem ❤️

I'm trying to use this library from the command line but otherwise follow the docs on using it with ethers.

I added the exact code to this gist to make it easier to explain. This is the error I'm getting when I try to run this:

(node:41981) UnhandledPromiseRejectionWarning: TypeError: this.signer.provider.send is not a function
    at EthersAdapter.providerSend (/cpk/node_modules/contract-proxy-kit/lib/cjs/ethLibAdapters/EthersAdapter/index.js:67:37)
    at EthersAdapter.ethCall (/code/cpk/node_modules/contract-proxy-kit/lib/cjs/ethLibAdapters/EthersAdapter/index.js:220:21)
    at EthersV5ContractAdapter.<anonymous> (/cpk/node_modules/contract-proxy-kit/lib/cjs/ethLibAdapters/EthersAdapter/EthersV5ContractAdapter.js:35:53)
    at Generator.next (<anonymous>)
    at /cpk/node_modules/contract-proxy-kit/lib/cjs/ethLibAdapters/EthersAdapter/EthersV5ContractAdapter.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/cpk/node_modules/contract-proxy-kit/lib/cjs/ethLibAdapters/EthersAdapter/EthersV5ContractAdapter.js:4:12)
    at EthersV5ContractAdapter.call (/cpk/node_modules/contract-proxy-kit/lib/cjs/ethLibAdapters/EthersAdapter/EthersV5ContractAdapter.js:33:16)
    at ContractManager.<anonymous> (/cpk/node_modules/contract-proxy-kit/lib/cjs/contractManager/index.js:104:134)
    at Generator.next (<anonymous>)

Could this be a mismatch between a newer version of ethers and the EthersAdapter. I can offer to look into the adapter, but before I do, it would be useful if someone with more knowledge maybe sees something I'm doing wrong.

tzumby commented 3 years ago

Closing this, the problem was with the ethers provider / signer and not the sdk itself