Static
Readonly
abi
abi: readonly [{
inputs: readonly [{
internalType: "UD60x18";
name: "totalPremium";
type: "uint256";
}, {
internalType: "UD60x18";
name: "premiumLimit";
type: "uint256";
}];
name: "Vault__AboveMaxSlippage";
type: "error";
}, {
inputs: readonly [];
name: "Vault__AddressZero";
type: "error";
}, {
inputs: readonly [];
name: "Vault__InsufficientFunds";
type: "error";
}, {
inputs: readonly [{
internalType: "UD60x18";
name: "maximum";
type: "uint256";
}, {
internalType: "UD60x18";
name: "amount";
type: "uint256";
}];
name: "Vault__MaximumAmountExceeded";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "timestamp";
type: "uint256";
}, {
internalType: "uint256";
name: "maturity";
type: "uint256";
}];
name: "Vault__OptionExpired";
type: "error";
}, {
inputs: readonly [];
name: "Vault__OptionPoolNotListed";
type: "error";
}, {
inputs: readonly [];
name: "Vault__OptionTypeMismatchWithVault";
type: "error";
}, {
inputs: readonly [];
name: "Vault__OutOfDTEBounds";
type: "error";
}, {
inputs: readonly [];
name: "Vault__OutOfDeltaBounds";
type: "error";
}, {
inputs: readonly [];
name: "Vault__SettingsNotFromRegistry";
type: "error";
}, {
inputs: readonly [];
name: "Vault__SettingsUpdateIsEmpty";
type: "error";
}, {
inputs: readonly [];
name: "Vault__StrikeZero";
type: "error";
}, {
inputs: readonly [];
name: "Vault__TradeMustBeBuy";
type: "error";
}, {
inputs: readonly [{
internalType: "UD60x18";
name: "balance";
type: "uint256";
}, {
internalType: "UD60x18";
name: "amount";
type: "uint256";
}];
name: "Vault__TransferExceedsBalance";
type: "error";
}, {
inputs: readonly [];
name: "Vault__ZeroAsset";
type: "error";
}, {
inputs: readonly [];
name: "Vault__ZeroShares";
type: "error";
}, {
inputs: readonly [];
name: "Vault__ZeroSize";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "spender";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "value";
type: "uint256";
}];
name: "Approval";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "bytes32";
name: "borrowId";
type: "bytes32";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "borrowToken";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "collateralToken";
type: "address";
}, {
indexed: false;
internalType: "UD60x18";
name: "sizeBorrowed";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "collateralLocked";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "borrowFee";
type: "uint256";
}];
name: "Borrow";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "bytes32";
name: "borrowId";
type: "bytes32";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "collateralToken";
type: "address";
}, {
indexed: false;
internalType: "UD60x18";
name: "collateralLiquidated";
type: "uint256";
}];
name: "BorrowLiquidated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "caller";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "assets";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "shares";
type: "uint256";
}];
name: "Deposit";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "recipient";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "managementFee";
type: "uint256";
}];
name: "ManagementFeePaid";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "recipient";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "performanceFee";
type: "uint256";
}];
name: "PerformanceFeePaid";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "bytes32";
name: "borrowId";
type: "bytes32";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "borrowToken";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "collateralToken";
type: "address";
}, {
indexed: false;
internalType: "UD60x18";
name: "amountRepaid";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "collateralUnlocked";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "repayFee";
type: "uint256";
}];
name: "RepayBorrow";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "sender";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "recipient";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "tokenIn";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "tokenOut";
type: "address";
}, {
indexed: false;
internalType: "UD60x18";
name: "amountIn";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "amountOut";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "takerFee";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "makerRebate";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "vaultFee";
type: "uint256";
}];
name: "Swap";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "user";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "pool";
type: "address";
}, {
indexed: false;
internalType: "UD60x18";
name: "contractSize";
type: "uint256";
}, {
indexed: false;
internalType: "bool";
name: "isBuy";
type: "bool";
}, {
indexed: false;
internalType: "UD60x18";
name: "premium";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "takerFee";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "makerRebate";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "vaultFee";
type: "uint256";
}];
name: "Trade";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "value";
type: "uint256";
}];
name: "Transfer";
type: "event";
}, {
anonymous: false;
inputs: readonly [];
name: "UpdateQuotes";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "caller";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "receiver";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "assets";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "shares";
type: "uint256";
}];
name: "Withdraw";
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: "poolKey";
type: "tuple";
}, {
internalType: "UD60x18";
name: "size";
type: "uint256";
}, {
internalType: "bool";
name: "isBuy";
type: "bool";
}, {
internalType: "address";
name: "taker";
type: "address";
}];
name: "getQuote";
outputs: readonly [{
internalType: "uint256";
name: "premium";
type: "uint256";
}];
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: "poolKey";
type: "tuple";
}, {
internalType: "UD60x18";
name: "size";
type: "uint256";
}, {
internalType: "bool";
name: "isBuy";
type: "bool";
}, {
internalType: "uint256";
name: "premiumLimit";
type: "uint256";
}, {
internalType: "address";
name: "referrer";
type: "address";
}];
name: "trade";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "settings";
type: "bytes";
}];
name: "updateSettings";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}] = _abi