@signumjs/util
Version:
Useful utilities and tools for building Signum Network applications
44 lines • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChainTime = void 0;
const GenesisBlockTime = Date.UTC(2014, 7, 11, 2, 0, 0, 0) / 1000;
class ChainTime {
_chainTimestamp;
constructor(blockTimestamp) {
this._chainTimestamp = blockTimestamp;
}
static fromChainTimestamp(timestamp) {
return new ChainTime(timestamp);
}
static fromDate(date) {
const blockTime = new ChainTime(0);
blockTime.setDate(date);
return blockTime;
}
getChainTimestamp() {
return this._chainTimestamp;
}
setChainTimestamp(blockTimestamp) {
this._chainTimestamp = blockTimestamp;
}
getEpoch() {
return (GenesisBlockTime + this._chainTimestamp) * 1000;
}
getDate() {
return new Date(this.getEpoch());
}
setDate(date) {
this._chainTimestamp = Math.round(date.getTime() / 1000) - GenesisBlockTime;
}
equals(chainTime) {
return this._chainTimestamp === chainTime._chainTimestamp;
}
before(chainTime) {
return this._chainTimestamp < chainTime._chainTimestamp;
}
after(chainTime) {
return this._chainTimestamp > chainTime._chainTimestamp;
}
}
exports.ChainTime = ChainTime;
//# sourceMappingURL=chainTime.js.map