@dbricks/dbricks-ts
Version:
## Introduction
241 lines (240 loc) • 5.8 kB
TypeScript
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[];
}