From c3c2828e335c45be403ceea53eccbb38ee019091 Mon Sep 17 00:00:00 2001 From: Tom Wang Date: Mon, 27 May 2024 14:54:00 +0800 Subject: [PATCH 1/2] refactor: remove indexerUrl --- packages/neuron-wallet/src/block-sync-renderer/index.ts | 1 - .../src/block-sync-renderer/sync/full-synchronizer.ts | 4 ++-- .../src/block-sync-renderer/sync/light-synchronizer.ts | 6 +----- .../neuron-wallet/src/block-sync-renderer/sync/queue.ts | 6 ++---- .../src/block-sync-renderer/sync/synchronizer.ts | 4 ++-- packages/neuron-wallet/src/block-sync-renderer/task.ts | 5 ++--- .../tests/block-sync-renderer/full-synchronizer.test.ts | 8 +++----- .../index/createBlockSyncTask.test.ts | 1 - .../tests/block-sync-renderer/synchronizer.test.ts | 9 +-------- .../neuron-wallet/tests/block-sync-renderer/task.test.ts | 2 -- 10 files changed, 13 insertions(+), 33 deletions(-) diff --git a/packages/neuron-wallet/src/block-sync-renderer/index.ts b/packages/neuron-wallet/src/block-sync-renderer/index.ts index 19b0394649..7bada7dac1 100644 --- a/packages/neuron-wallet/src/block-sync-renderer/index.ts +++ b/packages/neuron-wallet/src/block-sync-renderer/index.ts @@ -177,7 +177,6 @@ export const createBlockSyncTask = async () => { genesisHash: network.genesisHash, url: network.remote, addressMetas, - indexerUrl: network.remote, nodeType: network.type, } const msg: Required> = { type: 'call', channel: 'start', id: requestId++, message } diff --git a/packages/neuron-wallet/src/block-sync-renderer/sync/full-synchronizer.ts b/packages/neuron-wallet/src/block-sync-renderer/sync/full-synchronizer.ts index 972d37e5f0..eecace1ccf 100644 --- a/packages/neuron-wallet/src/block-sync-renderer/sync/full-synchronizer.ts +++ b/packages/neuron-wallet/src/block-sync-renderer/sync/full-synchronizer.ts @@ -10,8 +10,8 @@ import IndexerCacheService from './indexer-cache-service' export default class FullSynchronizer extends Synchronizer { private rpcService: RpcService - constructor(addresses: Address[], nodeUrl: string, indexerUrl: string, nodeType: NetworkType) { - super({ addresses, nodeUrl, indexerUrl }) + constructor(addresses: Address[], nodeUrl: string, nodeType: NetworkType) { + super({ addresses, nodeUrl }) this.rpcService = new RpcService(nodeUrl, nodeType) } diff --git a/packages/neuron-wallet/src/block-sync-renderer/sync/light-synchronizer.ts b/packages/neuron-wallet/src/block-sync-renderer/sync/light-synchronizer.ts index f87dddf99b..d7b1fe7db6 100644 --- a/packages/neuron-wallet/src/block-sync-renderer/sync/light-synchronizer.ts +++ b/packages/neuron-wallet/src/block-sync-renderer/sync/light-synchronizer.ts @@ -29,11 +29,7 @@ export default class LightSynchronizer extends Synchronizer { private addressMetas: AddressMeta[] constructor(addresses: Address[], nodeUrl: string) { - super({ - addresses, - nodeUrl, - indexerUrl: nodeUrl, - }) + super({ addresses, nodeUrl }) this.lightRpc = new LightRPC(nodeUrl) this.addressMetas = addresses.map(address => AddressMeta.fromObject(address)) // fetch some dep cell diff --git a/packages/neuron-wallet/src/block-sync-renderer/sync/queue.ts b/packages/neuron-wallet/src/block-sync-renderer/sync/queue.ts index 027bc14967..2c5d5008a5 100644 --- a/packages/neuron-wallet/src/block-sync-renderer/sync/queue.ts +++ b/packages/neuron-wallet/src/block-sync-renderer/sync/queue.ts @@ -28,7 +28,6 @@ export default class Queue { #lockHashes: string[] #url: string // ckb node #nodeType: NetworkType - #indexerUrl: string #addresses: AddressInterface[] #rpcService: RpcService #indexerConnector: Synchronizer | undefined @@ -39,9 +38,8 @@ export default class Queue { #anyoneCanPayLockHashes: string[] #assetAccountInfo: AssetAccountInfo - constructor(url: string, addresses: AddressInterface[], indexerUrl: string, nodeType: NetworkType) { + constructor(url: string, addresses: AddressInterface[], nodeType: NetworkType) { this.#url = url - this.#indexerUrl = indexerUrl this.#addresses = addresses this.#rpcService = new RpcService(url, nodeType) this.#nodeType = nodeType @@ -70,7 +68,7 @@ export default class Queue { if (this.#url === BUNDLED_LIGHT_CKB_URL) { this.#indexerConnector = new LightSynchronizer(this.#addresses, this.#url) } else { - this.#indexerConnector = new FullSynchronizer(this.#addresses, this.#url, this.#indexerUrl, this.#nodeType) + this.#indexerConnector = new FullSynchronizer(this.#addresses, this.#url, this.#nodeType) } await this.#indexerConnector!.connect() } catch (error) { diff --git a/packages/neuron-wallet/src/block-sync-renderer/sync/synchronizer.ts b/packages/neuron-wallet/src/block-sync-renderer/sync/synchronizer.ts index 01fcfa3a12..62c8126172 100644 --- a/packages/neuron-wallet/src/block-sync-renderer/sync/synchronizer.ts +++ b/packages/neuron-wallet/src/block-sync-renderer/sync/synchronizer.ts @@ -40,8 +40,8 @@ export abstract class Synchronizer { // do nothing } - constructor({ addresses, nodeUrl, indexerUrl }: { addresses: Address[]; nodeUrl: string; indexerUrl: string }) { - this.indexer = new CkbIndexer(nodeUrl, indexerUrl) + constructor({ addresses, nodeUrl }: { addresses: Address[]; nodeUrl: string }) { + this.indexer = new CkbIndexer(nodeUrl, nodeUrl) this.addressesByWalletId = addresses .map(address => AddressMeta.fromObject(address)) .reduce((addressesByWalletId, addressMeta) => { diff --git a/packages/neuron-wallet/src/block-sync-renderer/task.ts b/packages/neuron-wallet/src/block-sync-renderer/task.ts index 4d5c4b9d5a..dc937616dd 100644 --- a/packages/neuron-wallet/src/block-sync-renderer/task.ts +++ b/packages/neuron-wallet/src/block-sync-renderer/task.ts @@ -31,8 +31,7 @@ export interface StartParams { genesisHash: string url: SyncQueueParams[0] addressMetas: SyncQueueParams[1] - indexerUrl: SyncQueueParams[2] - nodeType: SyncQueueParams[3] + nodeType: SyncQueueParams[2] } export type QueryIndexerParams = QueryOptions @@ -63,7 +62,7 @@ export const listener = async ({ type, id, channel, message }: WorkerMessage) => try { await initConnection(message.genesisHash) - syncQueue = new SyncQueue(message.url, message.addressMetas, message.indexerUrl, message.nodeType) + syncQueue = new SyncQueue(message.url, message.addressMetas, message.nodeType) syncQueue.start() } catch (err) { logger.error(`Block Sync Task:\t`, err) diff --git a/packages/neuron-wallet/tests/block-sync-renderer/full-synchronizer.test.ts b/packages/neuron-wallet/tests/block-sync-renderer/full-synchronizer.test.ts index b4f2cd19fd..1ce588d2ab 100644 --- a/packages/neuron-wallet/tests/block-sync-renderer/full-synchronizer.test.ts +++ b/packages/neuron-wallet/tests/block-sync-renderer/full-synchronizer.test.ts @@ -87,14 +87,12 @@ describe('unit tests for IndexerConnector', () => { }) describe('#constructor', () => { - const STUB_URI = 'stub_uri' - describe('when init with indexer folder path', () => { beforeEach(() => { - new stubbedFullSynchronizer([], nodeUrl, STUB_URI) + new stubbedFullSynchronizer([], nodeUrl) }) it('inits lumos indexer with a node url and indexer folder path', () => { - expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl, STUB_URI) + expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl, nodeUrl) }) }) describe('when init without indexer folder path', () => { @@ -102,7 +100,7 @@ describe('unit tests for IndexerConnector', () => { new stubbedFullSynchronizer([], nodeUrl) }) it('inits mercury indexer with a node url and a default port', () => { - expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl, STUB_URI) + expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl, nodeUrl) }) }) }) diff --git a/packages/neuron-wallet/tests/block-sync-renderer/index/createBlockSyncTask.test.ts b/packages/neuron-wallet/tests/block-sync-renderer/index/createBlockSyncTask.test.ts index 61da50c476..d53022eb38 100644 --- a/packages/neuron-wallet/tests/block-sync-renderer/index/createBlockSyncTask.test.ts +++ b/packages/neuron-wallet/tests/block-sync-renderer/index/createBlockSyncTask.test.ts @@ -75,7 +75,6 @@ describe(`Create block sync task`, () => { message: { addressMetas: STUB_ADDRESS_METAS, genesisHash: STUB_NETWORK.genesisHash, - indexerUrl: STUB_NETWORK.remote, nodeType: NetworkType.Normal, url: STUB_NETWORK.remote, }, diff --git a/packages/neuron-wallet/tests/block-sync-renderer/synchronizer.test.ts b/packages/neuron-wallet/tests/block-sync-renderer/synchronizer.test.ts index f237f7068d..50b6927de1 100644 --- a/packages/neuron-wallet/tests/block-sync-renderer/synchronizer.test.ts +++ b/packages/neuron-wallet/tests/block-sync-renderer/synchronizer.test.ts @@ -111,22 +111,18 @@ describe('unit tests for IndexerConnector', () => { }) describe('#constructor', () => { - const STUB_URI = 'stub_uri' - it('inits lumos indexer with a node url and indexer folder path', () => { new TestSynchronizer({ addresses: [], nodeUrl, - indexerUrl: STUB_URI, }) - expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl, STUB_URI) + expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl, nodeUrl) }) it('init with addresses', () => { const synchronizer = new TestSynchronizer({ addresses: [addressObj1, addressObj2], nodeUrl, - indexerUrl: STUB_URI, }) expect(synchronizer.getAddressesByWalletId().get(walletId1)?.[0]).toStrictEqual( AddressMeta.fromObject(addressObj1) @@ -141,7 +137,6 @@ describe('unit tests for IndexerConnector', () => { const synchronizer = new TestSynchronizer({ addresses: [addressObj1, addressObj2], nodeUrl, - indexerUrl: '', }) it('no cached tx', async () => { stubbedNextUnprocessedTxsGroupedByBlockNumberFn.mockResolvedValue([]) @@ -179,7 +174,6 @@ describe('unit tests for IndexerConnector', () => { const synchronizer = new TestSynchronizer({ addresses: [addressObj1, addressObj2], nodeUrl, - indexerUrl: '', }) synchronizer.blockTipsSubject.subscribe(stubbedBlockTipsSubscribe) @@ -271,7 +265,6 @@ describe('unit tests for IndexerConnector', () => { const synchronizer = new TestSynchronizer({ addresses: [addressObj1, addressObj2], nodeUrl, - indexerUrl: '', }) describe('when success', () => { diff --git a/packages/neuron-wallet/tests/block-sync-renderer/task.test.ts b/packages/neuron-wallet/tests/block-sync-renderer/task.test.ts index 413e782d13..9e0369e00a 100644 --- a/packages/neuron-wallet/tests/block-sync-renderer/task.test.ts +++ b/packages/neuron-wallet/tests/block-sync-renderer/task.test.ts @@ -6,7 +6,6 @@ const STUB_START_MESSAGE = { genesisHash: 'stub_genesis_hash', url: 'stub_url', addressMetas: 'stub_address_metas', - indexerUrl: 'stub_indexer_url', nodeType: 2, }, } @@ -71,7 +70,6 @@ describe(`Block Sync Task`, () => { expect(stubbedSyncQueue).toHaveBeenCalledWith( STUB_START_MESSAGE.message.url, STUB_START_MESSAGE.message.addressMetas, - STUB_START_MESSAGE.message.indexerUrl, STUB_START_MESSAGE.message.nodeType ) expect(stubbedSyncQueueStart).toHaveBeenCalled() From a0502ee20b210d0b81afd17bd4244c5a61f2d595 Mon Sep 17 00:00:00 2001 From: Tom Wang Date: Mon, 27 May 2024 17:02:21 +0800 Subject: [PATCH 2/2] refactor: new CkbIndexer(nodeUrl), just one argument --- .../src/block-sync-renderer/sync/synchronizer.ts | 2 +- .../tests/block-sync-renderer/full-synchronizer.test.ts | 4 ++-- .../tests/block-sync-renderer/synchronizer.test.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/neuron-wallet/src/block-sync-renderer/sync/synchronizer.ts b/packages/neuron-wallet/src/block-sync-renderer/sync/synchronizer.ts index 62c8126172..cd6b840581 100644 --- a/packages/neuron-wallet/src/block-sync-renderer/sync/synchronizer.ts +++ b/packages/neuron-wallet/src/block-sync-renderer/sync/synchronizer.ts @@ -41,7 +41,7 @@ export abstract class Synchronizer { } constructor({ addresses, nodeUrl }: { addresses: Address[]; nodeUrl: string }) { - this.indexer = new CkbIndexer(nodeUrl, nodeUrl) + this.indexer = new CkbIndexer(nodeUrl) this.addressesByWalletId = addresses .map(address => AddressMeta.fromObject(address)) .reduce((addressesByWalletId, addressMeta) => { diff --git a/packages/neuron-wallet/tests/block-sync-renderer/full-synchronizer.test.ts b/packages/neuron-wallet/tests/block-sync-renderer/full-synchronizer.test.ts index 1ce588d2ab..b4af6a23a4 100644 --- a/packages/neuron-wallet/tests/block-sync-renderer/full-synchronizer.test.ts +++ b/packages/neuron-wallet/tests/block-sync-renderer/full-synchronizer.test.ts @@ -92,7 +92,7 @@ describe('unit tests for IndexerConnector', () => { new stubbedFullSynchronizer([], nodeUrl) }) it('inits lumos indexer with a node url and indexer folder path', () => { - expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl, nodeUrl) + expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl) }) }) describe('when init without indexer folder path', () => { @@ -100,7 +100,7 @@ describe('unit tests for IndexerConnector', () => { new stubbedFullSynchronizer([], nodeUrl) }) it('inits mercury indexer with a node url and a default port', () => { - expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl, nodeUrl) + expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl) }) }) }) diff --git a/packages/neuron-wallet/tests/block-sync-renderer/synchronizer.test.ts b/packages/neuron-wallet/tests/block-sync-renderer/synchronizer.test.ts index 50b6927de1..9836446cf2 100644 --- a/packages/neuron-wallet/tests/block-sync-renderer/synchronizer.test.ts +++ b/packages/neuron-wallet/tests/block-sync-renderer/synchronizer.test.ts @@ -116,7 +116,7 @@ describe('unit tests for IndexerConnector', () => { addresses: [], nodeUrl, }) - expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl, nodeUrl) + expect(stubbedIndexerConstructor).toHaveBeenCalledWith(nodeUrl) }) it('init with addresses', () => {