mirror of
https://github.com/benjamin-wilson/public-pool.git
synced 2026-09-29 17:15:03 -07:00
refactor project to use one singleton for blocks (memory optimization)
This commit is contained in:
@@ -14,7 +14,6 @@ import { ClientEntity } from '../ORM/client/client.entity';
|
||||
import { ClientModule } from '../ORM/client/client.module';
|
||||
import { ClientService } from '../ORM/client/client.service';
|
||||
import { BitcoinRpcService as MockBitcoinRpcService } from '../services/bitcoin-rpc.service';
|
||||
import { BlockTemplateService } from '../services/block-template.service';
|
||||
import { NotificationService } from '../services/notification.service';
|
||||
import { StratumV1JobsService } from '../services/stratum-v1-jobs.service';
|
||||
import { IMiningInfo } from './bitcoin-rpc/IMiningInfo';
|
||||
@@ -37,9 +36,9 @@ describe('StratumV1Client', () => {
|
||||
|
||||
|
||||
let promiseSocket: PromiseSocket<any>;
|
||||
let stratumV1JobsService: StratumV1JobsService = new StratumV1JobsService();
|
||||
let stratumV1JobsService: StratumV1JobsService;
|
||||
let bitcoinRpcService: MockBitcoinRpcService;
|
||||
let blockTemplateService: BlockTemplateService;
|
||||
|
||||
let clientService: ClientService;
|
||||
let clientStatisticsService: ClientStatisticsService;
|
||||
let notificationService: NotificationService;
|
||||
@@ -92,7 +91,7 @@ describe('StratumV1Client', () => {
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
|
||||
console.log('NEW TEST')
|
||||
|
||||
clientService = moduleRef.get<ClientService>(ClientService);
|
||||
|
||||
@@ -107,12 +106,11 @@ describe('StratumV1Client', () => {
|
||||
configService = moduleRef.get<ConfigService>(ConfigService);
|
||||
|
||||
bitcoinRpcService = new MockBitcoinRpcService(null);
|
||||
|
||||
jest.spyOn(bitcoinRpcService, 'getBlockTemplate').mockReturnValue(Promise.resolve(MockRecording1.BLOCK_TEMPLATE));
|
||||
bitcoinRpcService.newBlock$ = newBlockEmitter.asObservable();
|
||||
|
||||
blockTemplateService = new BlockTemplateService(bitcoinRpcService);
|
||||
|
||||
stratumV1JobsService = new StratumV1JobsService(bitcoinRpcService);
|
||||
|
||||
promiseSocket = new PromiseSocket();
|
||||
jest.spyOn(promiseSocket.socket, 'on').mockImplementation((event: string, fn: (data: Buffer) => void) => {
|
||||
@@ -125,7 +123,6 @@ describe('StratumV1Client', () => {
|
||||
client = new StratumV1Client(
|
||||
promiseSocket,
|
||||
stratumV1JobsService,
|
||||
blockTemplateService,
|
||||
bitcoinRpcService,
|
||||
clientService,
|
||||
clientStatisticsService,
|
||||
@@ -245,7 +242,7 @@ describe('StratumV1Client', () => {
|
||||
|
||||
|
||||
|
||||
expect(promiseSocket.write).lastCalledWith(`{"id":null,"method":"mining.notify","params":["3","171592f223740e92d223f6e68bff25279af7ac4f2246451e0000000200000000","02000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1903c943255c7075626c69632d706f6f6c5c","ffffffff037a90000000000000160014e6f22ca44dc800e9d049621a3b9a42c509f1c4bc3b0f250000000000160014e6f22ca44dc800e9d049621a3b9a42c509f1c4bc0000000000000000266a24aa21a9edbd3d1d916aa0b57326a2d88ebe1b68a1d7c48585f26d8335fe6a94b62755f64c00000000",["175335649d5e8746982969ec88f52e85ac9917106fba5468e699c8879ab974a1","d5644ab3e708c54cd68dc5aedc92b8d3037449687f92ec41ed6e37673d969d4a","5c9ec187517edc0698556cca5ce27e54c96acb014770599ed9df4d4937fbf2b0"],"20000000","192495f8","${MockRecording1.TIME}",false]}\n`);
|
||||
expect(promiseSocket.write).lastCalledWith(`{"id":null,"method":"mining.notify","params":["1","171592f223740e92d223f6e68bff25279af7ac4f2246451e0000000200000000","02000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1903c943255c7075626c69632d706f6f6c5c","ffffffff037a90000000000000160014e6f22ca44dc800e9d049621a3b9a42c509f1c4bc3b0f250000000000160014e6f22ca44dc800e9d049621a3b9a42c509f1c4bc0000000000000000266a24aa21a9edbd3d1d916aa0b57326a2d88ebe1b68a1d7c48585f26d8335fe6a94b62755f64c00000000",["175335649d5e8746982969ec88f52e85ac9917106fba5468e699c8879ab974a1","d5644ab3e708c54cd68dc5aedc92b8d3037449687f92ec41ed6e37673d969d4a","5c9ec187517edc0698556cca5ce27e54c96acb014770599ed9df4d4937fbf2b0"],"20000000","192495f8","${MockRecording1.TIME}",false]}\n`);
|
||||
|
||||
|
||||
socketEmitter(Buffer.from(MockRecording1.MINING_SUBMIT));
|
||||
@@ -253,8 +250,11 @@ describe('StratumV1Client', () => {
|
||||
jest.useRealTimers();
|
||||
await new Promise((r) => setTimeout(r, 100));
|
||||
|
||||
expect(promiseSocket.write).lastCalledWith(`{\"id\":5,\"error\":null,\"result\":true}\n`);
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user