├── .gitignore ├── .prettierignore ├── .prettierrc ├── .solhint.json ├── README.md ├── brownie-config.yaml ├── contracts ├── OptionFactory.sol ├── OptionMarket.sol ├── OptionMath.sol ├── OptionSymbol.sol ├── OptionToken.sol ├── libraries │ ├── ABDKMath64x64.sol │ ├── BokkyPooBahsDateTimeLibrary.sol │ ├── CloneFactory.sol │ ├── StakingRewards.sol │ ├── UniERC20.sol │ └── openzeppelin │ │ ├── ContextUpgradeSafe.sol │ │ ├── ERC20UpgradeSafe.sol │ │ ├── Initializable.sol │ │ ├── OwnableUpgradeSafe.sol │ │ └── ReentrancyGuardUpgradeSafe.sol ├── mocks │ ├── MockAggregatorV3Interface.sol │ ├── MockOracle.sol │ ├── MockToken.sol │ └── MockUniswapV2Pair.sol ├── oracles │ ├── ChainlinkOracle.sol │ └── UniswapOracle.sol └── periphery │ ├── OptionLpVault.sol │ ├── OptionRegistry.sol │ └── OptionViews.sol ├── interfaces ├── AggregatorV3Interface.sol ├── IOracle.sol └── IUniswapV2Pair.sol ├── markets-rinkeby.yaml ├── markets.yaml ├── package.json ├── scripts ├── calc_lslmsr_cost.py ├── calc_lslmsr_prices.py ├── create_markets.py ├── deploy_charm_token.py ├── deploy_factory.py ├── deploy_oracle.py ├── deploy_vault.py ├── flatten.py ├── generate_options.py ├── generate_vaults.py ├── test_deploy_and_trade.py └── trade_vault.py ├── tests ├── conftest.py ├── test_chainlink_oracle.py ├── test_option_factory.py ├── test_option_lp_vault.py ├── test_option_market.py ├── test_option_symbol.py ├── test_option_token.py ├── test_staking_rewards.py └── test_uniswap_oracle.py └── vaults-rinkeby.yaml /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | StakingRewards.sol 2 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 120 3 | } 4 | -------------------------------------------------------------------------------- /.solhint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "solhint:recommended" 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/README.md -------------------------------------------------------------------------------- /brownie-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/brownie-config.yaml -------------------------------------------------------------------------------- /contracts/OptionFactory.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/OptionFactory.sol -------------------------------------------------------------------------------- /contracts/OptionMarket.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/OptionMarket.sol -------------------------------------------------------------------------------- /contracts/OptionMath.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/OptionMath.sol -------------------------------------------------------------------------------- /contracts/OptionSymbol.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/OptionSymbol.sol -------------------------------------------------------------------------------- /contracts/OptionToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/OptionToken.sol -------------------------------------------------------------------------------- /contracts/libraries/ABDKMath64x64.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/libraries/ABDKMath64x64.sol -------------------------------------------------------------------------------- /contracts/libraries/BokkyPooBahsDateTimeLibrary.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/libraries/BokkyPooBahsDateTimeLibrary.sol -------------------------------------------------------------------------------- /contracts/libraries/CloneFactory.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/libraries/CloneFactory.sol -------------------------------------------------------------------------------- /contracts/libraries/StakingRewards.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/libraries/StakingRewards.sol -------------------------------------------------------------------------------- /contracts/libraries/UniERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/libraries/UniERC20.sol -------------------------------------------------------------------------------- /contracts/libraries/openzeppelin/ContextUpgradeSafe.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/libraries/openzeppelin/ContextUpgradeSafe.sol -------------------------------------------------------------------------------- /contracts/libraries/openzeppelin/ERC20UpgradeSafe.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/libraries/openzeppelin/ERC20UpgradeSafe.sol -------------------------------------------------------------------------------- /contracts/libraries/openzeppelin/Initializable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/libraries/openzeppelin/Initializable.sol -------------------------------------------------------------------------------- /contracts/libraries/openzeppelin/OwnableUpgradeSafe.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/libraries/openzeppelin/OwnableUpgradeSafe.sol -------------------------------------------------------------------------------- /contracts/libraries/openzeppelin/ReentrancyGuardUpgradeSafe.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/libraries/openzeppelin/ReentrancyGuardUpgradeSafe.sol -------------------------------------------------------------------------------- /contracts/mocks/MockAggregatorV3Interface.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/mocks/MockAggregatorV3Interface.sol -------------------------------------------------------------------------------- /contracts/mocks/MockOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/mocks/MockOracle.sol -------------------------------------------------------------------------------- /contracts/mocks/MockToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/mocks/MockToken.sol -------------------------------------------------------------------------------- /contracts/mocks/MockUniswapV2Pair.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/mocks/MockUniswapV2Pair.sol -------------------------------------------------------------------------------- /contracts/oracles/ChainlinkOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/oracles/ChainlinkOracle.sol -------------------------------------------------------------------------------- /contracts/oracles/UniswapOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/oracles/UniswapOracle.sol -------------------------------------------------------------------------------- /contracts/periphery/OptionLpVault.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/periphery/OptionLpVault.sol -------------------------------------------------------------------------------- /contracts/periphery/OptionRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/periphery/OptionRegistry.sol -------------------------------------------------------------------------------- /contracts/periphery/OptionViews.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/contracts/periphery/OptionViews.sol -------------------------------------------------------------------------------- /interfaces/AggregatorV3Interface.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/interfaces/AggregatorV3Interface.sol -------------------------------------------------------------------------------- /interfaces/IOracle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/interfaces/IOracle.sol -------------------------------------------------------------------------------- /interfaces/IUniswapV2Pair.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/interfaces/IUniswapV2Pair.sol -------------------------------------------------------------------------------- /markets-rinkeby.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/markets-rinkeby.yaml -------------------------------------------------------------------------------- /markets.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/markets.yaml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/package.json -------------------------------------------------------------------------------- /scripts/calc_lslmsr_cost.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/calc_lslmsr_cost.py -------------------------------------------------------------------------------- /scripts/calc_lslmsr_prices.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/calc_lslmsr_prices.py -------------------------------------------------------------------------------- /scripts/create_markets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/create_markets.py -------------------------------------------------------------------------------- /scripts/deploy_charm_token.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/deploy_charm_token.py -------------------------------------------------------------------------------- /scripts/deploy_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/deploy_factory.py -------------------------------------------------------------------------------- /scripts/deploy_oracle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/deploy_oracle.py -------------------------------------------------------------------------------- /scripts/deploy_vault.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/deploy_vault.py -------------------------------------------------------------------------------- /scripts/flatten.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/flatten.py -------------------------------------------------------------------------------- /scripts/generate_options.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/generate_options.py -------------------------------------------------------------------------------- /scripts/generate_vaults.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/generate_vaults.py -------------------------------------------------------------------------------- /scripts/test_deploy_and_trade.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/test_deploy_and_trade.py -------------------------------------------------------------------------------- /scripts/trade_vault.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/scripts/trade_vault.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/test_chainlink_oracle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/tests/test_chainlink_oracle.py -------------------------------------------------------------------------------- /tests/test_option_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/tests/test_option_factory.py -------------------------------------------------------------------------------- /tests/test_option_lp_vault.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/tests/test_option_lp_vault.py -------------------------------------------------------------------------------- /tests/test_option_market.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/tests/test_option_market.py -------------------------------------------------------------------------------- /tests/test_option_symbol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/tests/test_option_symbol.py -------------------------------------------------------------------------------- /tests/test_option_token.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/tests/test_option_token.py -------------------------------------------------------------------------------- /tests/test_staking_rewards.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/tests/test_staking_rewards.py -------------------------------------------------------------------------------- /tests/test_uniswap_oracle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/tests/test_uniswap_oracle.py -------------------------------------------------------------------------------- /vaults-rinkeby.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/charmfinance/options-protocol/HEAD/vaults-rinkeby.yaml --------------------------------------------------------------------------------