fix(electron): add BSO name resolvers for desktop board address resolution

Configure desktop PKC RPC with Ethereum-backed BSO resolvers so .bso board addresses resolve correctly.
This commit is contained in:
Tommaso Casaburi
2026-06-18 15:59:15 +07:00
parent 9179988e7f
commit 3a4a0d4130
5 changed files with 57 additions and 4 deletions
+17
View File
@@ -1,6 +1,23 @@
import { describe, expect, it, vi } from 'vitest';
import { createDefaultPkcOptions, DEFAULT_ETH_RPC_URLS } from './pkc-rpc-options.js';
import { startPkcRpcServer } from './start-pkc-rpc-core.js';
describe('createDefaultPkcOptions', () => {
it('configures BSO name resolvers for the desktop RPC server', () => {
const options = createDefaultPkcOptions({ dataPath: '/tmp/5chan-pkc' });
expect(options.dataPath).toBe('/tmp/5chan-pkc');
expect(options.kuboRpcClientsOptions).toEqual([{ url: 'http://localhost:50019/api/v0' }]);
expect(options.nameResolvers).toHaveLength(DEFAULT_ETH_RPC_URLS.length);
expect(options.nameResolvers.map((resolver) => resolver.provider)).toEqual(DEFAULT_ETH_RPC_URLS);
expect(options.nameResolvers[0]).toMatchObject({
key: 'eth-ethereum-rpc.publicnode.com',
provider: DEFAULT_ETH_RPC_URLS[0],
});
expect(options.nameResolvers[0].canResolve({ name: 'business-and-finance.bso' })).toBe(true);
});
});
describe('startPkcRpcServer', () => {
it('passes the Electron data path through pkcOptions', async () => {
const pkcOptions = {