Skip to content

Commit

Permalink
refactor(crypto): overwrite arrays when merging milestones (#3108)
Browse files Browse the repository at this point in the history
  • Loading branch information
dated authored and spkjp committed Oct 24, 2019
1 parent 3f80f38 commit bf64a68
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
11 changes: 11 additions & 0 deletions __tests__/unit/crypto/managers/config.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,17 @@ describe("Configuration", () => {
expect(configManager.getMilestones()).toEqual(devnet.milestones);
});

it('should build milestones without concatenating the "minimumVersions" array', () => {
const milestones = devnet.milestones.sort((a, b) => a.height - b.height);
configManager.setHeight(milestones[0].height);

const lastMilestone = milestones.find(milestone => !!milestone.p2p && !!milestone.p2p.minimumVersions);

if (lastMilestone && lastMilestone.p2p && configManager.getMilestone().p2p) {
expect(configManager.getMilestone().p2p.minimumVersions).toEqual(lastMilestone.p2p.minimumVersions);
}
});

it("should get milestone for height", () => {
expect(configManager.getMilestone(21600)).toEqual(devnet.milestones[2]);
});
Expand Down
6 changes: 5 additions & 1 deletion packages/crypto/src/managers/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,12 @@ export class ConfigManager {

let lastMerged = 0;

const overwriteMerge = (dest, source, options) => source;

while (lastMerged < this.milestones.length - 1) {
this.milestones[lastMerged + 1] = deepmerge(this.milestones[lastMerged], this.milestones[lastMerged + 1]);
this.milestones[lastMerged + 1] = deepmerge(this.milestones[lastMerged], this.milestones[lastMerged + 1], {
arrayMerge: overwriteMerge,
});
lastMerged++;
}
}
Expand Down

0 comments on commit bf64a68

Please sign in to comment.