1.1.0 • Published 1 year ago

uatujs v1.1.0

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

UATU Library for JavaScript

Introduction

This is a JavaScript library for UATU. It is a wrapper for the UATU API. It is written in TypeScript and can be used in both Node.js and the browser. It is also available as a npm package.

Installation

Node.js

npm install uatujs

Browser

<script src="https://unpkg.com/uatujs@1.0.3/CommonJS/src/index.js"></script>

Usage

const { UATU } = require('uatujs');
const { ethers } = require('ethers');

const wallet = new ethers.Wallet('0x...');

/**
 * Initialize UATU object.
 * `wallet` is optional here. But then you will have to call uatu.verify(wallet) before using the other functions of the UATU object. If Wallet is provided here, then it will * be verified automatically.
 * If you are not using ethers.js then you can provide the private key or mnemonic here. e.g. new UATU('0x...') or new UATU('mnemonic')
 */
const uatu = new UATU(wallet); 

// No need to call this if wallet is provided in the constructor.
uatu.verify(wallet); 

// Watch Events for the Wallet Address
const watcher = uatu.watch();
watcher.on('connected', () => {
  console.log("UATU connected");
});
watcher.on('wallet', (wallet) => {
  // Receives Wallet Object
  console.log(wallet); // <Wallet>
});
watcher.on('asset', (asset) => {
  // Receives Asset Object
  console.log(asset); // <Asset>
});
watcher.on('transaction', (transaction) => {
  // Receives Transaction Object
  console.log(transaction);  // <Transaction>
});
watcher.on('nft', (nft) => {
  // Receives NFT Object
  console.log(nft); // <NFT>
});
watcher.on('error', (error) => {
  console.log(error);
});
watcher.on('disconnected', () => {
  console.log("UATU disconnected");
});

// Get Wallets for the Wallet Address
const wallets = uatu.ask('wallet').then((wallet) => {
  // Returns Wallet Object
  console.log(wallet); // <Wallet>
});

// Get Assets(Coins and ERC20 Tokens) for the Wallet Address
const assets = await uatu.ask('assets').then((assets) => {
  // Returns array of Assets
  console.log(assets);  // [<Asset>]
});

// Get Transactions for the Wallet Address
const transactions = await uatu.ask('transactions').then((transactions) => {
  // Returns array of Transactions
  console.log(transactions);  // [<Transaction>]
});

// Get NFT Assets for the Wallet Address
const nftAssets = await uatu.ask('nfts').then((nftAssets) => {
  // Returns array of NFT Assets
  console.log(nftAssets); // [<NFT>]
});

Wallet Object <Wallet>

Wallet is an object that contains the wallet address and Transactions .

{
  "walletAddress": "0x8248734173c746ea29ae138117ef652266ae9f2b",
  "assets": [
    <Asset>
  ],
  "transactions": [
    <Transaction>
  ],
  "nftAssets": [
    <NFT>
  ]
}

Asset Object <Asset>

Asset is an object that contains the value , symbol and chain of the asset.

{
  "value": 300,
  "symbol": "<CoinSymbol>",
  "chain": "<ChainName>",
}

Transaction Object <Transaction>

Transaction is an object that contains the hash , fromAddress , toAddress , value , txnType , chainId , coin , blockNumber , txnStatus and timestamp of the transaction.

{
  "hash": "0xe12b7ac0cdcbcba0d42740539198ba52b503a914551002f6c45e21e9c923e416",
  "fromAddress": "0x0000000000000000000000000000000000000000",
  "toAddress": "0xf2f5c73fa04406b1995e397b55c24ab1f3ea726c",
  "value": 1,
  "txnType": "RECIEVE",
  "chainId": 1,
  "coin": "<CoinSymbol>",
  "blockNumber": 15586637,
  "txnStatus": true,
  "timestamp": 1629200000
}

NFT Object <NFT>

NFT is an object that contains the token_address , token_id , owner_of , block_number , block_number_minted , token_hash , amount , contract_type , name , symbol , token_uri , minter_address , chainId and timestamp of the NFT.

{
  "token_address": "0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85",
  "token_id": "34812922231052332207600408151355793147729817622833157082448925652934526198815",
  "owner_of": "0xf2f5c73fa04406b1995e397b55c24ab1f3ea726c",
  "block_number": 15568803,
  "block_number_minted": 15568742,
  "token_hash": "a23198f8badee88f2650ea9f0dfcb175",
  "amount": 1,
  "contract_type": "ERC721",
  "name": "Ethereum Name Service",
  "symbol": "ENS",
  "token_uri": null,
  "minter_address": "0x26e850e94b0b7b672544a5b60ac3463957a817ba",
  "chainId": 1,
  "timestamp": 1629200000
}

Coin Symbol <CoinSymbol>

Coin Symbol is a string that represents the symbol of the coin. e.g. ETH , BTC , USDT , DAI . See Full List of Coin Symbols here.

Chain Name <ChainName>

Chain Name is a string that represents the name of the chain. e.g. Ethereum , Binance Smart Chain , Polygon , Avalanche . See Full List of Chain Names here.