diff --git a/packages/neuron-wallet/src/database/address/address-dao.ts b/packages/neuron-wallet/src/database/address/address-dao.ts index 9d6414ca3f..a748b18907 100644 --- a/packages/neuron-wallet/src/database/address/address-dao.ts +++ b/packages/neuron-wallet/src/database/address/address-dao.ts @@ -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) @@ -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 } diff --git a/packages/neuron-wallet/src/services/addresses.ts b/packages/neuron-wallet/src/services/addresses.ts index a689eeaa02..9d876969d9 100644 --- a/packages/neuron-wallet/src/services/addresses.ts +++ b/packages/neuron-wallet/src/services/addresses.ts @@ -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, @@ -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 @@ -190,9 +184,7 @@ 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 } @@ -200,9 +192,7 @@ export default class AddressService { } 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 } @@ -210,19 +200,15 @@ export default class AddressService { } 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 => { diff --git a/packages/neuron-wallet/src/services/indexer/queue.ts b/packages/neuron-wallet/src/services/indexer/queue.ts index dc7cb192f0..b21234c887 100644 --- a/packages/neuron-wallet/src/services/indexer/queue.ts +++ b/packages/neuron-wallet/src/services/indexer/queue.ts @@ -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], @@ -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) { @@ -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 ) } } diff --git a/packages/neuron-wallet/src/services/sync/check-and-save/index.ts b/packages/neuron-wallet/src/services/sync/check-and-save/index.ts deleted file mode 100644 index 50d0a28be4..0000000000 --- a/packages/neuron-wallet/src/services/sync/check-and-save/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Block } from 'types/cell-types' -import CheckTx from './tx' - -export default class CheckAndSave { - private block: Block - private lockHashes: string[] - private url: string - private daoScriptHash: string - - constructor(block: Block, lockHashes: string[], url: string, daoScriptHash: string) { - this.block = block - this.lockHashes = lockHashes - this.url = url - this.daoScriptHash = daoScriptHash - } - - public process = async (): Promise => { - const txs = this.block.transactions - let result: boolean[] = [] - for (const tx of txs) { - const checkTx = new CheckTx(tx, this.url, this.daoScriptHash) - const checkResult = await checkTx.checkAndSave(this.lockHashes) - result.push(checkResult) - } - return result - } -} diff --git a/packages/neuron-wallet/src/services/sync/check-and-save/tx.ts b/packages/neuron-wallet/src/services/sync/check-and-save/tx.ts index c6f67bd139..a0f0636ac6 100644 --- a/packages/neuron-wallet/src/services/sync/check-and-save/tx.ts +++ b/packages/neuron-wallet/src/services/sync/check-and-save/tx.ts @@ -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 ) }) @@ -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 ) ) } diff --git a/packages/neuron-wallet/tests/database/address/dao.test.ts b/packages/neuron-wallet/tests/database/address/dao.test.ts index 68615fad3c..1859fbf48e 100644 --- a/packages/neuron-wallet/tests/database/address/dao.test.ts +++ b/packages/neuron-wallet/tests/database/address/dao.test.ts @@ -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]) diff --git a/packages/neuron-wallet/tests/services/address.test.ts b/packages/neuron-wallet/tests/services/address.test.ts index 2297c8f3a6..f2d05f477a 100644 --- a/packages/neuron-wallet/tests/services/address.test.ts +++ b/packages/neuron-wallet/tests/services/address.test.ts @@ -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 = { @@ -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 = { @@ -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(() => { @@ -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) })