├── .circleci └── config.yml ├── .gitattributes ├── .gitignore ├── .prettierrc ├── .solcover.js ├── LICENSE.txt ├── README.md ├── contracts ├── ExternalFunctions.sol ├── GlobalStore.sol ├── Hydro.sol ├── HydroToken.sol ├── Migrations.sol ├── Operations.sol ├── components │ └── OperationsComponent.sol ├── exchange │ ├── Discount.sol │ ├── Exchange.sol │ └── Relayer.sol ├── funding │ ├── Auctions.sol │ ├── BatchActions.sol │ ├── CollateralAccounts.sol │ ├── CommonInterestModel.sol │ ├── DefaultInterestModel.sol │ ├── LendingPool.sol │ ├── LendingPoolToken.sol │ └── StableCoinInterestModel.sol ├── helper │ ├── PriceOracle.sol │ ├── StandardToken.sol │ ├── TestMath.sol │ ├── TestSafeERC20.sol │ └── TestToken.sol ├── interfaces │ ├── IEth2Dai.sol │ ├── IInterestModel.sol │ ├── ILendingPoolToken.sol │ ├── IMakerDaoOracle.sol │ ├── IPriceOracle.sol │ └── IStandardToken.sol ├── lib │ ├── AssemblyCall.sol │ ├── Consts.sol │ ├── Decimal.sol │ ├── EIP712.sol │ ├── Events.sol │ ├── Ownable.sol │ ├── Requires.sol │ ├── SafeERC20.sol │ ├── SafeMath.sol │ ├── Signature.sol │ ├── Store.sol │ ├── Transfer.sol │ └── Types.sol ├── oracle │ ├── ConstPriceOracle.sol │ ├── DaiPriceOracle.sol │ ├── EthPriceOracle.sol │ ├── FeedPriceOracle.sol │ └── PriceOracleProxy.sol └── wallet │ └── MultiSigWalletWithTimelock.sol ├── images └── hydro_small.jpg ├── migrations ├── .gitkeep ├── 1_initial_migration.js └── 2_deploy.js ├── package.json ├── sdk └── sdk.js ├── test ├── exchange │ ├── discount_test.js │ ├── exchange_test.js │ ├── match_test.js │ ├── order_test.js │ ├── relayer_test.js │ └── signature_test.js ├── funding │ ├── batch_actions_test.js │ ├── critical_bug_test.js │ ├── feed_oracle_test.js │ ├── insurance_test.js │ ├── interest_rate_test.js │ ├── lending_pool_test.js │ ├── liquidate_test.js │ ├── markets_test.js │ ├── oracle_proxy_test.js │ └── transfer_test.js ├── lib │ ├── math_test.js │ ├── ownable_test.js │ ├── safe_erc20_test.js │ └── token_test.js ├── utils │ ├── assets.js │ ├── evm.js │ ├── hooks.js │ ├── index.js │ └── order.js └── wallet │ └── multi_sig_wallet_test.js └── truffle.js /.circleci/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/.circleci/config.yml -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.sol linguist-language=Solidity 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/.prettierrc -------------------------------------------------------------------------------- /.solcover.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/.solcover.js -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/README.md -------------------------------------------------------------------------------- /contracts/ExternalFunctions.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/ExternalFunctions.sol -------------------------------------------------------------------------------- /contracts/GlobalStore.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/GlobalStore.sol -------------------------------------------------------------------------------- /contracts/Hydro.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/Hydro.sol -------------------------------------------------------------------------------- /contracts/HydroToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/HydroToken.sol -------------------------------------------------------------------------------- /contracts/Migrations.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/Migrations.sol -------------------------------------------------------------------------------- /contracts/Operations.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/Operations.sol -------------------------------------------------------------------------------- /contracts/components/OperationsComponent.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/components/OperationsComponent.sol -------------------------------------------------------------------------------- /contracts/exchange/Discount.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/exchange/Discount.sol -------------------------------------------------------------------------------- /contracts/exchange/Exchange.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/exchange/Exchange.sol -------------------------------------------------------------------------------- /contracts/exchange/Relayer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/exchange/Relayer.sol -------------------------------------------------------------------------------- /contracts/funding/Auctions.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/funding/Auctions.sol -------------------------------------------------------------------------------- /contracts/funding/BatchActions.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/funding/BatchActions.sol -------------------------------------------------------------------------------- /contracts/funding/CollateralAccounts.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/funding/CollateralAccounts.sol -------------------------------------------------------------------------------- /contracts/funding/CommonInterestModel.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/funding/CommonInterestModel.sol -------------------------------------------------------------------------------- /contracts/funding/DefaultInterestModel.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/funding/DefaultInterestModel.sol -------------------------------------------------------------------------------- /contracts/funding/LendingPool.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/funding/LendingPool.sol -------------------------------------------------------------------------------- /contracts/funding/LendingPoolToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/funding/LendingPoolToken.sol -------------------------------------------------------------------------------- /contracts/funding/StableCoinInterestModel.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/funding/StableCoinInterestModel.sol -------------------------------------------------------------------------------- /contracts/helper/PriceOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/helper/PriceOracle.sol -------------------------------------------------------------------------------- /contracts/helper/StandardToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/helper/StandardToken.sol -------------------------------------------------------------------------------- /contracts/helper/TestMath.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/helper/TestMath.sol -------------------------------------------------------------------------------- /contracts/helper/TestSafeERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/helper/TestSafeERC20.sol -------------------------------------------------------------------------------- /contracts/helper/TestToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/helper/TestToken.sol -------------------------------------------------------------------------------- /contracts/interfaces/IEth2Dai.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/interfaces/IEth2Dai.sol -------------------------------------------------------------------------------- /contracts/interfaces/IInterestModel.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/interfaces/IInterestModel.sol -------------------------------------------------------------------------------- /contracts/interfaces/ILendingPoolToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/interfaces/ILendingPoolToken.sol -------------------------------------------------------------------------------- /contracts/interfaces/IMakerDaoOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/interfaces/IMakerDaoOracle.sol -------------------------------------------------------------------------------- /contracts/interfaces/IPriceOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/interfaces/IPriceOracle.sol -------------------------------------------------------------------------------- /contracts/interfaces/IStandardToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/interfaces/IStandardToken.sol -------------------------------------------------------------------------------- /contracts/lib/AssemblyCall.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/AssemblyCall.sol -------------------------------------------------------------------------------- /contracts/lib/Consts.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/Consts.sol -------------------------------------------------------------------------------- /contracts/lib/Decimal.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/Decimal.sol -------------------------------------------------------------------------------- /contracts/lib/EIP712.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/EIP712.sol -------------------------------------------------------------------------------- /contracts/lib/Events.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/Events.sol -------------------------------------------------------------------------------- /contracts/lib/Ownable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/Ownable.sol -------------------------------------------------------------------------------- /contracts/lib/Requires.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/Requires.sol -------------------------------------------------------------------------------- /contracts/lib/SafeERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/SafeERC20.sol -------------------------------------------------------------------------------- /contracts/lib/SafeMath.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/SafeMath.sol -------------------------------------------------------------------------------- /contracts/lib/Signature.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/Signature.sol -------------------------------------------------------------------------------- /contracts/lib/Store.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/Store.sol -------------------------------------------------------------------------------- /contracts/lib/Transfer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/Transfer.sol -------------------------------------------------------------------------------- /contracts/lib/Types.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/lib/Types.sol -------------------------------------------------------------------------------- /contracts/oracle/ConstPriceOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/oracle/ConstPriceOracle.sol -------------------------------------------------------------------------------- /contracts/oracle/DaiPriceOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/oracle/DaiPriceOracle.sol -------------------------------------------------------------------------------- /contracts/oracle/EthPriceOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/oracle/EthPriceOracle.sol -------------------------------------------------------------------------------- /contracts/oracle/FeedPriceOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/oracle/FeedPriceOracle.sol -------------------------------------------------------------------------------- /contracts/oracle/PriceOracleProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/oracle/PriceOracleProxy.sol -------------------------------------------------------------------------------- /contracts/wallet/MultiSigWalletWithTimelock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/contracts/wallet/MultiSigWalletWithTimelock.sol -------------------------------------------------------------------------------- /images/hydro_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/images/hydro_small.jpg -------------------------------------------------------------------------------- /migrations/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /migrations/1_initial_migration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/migrations/1_initial_migration.js -------------------------------------------------------------------------------- /migrations/2_deploy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/migrations/2_deploy.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/package.json -------------------------------------------------------------------------------- /sdk/sdk.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/sdk/sdk.js -------------------------------------------------------------------------------- /test/exchange/discount_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/exchange/discount_test.js -------------------------------------------------------------------------------- /test/exchange/exchange_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/exchange/exchange_test.js -------------------------------------------------------------------------------- /test/exchange/match_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/exchange/match_test.js -------------------------------------------------------------------------------- /test/exchange/order_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/exchange/order_test.js -------------------------------------------------------------------------------- /test/exchange/relayer_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/exchange/relayer_test.js -------------------------------------------------------------------------------- /test/exchange/signature_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/exchange/signature_test.js -------------------------------------------------------------------------------- /test/funding/batch_actions_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/funding/batch_actions_test.js -------------------------------------------------------------------------------- /test/funding/critical_bug_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/funding/critical_bug_test.js -------------------------------------------------------------------------------- /test/funding/feed_oracle_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/funding/feed_oracle_test.js -------------------------------------------------------------------------------- /test/funding/insurance_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/funding/insurance_test.js -------------------------------------------------------------------------------- /test/funding/interest_rate_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/funding/interest_rate_test.js -------------------------------------------------------------------------------- /test/funding/lending_pool_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/funding/lending_pool_test.js -------------------------------------------------------------------------------- /test/funding/liquidate_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/funding/liquidate_test.js -------------------------------------------------------------------------------- /test/funding/markets_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/funding/markets_test.js -------------------------------------------------------------------------------- /test/funding/oracle_proxy_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/funding/oracle_proxy_test.js -------------------------------------------------------------------------------- /test/funding/transfer_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/funding/transfer_test.js -------------------------------------------------------------------------------- /test/lib/math_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/lib/math_test.js -------------------------------------------------------------------------------- /test/lib/ownable_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/lib/ownable_test.js -------------------------------------------------------------------------------- /test/lib/safe_erc20_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/lib/safe_erc20_test.js -------------------------------------------------------------------------------- /test/lib/token_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/lib/token_test.js -------------------------------------------------------------------------------- /test/utils/assets.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/utils/assets.js -------------------------------------------------------------------------------- /test/utils/evm.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/utils/evm.js -------------------------------------------------------------------------------- /test/utils/hooks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/utils/hooks.js -------------------------------------------------------------------------------- /test/utils/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/utils/index.js -------------------------------------------------------------------------------- /test/utils/order.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/utils/order.js -------------------------------------------------------------------------------- /test/wallet/multi_sig_wallet_test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/test/wallet/multi_sig_wallet_test.js -------------------------------------------------------------------------------- /truffle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HydroProtocol/protocol/HEAD/truffle.js --------------------------------------------------------------------------------