git.delta.rocks / unique-network / refs/commits / 8eb82cd98ff6

difftreelog

source

tests/src/transfer.test.ts1.5 KiBsourcehistory
1import createSubstrateApi from "./substrate/substrate-api";2import { Keyring, ApiPromise } from "@polkadot/api";3import {AccountInfo} from "@polkadot/types/interfaces/system";4import { expect } from "chai";5import usingApi from "./substrate/substrate-api";6import promisifySubstrate from "./substrate/promisify-substrate";7import waitNewBlocks from "./substrate/wait-new-blocks";8import { alicesPublicKey, bobsPublicKey } from "./accounts";9import privateKey from "./substrate/privateKey";1011async function getBalance(api: ApiPromise, accounts: string[]): Promise<bigint[]> {12  const balance = promisifySubstrate(api, (accounts: string[]) => api.query.system.account.multi(accounts));13  const responce = await balance(accounts) as unknown as AccountInfo[];14  return responce.map(r => r.data.free.toBigInt().valueOf());15}1617describe('Transfer', () => {18  it('Balance transfers', async () => {19    await usingApi(async api => {20      const [alicesBalanceBefore, bobsBalanceBefore] = await getBalance(api, [alicesPublicKey, bobsPublicKey]);2122      const alicePrivateKey = privateKey('//Alice');23      24      const transfer = api.tx.balances.transfer(bobsPublicKey, 1n);25      26      await promisifySubstrate(api, () => transfer.signAndSend(alicePrivateKey))();2728      await waitNewBlocks(api);29  30      const [alicesBalanceAfter, bobsBalanceAfter]  = await getBalance(api, [alicesPublicKey, bobsPublicKey]);3132      expect(alicesBalanceAfter < alicesBalanceBefore).to.be.true;33      expect(bobsBalanceAfter > bobsBalanceBefore).to.be.true;34    });35  });36});