UNPKG

@dbricks/dbricks-ts

Version:

## Introduction

241 lines (240 loc) 5.8 kB
import { Method } from 'axios'; import { Commitment, Keypair, PublicKey, Signer, Transaction } from '@solana/web3.js'; import { MessageSignerWalletAdapter, SignerWalletAdapter, WalletAdapter } from '@solana/wallet-adapter-base'; import { IBrickArgs, instructionsAndSigners } from '../common.types'; export declare const DEFAULT_BASE_URL = "http://localhost:3000"; export declare enum Serum { PlaceOrder = "PlaceOrder", CancelOrder = "CancelOrder", InitMarket = "InitMarket", SettleMarket = "SettleMarket" } export declare const serumEndpoints: { PlaceOrder: string; CancelOrder: string; InitMarket: string; SettleMarket: string; }; export declare enum Mango { Deposit = "Deposit", Withdraw = "Withdraw", PlaceSpotOrder = "PlaceSpotOrder", CancelSpotOrder = "CancelSpotOrder", SettleSpotMarket = "SettleSpotMarket", PlacePerpOrder = "PlacePerpOrder", CancelPerpOrder = "CancelPerpOrder", SettlePerpMarket = "SettlePerpMarket" } export declare const mangoEndpoints: { Deposit: string; Withdraw: string; PlaceSpotOrder: string; CancelSpotOrder: string; SettleSpotMarket: string; PlacePerpOrder: string; CancelPerpOrder: string; SettlePerpMarket: string; }; export declare enum Saber { Swap = "Swap", PoolDeposit = "PoolDeposit", PoolWithdraw = "PoolWithdraw", FarmDeposit = "FarmDeposit", FarmWithdraw = "FarmWithdraw", FarmHarvest = "FarmHarvest" } export declare const saberEndpoints: { Swap: string; PoolDeposit: string; PoolWithdraw: string; FarmDeposit: string; FarmWithdraw: string; FarmHarvest: string; }; export declare enum Solend { Deposit = "Deposit", Withdraw = "Withdraw", Borrow = "Borrow", Repay = "Repay" } export declare const solendEndpoints: { Deposit: string; Withdraw: string; Borrow: string; Repay: string; }; export declare enum Raydium { TBD = "TBD" } export declare const raydiumEndpoints: { TBD: string; }; export declare enum Wormhole { TBD = "TBD" } export declare const wormholeEndpoints: { TBD: string; }; export declare enum Sunny { TBD = "TBD" } export declare const sunnyEndpoints: { TBD: string; }; export declare enum Orca { TBD = "TBD" } export declare const orcaEndpoints: { TBD: string; }; export declare enum Solfarm { TBD = "TBD" } export declare const solfarmEndpoints: { TBD: string; }; export declare enum Parrot { TBD = "TBD" } export declare const parrotEndpoints: { TBD: string; }; export declare enum Marinade { TBD = "TBD" } export declare const marinadeEndpoints: { TBD: string; }; export declare enum Mercurial { TBD = "TBD" } export declare const mercurialEndpoints: { TBD: string; }; export declare enum Protocol { Serum = "Serum", Mango = "Mango", Saber = "Saber", Solend = "Solend", Raydium = "Raydium", Wormhole = "Wormhole", Sunny = "Sunny", Orca = "Orca", Solfarm = "Solfarm", Parrot = "Parrot", Marinade = "Marinade", Mercurial = "Mercurial" } export declare const Action: { Serum: typeof Serum; Mango: typeof Mango; Saber: typeof Saber; Solend: typeof Solend; Raydium: typeof Raydium; Wormhole: typeof Wormhole; Sunny: typeof Sunny; Orca: typeof Orca; Solfarm: typeof Solfarm; Parrot: typeof Parrot; Marinade: typeof Marinade; Mercurial: typeof Mercurial; }; export declare const endpoints: { Serum: { PlaceOrder: string; CancelOrder: string; InitMarket: string; SettleMarket: string; }; Mango: { Deposit: string; Withdraw: string; PlaceSpotOrder: string; CancelSpotOrder: string; SettleSpotMarket: string; PlacePerpOrder: string; CancelPerpOrder: string; SettlePerpMarket: string; }; Saber: { Swap: string; PoolDeposit: string; PoolWithdraw: string; FarmDeposit: string; FarmWithdraw: string; FarmHarvest: string; }; Solend: { Deposit: string; Withdraw: string; Borrow: string; Repay: string; }; Raydium: { TBD: string; }; Wormhole: { TBD: string; }; Sunny: { TBD: string; }; Orca: { TBD: string; }; Solfarm: { TBD: string; }; Parrot: { TBD: string; }; Marinade: { TBD: string; }; Mercurial: { TBD: string; }; }; export declare type IAction = Serum | Mango | Saber | Solend | Raydium | Wormhole | Sunny | Orca | Solfarm | Parrot | Marinade | Mercurial; export interface IRawBrick { protocol: Protocol; action: IAction; args: IBrickArgs; } export interface IParsedBrick { protocol: Protocol; action: IAction; method: Method; route: string; args: IBrickArgs; } export interface IFetchedBrick { protocol: Protocol; action: IAction; instructionsAndSigners: instructionsAndSigners[]; } export interface IFlattenedBrick { protocol: Protocol; action: IAction; instructionsAndSigners: instructionsAndSigners; } export interface ISizedBrick { protocols: Protocol[]; actions: IAction[]; transaction: Transaction; signers: Signer[]; } export interface IBuilderParams { ownerPubkey: PublicKey; connectionUrl: string; committment: Commitment; baseUrl?: string; apiKey?: string; } export declare type connectedAdapter = WalletAdapter | SignerWalletAdapter | MessageSignerWalletAdapter; export interface IFinalBuildParams { keypair?: Keypair; connectedAdapter?: connectedAdapter; signCallback?: (tx: Transaction, ...args: any) => Promise<Transaction>; callbackArgs?: any[]; }