Misc Playground/Docs fixes

This commit is contained in:
Jim Hamill
2025-07-15 04:07:59 +00:00
parent 39e2d4b991
commit f71100b28c
13 changed files with 87 additions and 83 deletions
@@ -48,13 +48,9 @@ export type BlockchainElectrumEvents = {
};
export type BlockchainElectrumOpts = {
servers: Array<string>;
application: string;
};
export type BlockchainElectrumParams = {
store?: BaseStore;
opts?: Partial<BlockchainElectrumOpts>;
servers?: Array<string>;
application?: string;
};
export class BlockchainElectrum extends BaseBlockchain<
@@ -82,24 +78,20 @@ export class BlockchainElectrum extends BaseBlockchain<
// Options
store: BaseStore;
opts: BlockchainElectrumOpts;
servers: Array<string>;
application: string;
constructor(public readonly params: BlockchainElectrumParams = {}) {
constructor(public readonly opts: BlockchainElectrumOpts = {}) {
super();
// Set the store, or use the memory store by default.
this.store = params.store ?? new StoreInMemory();
// Combine provided options with default options.
this.opts = {
servers: [
'bch.imaginary.cash',
'cashnode.bch.ninja',
'electrum.imaginary.cash',
],
application: 'XOApp',
...params.opts,
};
this.store = opts.store ?? new StoreInMemory();
this.servers = opts.servers ?? [
'bch.imaginary.cash',
'cashnode.bch.ninja',
'electrum.imaginary.cash',
];
this.application = opts.application ?? 'XOApp';
}
/**
@@ -109,9 +101,9 @@ export class BlockchainElectrum extends BaseBlockchain<
*/
static async from<T extends typeof BlockchainElectrum>(
this: T,
params: BlockchainElectrumParams = {},
opts: BlockchainElectrumOpts = {},
) {
const blockchain = new this(params);
const blockchain = new this(opts);
await blockchain.start();
@@ -125,10 +117,10 @@ export class BlockchainElectrum extends BaseBlockchain<
// Iterate over each server in our list of servers.
// NOTE: We are still using an Electrum Client due to the above bug.
// But, if we cannot connect to the first server, we will try the second (and third if given, etc) as a fallback.
for (const electrumServer of this.opts.servers) {
for (const electrumServer of this.servers) {
// Initialize an Electrum client using the given server.
const electrum = await initializeElectrumClient(
this.opts.application,
this.application,
electrumServer,
);