0.0.21 • Published 1 year ago

gram20-sdk v0.0.21

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

Typescript SDK for GRAM-20 API.

Installation

npm install gram20-sdk

Transfer Example (React)

npm install gram20-sdk @tonconnect/ui-react
import {
  TonConnectButton,
  useTonAddress,
  useTonConnectUI,
} from '@tonconnect/ui-react';
import { getTransfer } from 'gram20-sdk/v2';

export const App = () => {
  const [tonConnectUI] = useTonConnectUI();
  const walletAddress = useTonAddress();

  const sendTx = async () => {
    // replace with your transfer info
    const transfer = {
      to: 'UQCd...qEBI', // recipient address
      amount: '10000',
      tick: 'nano',
      walletAddress: walletAddress, // your wallet address from tonconnect
    };

    const { payload, address, stateInit } = await getTransfer(transfer);

    await tonConnectUI.sendTransaction({
      messages: [
        {
          address: address, // gram20 contract address
          amount: '8000000', // min amount is 0.008 TON
          payload: payload,
          stateInit: stateInit,
        },
      ],
      validUntil: Math.floor(Date.now() / 1000) + 60,
    });
  };

  return (
    <div>
      <TonConnectButton />
      <button disabled={!tonConnectUI.wallet} onClick={sendTx}>
        Send Tx
      </button>
    </div>
  );
};

Get Balance

import { getBalances, getBalanceByTick, BalanceInfo } from 'gram20-sdk/v1';

// Get all gram20 tokens balances
const balances = await getBalances(address); // -> Array<BalanceInfo>

// Get gram20 token balance by tick
const gramBalance = await getBalances(address, tick); // -> BalanceInfo

Get History

import { getHistory, getHistoryByTick, HistoryInfo } from 'gram20-sdk/v1';

// Get all gram20 tokens past transfers
const history = await getHistory(address); // -> Array<HistoryInfo>

// Get gram20 token past transfers by tick
const gramHistory = await getHistory(address, tick); // -> Array<HistoryInfo>

Get Token Info

import { getTokenInfo, TokenInfo } from 'gram20-sdk/v1';

// Get gram20 token info by tick
const gramInfo = await getTokenInfo(tick); // -> TokenInfo

Type definitions

// from 'src/types.ts'

type BalanceInfo = {
  address: string;
  tick: string;
  balance: number;
};

type HistoryInfo = {
  address: string;
  tick: string;
  time: number;
  hash: string;
  delta: number;
  comment: string;
  peer: string;
  lt: number;
};

type TokenInfo = {
  tick: string;
  holders: number;
  total_supply: number;
  supply: number;
  mintable: boolean;
  mint_limit: number;
  address: string;
  deploy_time: number;
  deploy_hash: string;
  owner: string;
  verified: boolean;
  royalty_address: string;
  protocol_fee: number;
};
0.0.22

1 year ago

0.0.20

1 year ago

0.0.21

1 year ago

0.0.18

1 year ago

0.0.19

1 year ago

0.0.10

1 year ago

0.0.11

1 year ago

0.0.12

1 year ago

0.0.13

1 year ago

0.0.14

1 year ago

0.0.15

1 year ago

0.0.16

1 year ago

0.0.17

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.4

1 year ago

0.0.1

1 year ago