prism-v3-testing
TypeScript icon, indicating that this package has built-in type declarations

0.0.1 • Public • Published

prism-sdk

Initialization

import { Prism } from "@prism-hq/prism-ag";

let prism = await Prism.init({
    // user executing swap
    user: PublicKey | Keypair | Wallet,               // optional (if you don't provide upon init, then you'll need to call prism.setSigner() after user connects the wallet)
    host: {                                           // optional
      // host platform fee account publickey base58
      publicKey: string,
      // fee bps e.g 5 => 0.05%
      fee: number,
    },
    // rpc connection
    connection: Connection,                           // optional
    // slippage
    slippage: number,                                 // optional
    // same format as solanaTokenList.json
    tokenList: {tokens:Array<any>}                    // optional
});

Executing swap

await prism.loadRoutes("USDC", "PRISM");         // load routes for tokens, tokenSymbol | tokenMint (base58 string)
let routes = prism.getRoutes(10);                // get routes based on from Token amount 10 USDC -> ? PRISM
let result = await prism.swap(routes[0]);        // execute swap (sign, send and confirm transaction)

Settings

// setSigner KeyPair | Wallet before executing swap if not provided upon initialization
await prism.setSigner(KeyPair|Wallet);

// change slippage 1 = 1%
prism.setSlippage(1);

Tools

// get user token accounts
prism.getUserAccounts();

// unwrap all wSOL accounts for user
let txIds = await prism.unwrapWSolAccounts();

// get user OpenOrders accounts
let openOrdersSerum: Array<any> = prism.getUserOpenOrdersSerum();
let openOrdersOpenBook: Array<any> = prism.getUserOpenOrdersOpenBook();

let openOrdersToClose = [
  ...openOrdersSerum.slice(2, 4), 
  ...openOrdersOpenBook.slice(0, 2),
];
// close user OpenOrders accounts and claim SOL paid for rent exemption 
let txIds = await prism.closeOpenOrders(openOrdersToClose);

Stats

// load user trade history (swaps made using prism aggregator) without init (Static function)
let userTradeHistory = await Prism.loadUserTradeHistory(PublicKey);
// load user trade history (if prism is initialized with a wallet)
let userTradeHistory = await prism.loadUserTradeHistory();

// load prism global stats (use as static or on Prism Object)
let prismStats = await Prism.loadPrismStats();
let prismStats = await prism.loadPrismStats();

Package Sidebar

Install

npm i prism-v3-testing

Weekly Downloads

1

Version

0.0.1

License

ISC

Unpacked Size

846 kB

Total Files

243

Last publish

Collaborators

  • ubermenschsym