sbv2-solana/programs/anchor-feed-parser/client/errors/anchor.ts

691 lines
18 KiB
TypeScript

export type AnchorError =
| InstructionMissing
| InstructionFallbackNotFound
| InstructionDidNotDeserialize
| InstructionDidNotSerialize
| IdlInstructionStub
| IdlInstructionInvalidProgram
| ConstraintMut
| ConstraintHasOne
| ConstraintSigner
| ConstraintRaw
| ConstraintOwner
| ConstraintRentExempt
| ConstraintSeeds
| ConstraintExecutable
| ConstraintState
| ConstraintAssociated
| ConstraintAssociatedInit
| ConstraintClose
| ConstraintAddress
| ConstraintZero
| ConstraintTokenMint
| ConstraintTokenOwner
| ConstraintMintMintAuthority
| ConstraintMintFreezeAuthority
| ConstraintMintDecimals
| ConstraintSpace
| RequireViolated
| RequireEqViolated
| RequireKeysEqViolated
| RequireNeqViolated
| RequireKeysNeqViolated
| RequireGtViolated
| RequireGteViolated
| AccountDiscriminatorAlreadySet
| AccountDiscriminatorNotFound
| AccountDiscriminatorMismatch
| AccountDidNotDeserialize
| AccountDidNotSerialize
| AccountNotEnoughKeys
| AccountNotMutable
| AccountOwnedByWrongProgram
| InvalidProgramId
| InvalidProgramExecutable
| AccountNotSigner
| AccountNotSystemOwned
| AccountNotInitialized
| AccountNotProgramData
| AccountNotAssociatedTokenAccount
| AccountSysvarMismatch
| StateInvalidAddress
| DeclaredProgramIdMismatch
| Deprecated
export class InstructionMissing extends Error {
readonly code = 100
readonly name = "InstructionMissing"
readonly msg = "8 byte instruction identifier not provided"
constructor() {
super("100: 8 byte instruction identifier not provided")
}
}
export class InstructionFallbackNotFound extends Error {
readonly code = 101
readonly name = "InstructionFallbackNotFound"
readonly msg = "Fallback functions are not supported"
constructor() {
super("101: Fallback functions are not supported")
}
}
export class InstructionDidNotDeserialize extends Error {
readonly code = 102
readonly name = "InstructionDidNotDeserialize"
readonly msg = "The program could not deserialize the given instruction"
constructor() {
super("102: The program could not deserialize the given instruction")
}
}
export class InstructionDidNotSerialize extends Error {
readonly code = 103
readonly name = "InstructionDidNotSerialize"
readonly msg = "The program could not serialize the given instruction"
constructor() {
super("103: The program could not serialize the given instruction")
}
}
export class IdlInstructionStub extends Error {
readonly code = 1000
readonly name = "IdlInstructionStub"
readonly msg = "The program was compiled without idl instructions"
constructor() {
super("1000: The program was compiled without idl instructions")
}
}
export class IdlInstructionInvalidProgram extends Error {
readonly code = 1001
readonly name = "IdlInstructionInvalidProgram"
readonly msg =
"The transaction was given an invalid program for the IDL instruction"
constructor() {
super(
"1001: The transaction was given an invalid program for the IDL instruction"
)
}
}
export class ConstraintMut extends Error {
readonly code = 2000
readonly name = "ConstraintMut"
readonly msg = "A mut constraint was violated"
constructor() {
super("2000: A mut constraint was violated")
}
}
export class ConstraintHasOne extends Error {
readonly code = 2001
readonly name = "ConstraintHasOne"
readonly msg = "A has_one constraint was violated"
constructor() {
super("2001: A has_one constraint was violated")
}
}
export class ConstraintSigner extends Error {
readonly code = 2002
readonly name = "ConstraintSigner"
readonly msg = "A signer constraint was violated"
constructor() {
super("2002: A signer constraint was violated")
}
}
export class ConstraintRaw extends Error {
readonly code = 2003
readonly name = "ConstraintRaw"
readonly msg = "A raw constraint was violated"
constructor() {
super("2003: A raw constraint was violated")
}
}
export class ConstraintOwner extends Error {
readonly code = 2004
readonly name = "ConstraintOwner"
readonly msg = "An owner constraint was violated"
constructor() {
super("2004: An owner constraint was violated")
}
}
export class ConstraintRentExempt extends Error {
readonly code = 2005
readonly name = "ConstraintRentExempt"
readonly msg = "A rent exemption constraint was violated"
constructor() {
super("2005: A rent exemption constraint was violated")
}
}
export class ConstraintSeeds extends Error {
readonly code = 2006
readonly name = "ConstraintSeeds"
readonly msg = "A seeds constraint was violated"
constructor() {
super("2006: A seeds constraint was violated")
}
}
export class ConstraintExecutable extends Error {
readonly code = 2007
readonly name = "ConstraintExecutable"
readonly msg = "An executable constraint was violated"
constructor() {
super("2007: An executable constraint was violated")
}
}
export class ConstraintState extends Error {
readonly code = 2008
readonly name = "ConstraintState"
readonly msg = "A state constraint was violated"
constructor() {
super("2008: A state constraint was violated")
}
}
export class ConstraintAssociated extends Error {
readonly code = 2009
readonly name = "ConstraintAssociated"
readonly msg = "An associated constraint was violated"
constructor() {
super("2009: An associated constraint was violated")
}
}
export class ConstraintAssociatedInit extends Error {
readonly code = 2010
readonly name = "ConstraintAssociatedInit"
readonly msg = "An associated init constraint was violated"
constructor() {
super("2010: An associated init constraint was violated")
}
}
export class ConstraintClose extends Error {
readonly code = 2011
readonly name = "ConstraintClose"
readonly msg = "A close constraint was violated"
constructor() {
super("2011: A close constraint was violated")
}
}
export class ConstraintAddress extends Error {
readonly code = 2012
readonly name = "ConstraintAddress"
readonly msg = "An address constraint was violated"
constructor() {
super("2012: An address constraint was violated")
}
}
export class ConstraintZero extends Error {
readonly code = 2013
readonly name = "ConstraintZero"
readonly msg = "Expected zero account discriminant"
constructor() {
super("2013: Expected zero account discriminant")
}
}
export class ConstraintTokenMint extends Error {
readonly code = 2014
readonly name = "ConstraintTokenMint"
readonly msg = "A token mint constraint was violated"
constructor() {
super("2014: A token mint constraint was violated")
}
}
export class ConstraintTokenOwner extends Error {
readonly code = 2015
readonly name = "ConstraintTokenOwner"
readonly msg = "A token owner constraint was violated"
constructor() {
super("2015: A token owner constraint was violated")
}
}
export class ConstraintMintMintAuthority extends Error {
readonly code = 2016
readonly name = "ConstraintMintMintAuthority"
readonly msg = "A mint mint authority constraint was violated"
constructor() {
super("2016: A mint mint authority constraint was violated")
}
}
export class ConstraintMintFreezeAuthority extends Error {
readonly code = 2017
readonly name = "ConstraintMintFreezeAuthority"
readonly msg = "A mint freeze authority constraint was violated"
constructor() {
super("2017: A mint freeze authority constraint was violated")
}
}
export class ConstraintMintDecimals extends Error {
readonly code = 2018
readonly name = "ConstraintMintDecimals"
readonly msg = "A mint decimals constraint was violated"
constructor() {
super("2018: A mint decimals constraint was violated")
}
}
export class ConstraintSpace extends Error {
readonly code = 2019
readonly name = "ConstraintSpace"
readonly msg = "A space constraint was violated"
constructor() {
super("2019: A space constraint was violated")
}
}
export class RequireViolated extends Error {
readonly code = 2500
readonly name = "RequireViolated"
readonly msg = "A require expression was violated"
constructor() {
super("2500: A require expression was violated")
}
}
export class RequireEqViolated extends Error {
readonly code = 2501
readonly name = "RequireEqViolated"
readonly msg = "A require_eq expression was violated"
constructor() {
super("2501: A require_eq expression was violated")
}
}
export class RequireKeysEqViolated extends Error {
readonly code = 2502
readonly name = "RequireKeysEqViolated"
readonly msg = "A require_keys_eq expression was violated"
constructor() {
super("2502: A require_keys_eq expression was violated")
}
}
export class RequireNeqViolated extends Error {
readonly code = 2503
readonly name = "RequireNeqViolated"
readonly msg = "A require_neq expression was violated"
constructor() {
super("2503: A require_neq expression was violated")
}
}
export class RequireKeysNeqViolated extends Error {
readonly code = 2504
readonly name = "RequireKeysNeqViolated"
readonly msg = "A require_keys_neq expression was violated"
constructor() {
super("2504: A require_keys_neq expression was violated")
}
}
export class RequireGtViolated extends Error {
readonly code = 2505
readonly name = "RequireGtViolated"
readonly msg = "A require_gt expression was violated"
constructor() {
super("2505: A require_gt expression was violated")
}
}
export class RequireGteViolated extends Error {
readonly code = 2506
readonly name = "RequireGteViolated"
readonly msg = "A require_gte expression was violated"
constructor() {
super("2506: A require_gte expression was violated")
}
}
export class AccountDiscriminatorAlreadySet extends Error {
readonly code = 3000
readonly name = "AccountDiscriminatorAlreadySet"
readonly msg = "The account discriminator was already set on this account"
constructor() {
super("3000: The account discriminator was already set on this account")
}
}
export class AccountDiscriminatorNotFound extends Error {
readonly code = 3001
readonly name = "AccountDiscriminatorNotFound"
readonly msg = "No 8 byte discriminator was found on the account"
constructor() {
super("3001: No 8 byte discriminator was found on the account")
}
}
export class AccountDiscriminatorMismatch extends Error {
readonly code = 3002
readonly name = "AccountDiscriminatorMismatch"
readonly msg = "8 byte discriminator did not match what was expected"
constructor() {
super("3002: 8 byte discriminator did not match what was expected")
}
}
export class AccountDidNotDeserialize extends Error {
readonly code = 3003
readonly name = "AccountDidNotDeserialize"
readonly msg = "Failed to deserialize the account"
constructor() {
super("3003: Failed to deserialize the account")
}
}
export class AccountDidNotSerialize extends Error {
readonly code = 3004
readonly name = "AccountDidNotSerialize"
readonly msg = "Failed to serialize the account"
constructor() {
super("3004: Failed to serialize the account")
}
}
export class AccountNotEnoughKeys extends Error {
readonly code = 3005
readonly name = "AccountNotEnoughKeys"
readonly msg = "Not enough account keys given to the instruction"
constructor() {
super("3005: Not enough account keys given to the instruction")
}
}
export class AccountNotMutable extends Error {
readonly code = 3006
readonly name = "AccountNotMutable"
readonly msg = "The given account is not mutable"
constructor() {
super("3006: The given account is not mutable")
}
}
export class AccountOwnedByWrongProgram extends Error {
readonly code = 3007
readonly name = "AccountOwnedByWrongProgram"
readonly msg =
"The given account is owned by a different program than expected"
constructor() {
super(
"3007: The given account is owned by a different program than expected"
)
}
}
export class InvalidProgramId extends Error {
readonly code = 3008
readonly name = "InvalidProgramId"
readonly msg = "Program ID was not as expected"
constructor() {
super("3008: Program ID was not as expected")
}
}
export class InvalidProgramExecutable extends Error {
readonly code = 3009
readonly name = "InvalidProgramExecutable"
readonly msg = "Program account is not executable"
constructor() {
super("3009: Program account is not executable")
}
}
export class AccountNotSigner extends Error {
readonly code = 3010
readonly name = "AccountNotSigner"
readonly msg = "The given account did not sign"
constructor() {
super("3010: The given account did not sign")
}
}
export class AccountNotSystemOwned extends Error {
readonly code = 3011
readonly name = "AccountNotSystemOwned"
readonly msg = "The given account is not owned by the system program"
constructor() {
super("3011: The given account is not owned by the system program")
}
}
export class AccountNotInitialized extends Error {
readonly code = 3012
readonly name = "AccountNotInitialized"
readonly msg = "The program expected this account to be already initialized"
constructor() {
super("3012: The program expected this account to be already initialized")
}
}
export class AccountNotProgramData extends Error {
readonly code = 3013
readonly name = "AccountNotProgramData"
readonly msg = "The given account is not a program data account"
constructor() {
super("3013: The given account is not a program data account")
}
}
export class AccountNotAssociatedTokenAccount extends Error {
readonly code = 3014
readonly name = "AccountNotAssociatedTokenAccount"
readonly msg = "The given account is not the associated token account"
constructor() {
super("3014: The given account is not the associated token account")
}
}
export class AccountSysvarMismatch extends Error {
readonly code = 3015
readonly name = "AccountSysvarMismatch"
readonly msg = "The given public key does not match the required sysvar"
constructor() {
super("3015: The given public key does not match the required sysvar")
}
}
export class StateInvalidAddress extends Error {
readonly code = 4000
readonly name = "StateInvalidAddress"
readonly msg = "The given state account does not have the correct address"
constructor() {
super("4000: The given state account does not have the correct address")
}
}
export class DeclaredProgramIdMismatch extends Error {
readonly code = 4100
readonly name = "DeclaredProgramIdMismatch"
readonly msg = "The declared program id does not match the actual program id"
constructor() {
super("4100: The declared program id does not match the actual program id")
}
}
export class Deprecated extends Error {
readonly code = 5000
readonly name = "Deprecated"
readonly msg = "The API being used is deprecated and should no longer be used"
constructor() {
super("5000: The API being used is deprecated and should no longer be used")
}
}
export function fromCode(code: number): AnchorError | null {
switch (code) {
case 100:
return new InstructionMissing()
case 101:
return new InstructionFallbackNotFound()
case 102:
return new InstructionDidNotDeserialize()
case 103:
return new InstructionDidNotSerialize()
case 1000:
return new IdlInstructionStub()
case 1001:
return new IdlInstructionInvalidProgram()
case 2000:
return new ConstraintMut()
case 2001:
return new ConstraintHasOne()
case 2002:
return new ConstraintSigner()
case 2003:
return new ConstraintRaw()
case 2004:
return new ConstraintOwner()
case 2005:
return new ConstraintRentExempt()
case 2006:
return new ConstraintSeeds()
case 2007:
return new ConstraintExecutable()
case 2008:
return new ConstraintState()
case 2009:
return new ConstraintAssociated()
case 2010:
return new ConstraintAssociatedInit()
case 2011:
return new ConstraintClose()
case 2012:
return new ConstraintAddress()
case 2013:
return new ConstraintZero()
case 2014:
return new ConstraintTokenMint()
case 2015:
return new ConstraintTokenOwner()
case 2016:
return new ConstraintMintMintAuthority()
case 2017:
return new ConstraintMintFreezeAuthority()
case 2018:
return new ConstraintMintDecimals()
case 2019:
return new ConstraintSpace()
case 2500:
return new RequireViolated()
case 2501:
return new RequireEqViolated()
case 2502:
return new RequireKeysEqViolated()
case 2503:
return new RequireNeqViolated()
case 2504:
return new RequireKeysNeqViolated()
case 2505:
return new RequireGtViolated()
case 2506:
return new RequireGteViolated()
case 3000:
return new AccountDiscriminatorAlreadySet()
case 3001:
return new AccountDiscriminatorNotFound()
case 3002:
return new AccountDiscriminatorMismatch()
case 3003:
return new AccountDidNotDeserialize()
case 3004:
return new AccountDidNotSerialize()
case 3005:
return new AccountNotEnoughKeys()
case 3006:
return new AccountNotMutable()
case 3007:
return new AccountOwnedByWrongProgram()
case 3008:
return new InvalidProgramId()
case 3009:
return new InvalidProgramExecutable()
case 3010:
return new AccountNotSigner()
case 3011:
return new AccountNotSystemOwned()
case 3012:
return new AccountNotInitialized()
case 3013:
return new AccountNotProgramData()
case 3014:
return new AccountNotAssociatedTokenAccount()
case 3015:
return new AccountSysvarMismatch()
case 4000:
return new StateInvalidAddress()
case 4100:
return new DeclaredProgramIdMismatch()
case 5000:
return new Deprecated()
}
return null
}