@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
28 lines • 1.22 kB
JavaScript
// SPDX-License-Identifier: Apache-2.0
import { VersionRange } from '../../../../../business/utils/version-range.js';
import { SemanticVersion } from '../../../../../business/utils/semantic-version.js';
import { IllegalArgumentError } from '../../../../../business/errors/illegal-argument-error.js';
export class RemoteConfigV4Migration {
get range() {
return VersionRange.fromIntegerVersion(3);
}
get version() {
return new SemanticVersion(4);
}
async migrate(source) {
if (!source) {
// We should never pass null or undefined to this method, if this happens we should throw an error
throw new IllegalArgumentError('source must not be null or undefined');
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const clone = structuredClone(source);
const state = clone.state;
for (const node of state.consensusNodes) {
node.blockNodeMap = state.blockNodes.map((node) => [node.metadata.id, 1]);
}
// Set the schema version to the new version
clone.schemaVersion = this.version.major;
return clone;
}
}
//# sourceMappingURL=remote-config-v4-migration.js.map