Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 4 additions & 7 deletions packages/neuron-wallet/src/database/address/address-dao.ts
Original file line number Diff line number Diff line change
Expand Up @@ -154,12 +154,6 @@ export default class AddressDao {
})
}

public static findByAddress(address: string, walletId: string): Address | undefined {
return AddressStore.getAll().find(value => {
return value.address === address && value.walletId == walletId
})
}

public static findByAddresses(addresses: string[]): Address[] {
return AddressStore.getAll().filter(value => {
return addresses.includes(value.address)
Expand All @@ -178,7 +172,10 @@ export default class AddressDao {
}

public static updateDescription(walletId: string, address: string, description: string): Address | undefined {
const item = AddressDao.findByAddress(address, walletId)
const item = AddressStore.getAll().find(value => {
return value.walletId === walletId
&& value.address === address
})
if (!item) {
return undefined
}
Expand Down
26 changes: 6 additions & 20 deletions packages/neuron-wallet/src/services/addresses.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,6 @@ export interface AddressMetaInfo {
}

export default class AddressService {
public static isAddressUsed = (address: string, walletId: string): boolean => {
const addressEntity = AddressDao.findByAddress(address, walletId)
return !!addressEntity
}

public static generateAndSave = (
walletId: string,
extendedKey: AccountExtendedPublicKey,
Expand Down Expand Up @@ -52,9 +47,8 @@ export default class AddressService {
}

private static notifyAddressCreated = (addresses: AddressInterface[], isImporting: boolean | undefined) => {
const version = AddressService.getAddressVersion()
const addrs = addresses
.filter(addr => addr.version === version)
.filter(addr => addr.version === AddressService.getAddressVersion())
.map(addr => {
const address = addr
address.isImporting = isImporting
Expand Down Expand Up @@ -190,39 +184,31 @@ export default class AddressService {
}

public static nextUnusedAddress = (walletId: string): AddressInterface | undefined => {
const version = AddressService.getAddressVersion()

const addressEntity = AddressDao.nextUnusedAddress(walletId, version)
const addressEntity = AddressDao.nextUnusedAddress(walletId, AddressService.getAddressVersion())
if (!addressEntity) {
return undefined
}
return addressEntity
}

public static nextUnusedChangeAddress = (walletId: string): AddressInterface | undefined => {
const version = AddressService.getAddressVersion()

const addressEntity = AddressDao.nextUnusedChangeAddress(walletId, version)
const addressEntity = AddressDao.nextUnusedChangeAddress(walletId, AddressService.getAddressVersion())
if (!addressEntity) {
return undefined
}
return addressEntity
}

public static allAddresses = (): AddressInterface[] => {
const version = AddressService.getAddressVersion()

return AddressDao.allAddresses(version)
return AddressDao.allAddresses( AddressService.getAddressVersion())
}

public static allAddressesByWalletId = (walletId: string): AddressInterface[] => {
const version = AddressService.getAddressVersion()
return AddressDao.allAddressesByWalletId(walletId, version)
return AddressDao.allAddressesByWalletId(walletId, AddressService.getAddressVersion())
}

public static usedAddresses = (walletId: string): AddressInterface[] => {
const version = AddressService.getAddressVersion()
return AddressDao.usedAddressesByWalletId(walletId, version)
return AddressDao.usedAddressesByWalletId(walletId, AddressService.getAddressVersion())
}

public static updateDescription = (walletId: string, address: string, description: string): AddressInterface | undefined => {
Expand Down
6 changes: 3 additions & 3 deletions packages/neuron-wallet/src/services/indexer/queue.ts
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ export default class IndexerQueue {
if (type === TxPointType.CreatedBy && this.latestCreatedBy.includes(txUniqueFlag)) {
const address = LockUtils.lockScriptToAddress(
transaction.outputs![parseInt(txPoint.index, 16)].lock,
NetworksService.getInstance().isMainnet ? AddressPrefix.Mainnet : AddressPrefix.Testnet
NetworksService.getInstance().isMainnet() ? AddressPrefix.Mainnet : AddressPrefix.Testnet
)
AddressesUsedSubject.getSubject().next({
addresses: [address],
Expand Down Expand Up @@ -280,7 +280,7 @@ export default class IndexerQueue {
if (type === TxPointType.CreatedBy) {
address = LockUtils.lockScriptToAddress(
transaction.outputs![parseInt(txPoint.index, 16)].lock,
NetworksService.getInstance().isMainnet ? AddressPrefix.Mainnet : AddressPrefix.Testnet
NetworksService.getInstance().isMainnet() ? AddressPrefix.Mainnet : AddressPrefix.Testnet
)
this.latestCreatedBy.push(txUniqueFlag)
} else if (type === TxPointType.ConsumedBy) {
Expand All @@ -289,7 +289,7 @@ export default class IndexerQueue {
if (output) {
address = LockUtils.lockScriptToAddress(
output.lock,
NetworksService.getInstance().isMainnet ? AddressPrefix.Mainnet : AddressPrefix.Testnet
NetworksService.getInstance().isMainnet() ? AddressPrefix.Mainnet : AddressPrefix.Testnet
)
}
}
Expand Down
27 changes: 0 additions & 27 deletions packages/neuron-wallet/src/services/sync/check-and-save/index.ts

This file was deleted.

4 changes: 2 additions & 2 deletions packages/neuron-wallet/src/services/sync/check-and-save/tx.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export default class CheckTx {
const outputAddresses: string[] = outputs.map(output => {
return LockUtils.lockScriptToAddress(
output.lock,
NetworksService.getInstance().isMainnet ? AddressPrefix.Mainnet : AddressPrefix.Testnet
NetworksService.getInstance().isMainnet() ? AddressPrefix.Mainnet : AddressPrefix.Testnet
)
})

Expand Down Expand Up @@ -93,7 +93,7 @@ export default class CheckTx {
addresses.push(
LockUtils.lockScriptToAddress(
output.lock,
NetworksService.getInstance().isMainnet ? AddressPrefix.Mainnet : AddressPrefix.Testnet
NetworksService.getInstance().isMainnet() ? AddressPrefix.Mainnet : AddressPrefix.Testnet
)
)
}
Expand Down
8 changes: 0 additions & 8 deletions packages/neuron-wallet/tests/database/address/dao.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -143,14 +143,6 @@ describe('Address Dao tests', () => {
expect(walletTwo.length).toEqual(1)
})

it('findByAddress', () => {
AddressDao.create([address, usedAddress])

const one = AddressDao.findByAddress(address.address, address.walletId)

expect(one!.address).toEqual(address.address)
})

it('unusedAddressesCount', () => {
AddressDao.create([address, changeAddress])

Expand Down
16 changes: 5 additions & 11 deletions packages/neuron-wallet/tests/services/address.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ describe('Key tests with db', () => {
pendingBalance: '0',
balance: '0',
blake160: '0x36c329ed630d6ce750712a477543672adab57f4c',
version: NetworksService.getInstance().isMainnet ? AddressVersion.Mainnet : AddressVersion.Testnet,
version: NetworksService.getInstance().isMainnet() ? AddressVersion.Mainnet : AddressVersion.Testnet,
}

const usedAddress: Address = {
Expand All @@ -69,7 +69,7 @@ describe('Key tests with db', () => {
pendingBalance: '0',
balance: '0',
blake160: '0x36c329ed630d6ce750712a477543672adab57f4c',
version: NetworksService.getInstance().isMainnet ? AddressVersion.Mainnet : AddressVersion.Testnet,
version: NetworksService.getInstance().isMainnet() ? AddressVersion.Mainnet : AddressVersion.Testnet,
}

const changeAddress: Address = {
Expand All @@ -84,7 +84,7 @@ describe('Key tests with db', () => {
pendingBalance: '0',
balance: '0',
blake160: '0x36c329ed630d6ce750712a477543672adab57f4c',
version: NetworksService.getInstance().isMainnet ? AddressVersion.Mainnet : AddressVersion.Testnet,
version: NetworksService.getInstance().isMainnet() ? AddressVersion.Mainnet : AddressVersion.Testnet,
}

beforeEach(() => {
Expand Down Expand Up @@ -139,23 +139,17 @@ describe('Key tests with db', () => {
expect(all.length).toEqual((2 + 1) * 2 * 2)
})

it('isAddressUsed', () => {
AddressDao.create([address, usedAddress])
const used = AddressService.isAddressUsed(address.address, walletId)
expect(used).toBe(true)
})

it('nextUnusedAddress', () => {
AddressDao.create([address, usedAddress, changeAddress])
const addr = AddressService.nextUnusedAddress(walletId)
const addrDao = AddressDao.nextUnusedAddress(walletId, NetworksService.getInstance().isMainnet ? AddressVersion.Mainnet : AddressVersion.Testnet)
const addrDao = AddressDao.nextUnusedAddress(walletId, NetworksService.getInstance().isMainnet() ? AddressVersion.Mainnet : AddressVersion.Testnet)
expect(addr).toEqual(addrDao)
})

it('nextUnusedChangeAddress', () => {
AddressDao.create([address, usedAddress, changeAddress])
const addr = AddressService.nextUnusedChangeAddress(walletId)
const addrDao = AddressDao.nextUnusedChangeAddress(walletId, NetworksService.getInstance().isMainnet ? AddressVersion.Mainnet : AddressVersion.Testnet)
const addrDao = AddressDao.nextUnusedChangeAddress(walletId, NetworksService.getInstance().isMainnet() ? AddressVersion.Mainnet : AddressVersion.Testnet)
expect(addr).toEqual(addrDao)
})

Expand Down