From e3bebae9b6820d8c43427c67ef4b1e2121d07327 Mon Sep 17 00:00:00 2001 From: Thrilok kumar Date: Fri, 21 Aug 2020 03:53:38 +0530 Subject: [PATCH] Delete curve_staking.prod.sol --- contracts/tests/curve_staking.prod.sol | 310 ------------------------- 1 file changed, 310 deletions(-) delete mode 100644 contracts/tests/curve_staking.prod.sol diff --git a/contracts/tests/curve_staking.prod.sol b/contracts/tests/curve_staking.prod.sol deleted file mode 100644 index ccb1148..0000000 --- a/contracts/tests/curve_staking.prod.sol +++ /dev/null @@ -1,310 +0,0 @@ -pragma solidity ^0.6.0; - -interface TokenInterface { - function approve(address, uint256) external; - function transfer(address, uint) external; - function transferFrom(address, address, uint) external; - function deposit() external payable; - function withdraw(uint) external; - function balanceOf(address) external view returns (uint); - function decimals() external view returns (uint); -} - -interface MemoryInterface { - function getUint(uint id) external returns (uint num); - function setUint(uint id, uint val) external; -} - -interface EventInterface { - function emitEvent(uint connectorType, uint connectorID, bytes32 eventCode, bytes calldata eventData) external; -} - -contract Stores { - /** - * @dev Return memory variable address - */ - function getMemoryAddr() internal pure returns (address) { - return 0x8a5419CfC711B2343c17a6ABf4B2bAFaBb06957F; // InstaMemory Address - } - - /** - * @dev Return InstaEvent Address. - */ - function getEventAddr() internal pure returns (address) { - return 0x2af7ea6Cb911035f3eb1ED895Cb6692C39ecbA97; // InstaEvent Address - } - - /** - * @dev Get Uint value from InstaMemory Contract. - */ - function getUint(uint getId, uint val) internal returns (uint returnVal) { - returnVal = getId == 0 ? val : MemoryInterface(getMemoryAddr()).getUint(getId); - } - - /** - * @dev Set Uint value in InstaMemory Contract. - */ - function setUint(uint setId, uint val) virtual internal { - if (setId != 0) MemoryInterface(getMemoryAddr()).setUint(setId, val); - } - - /** - * @dev emit event on event contract - */ - function emitEvent(bytes32 eventCode, bytes memory eventData) virtual internal { - (uint model, uint id) = connectorID(); - EventInterface(getEventAddr()).emitEvent(model, id, eventCode, eventData); - } - - /** - * @dev Connector Details - needs to be changed before deployment - */ - function connectorID() public view returns(uint model, uint id) { - (model, id) = (1, 39); - } - -} - -/** - * @dev Wrappers over Solidity's arithmetic operations with added overflow - * checks. - * - * Arithmetic operations in Solidity wrap on overflow. This can easily result - * in bugs, because programmers usually assume that an overflow raises an - * error, which is the standard behavior in high level programming languages. - * `SafeMath` restores this intuition by reverting the transaction when an - * operation overflows. - * - * Using this library instead of the unchecked operations eliminates an entire - * class of bugs, so it's recommended to use it always. - */ -library SafeMath { - /** - * @dev Returns the addition of two unsigned integers, reverting on - * overflow. - * - * Counterpart to Solidity's `+` operator. - * - * Requirements: - * - * - Addition cannot overflow. - */ - function add(uint256 a, uint256 b) internal pure returns (uint256) { - uint256 c = a + b; - require(c >= a, "SafeMath: addition overflow"); - - return c; - } - - /** - * @dev Returns the subtraction of two unsigned integers, reverting on - * overflow (when the result is negative). - * - * Counterpart to Solidity's `-` operator. - * - * Requirements: - * - * - Subtraction cannot overflow. - */ - function sub(uint256 a, uint256 b) internal pure returns (uint256) { - return sub(a, b, "SafeMath: subtraction overflow"); - } - - /** - * @dev Returns the subtraction of two unsigned integers, reverting with custom message on - * overflow (when the result is negative). - * - * Counterpart to Solidity's `-` operator. - * - * Requirements: - * - * - Subtraction cannot overflow. - */ - function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { - require(b <= a, errorMessage); - uint256 c = a - b; - - return c; - } - - /** - * @dev Returns the multiplication of two unsigned integers, reverting on - * overflow. - * - * Counterpart to Solidity's `*` operator. - * - * Requirements: - * - * - Multiplication cannot overflow. - */ - function mul(uint256 a, uint256 b) internal pure returns (uint256) { - // Gas optimization: this is cheaper than requiring 'a' not being zero, but the - // benefit is lost if 'b' is also tested. - // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 - if (a == 0) { - return 0; - } - - uint256 c = a * b; - require(c / a == b, "SafeMath: multiplication overflow"); - - return c; - } - - /** - * @dev Returns the integer division of two unsigned integers. Reverts on - * division by zero. The result is rounded towards zero. - * - * Counterpart to Solidity's `/` operator. Note: this function uses a - * `revert` opcode (which leaves remaining gas untouched) while Solidity - * uses an invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function div(uint256 a, uint256 b) internal pure returns (uint256) { - return div(a, b, "SafeMath: division by zero"); - } - - /** - * @dev Returns the integer division of two unsigned integers. Reverts with custom message on - * division by zero. The result is rounded towards zero. - * - * Counterpart to Solidity's `/` operator. Note: this function uses a - * `revert` opcode (which leaves remaining gas untouched) while Solidity - * uses an invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { - require(b > 0, errorMessage); - uint256 c = a / b; - // assert(a == b * c + a % b); // There is no case in which this doesn't hold - - return c; - } - - /** - * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), - * Reverts when dividing by zero. - * - * Counterpart to Solidity's `%` operator. This function uses a `revert` - * opcode (which leaves remaining gas untouched) while Solidity uses an - * invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function mod(uint256 a, uint256 b) internal pure returns (uint256) { - return mod(a, b, "SafeMath: modulo by zero"); - } - - /** - * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), - * Reverts with custom message when dividing by zero. - * - * Counterpart to Solidity's `%` operator. This function uses a `revert` - * opcode (which leaves remaining gas untouched) while Solidity uses an - * invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { - require(b != 0, errorMessage); - return a % b; - } -} - -contract DSMath { - uint constant WAD = 10 ** 18; - uint constant RAY = 10 ** 27; - - function add(uint x, uint y) internal pure returns (uint z) { - z = SafeMath.add(x, y); - } - - function sub(uint x, uint y) internal virtual pure returns (uint z) { - z = SafeMath.sub(x, y); - } - - function mul(uint x, uint y) internal pure returns (uint z) { - z = SafeMath.mul(x, y); - } - - function div(uint x, uint y) internal pure returns (uint z) { - z = SafeMath.div(x, y); - } - - function wmul(uint x, uint y) internal pure returns (uint z) { - z = SafeMath.add(SafeMath.mul(x, y), WAD / 2) / WAD; - } - - function wdiv(uint x, uint y) internal pure returns (uint z) { - z = SafeMath.add(SafeMath.mul(x, WAD), y / 2) / y; - } - - function rdiv(uint x, uint y) internal pure returns (uint z) { - z = SafeMath.add(SafeMath.mul(x, RAY), y / 2) / y; - } - - function rmul(uint x, uint y) internal pure returns (uint z) { - z = SafeMath.add(SafeMath.mul(x, y), RAY / 2) / RAY; - } - -} - -interface ICurve { - function claim(address addr) external; -} - -contract CurveVestingHelpers is Stores, DSMath { - /** - * @dev Return Curve Token Address - */ - function getCurveTokenAddr() internal pure returns (address) { - return 0xD533a949740bb3306d119CC777fa900bA034cd52; - } - - /** - * @dev Return Curve Vesting Address - */ - function getCurveVestingAddr() internal pure returns (address) { - return 0x575CCD8e2D300e2377B43478339E364000318E2c; - } -} - -contract CurveVestingProtocol is CurveVestingHelpers { - event LogClaim(address account, uint256 claimAmount, uint256 getId, uint256 setId); - - /** - * @dev Claim Curve DAO Token. - * @param getId Get token amount at this ID from `InstaMemory` Contract. - * @param setId Set token amount at this ID in `InstaMemory` Contract. - */ - function claim(uint getId, uint setId) external{ - TokenInterface curveTokenContract = TokenInterface(getCurveTokenAddr()); - - uint initialCurveBal = curveTokenContract.balanceOf(address(this)); - ICurve(getCurveVestingAddr()).claim(address(this)); - uint finalCurveBal = curveTokenContract.balanceOf(address(this)); - - uint claimedAmt = sub(finalCurveBal, initialCurveBal); - - setUint(setId, claimedAmt); - - emit LogClaim(address(this), claimedAmt, getId, setId); - bytes32 _eventCode = keccak256("LogClaim(address,uint256,uint256,uint256)"); - bytes memory _eventParam = abi.encode(address(this), claimedAmt, getId, setId); - emitEvent(_eventCode, _eventParam); - } -} - -contract ConnectCurveVesting is CurveVestingProtocol { - string public name = "Curve-vesting-v1"; -}