UNPKG

@robertprp/intents-sdk

Version:

Shogun Network Intent-based cross-chain swaps SDK

141 lines (133 loc) 8.13 kB
/** * This code was AUTOGENERATED using the codama library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun codama to update it. * * @see https://github.com/codama-idl/codama */ import { type Address } from '@solana/kit'; import { type SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM, type SolanaError } from '@solana/kit'; import { isProgramError } from '@solana/kit'; import { SINGLE_CHAIN_GUARD_PROGRAM_ADDRESS } from '../programs/index.js'; /** NotUpgradeAuthority: Account is not upgrade authority */ export const SINGLE_CHAIN_GUARD_ERROR__NOT_UPGRADE_AUTHORITY = 0x1770; // 6000 /** NotAdmin: Account is not Admin */ export const SINGLE_CHAIN_GUARD_ERROR__NOT_ADMIN = 0x1771; // 6001 /** NotPendingAdmin: Account is not Pending Admin */ export const SINGLE_CHAIN_GUARD_ERROR__NOT_PENDING_ADMIN = 0x1772; // 6002 /** NotASolver: Account is not a Solver */ export const SINGLE_CHAIN_GUARD_ERROR__NOT_A_SOLVER = 0x1773; // 6003 /** NotAUser: Account is not a User */ export const SINGLE_CHAIN_GUARD_ERROR__NOT_A_USER = 0x1774; // 6004 /** ZeroAmount: Amount must not be zero */ export const SINGLE_CHAIN_GUARD_ERROR__ZERO_AMOUNT = 0x1775; // 6005 /** ZeroAmountIn: Amount IN must not be zero */ export const SINGLE_CHAIN_GUARD_ERROR__ZERO_AMOUNT_IN = 0x1776; // 6006 /** WrongOrder: Wrong order */ export const SINGLE_CHAIN_GUARD_ERROR__WRONG_ORDER = 0x1777; // 6007 /** InvalidGuard: Invalid Guard */ export const SINGLE_CHAIN_GUARD_ERROR__INVALID_GUARD = 0x1778; // 6008 /** ExpiredDeadline: Expired deadline */ export const SINGLE_CHAIN_GUARD_ERROR__EXPIRED_DEADLINE = 0x1779; // 6009 /** InvalidStartPermission: Invalid permission */ export const SINGLE_CHAIN_GUARD_ERROR__INVALID_START_PERMISSION = 0x177a; // 6010 /** SystemProgramNotProvided: System program not provided */ export const SINGLE_CHAIN_GUARD_ERROR__SYSTEM_PROGRAM_NOT_PROVIDED = 0x177b; // 6011 /** TokenOutAccountNotProvided: Token OUT account not provided */ export const SINGLE_CHAIN_GUARD_ERROR__TOKEN_OUT_ACCOUNT_NOT_PROVIDED = 0x177c; // 6012 /** ExtraTransferAccountNotProvided: Extra transfer account not provided */ export const SINGLE_CHAIN_GUARD_ERROR__EXTRA_TRANSFER_ACCOUNT_NOT_PROVIDED = 0x177d; // 6013 /** InvalidExtraTransferAccount: Invalid extra transfer account */ export const SINGLE_CHAIN_GUARD_ERROR__INVALID_EXTRA_TRANSFER_ACCOUNT = 0x177e; // 6014 /** CpiCallNotAllowed: CPI call is not allowed */ export const SINGLE_CHAIN_GUARD_ERROR__CPI_CALL_NOT_ALLOWED = 0x177f; // 6015 /** FeeTransferNotAllowed: Fee transfer not allowed */ export const SINGLE_CHAIN_GUARD_ERROR__FEE_TRANSFER_NOT_ALLOWED = 0x1780; // 6016 /** BelowMinAmountOut: Below minimum amount OUT */ export const SINGLE_CHAIN_GUARD_ERROR__BELOW_MIN_AMOUNT_OUT = 0x1781; // 6017 /** SecretHashMismatch: Secret hash mismatch */ export const SINGLE_CHAIN_GUARD_ERROR__SECRET_HASH_MISMATCH = 0x1782; // 6018 /** InvalidIntervalDuration: Invalid interval duration */ export const SINGLE_CHAIN_GUARD_ERROR__INVALID_INTERVAL_DURATION = 0x1783; // 6019 /** InvalidDcaOrder: Invalid DCA order */ export const SINGLE_CHAIN_GUARD_ERROR__INVALID_DCA_ORDER = 0x1784; // 6020 /** IntervalIsFulfilled: Interval is already fulfilled */ export const SINGLE_CHAIN_GUARD_ERROR__INTERVAL_IS_FULFILLED = 0x1785; // 6021 /** InstructionNotFound: Ed25519Program instruction */ export const SINGLE_CHAIN_GUARD_ERROR__INSTRUCTION_NOT_FOUND = 0x1786; // 6022 /** SigVerificationFailed: Signature verification failed */ export const SINGLE_CHAIN_GUARD_ERROR__SIG_VERIFICATION_FAILED = 0x1787; // 6023 /** InvalidSigner: Invalid signer */ export const SINGLE_CHAIN_GUARD_ERROR__INVALID_SIGNER = 0x1788; // 6024 export type SingleChainGuardError = | typeof SINGLE_CHAIN_GUARD_ERROR__BELOW_MIN_AMOUNT_OUT | typeof SINGLE_CHAIN_GUARD_ERROR__CPI_CALL_NOT_ALLOWED | typeof SINGLE_CHAIN_GUARD_ERROR__EXPIRED_DEADLINE | typeof SINGLE_CHAIN_GUARD_ERROR__EXTRA_TRANSFER_ACCOUNT_NOT_PROVIDED | typeof SINGLE_CHAIN_GUARD_ERROR__FEE_TRANSFER_NOT_ALLOWED | typeof SINGLE_CHAIN_GUARD_ERROR__INSTRUCTION_NOT_FOUND | typeof SINGLE_CHAIN_GUARD_ERROR__INTERVAL_IS_FULFILLED | typeof SINGLE_CHAIN_GUARD_ERROR__INVALID_DCA_ORDER | typeof SINGLE_CHAIN_GUARD_ERROR__INVALID_EXTRA_TRANSFER_ACCOUNT | typeof SINGLE_CHAIN_GUARD_ERROR__INVALID_GUARD | typeof SINGLE_CHAIN_GUARD_ERROR__INVALID_INTERVAL_DURATION | typeof SINGLE_CHAIN_GUARD_ERROR__INVALID_SIGNER | typeof SINGLE_CHAIN_GUARD_ERROR__INVALID_START_PERMISSION | typeof SINGLE_CHAIN_GUARD_ERROR__NOT_ADMIN | typeof SINGLE_CHAIN_GUARD_ERROR__NOT_A_SOLVER | typeof SINGLE_CHAIN_GUARD_ERROR__NOT_A_USER | typeof SINGLE_CHAIN_GUARD_ERROR__NOT_PENDING_ADMIN | typeof SINGLE_CHAIN_GUARD_ERROR__NOT_UPGRADE_AUTHORITY | typeof SINGLE_CHAIN_GUARD_ERROR__SECRET_HASH_MISMATCH | typeof SINGLE_CHAIN_GUARD_ERROR__SIG_VERIFICATION_FAILED | typeof SINGLE_CHAIN_GUARD_ERROR__SYSTEM_PROGRAM_NOT_PROVIDED | typeof SINGLE_CHAIN_GUARD_ERROR__TOKEN_OUT_ACCOUNT_NOT_PROVIDED | typeof SINGLE_CHAIN_GUARD_ERROR__WRONG_ORDER | typeof SINGLE_CHAIN_GUARD_ERROR__ZERO_AMOUNT | typeof SINGLE_CHAIN_GUARD_ERROR__ZERO_AMOUNT_IN; let singleChainGuardErrorMessages: Record<SingleChainGuardError, string> | undefined; if (process.env.NODE_ENV !== 'production') { singleChainGuardErrorMessages = { [SINGLE_CHAIN_GUARD_ERROR__BELOW_MIN_AMOUNT_OUT]: `Below minimum amount OUT`, [SINGLE_CHAIN_GUARD_ERROR__CPI_CALL_NOT_ALLOWED]: `CPI call is not allowed`, [SINGLE_CHAIN_GUARD_ERROR__EXPIRED_DEADLINE]: `Expired deadline`, [SINGLE_CHAIN_GUARD_ERROR__EXTRA_TRANSFER_ACCOUNT_NOT_PROVIDED]: `Extra transfer account not provided`, [SINGLE_CHAIN_GUARD_ERROR__FEE_TRANSFER_NOT_ALLOWED]: `Fee transfer not allowed`, [SINGLE_CHAIN_GUARD_ERROR__INSTRUCTION_NOT_FOUND]: `Ed25519Program instruction`, [SINGLE_CHAIN_GUARD_ERROR__INTERVAL_IS_FULFILLED]: `Interval is already fulfilled`, [SINGLE_CHAIN_GUARD_ERROR__INVALID_DCA_ORDER]: `Invalid DCA order`, [SINGLE_CHAIN_GUARD_ERROR__INVALID_EXTRA_TRANSFER_ACCOUNT]: `Invalid extra transfer account`, [SINGLE_CHAIN_GUARD_ERROR__INVALID_GUARD]: `Invalid Guard`, [SINGLE_CHAIN_GUARD_ERROR__INVALID_INTERVAL_DURATION]: `Invalid interval duration`, [SINGLE_CHAIN_GUARD_ERROR__INVALID_SIGNER]: `Invalid signer`, [SINGLE_CHAIN_GUARD_ERROR__INVALID_START_PERMISSION]: `Invalid permission`, [SINGLE_CHAIN_GUARD_ERROR__NOT_ADMIN]: `Account is not Admin`, [SINGLE_CHAIN_GUARD_ERROR__NOT_A_SOLVER]: `Account is not a Solver`, [SINGLE_CHAIN_GUARD_ERROR__NOT_A_USER]: `Account is not a User`, [SINGLE_CHAIN_GUARD_ERROR__NOT_PENDING_ADMIN]: `Account is not Pending Admin`, [SINGLE_CHAIN_GUARD_ERROR__NOT_UPGRADE_AUTHORITY]: `Account is not upgrade authority`, [SINGLE_CHAIN_GUARD_ERROR__SECRET_HASH_MISMATCH]: `Secret hash mismatch`, [SINGLE_CHAIN_GUARD_ERROR__SIG_VERIFICATION_FAILED]: `Signature verification failed`, [SINGLE_CHAIN_GUARD_ERROR__SYSTEM_PROGRAM_NOT_PROVIDED]: `System program not provided`, [SINGLE_CHAIN_GUARD_ERROR__TOKEN_OUT_ACCOUNT_NOT_PROVIDED]: `Token OUT account not provided`, [SINGLE_CHAIN_GUARD_ERROR__WRONG_ORDER]: `Wrong order`, [SINGLE_CHAIN_GUARD_ERROR__ZERO_AMOUNT]: `Amount must not be zero`, [SINGLE_CHAIN_GUARD_ERROR__ZERO_AMOUNT_IN]: `Amount IN must not be zero`, }; } export function getSingleChainGuardErrorMessage(code: SingleChainGuardError): string { if (process.env.NODE_ENV !== 'production') { return (singleChainGuardErrorMessages as Record<SingleChainGuardError, string>)[code]; } return 'Error message not available in production bundles.'; } export function isSingleChainGuardError<TProgramErrorCode extends SingleChainGuardError>( error: unknown, transactionMessage: { instructions: Record<number, { programAddress: Address }>; }, code?: TProgramErrorCode, ): error is SolanaError<typeof SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM> & Readonly<{ context: Readonly<{ code: TProgramErrorCode }> }> { return isProgramError<TProgramErrorCode>(error, transactionMessage, SINGLE_CHAIN_GUARD_PROGRAM_ADDRESS, code); }