pub enum VaultError {
Show 55 variants InstructionUnpackError, NotRentExempt, AlreadyInitialized, Uninitialized, IncorrectOwner, NumericalOverflowError, TokenAccountContainsNoTokens, TokenAccountAmountLessThanAmountSpecified, VaultAccountIsNotEmpty, VaultAccountIsNotOwnedByProgram, SafetyDepositAddressInvalid, TokenTransferFailed, TokenMintToFailed, TokenBurnFailed, VaultMintNotEmpty, VaultAuthorityNotProgram, TreasuryNotEmpty, TreasuryOwnerNotProgram, VaultShouldBeInactive, VaultShouldBeActive, VaultShouldBeCombined, VaultTreasuryMintDoesNotMatchVaultMint, RedeemTreasuryCantShareSameMintAsFraction, InvalidAuthority, RedeemTreasuryMintMustMatchLookupMint, PaymentMintShouldMatchPricingMint, ShareMintShouldMatchFractionalMint, VaultMintNeedsToMatchVault, RedeemTreasuryNeedsToMatchVault, FractionTreasuryNeedsToMatchVault, NotAllowedToCombine, CannotAffordToCombineThisVault, NoShares, OutstandingShareAccountNeedsToMatchFractionalMint, DestinationAccountNeedsToMatchRedeemMint, FractionSupplyEmpty, TokenProgramProvidedDoesNotMatchVault, AuthorityIsNotSigner, AuthorityDoesNotMatch, SafetyDepositBoxVaultMismatch, StoreDoesNotMatchSafetyDepositBox, StoreEmpty, DestinationAccountNeedsToMatchTokenMint, DestinationAccountNeedsToMatchFractionMint, SourceAccountNeedsToMatchFractionMint, VaultDoesNotAllowNewShareMinting, NotEnoughShares, ExternalPriceAccountMustBeSigner, RedeemTreasuryMintShouldMatchPricingMint, StoreLessThanAmount, InvalidTokenProgram, DataTypeMismatch, DelegateShouldBeNone, CloseAuthorityShouldBeNone, DerivedKeyInvalid,
}
Expand description

Errors that may be returned by the Vault program.

Variants

InstructionUnpackError

Invalid instruction data passed in.

NotRentExempt

Lamport balance below rent-exempt threshold.

AlreadyInitialized

Already initialized

Uninitialized

Uninitialized

IncorrectOwner

Account does not have correct owner

NumericalOverflowError

NumericalOverflowError

TokenAccountContainsNoTokens

Provided token account contains no tokens

TokenAccountAmountLessThanAmountSpecified

Provided token account cannot provide amount specified

VaultAccountIsNotEmpty

Provided vault account contains is not empty

VaultAccountIsNotOwnedByProgram

Provided vault account is not owned by program

SafetyDepositAddressInvalid

The provided safety deposit account address does not match the expected program derived address

TokenTransferFailed

Token transfer failed

TokenMintToFailed

Token mint to failed

TokenBurnFailed

Token burn failed

VaultMintNotEmpty

Vault mint not empty on int

VaultAuthorityNotProgram

Vault mint’s authority not set to program

TreasuryNotEmpty

Vault treasury not empty on init

TreasuryOwnerNotProgram

Vault treasury’s owner not set to program

VaultShouldBeInactive

Vault should be inactive

VaultShouldBeActive

Vault should be active

VaultShouldBeCombined

Vault should be combined

VaultTreasuryMintDoesNotMatchVaultMint

Vault treasury needs to match fraction mint

RedeemTreasuryCantShareSameMintAsFraction

Redeem Treasury cannot be same mint as fraction

InvalidAuthority

Invalid program authority provided

RedeemTreasuryMintMustMatchLookupMint

Redeem treasury mint must match lookup mint

PaymentMintShouldMatchPricingMint

You must pay with the same mint as the external pricing oracle

ShareMintShouldMatchFractionalMint

Your share account should match the mint of the fractional mint

VaultMintNeedsToMatchVault

Vault mint provided does not match that on the token vault

RedeemTreasuryNeedsToMatchVault

Redeem treasury provided does not match that on the token vault

FractionTreasuryNeedsToMatchVault

Fraction treasury provided does not match that on the token vault

NotAllowedToCombine

Not allowed to combine at this time

CannotAffordToCombineThisVault

You cannot afford to combine this pool

NoShares

You have no shares to redeem

OutstandingShareAccountNeedsToMatchFractionalMint

Your outstanding share account is the incorrect mint

DestinationAccountNeedsToMatchRedeemMint

Your destination account is the incorrect mint

FractionSupplyEmpty

Fractional mint is empty

TokenProgramProvidedDoesNotMatchVault

Token Program Provided Needs To Match Vault

AuthorityIsNotSigner

Authority of vault needs to be signer for this action

AuthorityDoesNotMatch

Authority of vault does not match authority provided

SafetyDepositBoxVaultMismatch

This safety deposit box does not belong to this vault!

StoreDoesNotMatchSafetyDepositBox

The store provided does not match the store key on the safety deposit box!

StoreEmpty

This safety deposit box is empty!

DestinationAccountNeedsToMatchTokenMint

The destination account to receive your token needs to be the same mint as the token’s mint

DestinationAccountNeedsToMatchFractionMint

The destination account to receive your shares needs to be the same mint as the vault’s fraction mint

SourceAccountNeedsToMatchFractionMint

The source account to send your shares from needs to be the same mint as the vault’s fraction mint

VaultDoesNotAllowNewShareMinting

This vault does not allow the minting of new shares!

NotEnoughShares

There are not enough shares

ExternalPriceAccountMustBeSigner

External price account must be signer

RedeemTreasuryMintShouldMatchPricingMint

Very bad, someone changed external account’s price mint after vault creation!

StoreLessThanAmount

Store has less than amount desired

InvalidTokenProgram

Invalid token program

DataTypeMismatch

Data type mismatch

DelegateShouldBeNone

Accept payment delegate should be none

CloseAuthorityShouldBeNone

Accept payment close authority should be none

DerivedKeyInvalid

Derived key invalid

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Converts to this type from the input type.

Converts an i64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts an u64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts an isize to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts an i8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts an i16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts an i32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts an i128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts a usize to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts an u8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts an u16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts an u32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts an u128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts a f32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Converts a f64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.