UNPKG

@bsv/wallet-toolbox

Version:

BRC100 conforming wallet, wallet storage and wallet signer components

94 lines (81 loc) 3.74 kB
import { EntitySyncState, sdk } from '../../../src' import { _tu, logger } from '../../utils/TestUtilsWalletStorage' import { specOpInvalidChange } from '../../../src/sdk' import { createOneSatTestOutput, createSetup, LocalWalletTestOptions } from '../../utils/localWalletMethods' const chain: sdk.Chain = 'test' const options: LocalWalletTestOptions = { setActiveClient: false, useMySQLConnectionForClient: true, useTestIdentityKey: true, useIdentityKey2: false } describe('localWallet tests', () => { jest.setTimeout(99999999) // test('00', () => {}) // if (_tu.noTestEnv(chain)) return test('0 monitor runOnce', async () => { const setup = await createSetup(chain, options) const key = await setup.wallet.getPublicKey({ identityKey: true }) expect(key.publicKey.toString()).toBe(setup.identityKey) await setup.monitor.runOnce() await setup.wallet.destroy() }) test('0a monitor runOnce call history', async () => { const setup = await createSetup(chain, options) const key = await setup.wallet.getPublicKey({ identityKey: true }) expect(key.publicKey.toString()).toBe(setup.identityKey) await setup.services.getRawTx('6dd8e416dfaf14c04899ccad2bf76a67c1d5598fece25cf4dcb7a076012b7d8d') await setup.services.getRawTx('ac9cced61e2491be55061ce6577e0c59b909922ba92d5cc1cd754b10d721ab0e') await setup.monitor.runOnce() await setup.services.getRawTx('0000e416dfaf14c04899ccad2bf76a67c1d5598fece25cf4dcb7a076012b7d8d') await setup.services.getRawTx('0000ced61e2491be55061ce6577e0c59b909922ba92d5cc1cd754b10d721ab0e') logger(await setup.monitor.runTask('MonitorCallHistory')) await setup.wallet.destroy() }) test('2 create 1 sat delayed', async () => { const setup = await createSetup(chain, options) const car = await createOneSatTestOutput(setup, {}, 1) //await trackReqByTxid(setup, car.txid!) await setup.wallet.destroy() }) test('2a create 1 sat immediate', async () => { const setup = await createSetup(chain, options) const car = await createOneSatTestOutput(setup, { acceptDelayedBroadcast: false }, 1) // await trackReqByTxid(setup, car.txid!) await setup.wallet.destroy() }) test('2b create 2 nosend and sendWith', async () => { const setup = await createSetup(chain, options) const car = await createOneSatTestOutput(setup, { noSend: true }, 2) //await trackReqByTxid(setup, car.txid!) await setup.wallet.destroy() }) test('3 return active to cloud client', async () => { const setup = await createSetup(chain, options) const localBalance = await setup.wallet.balance() const log = await setup.storage.setActive(setup.clientStorageIdentityKey!) console.log(log) console.log(`ACTIVE STORAGE: ${setup.storage.getActiveStoreName()}`) const clientBalance = await setup.wallet.balance() expect(localBalance).toBe(clientBalance) await setup.wallet.destroy() }) test('5 review synchunk', async () => { const setup = await createSetup(chain, options) const identityKey = setup.identityKey const reader = setup.activeStorage const readerSettings = reader.getSettings() const writer = setup.storage._backups![0].storage const writerSettings = writer.getSettings() const ss = await EntitySyncState.fromStorage(writer, identityKey, readerSettings) const args = ss.makeRequestSyncChunkArgs(identityKey, writerSettings.storageIdentityKey) const chunk = await reader.getSyncChunk(args) await setup.wallet.destroy() }) test('6 backup', async () => { const setup = await createSetup(chain, options) const log = await setup.storage.updateBackups() console.log(log) await setup.wallet.destroy() }) })