@zomet/sdk
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

SDK for apps

Using

Ethereum based

Initialization

import { Contract, ERC20 } from '@zomet/sdk';
import ABI from 'your/path/to/abi.json';

const contract: Contract = new evm.Contract('eth', ethContractAddress, ABI);

// you can init contract instance of standard eazier
// it is instance of Contract and it includes all of Contract properties and methods
const BEP20USDTContract: ERC20 = new ERC20('bsc', USDTAddressBEP20);

Call read methods of Contract ABI

await contract.call('symbol'); // USDT
await contract.call('decimals'); // 18
await contract.call('balanceOf', '0x...'); // 22.332133244

// or when you use ERC20 instance
const ERC20Token = new ERC20('polygon', contractAddress);

await ERC20Token.getSymbol(); // USDT
await ERC20Token.getDecimals(); // 18
await ERC20Token.getBalance('0x...'); // 22.332133244
await ERC20Token.getAllowance('0x...', '0x....'); // 0.1

Get gas price

await contract.getGasPrice(); // 6000000000 (6gwei)

Transaction Building and Transaction Gas estimation

const tx: EvmTransaction = {
    method: 'transfer',
    args: [recepientAddress, 1],
    from: senderAddress,
    value: 0, // may be if it native token sending
    // you can set custom gas and gas price,
    // they will added to transaction object
    gas: 192380,
    gasPrice: 5000000000
}

// building tranaction for signing
await contract.buildTransaction(tx);

// estimate gas for transaction, gas param shouldn't be in transaction object
contract.estimateGas(tx); // 31843

Getting user or block info from node

// https://docs.ethers.org/v5/api/providers/provider/
const provider = await contract.getProvider();

await provider.getTransactionCount(walletAddress) // 23
await provider.getBlock(766754) // block info Object
await provider.getBalance('0x...') // native token balance for user

Readme

Keywords

none

Package Sidebar

Install

npm i @zomet/sdk

Weekly Downloads

1

Version

1.0.3

License

NONE

Unpacked Size

72.6 kB

Total Files

49

Last publish

Collaborators

  • krewedk0