From 8e06678e02d22913489e6e30d9846dda873b02dd Mon Sep 17 00:00:00 2001 From: yanguoyu <841185308@qq.com> Date: Fri, 24 Mar 2023 20:48:49 +0800 Subject: [PATCH 1/2] fix: If switch node type, should close others node. --- packages/neuron-wallet/src/services/node.ts | 4 +++- scripts/download-ckb.sh | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/neuron-wallet/src/services/node.ts b/packages/neuron-wallet/src/services/node.ts index 7b83dca91b..c688f62288 100644 --- a/packages/neuron-wallet/src/services/node.ts +++ b/packages/neuron-wallet/src/services/node.ts @@ -8,7 +8,7 @@ import { ConnectionStatusSubject } from 'models/subjects/node' import { CurrentNetworkIDSubject } from 'models/subjects/networks' import NetworksService from 'services/networks' import RpcService from 'services/rpc-service' -import { startCkbNode } from 'services/ckb-runner' +import { startCkbNode, stopCkbNode } from 'services/ckb-runner' import HexUtils from 'utils/hex' import { BUNDLED_CKB_URL, BUNDLED_LIGHT_CKB_URL } from 'utils/const' import logger from 'utils/logger' @@ -157,8 +157,10 @@ class NodeService { try { const network = NetworksService.getInstance().getCurrent() if (network.type === NetworkType.Light) { + await stopCkbNode() await CKBLightRunner.getInstance().start() } else { + await CKBLightRunner.getInstance().stop() await startCkbNode() } this.startedBundledNode = true diff --git a/scripts/download-ckb.sh b/scripts/download-ckb.sh index daa9afb71d..df2063e52a 100755 --- a/scripts/download-ckb.sh +++ b/scripts/download-ckb.sh @@ -18,7 +18,7 @@ function download_macos() { function download_macos_light() { # macOS - CKB_FILENAME="ckb-light-client_${CKB_LIGHT_VERSION}-x86_64-darwin" + CKB_FILENAME="ckb-light-client_${CKB_LIGHT_VERSION}-x86_64-darwin-portable" cd $ROOT_DIR/packages/neuron-wallet/bin/mac curl -O -L "https://github.com/nervosnetwork/ckb-light-client/releases/download/${CKB_LIGHT_VERSION}/${CKB_FILENAME}.tar.gz" From 9fdd549a2251a94021accbc4c11ea0db5a4db0b2 Mon Sep 17 00:00:00 2001 From: yanguoyu <841185308@qq.com> Date: Sat, 25 Mar 2023 08:55:29 +0800 Subject: [PATCH 2/2] fix: Fix test case --- packages/neuron-wallet/tests/services/node.test.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/neuron-wallet/tests/services/node.test.ts b/packages/neuron-wallet/tests/services/node.test.ts index 78f4c9c8b9..541ba1866a 100644 --- a/packages/neuron-wallet/tests/services/node.test.ts +++ b/packages/neuron-wallet/tests/services/node.test.ts @@ -5,7 +5,9 @@ import { BUNDLED_CKB_URL } from '../../src/utils/const' describe('NodeService', () => { let nodeService: any const stubbedStartCKBNode = jest.fn() + const stubbedStopCkbNode = jest.fn() const stubbedStartLightNode = jest.fn() + const stubbedStopLightNode = jest.fn() const stubbedConnectionStatusSubjectNext = jest.fn() const stubbedCKBSetNode = jest.fn() const stubbedGetTipBlockNumber = jest.fn() @@ -19,6 +21,7 @@ describe('NodeService', () => { const resetMocks = () => { stubbedStartCKBNode.mockReset() + stubbedStopCkbNode.mockReset() stubbedConnectionStatusSubjectNext.mockReset() stubbedCKBSetNode.mockReset() stubbedGetTipBlockNumber.mockReset() @@ -27,6 +30,7 @@ describe('NodeService', () => { stubbedLoggerInfo.mockReset() stubbedLoggerError.mockReset() stubbedStartLightNode.mockReset() + stubbedStopLightNode.mockReset() } beforeEach(() => { @@ -35,7 +39,8 @@ describe('NodeService', () => { jest.doMock('../../src/services/ckb-runner', () => { return { - startCkbNode: stubbedStartCKBNode + startCkbNode: stubbedStartCKBNode, + stopCkbNode: stubbedStopCkbNode, } }) jest.doMock('../../src/services/networks', () => { @@ -92,6 +97,7 @@ describe('NodeService', () => { getInstance() { return { start: stubbedStartLightNode, + stop: stubbedStopLightNode, } } } @@ -230,6 +236,7 @@ describe('NodeService', () => { stubbedNetworsServiceGet.mockReturnValueOnce({type: NetworkType.Light}) await nodeService.startNode() expect(stubbedStartLightNode).toBeCalled() + expect(stubbedStopCkbNode).toBeCalled() }) }) });