* Use 0x gas api instead of eth gas station api * Add integration test for `ProtocolFeeUtils` * Update CHANGELOG.json
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import * as chai from 'chai';
|
|
import 'mocha';
|
|
import { rest } from 'msw';
|
|
import { setupServer } from 'msw/node';
|
|
|
|
import { ProtocolFeeUtils } from '../src';
|
|
|
|
import { chaiSetup } from './utils/chai_setup';
|
|
chaiSetup.configure();
|
|
const expect = chai.expect;
|
|
|
|
const server = setupServer(
|
|
rest.get('https://mock-0x-gas-api.org/median', (_req, res, ctx) => {
|
|
return res(
|
|
ctx.json({
|
|
result: {
|
|
source: 'MEDIAN',
|
|
timestamp: 1659386474,
|
|
instant: 22000000000,
|
|
fast: 18848500000,
|
|
standard: 14765010000,
|
|
low: 13265000000,
|
|
},
|
|
}),
|
|
);
|
|
}),
|
|
);
|
|
|
|
describe('ProtocolFeeUtils', () => {
|
|
describe('getGasPriceEstimationOrThrowAsync', () => {
|
|
beforeEach(() => {
|
|
server.listen();
|
|
});
|
|
|
|
afterEach(() => {
|
|
server.close();
|
|
});
|
|
|
|
it('parses fast gas price response correctly', async () => {
|
|
const utils = ProtocolFeeUtils.getInstance(420000, 'https://mock-0x-gas-api.org/median');
|
|
const gasPrice = await utils.getGasPriceEstimationOrThrowAsync();
|
|
expect(gasPrice.toNumber()).to.eq(18848500000);
|
|
});
|
|
});
|
|
});
|