IOptionRewardFactory

Git Source

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;
}