Skip to content

Commit c3fd9b7

Browse files
authored
Merge pull request #563 from nervosnetwork/using-prev-db-if-no-network
feat: using previous database if no network
2 parents 76335f1 + f6ff7ef commit c3fd9b7

File tree

14 files changed

+53
-15
lines changed

14 files changed

+53
-15
lines changed

packages/neuron-wallet/src/controllers/transactions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import WalletsService from '../services/wallets'
77
import { Controller as ControllerDecorator, CatchControllerError } from '../decorators'
88
import { Channel, ResponseCode } from '../utils/const'
99
import { TransactionNotFound, CurrentWalletNotSet, ServiceHasNoResponse } from '../exceptions'
10-
import LockUtils from '../utils/lock-utils'
10+
import LockUtils from '../models/lock-utils'
1111

1212
/**
1313
* @class TransactionsController

packages/neuron-wallet/src/database/address/dao.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { AddressType } from '../../models/keys/address'
44
import { getConnection } from './ormconfig'
55
import TransactionsService from '../../services/transactions'
66
import CellsService from '../../services/cells'
7-
import LockUtils from '../../utils/lock-utils'
7+
import LockUtils from '../../models/lock-utils'
88

99
export interface Address {
1010
walletId: string
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import FileService from '../../services/file'
2+
import { SystemScript } from '../../models/lock-utils'
3+
4+
const moduleName = 'cells'
5+
const fileName = 'meta-info.json'
6+
7+
export interface MetaInfo {
8+
genesisBlockHash: string
9+
systemScriptInfo: SystemScript
10+
}
11+
12+
export const updateMetaInfo = (metaInfo: MetaInfo) => {
13+
FileService.getInstance().writeFileSync(moduleName, fileName, JSON.stringify(metaInfo))
14+
}
15+
16+
export const getMetaInfo = (): MetaInfo => {
17+
const info = FileService.getInstance().readFileSync(moduleName, fileName)
18+
return JSON.parse(info)
19+
}

packages/neuron-wallet/src/utils/lock-utils.ts renamed to packages/neuron-wallet/src/models/lock-utils.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@ import env from '../env'
44

55
const { core } = NodeService.getInstance()
66

7+
export interface SystemScript {
8+
codeHash: string
9+
outPoint: OutPoint
10+
}
11+
712
export default class LockUtils {
8-
static systemScriptInfo: { codeHash: string; outPoint: OutPoint } | undefined
13+
static systemScriptInfo: SystemScript | undefined
914

10-
static async systemScript() {
15+
static async systemScript(): Promise<SystemScript> {
1116
if (this.systemScriptInfo) {
1217
return this.systemScriptInfo
1318
}
@@ -47,6 +52,10 @@ export default class LockUtils {
4752
return systemScriptInfo
4853
}
4954

55+
static setSystemScript(info: SystemScript) {
56+
LockUtils.systemScriptInfo = info
57+
}
58+
5059
// use SDK lockScriptToHash
5160
static lockScriptToHash = (lock: Script) => {
5261
const codeHash: string = lock!.codeHash!

packages/neuron-wallet/src/services/addresses.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { AddressPrefix } from '@nervosnetwork/ckb-sdk-utils'
22
import { AccountExtendedPublicKey } from '../models/keys/key'
33
import Address, { AddressType } from '../models/keys/address'
4-
import LockUtils from '../utils/lock-utils'
4+
import LockUtils from '../models/lock-utils'
55
import AddressDao, { Address as AddressInterface } from '../database/address/dao'
66
import env from '../env'
77
import { AddressVersion } from '../database/address/entities/address'

packages/neuron-wallet/src/services/sync-blocks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import TransactionsService from './transactions'
77
import OutputEntity from '../database/chain/entities/output'
88
import SyncInfoEntity from '../database/chain/entities/sync-info'
99
import NodeService from './node'
10-
import LockUtils from '../utils/lock-utils'
10+
import LockUtils from '../models/lock-utils'
1111
import TypeConvert from '../types/type-convert'
1212
import { NetworkWithID } from './networks'
1313
import AddressesUsedSubject from '../models/subjects/addresses-used-subject'

packages/neuron-wallet/src/services/sync/check-and-save/output.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Cell } from '../../../types/cell-types'
2-
import LockUtils from '../../../utils/lock-utils'
2+
import LockUtils from '../../../models/lock-utils'
33

44
export default class CheckOutput {
55
private output: Cell

packages/neuron-wallet/src/services/sync/check-and-save/tx.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { Transaction, Cell, OutPoint } from '../../../types/cell-types'
44
import OutputEntity from '../../../database/chain/entities/output'
55
import TransactionsService from '../../transactions'
66
import CheckOutput from './output'
7-
import LockUtils from '../../../utils/lock-utils'
7+
import LockUtils from '../../../models/lock-utils'
88
import { addressesUsedSubject as addressesUsedSubjectParam } from '../renderer-params'
99

1010
export default class CheckTx {

packages/neuron-wallet/src/services/transactions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import InputEntity from '../database/chain/entities/input'
1414
import OutputEntity from '../database/chain/entities/output'
1515
import TransactionEntity from '../database/chain/entities/transaction'
1616
import NodeService from './node'
17-
import LockUtils from '../utils/lock-utils'
17+
import LockUtils from '../models/lock-utils'
1818

1919
const { core } = NodeService.getInstance()
2020

packages/neuron-wallet/src/services/wallets.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Keystore from '../models/keys/keystore'
77
import Store from '../models/store'
88
import NodeService from './node'
99
import FileService from './file'
10-
import LockUtils from '../utils/lock-utils'
10+
import LockUtils from '../models/lock-utils'
1111
import windowManager from '../models/window-manager'
1212
import { Channel, ResponseCode } from '../utils/const'
1313
import { Witness, TransactionWithoutHash, Input } from '../types/cell-types'

0 commit comments

Comments
 (0)