@autonomysdk/ts-client

Autonomy Network client SDK

Usage no npm install needed!

<script type="module">
  import autonomysdkTsClient from 'https://cdn.skypack.dev/@autonomysdk/ts-client';
</script>

README

ts-client

Autonomy custom ts-client

Client has two different functions for both transactions & queries

  • setupIssuanceExtension
  • AutonomyClient

Usage

To query


import { setupIssuanceExtension, setupLiquidityExtension, setupNFTExtension } from './queries';
import { Tendermint34Client } from '@cosmjs/tendermint-rpc';
import { QueryClient, setupBankExtension } from '@cosmjs/stargate';
import Long from 'long';
(async () => {
  const tendermintClient = await Tendermint34Client.connect('localhost:26657');

  const queryClient = QueryClient.withExtensions(tendermintClient, setupIssuanceExtension, setupBankExtension, setupLiquidityExtension, setupNFTExtension);

  // Query Token All
  const res = await queryClient.issuance.tokenAll();
  console.log(res);

  // Query Token by Id
  let tokenById = await queryClient.issuance.token(Long.fromNumber(1));
  console.log(tokenById);

  // Query Tokens By TokensByOwner
  let tokensByOwner = await queryClient.issuance.tokensByOwner(tokenById!.creator);
  console.log(tokensByOwner);

  // Query Token By denom
  let tokenByDenom = await queryClient.issuance.tokenByDenom(tokenById!.denom)
  console.log(tokenByDenom);

  const res3 = await queryClient.bank.allBalances(tokenById!.creator);
  console.log(res3);

  // Query Pools
  const pools = await queryClient.liquidity.pools();
  console.log(pools);

  // Query PoolById
  const poolById = await queryClient.liquidity.poolById(Long.fromNumber(1))
  console.log(poolById)

  //Query PoolByName
    const poolByName = await queryClient.liquidity.poolByDenom("pool9040880A9D2FB7AB4CF2B87AF5454379D9602EEF16985ED997D9E38755BF9F63")
  console.log(poolByName)


  // Query denoms
  const res = await queryClient.nfts.denoms();
  console.log(res);

  // Query Owner Collcetions
  let collection = await queryClient.nfts.ownerCollection('autonomy1s5gng5s7w4yk4tk6qmfld8r7p4468jw2hfpklu')
  console.log(collection);

  // Query MarketPlace
  let marketplace = await queryClient.nfts.marketplace();
  console.log(marketplace);

    // Query Denom
    let denom = await queryClient.nfts.denom("nftdenomc55b629434824b3cb33bedcfa206c34c")
    console.log(denom);

// Query nft with nft_denom_id, nft_id
  let nft = await queryClient.nfts.nft("nftdenomc55b629434824b3cb33bedcfa206c34c","nftb836f4f54fee4d4d87b3cff722231afd")
    console.log(nft);

})();

To transactions


import { AutonomyClient, autonomyRegistry } from './txs';
import { DirectSecp256k1HdWallet, Registry } from '@cosmjs/proto-signing';
import { StdFee } from '@cosmjs/amino';
import Long from 'long';
import { coins } from '@cosmjs/amino';
import { GasPrice } from '@cosmjs/stargate';
const sender = {
  menmonic:
    'kind surge maximum rapid rocket smart cycle slab infant flock alone suffer grit element indicate cricket benefit cricket sausage venture talk rib exact hair',
  address: 'autonomy1s5gng5s7w4yk4tk6qmfld8r7p4468jw2hfpklu',
  path: "m/44'/118'/0'/0/0",
  recipient: 'autonomy1r9nfvcdctxyg5q48ae9kupwdh4jlr8kur4sc6q',
};

const fee: StdFee = {
  amount: [
    {
      denom: 'atn',
      amount: '200000',
    },
  ],
  gas: '200000',
};
(async () => {
  const gasPrice = GasPrice.fromString('3.14atn');
  const gasLimits = {
    send: 200000,
  };
  const options = { gasPrice: gasPrice, gasLimits: gasLimits, registry: new Registry([...autonomyRegistry]) };

  const wallet = await DirectSecp256k1HdWallet.fromMnemonic(sender.menmonic, { prefix: 'autonomy' });

  const [addres] = await wallet.getAccounts();
  console.log(addres.address);

  const autonomyClient = await AutonomyClient.autonomySigner('localhost:26657', wallet, options);

  const msgs = [];
  for (let i = 0; i < 5; i++) {
    const msg = {
      fromAddress: 'autonomy1s5gng5s7w4yk4tk6qmfld8r7p4468jw2hfpklu',
      toAddress: 'autonomy1r9nfvcdctxyg5q48ae9kupwdh4jlr8kur4sc6q',
      amount: coins(12, 'atn'),
    };

    msgs.push(msg);
  }
  const resSend = await autonomyClient.sendTokens(sender.address, sender.recipient, coins(12, 'atn'));
  console.log(resSend);
  const res = await autonomyClient.issueTokens(
    sender.address,
    'atom',
    'ATOM',
    new Long(10),
    new Long(1919199),
    fee,
    'test tx-1',
  );
  console.log(res);

  const resMSend = await autonomyClient.buildMultiSendMsgAndBroadcast(msgs, fee, 'test multisend');
  console.log(resMSend);
})();