Static Readonly abi
abi: readonly [{
inputs: readonly [{
internalType: "address";
name: "proxy";
type: "address";
}];
name: "OptionRewardFactory__ProxyAlreadyDeployed";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "implementation";
type: "address";
}];
name: "ManagedImplementationSet";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "option";
type: "address";
}, {
indexed: false;
internalType: "address[][]";
name: "basePath";
type: "address[][]";
}, {
indexed: false;
internalType: "uint8[]";
name: "basePathDecimals";
type: "uint8[]";
}, {
indexed: false;
internalType: "enum IOracleAdapter.AdapterType";
name: "baseAdapterType";
type: "uint8";
}, {
indexed: false;
internalType: "address[][]";
name: "quotePath";
type: "address[][]";
}, {
indexed: false;
internalType: "uint8[]";
name: "quotePathDecimals";
type: "uint8[]";
}, {
indexed: false;
internalType: "enum IOracleAdapter.AdapterType";
name: "quoteAdapterType";
type: "uint8";
}];
name: "PricingPath";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "contract IOptionPS";
name: "option";
type: "address";
}, {
indexed: false;
internalType: "contract IOracleAdapter";
name: "oracleAdapter";
type: "address";
}, {
indexed: false;
internalType: "contract IPaymentSplitter";
name: "paymentSplitter";
type: "address";
}, {
indexed: false;
internalType: "UD60x18";
name: "percentOfSpot";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "penalty";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "optionDuration";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "lockupDuration";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "claimDuration";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "fee";
type: "uint256";
}, {
indexed: false;
internalType: "address";
name: "feeReceiver";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "proxy";
type: "address";
}];
name: "ProxyDeployed";
type: "event";
}, {
inputs: readonly [{
components: readonly [{
internalType: "contract IOptionPS";
name: "option";
type: "address";
}, {
internalType: "contract IOracleAdapter";
name: "oracleAdapter";
type: "address";
}, {
internalType: "contract IPaymentSplitter";
name: "paymentSplitter";
type: "address";
}, {
internalType: "UD60x18";
name: "percentOfSpot";
type: "uint256";
}, {
internalType: "UD60x18";
name: "penalty";
type: "uint256";
}, {
internalType: "uint256";
name: "optionDuration";
type: "uint256";
}, {
internalType: "uint256";
name: "lockupDuration";
type: "uint256";
}, {
internalType: "uint256";
name: "claimDuration";
type: "uint256";
}];
internalType: "struct IOptionRewardFactory.OptionRewardArgs";
name: "args";
type: "tuple";
}];
name: "deployProxy";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "getDefaultFee";
outputs: readonly [{
internalType: "UD60x18";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getDefaultFeeReceiver";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getManagedProxyImplementation";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
components: readonly [{
internalType: "contract IOptionPS";
name: "option";
type: "address";
}, {
internalType: "contract IOracleAdapter";
name: "oracleAdapter";
type: "address";
}, {
internalType: "contract IPaymentSplitter";
name: "paymentSplitter";
type: "address";
}, {
internalType: "UD60x18";
name: "percentOfSpot";
type: "uint256";
}, {
internalType: "UD60x18";
name: "penalty";
type: "uint256";
}, {
internalType: "uint256";
name: "optionDuration";
type: "uint256";
}, {
internalType: "uint256";
name: "lockupDuration";
type: "uint256";
}, {
internalType: "uint256";
name: "claimDuration";
type: "uint256";
}, {
internalType: "UD60x18";
name: "fee";
type: "uint256";
}, {
internalType: "address";
name: "feeReceiver";
type: "address";
}];
internalType: "struct IOptionRewardFactory.OptionRewardKey";
name: "args";
type: "tuple";
}];
name: "getProxyAddress";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "proxy";
type: "address";
}];
name: "isProxyDeployed";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "implementation";
type: "address";
}];
name: "setManagedProxyImplementation";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}]