Skip to Content

TypeScript Types

Complete type definitions for SDK interfaces, parameters, and return values.


Configuration Types

Source: packages/sdk/src/config/types.ts

interface CreateConfigOptions { env: Env; providers?: ProviderGetters; modules?: readonly AnyModule[]; partner?: PartnerConfig; } interface PartnerConfig { partnerId: string; } interface ProviderGetters { evm?: ProviderGetter<EvmProvider>; bitcoin?: ProviderGetter<BtcProvider>; solana?: ProviderGetter<SolanaProvider>; sui?: ProviderGetter<SuiProvider>; starknet?: ProviderGetter<StarknetProvider>; } type ProviderGetter<TProvider> = (chain?: Chain) => TProvider | Promise<TProvider>;

Environment

Source: packages/sdk-common/src/env.ts

const Env = { prod: 'prod', testnet: 'testnet', stage: 'stage', dev: 'dev', ibc: 'ibc', } as const; type Env = (typeof Env)[keyof typeof Env];

Status Types

Source: packages/sdk/src/shared/constants/statusConstants.ts

BtcActionStatus

const BtcActionStatus = { IDLE: 'idle', NEEDS_FEE_AUTHORIZATION: 'needs_fee_authorization', NEEDS_ADDRESS_CONFIRMATION: 'needs_address_confirmation', NEEDS_DEPLOY_AUTHORIZATION: 'needs_deploy_authorization', READY: 'ready', ADDRESS_READY: 'address_ready', AWAITING_DEPOSIT: 'awaiting_deposit', } as const;

EvmOperationStatus

const EvmOperationStatus = { IDLE: 'idle', NEEDS_APPROVAL: 'needs-approval', READY: 'ready', CONFIRMING: 'confirming', COMPLETED: 'completed', } as const;

NonEvmUnstakeStatus

const NonEvmUnstakeStatus = { IDLE: 'idle', READY: 'ready', CONFIRMING: 'confirming', COMPLETED: 'completed', } as const;

Error Types

Source: packages/sdk/src/shared/errors.ts

LombardError

class LombardError extends Error { readonly code: AnyErrorCode; readonly metadata?: Record<string, unknown>; constructor( code: AnyErrorCode, message: string, metadata?: Record<string, unknown> ); toJSON(): Record<string, unknown>; }

Error Code Enums

enum ErrorCode { UNKNOWN_ERROR = 'unknown-error', INVALID_CONFIGURATION = 'invalid-configuration', OPERATION_TIMEOUT = 'operation-timeout', OPERATION_CANCELLED = 'operation-cancelled', } enum ProviderErrorCode { PROVIDER_MISSING = 'provider-missing', PROVIDER_INITIALIZATION_FAILED = 'provider-initialization-failed', PROVIDER_CALL_FAILED = 'provider-call-failed', SIGNER_MISSING = 'signer-missing', USER_REJECTED = 'user-rejected', NETWORK_MISMATCH = 'network-mismatch', } enum ValidationErrorCode { INVALID_ADDRESS = 'invalid-address', INVALID_AMOUNT = 'invalid-amount', AMOUNT_TOO_SMALL = 'amount-too-small', AMOUNT_TOO_LARGE = 'amount-too-large', INSUFFICIENT_BALANCE = 'insufficient-balance', INVALID_PARAMETER = 'invalid-parameter', MISSING_REQUIRED_PARAMETER = 'missing-required-parameter', INVALID_CHAIN = 'invalid-chain', INVALID_STATE = 'invalid-state', INVALID_ASSET = 'invalid-asset', } enum ContractErrorCode { CONTRACT_CALL_FAILED = 'contract-call-failed', TRANSACTION_FAILED = 'transaction-failed', TRANSACTION_REVERTED = 'transaction-reverted', APPROVAL_FAILED = 'approval-failed', INSUFFICIENT_ALLOWANCE = 'insufficient-allowance', GAS_ESTIMATION_FAILED = 'gas-estimation-failed', } enum RegistryErrorCode { ROUTE_NOT_FOUND = 'route-not-found', INVALID_ROUTE_DEFINITION = 'invalid-route-definition', UNSUPPORTED_CHAIN = 'unsupported-chain', UNSUPPORTED_ASSET = 'unsupported-asset', INCOMPATIBLE_ROUTE = 'incompatible-route', ENVIRONMENT_MISMATCH = 'environment-mismatch', }

Action Types

BTC Stake

Source: packages/sdk/src/chains/btc/actions/stake/types.ts

interface BtcStakeParams { assetOut: AssetId; destChain: Chain; sourceChain?: typeof Chain.BITCOIN_MAINNET | typeof Chain.BITCOIN_SIGNET; } interface BtcStkePrepareParams { amount: string; recipient: string; referralCode?: string; }

EVM Unstake

Source: packages/sdk/src/chains/evm/actions/unstake/types.ts

interface EvmUnstakeParams { assetIn: AssetId; assetOut: AssetId; sourceChain: Chain; destChain: Chain; } interface EvmUnstakePrepareParams { amount: string; recipient: string; }

Progress Types

Source: packages/sdk/src/core/types.ts

interface StrategyProgress<TStatus extends string> { status: TStatus; steps: Record<string, StepStatus>; confirmations?: number; requiredConfirmations?: number; metadata?: Record<string, unknown>; } const StepStatus = { IDLE: 'idle', PENDING: 'pending', COMPLETE: 'complete', FAILED: 'failed', } as const;
Last updated on