IOptionRewardFactory
Inherits: IProxyManager
Functions
getDefaultFee
Returns the default fee
function getDefaultFee() external view returns (UD60x18);
getDefaultFeeReceiver
Returns the default fee receiver
function getDefaultFeeReceiver() external view returns (address);
isProxyDeployed
Returns true if proxy
is a deployed proxy
function isProxyDeployed(address proxy) external view returns (bool);
getProxyAddress
Returns the proxy address and whether it is deployed
function getProxyAddress(OptionRewardKey calldata args) external view returns (address, bool);
deployProxy
Deploys a new proxy
function deployProxy(OptionRewardArgs calldata args) external returns (address);
Events
ProxyDeployed
event ProxyDeployed(
IOptionPS indexed option,
IOracleAdapter oracleAdapter,
IPaymentSplitter paymentSplitter,
UD60x18 percentOfSpot,
UD60x18 penalty,
uint256 optionDuration,
uint256 lockupDuration,
uint256 claimDuration,
UD60x18 fee,
address feeReceiver,
address proxy
);
PricingPath
event PricingPath(
address option,
address[][] basePath,
uint8[] basePathDecimals,
IOracleAdapter.AdapterType baseAdapterType,
address[][] quotePath,
uint8[] quotePathDecimals,
IOracleAdapter.AdapterType quoteAdapterType
);
Errors
OptionRewardFactory__ProxyAlreadyDeployed
error OptionRewardFactory__ProxyAlreadyDeployed(address proxy);
Structs
OptionRewardArgs
struct OptionRewardArgs {
IOptionPS option;
IOracleAdapter oracleAdapter;
IPaymentSplitter paymentSplitter;
UD60x18 percentOfSpot;
UD60x18 penalty;
uint256 optionDuration;
uint256 lockupDuration;
uint256 claimDuration;
}
OptionRewardKey
struct OptionRewardKey {
IOptionPS option;
IOracleAdapter oracleAdapter;
IPaymentSplitter paymentSplitter;
UD60x18 percentOfSpot;
UD60x18 penalty;
uint256 optionDuration;
uint256 lockupDuration;
uint256 claimDuration;
UD60x18 fee;
address feeReceiver;
}