@node-dlc/wire
Version:
Lightning Network Wire Protocol
45 lines (36 loc) • 1.12 kB
text/typescript
import { BitField } from '@node-dlc/common';
import { ILogger, Logger } from '@node-dlc/logger';
import sinon from 'sinon';
import { Readable } from 'stream';
import { IWireMessage } from '../lib';
import { InitFeatureFlags } from '../lib/flags/InitFeatureFlags';
export class FakePeer extends Readable {
public state;
public send = sinon.stub();
public sendMessage = sinon.stub();
public pubkey = Buffer.alloc(32, 1);
public localChains: Buffer[] = [];
public localFeatures = new BitField<InitFeatureFlags>();
public remoteChains: Buffer[] = [];
public remoteFeatures = new BitField<InitFeatureFlags>();
public constructor() {
super({ objectMode: true });
}
public _read() {
//
}
public fakeMessage(msg: IWireMessage) {
this.push(msg);
}
}
export function createFakePeer() {
return new FakePeer() as any;
}
export function createFakeLogger(): ILogger {
const fake = sinon.createStubInstance(Logger);
fake.sub = createFakeLogger as any;
return fake;
}
export function wait(ms: number): Promise<void> {
return new Promise((resolve) => setTimeout(resolve, ms));
}