1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const utils_1 = require("@neo-one/utils");
|
4 | class ConsensusContext {
|
5 | constructor() {
|
6 | this.mutableFastForwardSeconds = 0;
|
7 | }
|
8 | nowSeconds() {
|
9 | return utils_1.utils.nowSeconds() + this.mutableFastForwardSeconds;
|
10 | }
|
11 | fastForwardOffset(seconds) {
|
12 | if (seconds >= 0) {
|
13 | this.mutableFastForwardSeconds += seconds;
|
14 | }
|
15 | else {
|
16 | throw new Error('Can only fast forward to future time.');
|
17 | }
|
18 | }
|
19 | fastForwardToTime(seconds) {
|
20 | this.fastForwardOffset(seconds - this.nowSeconds());
|
21 | }
|
22 | }
|
23 | exports.ConsensusContext = ConsensusContext;
|
24 |
|
25 | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbnNlbnN1c0NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQ0FBdUM7QUFFdkMsTUFBYSxnQkFBZ0I7SUFHM0I7UUFDRSxJQUFJLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxhQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO0lBQzdELENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxPQUFlO1FBQ3RDLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMseUJBQXlCLElBQUksT0FBTyxDQUFDO1NBQzNDO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBRU0saUJBQWlCLENBQUMsT0FBZTtRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQXRCRCw0Q0FzQkMiLCJmaWxlIjoibmVvLW9uZS1ub2RlLWNvbnNlbnN1cy9zcmMvQ29uc2Vuc3VzQ29udGV4dC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHV0aWxzIH0gZnJvbSAnQG5lby1vbmUvdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQ29uc2Vuc3VzQ29udGV4dCB7XG4gIHByaXZhdGUgbXV0YWJsZUZhc3RGb3J3YXJkU2Vjb25kczogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLm11dGFibGVGYXN0Rm9yd2FyZFNlY29uZHMgPSAwO1xuICB9XG5cbiAgcHVibGljIG5vd1NlY29uZHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdXRpbHMubm93U2Vjb25kcygpICsgdGhpcy5tdXRhYmxlRmFzdEZvcndhcmRTZWNvbmRzO1xuICB9XG5cbiAgcHVibGljIGZhc3RGb3J3YXJkT2Zmc2V0KHNlY29uZHM6IG51bWJlcikge1xuICAgIGlmIChzZWNvbmRzID49IDApIHtcbiAgICAgIHRoaXMubXV0YWJsZUZhc3RGb3J3YXJkU2Vjb25kcyArPSBzZWNvbmRzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbiBvbmx5IGZhc3QgZm9yd2FyZCB0byBmdXR1cmUgdGltZS4nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmFzdEZvcndhcmRUb1RpbWUoc2Vjb25kczogbnVtYmVyKSB7XG4gICAgdGhpcy5mYXN0Rm9yd2FyZE9mZnNldChzZWNvbmRzIC0gdGhpcy5ub3dTZWNvbmRzKCkpO1xuICB9XG59XG4iXX0=
|