JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 251
  • Score
    100M100P100Q90416F
  • License GPL-3.0

OpenMask Web - TypeScript Browser SDK for TON blockchain

Package Exports

  • @openproduct/web-sdk
  • @openproduct/web-sdk/cjs/boc/beingCell.d.ts
  • @openproduct/web-sdk/cjs/boc/beingCell.js
  • @openproduct/web-sdk/cjs/boc/bitString.d.ts
  • @openproduct/web-sdk/cjs/boc/bitString.js
  • @openproduct/web-sdk/cjs/boc/cell.d.ts
  • @openproduct/web-sdk/cjs/boc/cell.js
  • @openproduct/web-sdk/cjs/boc/dict/parseDict.d.ts
  • @openproduct/web-sdk/cjs/boc/dict/parseDict.js
  • @openproduct/web-sdk/cjs/boc/index.d.ts
  • @openproduct/web-sdk/cjs/boc/index.js
  • @openproduct/web-sdk/cjs/boc/slice.d.ts
  • @openproduct/web-sdk/cjs/boc/slice.js
  • @openproduct/web-sdk/cjs/contract/contract.d.ts
  • @openproduct/web-sdk/cjs/contract/contract.js
  • @openproduct/web-sdk/cjs/contract/dns/dns.d.ts
  • @openproduct/web-sdk/cjs/contract/dns/dns.js
  • @openproduct/web-sdk/cjs/contract/dns/utils.d.ts
  • @openproduct/web-sdk/cjs/contract/dns/utils.js
  • @openproduct/web-sdk/cjs/contract/token/ft/jettonMinter.d.ts
  • @openproduct/web-sdk/cjs/contract/token/ft/jettonMinter.js
  • @openproduct/web-sdk/cjs/contract/token/ft/jettonMinterDao.d.ts
  • @openproduct/web-sdk/cjs/contract/token/ft/jettonMinterDao.js
  • @openproduct/web-sdk/cjs/contract/token/ft/jettonWallet.d.ts
  • @openproduct/web-sdk/cjs/contract/token/ft/jettonWallet.js
  • @openproduct/web-sdk/cjs/contract/token/ft/jettonWalletDao.d.ts
  • @openproduct/web-sdk/cjs/contract/token/ft/jettonWalletDao.js
  • @openproduct/web-sdk/cjs/contract/token/ft/utils.d.ts
  • @openproduct/web-sdk/cjs/contract/token/ft/utils.js
  • @openproduct/web-sdk/cjs/contract/token/index.d.ts
  • @openproduct/web-sdk/cjs/contract/token/index.js
  • @openproduct/web-sdk/cjs/contract/token/nft/nftCollectionDao.d.ts
  • @openproduct/web-sdk/cjs/contract/token/nft/nftCollectionDao.js
  • @openproduct/web-sdk/cjs/contract/token/nft/nftContentDao.d.ts
  • @openproduct/web-sdk/cjs/contract/token/nft/nftContentDao.js
  • @openproduct/web-sdk/cjs/contract/token/nft/nftContract.d.ts
  • @openproduct/web-sdk/cjs/contract/token/nft/nftContract.js
  • @openproduct/web-sdk/cjs/contract/token/nft/nftContractDao.d.ts
  • @openproduct/web-sdk/cjs/contract/token/nft/nftContractDao.js
  • @openproduct/web-sdk/cjs/contract/token/nft/utils.d.ts
  • @openproduct/web-sdk/cjs/contract/token/nft/utils.js
  • @openproduct/web-sdk/cjs/contract/wallet/index.d.ts
  • @openproduct/web-sdk/cjs/contract/wallet/index.js
  • @openproduct/web-sdk/cjs/contract/wallet/walletContract.d.ts
  • @openproduct/web-sdk/cjs/contract/wallet/walletContract.js
  • @openproduct/web-sdk/cjs/contract/wallet/walletContractV2.d.ts
  • @openproduct/web-sdk/cjs/contract/wallet/walletContractV2.js
  • @openproduct/web-sdk/cjs/contract/wallet/walletContractV3.d.ts
  • @openproduct/web-sdk/cjs/contract/wallet/walletContractV3.js
  • @openproduct/web-sdk/cjs/contract/wallet/walletContractV4.d.ts
  • @openproduct/web-sdk/cjs/contract/wallet/walletContractV4.js
  • @openproduct/web-sdk/cjs/contract/wallet/walletContractV4R2.d.ts
  • @openproduct/web-sdk/cjs/contract/wallet/walletContractV4R2.js
  • @openproduct/web-sdk/cjs/index.d.ts
  • @openproduct/web-sdk/cjs/index.js
  • @openproduct/web-sdk/cjs/message/cellMessage.d.ts
  • @openproduct/web-sdk/cjs/message/cellMessage.js
  • @openproduct/web-sdk/cjs/message/commonMessageInfo.d.ts
  • @openproduct/web-sdk/cjs/message/commonMessageInfo.js
  • @openproduct/web-sdk/cjs/message/internalMessage.d.ts
  • @openproduct/web-sdk/cjs/message/internalMessage.js
  • @openproduct/web-sdk/cjs/message/message.d.ts
  • @openproduct/web-sdk/cjs/message/message.js
  • @openproduct/web-sdk/cjs/providers/httpProvider.d.ts
  • @openproduct/web-sdk/cjs/providers/httpProvider.js
  • @openproduct/web-sdk/cjs/providers/httpProviderUtils.d.ts
  • @openproduct/web-sdk/cjs/providers/httpProviderUtils.js
  • @openproduct/web-sdk/cjs/providers/index.d.ts
  • @openproduct/web-sdk/cjs/providers/index.js
  • @openproduct/web-sdk/cjs/utils/address.d.ts
  • @openproduct/web-sdk/cjs/utils/address.js
  • @openproduct/web-sdk/cjs/utils/contractAddress.d.ts
  • @openproduct/web-sdk/cjs/utils/contractAddress.js
  • @openproduct/web-sdk/cjs/utils/index.d.ts
  • @openproduct/web-sdk/cjs/utils/index.js
  • @openproduct/web-sdk/cjs/utils/transfer.d.ts
  • @openproduct/web-sdk/cjs/utils/transfer.js
  • @openproduct/web-sdk/cjs/utils/utils.d.ts
  • @openproduct/web-sdk/cjs/utils/utils.js
  • @openproduct/web-sdk/esnext/boc/beingCell.d.ts
  • @openproduct/web-sdk/esnext/boc/beingCell.js
  • @openproduct/web-sdk/esnext/boc/bitString.d.ts
  • @openproduct/web-sdk/esnext/boc/bitString.js
  • @openproduct/web-sdk/esnext/boc/cell.d.ts
  • @openproduct/web-sdk/esnext/boc/cell.js
  • @openproduct/web-sdk/esnext/boc/dict/parseDict.d.ts
  • @openproduct/web-sdk/esnext/boc/dict/parseDict.js
  • @openproduct/web-sdk/esnext/boc/index.d.ts
  • @openproduct/web-sdk/esnext/boc/index.js
  • @openproduct/web-sdk/esnext/boc/slice.d.ts
  • @openproduct/web-sdk/esnext/boc/slice.js
  • @openproduct/web-sdk/esnext/contract/contract.d.ts
  • @openproduct/web-sdk/esnext/contract/contract.js
  • @openproduct/web-sdk/esnext/contract/dns/dns.d.ts
  • @openproduct/web-sdk/esnext/contract/dns/dns.js
  • @openproduct/web-sdk/esnext/contract/dns/utils.d.ts
  • @openproduct/web-sdk/esnext/contract/dns/utils.js
  • @openproduct/web-sdk/esnext/contract/token/ft/jettonMinter.d.ts
  • @openproduct/web-sdk/esnext/contract/token/ft/jettonMinter.js
  • @openproduct/web-sdk/esnext/contract/token/ft/jettonMinterDao.d.ts
  • @openproduct/web-sdk/esnext/contract/token/ft/jettonMinterDao.js
  • @openproduct/web-sdk/esnext/contract/token/ft/jettonWallet.d.ts
  • @openproduct/web-sdk/esnext/contract/token/ft/jettonWallet.js
  • @openproduct/web-sdk/esnext/contract/token/ft/jettonWalletDao.d.ts
  • @openproduct/web-sdk/esnext/contract/token/ft/jettonWalletDao.js
  • @openproduct/web-sdk/esnext/contract/token/ft/utils.d.ts
  • @openproduct/web-sdk/esnext/contract/token/ft/utils.js
  • @openproduct/web-sdk/esnext/contract/token/index.d.ts
  • @openproduct/web-sdk/esnext/contract/token/index.js
  • @openproduct/web-sdk/esnext/contract/token/nft/nftCollectionDao.d.ts
  • @openproduct/web-sdk/esnext/contract/token/nft/nftCollectionDao.js
  • @openproduct/web-sdk/esnext/contract/token/nft/nftContentDao.d.ts
  • @openproduct/web-sdk/esnext/contract/token/nft/nftContentDao.js
  • @openproduct/web-sdk/esnext/contract/token/nft/nftContract.d.ts
  • @openproduct/web-sdk/esnext/contract/token/nft/nftContract.js
  • @openproduct/web-sdk/esnext/contract/token/nft/nftContractDao.d.ts
  • @openproduct/web-sdk/esnext/contract/token/nft/nftContractDao.js
  • @openproduct/web-sdk/esnext/contract/token/nft/utils.d.ts
  • @openproduct/web-sdk/esnext/contract/token/nft/utils.js
  • @openproduct/web-sdk/esnext/contract/wallet/index.d.ts
  • @openproduct/web-sdk/esnext/contract/wallet/index.js
  • @openproduct/web-sdk/esnext/contract/wallet/walletContract.d.ts
  • @openproduct/web-sdk/esnext/contract/wallet/walletContract.js
  • @openproduct/web-sdk/esnext/contract/wallet/walletContractV2.d.ts
  • @openproduct/web-sdk/esnext/contract/wallet/walletContractV2.js
  • @openproduct/web-sdk/esnext/contract/wallet/walletContractV3.d.ts
  • @openproduct/web-sdk/esnext/contract/wallet/walletContractV3.js
  • @openproduct/web-sdk/esnext/contract/wallet/walletContractV4.d.ts
  • @openproduct/web-sdk/esnext/contract/wallet/walletContractV4.js
  • @openproduct/web-sdk/esnext/contract/wallet/walletContractV4R2.d.ts
  • @openproduct/web-sdk/esnext/contract/wallet/walletContractV4R2.js
  • @openproduct/web-sdk/esnext/index.d.ts
  • @openproduct/web-sdk/esnext/index.js
  • @openproduct/web-sdk/esnext/message/cellMessage.d.ts
  • @openproduct/web-sdk/esnext/message/cellMessage.js
  • @openproduct/web-sdk/esnext/message/commonMessageInfo.d.ts
  • @openproduct/web-sdk/esnext/message/commonMessageInfo.js
  • @openproduct/web-sdk/esnext/message/internalMessage.d.ts
  • @openproduct/web-sdk/esnext/message/internalMessage.js
  • @openproduct/web-sdk/esnext/message/message.d.ts
  • @openproduct/web-sdk/esnext/message/message.js
  • @openproduct/web-sdk/esnext/providers/httpProvider.d.ts
  • @openproduct/web-sdk/esnext/providers/httpProvider.js
  • @openproduct/web-sdk/esnext/providers/httpProviderUtils.d.ts
  • @openproduct/web-sdk/esnext/providers/httpProviderUtils.js
  • @openproduct/web-sdk/esnext/providers/index.d.ts
  • @openproduct/web-sdk/esnext/providers/index.js
  • @openproduct/web-sdk/esnext/utils/address.d.ts
  • @openproduct/web-sdk/esnext/utils/address.js
  • @openproduct/web-sdk/esnext/utils/contractAddress.d.ts
  • @openproduct/web-sdk/esnext/utils/contractAddress.js
  • @openproduct/web-sdk/esnext/utils/index.d.ts
  • @openproduct/web-sdk/esnext/utils/index.js
  • @openproduct/web-sdk/esnext/utils/transfer.d.ts
  • @openproduct/web-sdk/esnext/utils/transfer.js
  • @openproduct/web-sdk/esnext/utils/utils.d.ts
  • @openproduct/web-sdk/esnext/utils/utils.js

