git.delta.rocks / unique-network / refs/commits / 900dc0450c74

difftreelog

source

tests/src/inflation.test.ts1.5 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 } from "./substrate/substrate-api";9import privateKey from "./substrate/privateKey";10import { BigNumber } from 'bignumber.js';11import { IKeyringPair } from '@polkadot/types/types';1213chai.use(chaiAsPromised);14const expect = chai.expect;1516let alice: IKeyringPair;17let bob: IKeyringPair;1819describe('integration test: Inflation', () => {20  before(async () => {21    await usingApi(async (api) => {22      alice = privateKey('//Alice');23      bob = privateKey('//Bob');24    });25  });2627  it('First year inflation is 10%', async () => {28    await usingApi(async (api) => {2930      const blockInterval = parseInt((await api.consts.inflation.inflationBlockInterval).toString());31      const totalIssuanceStart = new BigNumber((await api.query.inflation.startingYearTotalIssuance()).toString());32      const blockInflation = new BigNumber((await api.query.inflation.blockInflation()).toString());3334      const YEAR = 5259600; // Blocks in one year35      const totalExpectedInflation = totalIssuanceStart.multipliedBy(0.1);36      const totalActualInflation = blockInflation.multipliedBy(YEAR / blockInterval);3738      const tolerance = 0.00001; // Relative difference per year between theoretical and actual inflation39      expect(totalExpectedInflation.dividedBy(totalActualInflation).minus(1).abs().toNumber()).to.be.lessThan(tolerance);40    });41  });4243});