git.delta.rocks / unique-network / refs/commits / 37762c5cf403

difftreelog

source

tests/src/inflation.test.ts1.2 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';910chai.use(chaiAsPromised);11const expect = chai.expect;1213describe('integration test: Inflation', () => {14  it('First year inflation is 10%', async () => {15    await usingApi(async (api) => {1617      const blockInterval = (api.consts.inflation.inflationBlockInterval).toBigInt();18      const totalIssuanceStart = (await api.query.inflation.startingYearTotalIssuance()).toBigInt();19      const blockInflation = (await api.query.inflation.blockInflation()).toBigInt();2021      const YEAR = 5259600n; // Blocks in one year22      const totalExpectedInflation = totalIssuanceStart / 10n;23      const totalActualInflation = blockInflation * YEAR / blockInterval;2425      const tolerance = 0.00001; // Relative difference per year between theoretical and actual inflation26      let abs = totalExpectedInflation / totalActualInflation - 1n;27      if (abs < 0n) {28        abs = -abs;29      }30      expect(abs <= tolerance).to.be.true;31    });32  });3334});