Static
Readonly
abi
abi: readonly [{
inputs: readonly [{
internalType: "address";
name: "diamond";
type: "address";
}, {
internalType: "address";
name: "chainlinkAdapter";
type: "address";
}, {
internalType: "address";
name: "initFeeCalculator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [];
name: "Ownable__NotOwner";
type: "error";
}, {
inputs: readonly [];
name: "Ownable__NotTransitiveOwner";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "x";
type: "uint256";
}, {
internalType: "uint256";
name: "y";
type: "uint256";
}];
name: "PRBMath_MulDiv18_Overflow";
type: "error";
}, {
inputs: readonly [{
internalType: "SD59x18";
name: "x";
type: "int256";
}];
name: "PRBMath_SD59x18_Exp2_InputTooBig";
type: "error";
}, {
inputs: readonly [{
internalType: "SD59x18";
name: "x";
type: "int256";
}];
name: "PRBMath_SD59x18_Floor_Underflow";
type: "error";
}, {
inputs: readonly [{
internalType: "SD59x18";
name: "x";
type: "int256";
}];
name: "PRBMath_SD59x18_IntoUD60x18_Underflow";
type: "error";
}, {
inputs: readonly [{
internalType: "SD59x18";
name: "x";
type: "int256";
}];
name: "PRBMath_SD59x18_Log_InputTooSmall";
type: "error";
}, {
inputs: readonly [];
name: "PRBMath_SD59x18_Mul_InputTooSmall";
type: "error";
}, {
inputs: readonly [{
internalType: "SD59x18";
name: "x";
type: "int256";
}, {
internalType: "SD59x18";
name: "y";
type: "int256";
}];
name: "PRBMath_SD59x18_Mul_Overflow";
type: "error";
}, {
inputs: readonly [{
internalType: "UD60x18";
name: "x";
type: "uint256";
}];
name: "PRBMath_UD60x18_Ceil_Overflow";
type: "error";
}, {
inputs: readonly [{
internalType: "UD60x18";
name: "x";
type: "uint256";
}];
name: "PRBMath_UD60x18_IntoSD59x18_Overflow";
type: "error";
}, {
inputs: readonly [];
name: "PoolFactory__IdenticalAddresses";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "msgValue";
type: "uint256";
}, {
internalType: "uint256";
name: "fee";
type: "uint256";
}];
name: "PoolFactory__InitializationFeeRequired";
type: "error";
}, {
inputs: readonly [];
name: "PoolFactory__NotAuthorized";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "maturity";
type: "uint256";
}];
name: "PoolFactory__OptionExpired";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "maturity";
type: "uint256";
}];
name: "PoolFactory__OptionMaturityExceedsMax";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "maturity";
type: "uint256";
}];
name: "PoolFactory__OptionMaturityNot8UTC";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "maturity";
type: "uint256";
}];
name: "PoolFactory__OptionMaturityNotFriday";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "maturity";
type: "uint256";
}];
name: "PoolFactory__OptionMaturityNotLastFriday";
type: "error";
}, {
inputs: readonly [];
name: "PoolFactory__OptionStrikeEqualsZero";
type: "error";
}, {
inputs: readonly [{
internalType: "UD60x18";
name: "strike";
type: "uint256";
}, {
internalType: "UD60x18";
name: "strikeInterval";
type: "uint256";
}];
name: "PoolFactory__OptionStrikeInvalid";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "poolAddress";
type: "address";
}];
name: "PoolFactory__PoolAlreadyDeployed";
type: "error";
}, {
inputs: readonly [];
name: "PoolFactory__PoolNotExpired";
type: "error";
}, {
inputs: readonly [];
name: "PoolFactory__ZeroAddress";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "previousOwner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "newOwner";
type: "address";
}];
name: "OwnershipTransferred";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "base";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "quote";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "oracleAdapter";
type: "address";
}, {
indexed: false;
internalType: "UD60x18";
name: "strike";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "maturity";
type: "uint256";
}, {
indexed: false;
internalType: "bool";
name: "isCallPool";
type: "bool";
}, {
indexed: false;
internalType: "address";
name: "poolAddress";
type: "address";
}];
name: "PoolDeployed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "pool";
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: "UD60x18";
name: "discountPerPool";
type: "uint256";
}];
name: "SetDiscountPerPool";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "feeReceiver";
type: "address";
}];
name: "SetFeeReceiver";
type: "event";
}, {
inputs: readonly [{
components: readonly [{
internalType: "address";
name: "base";
type: "address";
}, {
internalType: "address";
name: "quote";
type: "address";
}, {
internalType: "address";
name: "oracleAdapter";
type: "address";
}, {
internalType: "UD60x18";
name: "strike";
type: "uint256";
}, {
internalType: "uint256";
name: "maturity";
type: "uint256";
}, {
internalType: "bool";
name: "isCallPool";
type: "bool";
}];
internalType: "struct IPoolFactory.PoolKey";
name: "k";
type: "tuple";
}];
name: "deployPool";
outputs: readonly [{
internalType: "address";
name: "poolAddress";
type: "address";
}];
stateMutability: "payable";
type: "function";
}, {
inputs: readonly [{
components: readonly [{
internalType: "address";
name: "base";
type: "address";
}, {
internalType: "address";
name: "quote";
type: "address";
}, {
internalType: "address";
name: "oracleAdapter";
type: "address";
}, {
internalType: "UD60x18";
name: "strike";
type: "uint256";
}, {
internalType: "uint256";
name: "maturity";
type: "uint256";
}, {
internalType: "bool";
name: "isCallPool";
type: "bool";
}];
internalType: "struct IPoolFactory.PoolKey";
name: "k";
type: "tuple";
}];
name: "getPoolAddress";
outputs: readonly [{
internalType: "address";
name: "pool";
type: "address";
}, {
internalType: "bool";
name: "isDeployed";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
components: readonly [{
internalType: "address";
name: "base";
type: "address";
}, {
internalType: "address";
name: "quote";
type: "address";
}, {
internalType: "address";
name: "oracleAdapter";
type: "address";
}, {
internalType: "UD60x18";
name: "strike";
type: "uint256";
}, {
internalType: "uint256";
name: "maturity";
type: "uint256";
}, {
internalType: "bool";
name: "isCallPool";
type: "bool";
}];
internalType: "struct IPoolFactory.PoolKey";
name: "k";
type: "tuple";
}];
name: "initializationFee";
outputs: readonly [{
internalType: "UD60x18";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "contractAddress";
type: "address";
}];
name: "isPool";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
components: readonly [{
internalType: "address";
name: "base";
type: "address";
}, {
internalType: "address";
name: "quote";
type: "address";
}, {
internalType: "address";
name: "oracleAdapter";
type: "address";
}, {
internalType: "UD60x18";
name: "strike";
type: "uint256";
}, {
internalType: "uint256";
name: "maturity";
type: "uint256";
}, {
internalType: "bool";
name: "isCallPool";
type: "bool";
}];
internalType: "struct IPoolFactory.PoolKey";
name: "k";
type: "tuple";
}];
name: "removeDiscount";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "UD60x18";
name: "discountPerPool";
type: "uint256";
}];
name: "setDiscountPerPool";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "feeReceiver";
type: "address";
}];
name: "setFeeReceiver";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}] = _abi