git.delta.rocks / unique-network / refs/commits / b40985b366bf

difftreelog

source

tests/src/inflation.test.ts1.7 KiBsourcehistory
1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//56import chai from 'chai';7import chaiAsPromised from 'chai-as-promised';8import { default as usingApi, submitTransactionAsync, submitTransactionExpectFailAsync } from "./substrate/substrate-api";9import { alicesPublicKey, bobsPublicKey } from "./accounts";10import privateKey from "./substrate/privateKey";11import { BigNumber } from 'bignumber.js';12import { IKeyringPair } from '@polkadot/types/types';13import { 14  getGenericResult,15} from './util/helpers';1617chai.use(chaiAsPromised);18const expect = chai.expect;1920let alice: IKeyringPair;21let bob: IKeyringPair;2223describe('integration test: Inflation', () => {24  before(async () => {25    await usingApi(async (api) => {26      alice = privateKey('//Alice');27      bob = privateKey('//Bob');28    });29  });3031  it('First year inflation is 10%', async () => {32    await usingApi(async (api) => {3334      const blockInterval = parseInt((await api.consts.inflation.inflationBlockInterval).toString());35      const totalIssuanceStart = new BigNumber((await api.query.inflation.startingYearTotalIssuance()).toString());36      const blockInflation = new BigNumber((await api.query.inflation.blockInflation()).toString());3738      const YEAR = 5259600; // Blocks in one year39      const totalExpectedInflation = totalIssuanceStart.multipliedBy(0.1);40      const totalActualInflation = blockInflation.multipliedBy(YEAR / blockInterval);4142      const tolerance = 0.00001; // Relative difference per year between theoretical and actual inflation43      expect(totalExpectedInflation.dividedBy(totalActualInflation).minus(1).abs().toNumber()).to.be.lessThan(tolerance);44    });45  });464748});49