0.0.21 • Published 1 year ago
gram20-sdk v0.0.21
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