Supply in the pool and sends WETH contract Aave error
- undefined
- undefined Aave
Hi guys, I'm trying to create a smart contract that does only 1 thing. Call supply in the pool and sends WETH. If I call supply directly using ABI or something else, it works perfectly. But when using my smart contract as a proxy, it always fails. Warning! Error encountered during contract execution [[execution reverted](https://goerli.etherscan.io/tx/0x736676a5db690b6dc7d6e0e8b6e935451f53943cccddc182fabd427090d22875 )] Can u help me please? By the way I'm using Goerli network. Here's the list of addresses: - My proxy contract: 0x4fa48a2f2de216f6992c2bf9f3f75141ee75c6db - Pool: 0x368EedF3f56ad10b9bC57eed4Dac65B26Bb667f6 - My own address: 0x0117bDb357ddA160b90AB2e082717265B350E705 - WETH: 0x2e3a2fb8473316a02b8a297b982498e661e1f6f5
- This is a generic error, can you please give more information? What does your contract look like? What are you including during your successful ABI calls?
Answers 1
This contract is calling supply as if the tokens are stored on the contract itself, not msg.sender. To supply on the users behalf you will need the user to call approve on WETH, passing your contract as spender and call `transferFrom `inside of your supply function. Before calling supply you must approve the pool to spend these tokens by calling the approve function on the underlying token (i.e. on the USDC contract if you are supplying USDC), passing the `poolAddress `as the spender parameter You can either send the tokens to your contract first, or have the user approve your contract to spend their tokens and call `transferFrom `to send funds from the user to your contract inside of `submitOrder`;