From 8fa4447df8172cb8ef354c9ec83bf707ed382ee0 Mon Sep 17 00:00:00 2001 From: yanguoyu <841185308@qq.com> Date: Thu, 13 Apr 2023 16:40:32 +0800 Subject: [PATCH 1/4] fix: Some optimize for light client. 1. Support export light client log 2. Support multisig for light client 3. If create a wallet from a new mnemonic start block with the current tip block number. 4. When creating addresses, start syncing from the last synced block number 5. Hide the data set and support clear node data when the node is light client. --- .../src/components/ClearCache/index.tsx | 10 ++- .../src/components/DataSetting/index.tsx | 17 ++++- .../src/components/MultisigAddress/hooks.ts | 35 ++++++++- .../src/components/MultisigAddress/index.tsx | 19 ++++- .../multisigAddress.module.scss | 4 + packages/neuron-ui/src/locales/en.json | 1 + packages/neuron-ui/src/locales/zh-tw.json | 1 + packages/neuron-ui/src/locales/zh.json | 1 + .../neuron-ui/src/services/remote/multisig.ts | 3 + .../src/services/remote/remoteApiWrapper.ts | 1 + packages/neuron-ui/src/utils/const.ts | 1 + .../src/widgets/InputSelect/index.tsx | 2 +- .../src/block-sync-renderer/index.ts | 18 +++++ .../src/block-sync-renderer/sync/connector.ts | 11 +++ .../sync/light-connector.ts | 39 ++++++++-- .../src/block-sync-renderer/sync/queue.ts | 6 +- .../src/block-sync-renderer/task.ts | 8 +- packages/neuron-wallet/src/controllers/api.ts | 9 +++ .../src/controllers/app/index.ts | 2 + .../neuron-wallet/src/controllers/app/menu.ts | 16 ++-- .../src/controllers/export-debug.ts | 15 +++- .../neuron-wallet/src/controllers/wallets.ts | 13 +++- .../chain/entities/multisig-config.ts | 2 +- .../database/chain/entities/sync-progress.ts | 16 +++- .../neuron-wallet/src/database/chain/index.ts | 7 +- .../1681360188494-AddTypeSyncProgress.ts | 31 ++++++++ .../src/database/chain/ormconfig.ts | 6 +- .../neuron-wallet/src/listeners/main/index.ts | 2 +- .../multisig-config-db-changed-subject.ts | 2 +- .../src/services/light-runner.ts | 27 ++++++- .../src/services/monitor/ckb-monitor.ts | 2 + .../neuron-wallet/src/services/multisig.ts | 58 +++++++++++++-- .../src/services/sync-progress.ts | 44 +++++++++-- .../neuron-wallet/src/services/wallets.ts | 8 +- .../light-connector.test.ts | 73 ++++++++++++++++++- .../tests/controllers/export-debug.test.ts | 22 +++++- .../tests/services/light-runner.test.ts | 14 ++++ 37 files changed, 483 insertions(+), 63 deletions(-) create mode 100644 packages/neuron-wallet/src/database/chain/migrations/1681360188494-AddTypeSyncProgress.ts diff --git a/packages/neuron-ui/src/components/ClearCache/index.tsx b/packages/neuron-ui/src/components/ClearCache/index.tsx index e70e9b1726..e140af5948 100644 --- a/packages/neuron-ui/src/components/ClearCache/index.tsx +++ b/packages/neuron-ui/src/components/ClearCache/index.tsx @@ -18,7 +18,7 @@ const IDs = { rebuildCacheOption: 'rebuild-cache-option', } -const ClearCache = ({ dispatch }: { dispatch: StateDispatch }) => { +const ClearCache = ({ dispatch, hideRebuild }: { dispatch: StateDispatch; hideRebuild?: boolean }) => { const [t] = useTranslation() const [clearedDate, setClearedDate] = useState(cacheClearDate.load()) const [isClearing, setIsClearing] = useState(false) @@ -96,8 +96,12 @@ const ClearCache = ({ dispatch }: { dispatch: StateDispatch }) => {
- - + {hideRebuild ? null : ( + <> + + + + )}