1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const client_common_1 = require("@neo-one/client-common");
|
4 | class Context {
|
5 | constructor({ type, previousHash, blockIndex, viewNumber, myIndex, primaryIndex, expectedView, validators, blockReceivedTimeSeconds, }) {
|
6 | this.version = 0;
|
7 | this.type = type;
|
8 | this.previousHash = previousHash;
|
9 | this.blockIndex = blockIndex;
|
10 | this.viewNumber = viewNumber;
|
11 | this.myIndex = myIndex;
|
12 | this.primaryIndex = primaryIndex;
|
13 | this.expectedView = expectedView;
|
14 | this.validators = validators;
|
15 | this.blockReceivedTimeSeconds = blockReceivedTimeSeconds;
|
16 | }
|
17 | get M() {
|
18 | return Math.floor(this.validators.length - (this.validators.length - 1) / 3);
|
19 | }
|
20 | cloneExpectedView(_options) {
|
21 | throw new Error('Not Implemented');
|
22 | }
|
23 | toJSON() {
|
24 | return {
|
25 | class: this.constructor.name,
|
26 | version: this.version,
|
27 | type: this.type,
|
28 | previousHash: client_common_1.common.uInt256ToString(this.previousHash),
|
29 | blockIndex: this.blockIndex,
|
30 | viewNumber: this.viewNumber,
|
31 | myIndex: this.myIndex,
|
32 | primaryIndex: this.primaryIndex,
|
33 | expectedView: [...this.expectedView],
|
34 | validators: this.validators.map((validator) => client_common_1.common.ecPointToString(validator)),
|
35 | blockReceivedTimeSeconds: this.blockReceivedTimeSeconds,
|
36 | };
|
37 | }
|
38 | }
|
39 | exports.Context = Context;
|
40 |
|
41 | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwREFBa0U7QUFnQmxFLE1BQWEsT0FBTztJQVlsQixZQUFtQixFQUNqQixJQUFJLEVBQ0osWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsT0FBTyxFQUNQLFlBQVksRUFDWixZQUFZLEVBQ1osVUFBVSxFQUNWLHdCQUF3QixHQUNiO1FBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHdCQUF3QixDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLENBQUM7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRU0saUJBQWlCLENBQUMsUUFBc0Q7UUFDN0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7WUFDNUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFlBQVksRUFBRSxzQkFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3ZELFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixZQUFZLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDcEMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxzQkFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVqRix3QkFBd0IsRUFBRSxJQUFJLENBQUMsd0JBQXdCO1NBQ3hELENBQUM7SUFDSixDQUFDO0NBQ0Y7QUEzREQsMEJBMkRDIiwiZmlsZSI6Im5lby1vbmUtbm9kZS1jb25zZW5zdXMvc3JjL2NvbnRleHQvQ29udGV4dC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbW1vbiwgRUNQb2ludCwgVUludDI1NiB9IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24nO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRBZGQge1xuICByZWFkb25seSB0eXBlOiBUeXBlO1xuICByZWFkb25seSBwcmV2aW91c0hhc2g6IFVJbnQyNTY7XG4gIHJlYWRvbmx5IGJsb2NrSW5kZXg6IG51bWJlcjtcbiAgcmVhZG9ubHkgdmlld051bWJlcjogbnVtYmVyO1xuICByZWFkb25seSBteUluZGV4OiBudW1iZXI7XG4gIHJlYWRvbmx5IHByaW1hcnlJbmRleDogbnVtYmVyO1xuICByZWFkb25seSBleHBlY3RlZFZpZXc6IHJlYWRvbmx5IG51bWJlcltdO1xuICByZWFkb25seSB2YWxpZGF0b3JzOiByZWFkb25seSBFQ1BvaW50W107XG4gIHJlYWRvbmx5IGJsb2NrUmVjZWl2ZWRUaW1lU2Vjb25kczogbnVtYmVyO1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tYW55XG5leHBvcnQgY2xhc3MgQ29udGV4dDxUVEhpcyBleHRlbmRzIENvbnRleHQ8VFRIaXM+ID0gQ29udGV4dDxhbnk+PiB7XG4gIHB1YmxpYyByZWFkb25seSB2ZXJzaW9uOiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJldmlvdXNIYXNoOiBVSW50MjU2O1xuICBwdWJsaWMgcmVhZG9ubHkgYmxvY2tJbmRleDogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgdmlld051bWJlcjogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgbXlJbmRleDogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJpbWFyeUluZGV4OiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSBleHBlY3RlZFZpZXc6IHJlYWRvbmx5IG51bWJlcltdO1xuICBwdWJsaWMgcmVhZG9ubHkgdmFsaWRhdG9yczogcmVhZG9ubHkgRUNQb2ludFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgYmxvY2tSZWNlaXZlZFRpbWVTZWNvbmRzOiBudW1iZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHtcbiAgICB0eXBlLFxuICAgIHByZXZpb3VzSGFzaCxcbiAgICBibG9ja0luZGV4LFxuICAgIHZpZXdOdW1iZXIsXG4gICAgbXlJbmRleCxcbiAgICBwcmltYXJ5SW5kZXgsXG4gICAgZXhwZWN0ZWRWaWV3LFxuICAgIHZhbGlkYXRvcnMsXG4gICAgYmxvY2tSZWNlaXZlZFRpbWVTZWNvbmRzLFxuICB9OiBDb250ZXh0QWRkKSB7XG4gICAgdGhpcy52ZXJzaW9uID0gMDtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMucHJldmlvdXNIYXNoID0gcHJldmlvdXNIYXNoO1xuICAgIHRoaXMuYmxvY2tJbmRleCA9IGJsb2NrSW5kZXg7XG4gICAgdGhpcy52aWV3TnVtYmVyID0gdmlld051bWJlcjtcbiAgICB0aGlzLm15SW5kZXggPSBteUluZGV4O1xuICAgIHRoaXMucHJpbWFyeUluZGV4ID0gcHJpbWFyeUluZGV4O1xuICAgIHRoaXMuZXhwZWN0ZWRWaWV3ID0gZXhwZWN0ZWRWaWV3O1xuICAgIHRoaXMudmFsaWRhdG9ycyA9IHZhbGlkYXRvcnM7XG4gICAgdGhpcy5ibG9ja1JlY2VpdmVkVGltZVNlY29uZHMgPSBibG9ja1JlY2VpdmVkVGltZVNlY29uZHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IE0oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLnZhbGlkYXRvcnMubGVuZ3RoIC0gKHRoaXMudmFsaWRhdG9ycy5sZW5ndGggLSAxKSAvIDMpO1xuICB9XG5cbiAgcHVibGljIGNsb25lRXhwZWN0ZWRWaWV3KF9vcHRpb25zOiB7IHJlYWRvbmx5IGV4cGVjdGVkVmlldzogcmVhZG9ubHkgbnVtYmVyW10gfSk6IFRUSGlzIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBJbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgcHVibGljIHRvSlNPTigpOiBvYmplY3Qge1xuICAgIHJldHVybiB7XG4gICAgICBjbGFzczogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgICAgdmVyc2lvbjogdGhpcy52ZXJzaW9uLFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgcHJldmlvdXNIYXNoOiBjb21tb24udUludDI1NlRvU3RyaW5nKHRoaXMucHJldmlvdXNIYXNoKSxcbiAgICAgIGJsb2NrSW5kZXg6IHRoaXMuYmxvY2tJbmRleCxcbiAgICAgIHZpZXdOdW1iZXI6IHRoaXMudmlld051bWJlcixcbiAgICAgIG15SW5kZXg6IHRoaXMubXlJbmRleCxcbiAgICAgIHByaW1hcnlJbmRleDogdGhpcy5wcmltYXJ5SW5kZXgsXG4gICAgICBleHBlY3RlZFZpZXc6IFsuLi50aGlzLmV4cGVjdGVkVmlld10sXG4gICAgICB2YWxpZGF0b3JzOiB0aGlzLnZhbGlkYXRvcnMubWFwKCh2YWxpZGF0b3IpID0+IGNvbW1vbi5lY1BvaW50VG9TdHJpbmcodmFsaWRhdG9yKSksXG5cbiAgICAgIGJsb2NrUmVjZWl2ZWRUaW1lU2Vjb25kczogdGhpcy5ibG9ja1JlY2VpdmVkVGltZVNlY29uZHMsXG4gICAgfTtcbiAgfVxufVxuIl19
|