I am building a contract which integrates with an existing contract on mainnet.
Are there any tools I can use to test my integration with this contract without spending real gas? Or is there an easy way to fork the contract and redeploy it on testnet? I'm not sure how to copy all the solidity code on etherscan as there are many dependencies, especially since it is a proxy contract.
I understand that one way of interacting with an external contract within a contract, is to import the object from the solidity code. However, do I always need to import the full contract object from the solidity code, or is it possible to achieve the same thing just with the ABI?