Skip to content

Al366io/solana-transactions-wrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

solana-transactions-wrapper

Handy tool to execute buy/sell transactions on the SOLANA chain.

Installation

Install the package with npm:

npm install solana-transactions-wrapper

Usage

Importing the package

import { buy_token, sell_token, get_tokens_balances, get_token_balance } from 'solana-transactions-wrapper';

Buying a token

Parameters:

    config: The buy function accepts a config object, as per buyConfig object type.

    The buyConfig object type is defined as follows:

    type buyConfig = {
        RPC_ENDPOINT: string;
        WALLET_PRIVATE_KEY: string;
        ADDRESS_OF_TOKEN_TO_BUY: string;
        AMOUNT_OF_SOLANA_TO_SPEND: number;
        SLIPPAGE: number;
      }

Usage:

await buy_token(config: buyConfig)

Logs Example:

Connection established 🚀
Wallet fetched ✅
Trying to buy token using "amount" SOL...
Transaction sent with txid: "transaction_id"
Waiting for confirmation... 🕒
Transaction confirmed ✅

Selling a token

Parameters:

    config: The sell function accepts a config object, as per sellConfig object type.

    The sellConfig object type is defined as follows:

    type sellConfig = {
        SELL_ALL: boolean;
        RPC_ENDPOINT: string;
        WALLET_PRIVATE_KEY: string;
        ADDRESS_OF_TOKEN_TO_SELL: string;
        AMOUNT_OF_TOKEN_TO_SELL?: number;
        SLIPPAGE: number;
      }

Usage:

await sell_token(config: sellConfig)

Logs Example:

Connection established 🚀
Wallet fetched ✅
Selling "amount" of "token_address"...
Transaction sent with txid: "transaction_id"
Waiting for confirmation... 🕒
Transaction confirmed ✅

Getting Account Tokens Balances

const tokens_balances = await get_tokens_balances(
  RPC_ENDPOINT,
  WALLET_PRIVATE_KEY
);
  • RPC_ENDPOINT: Your RPC endpoint to connect to.
  • WALLET_PRIVATE_KEY: The private key of the wallet you want to get the tokens from.

This function returns a promise that resolves to an object mapping token addresses to their balance and symbol.


Getting Token Balance

const token_balance = await get_token_balance(
  RPC_ENDPOINT,
  WALLET_PRIVATE_KEY,
  TOKEN_ADDRESS
);
  • RPC_ENDPOINT: Your RPC endpoint to connect to.
  • WALLET_PRIVATE_KEY: The private key of the wallet you want to get the tokens from.
  • TOKEN_ADDRESS: The address of the token you want to get the balance from.

This function returns a promise that resolves to the balance of the token.