leasehold-chain
Version:
Leasehold sidechain
51 lines (46 loc) • 1.37 kB
JavaScript
/*
* Copyright © 2019 Lisk Foundation
*
* See the LICENSE file at the top-level directory of this distribution
* for licensing information.
*
* Unless otherwise agreed in a custom licensing agreement with the Lisk Foundation,
* no part of this software, including this file, may be copied, modified,
* propagated, or distributed except according to the terms contained in the
* LICENSE file.
*
* Removal or modification of this copyright notice is prohibited.
*/
;
const {
Account,
Block,
Round,
Transaction,
} = require('../components/storage/entities');
const { MigrationEntity } = require('leasehold-lisk-framework/src/controller/migrations');
module.exports = async ({ components: { storage, logger } }, accountLimit) => {
try {
storage.registerEntity('Account', Account, {
replaceExisting: true,
});
storage.registerEntity('Block', Block, {
replaceExisting: true,
});
storage.registerEntity('Round', Round);
storage.registerEntity('Transaction', Transaction, {
replaceExisting: true,
});
storage.registerEntity('Migration', MigrationEntity);
const status = await storage.bootstrap();
if (!status) {
throw new Error('Can not bootstrap the storage component');
}
storage.entities.Account.extendDefaultOptions({
limit: accountLimit,
});
} catch (err) {
logger.error(err);
throw err;
}
};