Readme

TypeScript SDK for The Open Network

NPM

Converted to typescript TonWeb. The library optimise to run in browser.

Install Web

npm install @openproduct/web-sdk

// or

yarn add @openproduct/web-sdk

// or

pnpm add @openproduct/web-sdk

TonHttpProvider

import { TonHttpProvider } from "@openproduct/web-sdk";

const provider = new TonHttpProvider(config.rpcUrl, {
  apiKey: config.apiKey,
});

// Get Wallet Balance
const amount: string = await provider.getBalance(wallet);

// Get Wallet SeqNo
const seqno: BN = await provider.call2(wallet, "seqno");

// Get wallet transactions
const transactions = await ton.getTransactions(wallet, 10);

Send transaction

import { ALL, hexToBytes, toNano } from "@openproduct/web-sdk";

const WalletClass = ALL[wallet.version];
const contract = new WalletClass(provider, {
  publicKey: hexToBytes(wallet.publicKey),
  wc: 0,
});

const params: TransferParams = {
  secretKey: keyPair.secretKey,
  toAddress,
  amount: toNano(amount),
  seqno: seqno,
  payload: comment,
  sendMode: 3,
};

const method = contract.transfer(params);

// Get estimate fee
const fees = await method.estimateFee();

// Send transaction

await method.send();

TonDNS

Resolve ton DNS address:

import { TonDns } from "@openproduct/web-sdk";

const dns = new TonDns(provider, { rootDnsAddress: config.rootDnsAddress });
const address = await dns.getWalletAddress(toAddress);
if (!address) {
  throw new Error("Invalid address");
}
if (!Address.isValid(address)) {
  throw new Error("Invalid address");
}