123456import 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; 39 const totalExpectedInflation = totalIssuanceStart.multipliedBy(0.1);40 const totalActualInflation = blockInflation.multipliedBy(YEAR / blockInterval);4142 const tolerance = 0.00001; 43 expect(totalExpectedInflation.dividedBy(totalActualInflation).minus(1).abs().toNumber()).to.be.lessThan(tolerance);44 });45 });464748});49