Environment
Truffle v5.2.2 (core: 5.2.2)
Solidity v0.5.16 (solc-js)
Node v12.19.0
Web3.js v1.2.9
Compilation is fine but unable to deploy due to :
Error warning
=====================
Error: *** Deployment Failed ***
"YieldFarmer" is an abstract contract or an interface and cannot be deployed.
* Import abstractions into the '.sol' file that uses them instead of deploying them separately.
* Contracts that inherit an abstraction must implement all its method signatures exactly.
* A contract that only implements part of an inherited abstraction is also considered abstract.
at Deployer._preFlightCheck (C:\Users\asdfasdfa\AppData\Roaming\npm\node_modul at Migration.run (C:\Users\asdfasdfa\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\migrate\Migration.js:212:1)
at Object.runMigrations (C:\Users\asdfasdfa\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\migrate\index.js:150:1)
Here is my Solidity file
pragma solidity ^0.5.7;
pragma experimental ABIEncoderV2;
import "@studydefi/money-legos/dydx/contracts/DydxFlashloanBase.sol";
import "@studydefi/money-legos/dydx/contracts/ICallee.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "./Compound.sol";
contract YieldFarmer is ICallee, DydxFlashloanBase, Compound {
enum Direction {Deposit, Withdraw}
struct Operation {
address token;
address cToken;
Direction direction;
uint256 amountProvided;
uint256 amountBorrowed;
}
address public owner;
constructor() public {
owner = msg.sender;
}