I’m building an NFT marketplace on Polygon that will use USDC transfers to pay for NFTs and batches of NFTs. So far the USDC transfers are working smoothly, but only until I test it out with a proxy contract. I know that making a USDC transfer requires approving my smart contract to spend the USDC from the user’s address, which is handled through the ‘approve’ function in the USDC smart contract. The parameters for the ‘approve’ function in the USDC contract are the address of the spender (which would be my contract’s address) and the amount to spend (which would be the price of the NFT or batch). However, even when I do that for the Proxy’s address and the implementation contract’s address the USDC transfer does not work. The error I get is non descriptive, it just says ‘transaction reverted’.
Any ideas on why this is happening and how to fix it would be greatly appreciated!
Thanks in advance.