Hierarchy

  • IVault__factory

Constructors

Properties

Methods

Constructors

Properties

abi: readonly [{
    inputs: readonly [];
    name: "ERC20Base__ApproveFromZeroAddress";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Base__ApproveToZeroAddress";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Base__BurnExceedsBalance";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Base__BurnFromZeroAddress";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Base__InsufficientAllowance";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Base__MintToZeroAddress";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Base__TransferExceedsBalance";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Base__TransferFromZeroAddress";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Base__TransferToZeroAddress";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Extended__ExcessiveAllowance";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Extended__InsufficientAllowance";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Permit__ExpiredDeadline";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC20Permit__InvalidSignature";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC4626Base__AllowanceExceeded";
    type: "error";
}, {
    inputs: readonly [];
    name: "ERC4626Base__MaximumAmountExceeded";
    type: "error";
}, {
    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 [];
    name: "Vault__InsufficientShorts";
    type: "error";
}, {
    inputs: readonly [];
    name: "Vault__InvalidSettingsUpdate";
    type: "error";
}, {
    inputs: readonly [];
    name: "Vault__InvariantViolated";
    type: "error";
}, {
    inputs: readonly [{
        internalType: "UD60x18";
        name: "maximum";
        type: "uint256";
    }, {
        internalType: "UD60x18";
        name: "amount";
        type: "uint256";
    }];
    name: "Vault__MaximumAmountExceeded";
    type: "error";
}, {
    inputs: readonly [];
    name: "Vault__NotAuthorized";
    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__SellDisabled";
    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: "address";
        name: "feeReceiver";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "feesClaimed";
        type: "uint256";
    }];
    name: "ClaimProtocolFees";
    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: false;
        internalType: "UD60x18";
        name: "pricePerShare";
        type: "uint256";
    }];
    name: "PricePerShare";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "pool";
        type: "address";
    }, {
        indexed: false;
        internalType: "UD60x18";
        name: "contractSize";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "UD60x18";
        name: "fee";
        type: "uint256";
    }];
    name: "Settle";
    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: false;
        internalType: "bytes";
        name: "settings";
        type: "bytes";
    }];
    name: "UpdateSettings";
    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 [];
    name: "DOMAIN_SEPARATOR";
    outputs: readonly [{
        internalType: "bytes32";
        name: "domainSeparator";
        type: "bytes32";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "holder";
        type: "address";
    }, {
        internalType: "address";
        name: "spender";
        type: "address";
    }];
    name: "allowance";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "approve";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "asset";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "account";
        type: "address";
    }];
    name: "balanceOf";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint256";
        name: "shareAmount";
        type: "uint256";
    }];
    name: "convertToAssets";
    outputs: readonly [{
        internalType: "uint256";
        name: "assetAmount";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint256";
        name: "assetAmount";
        type: "uint256";
    }];
    name: "convertToShares";
    outputs: readonly [{
        internalType: "uint256";
        name: "shareAmount";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "decimals";
    outputs: readonly [{
        internalType: "uint8";
        name: "";
        type: "uint8";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "decreaseAllowance";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint256";
        name: "assetAmount";
        type: "uint256";
    }, {
        internalType: "address";
        name: "receiver";
        type: "address";
    }];
    name: "deposit";
    outputs: readonly [{
        internalType: "uint256";
        name: "shareAmount";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    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: "address";
        name: "taker";
        type: "address";
    }];
    name: "getQuote";
    outputs: readonly [{
        internalType: "uint256";
        name: "premium";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getSettings";
    outputs: readonly [{
        internalType: "bytes";
        name: "";
        type: "bytes";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getUtilisation";
    outputs: readonly [{
        internalType: "UD60x18";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "increaseAllowance";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "receiver";
        type: "address";
    }];
    name: "maxDeposit";
    outputs: readonly [{
        internalType: "uint256";
        name: "maxAssets";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "receiver";
        type: "address";
    }];
    name: "maxMint";
    outputs: readonly [{
        internalType: "uint256";
        name: "maxShares";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "owner";
        type: "address";
    }];
    name: "maxRedeem";
    outputs: readonly [{
        internalType: "uint256";
        name: "maxShares";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "owner";
        type: "address";
    }];
    name: "maxWithdraw";
    outputs: readonly [{
        internalType: "uint256";
        name: "maxAssets";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint256";
        name: "shareAmount";
        type: "uint256";
    }, {
        internalType: "address";
        name: "receiver";
        type: "address";
    }];
    name: "mint";
    outputs: readonly [{
        internalType: "uint256";
        name: "assetAmount";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "name";
    outputs: readonly [{
        internalType: "string";
        name: "";
        type: "string";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "owner";
        type: "address";
    }];
    name: "nonces";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "owner";
        type: "address";
    }, {
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "deadline";
        type: "uint256";
    }, {
        internalType: "uint8";
        name: "v";
        type: "uint8";
    }, {
        internalType: "bytes32";
        name: "r";
        type: "bytes32";
    }, {
        internalType: "bytes32";
        name: "s";
        type: "bytes32";
    }];
    name: "permit";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint256";
        name: "assetAmount";
        type: "uint256";
    }];
    name: "previewDeposit";
    outputs: readonly [{
        internalType: "uint256";
        name: "shareAmount";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint256";
        name: "shareAmount";
        type: "uint256";
    }];
    name: "previewMint";
    outputs: readonly [{
        internalType: "uint256";
        name: "assetAmount";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint256";
        name: "shareAmount";
        type: "uint256";
    }];
    name: "previewRedeem";
    outputs: readonly [{
        internalType: "uint256";
        name: "assetAmount";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint256";
        name: "assetAmount";
        type: "uint256";
    }];
    name: "previewWithdraw";
    outputs: readonly [{
        internalType: "uint256";
        name: "shareAmount";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint256";
        name: "shareAmount";
        type: "uint256";
    }, {
        internalType: "address";
        name: "receiver";
        type: "address";
    }, {
        internalType: "address";
        name: "owner";
        type: "address";
    }];
    name: "redeem";
    outputs: readonly [{
        internalType: "uint256";
        name: "assetAmount";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "symbol";
    outputs: readonly [{
        internalType: "string";
        name: "";
        type: "string";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "totalAssets";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "totalSupply";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        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: "address";
        name: "recipient";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "transfer";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "holder";
        type: "address";
    }, {
        internalType: "address";
        name: "recipient";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "transferFrom";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "bytes";
        name: "settings";
        type: "bytes";
    }];
    name: "updateSettings";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint256";
        name: "assetAmount";
        type: "uint256";
    }, {
        internalType: "address";
        name: "receiver";
        type: "address";
    }, {
        internalType: "address";
        name: "owner";
        type: "address";
    }];
    name: "withdraw";
    outputs: readonly [{
        internalType: "uint256";
        name: "shareAmount";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}]

Methods

  • Parameters

    • address: string
    • Optional runner: null | ContractRunner

    Returns IVault

  • Returns IVaultInterface

Generated using TypeDoc