@bsv/wallet-toolbox
Version:
BRC100 conforming wallet, wallet storage and wallet signer components
59 lines • 1.95 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.backup = backup;
exports.backupWalletClient = backupWalletClient;
exports.backupToSQLite = backupToSQLite;
const src_1 = require("../../src");
const dotenv_1 = __importDefault(require("dotenv"));
dotenv_1.default.config();
describe('backup example tests', () => {
jest.setTimeout(99999999);
test('0', () => { });
if (src_1.Setup.noEnv('test'))
return;
const env = src_1.Setup.getEnv('test');
test('1 backup MY_TEST_IDENTITY', async () => {
await backupWalletClient(env, process.env.MY_TEST_IDENTITY || '');
});
test('2 backup MY_TEST_IDENTITY2', async () => {
await backupWalletClient(env, process.env.MY_TEST_IDENTITY2 || '');
});
});
/**
* @publicbody
*/
async function backup() {
const env = src_1.Setup.getEnv('test');
await backupWalletClient(env, env.identityKey);
}
/**
* @publicbody
*/
async function backupWalletClient(env, identityKey) {
const setup = await src_1.Setup.createWalletClient({
env,
rootKeyHex: env.devKeys[identityKey]
});
await backupToSQLite(setup);
await setup.wallet.destroy();
}
/**
* @publicbody
*/
async function backupToSQLite(setup, filePath, databaseName) {
const env = src_1.Setup.getEnv(setup.chain);
filePath || (filePath = `backup_${setup.identityKey}.sqlite`);
databaseName || (databaseName = `${setup.identityKey} backup`);
const backup = await src_1.Setup.createStorageKnex({
env,
knex: src_1.Setup.createSQLiteKnex(filePath),
databaseName,
rootKeyHex: setup.keyDeriver.rootKey.toHex()
});
await setup.storage.addWalletStorageProvider(backup);
await setup.storage.updateBackups();
}
//# sourceMappingURL=backup.man.test.js.map