pragma ever-solidity >= 0.68.0; pragma AbiHeader time; pragma AbiHeader expire; pragma AbiHeader pubkey; import "../../../contracts/upgrade/abstract/Version.tsol"; import "../../../contracts/libraries/UtilityGas.tsol"; import "../../../contracts/reservation/abstract/Reservable.tsol"; import "../../../contracts/reservation/abstract/TargetBalance.tsol"; contract VersionExample is Version, Reservable, TargetBalance { uint32 private static _nonce; function _getTargetBalanceInternal() internal view override returns (uint128) { return UtilityGas.INITIAL_BALANCE; } constructor(optional(address) _remainingGasTo) public reserveAcceptAndRefund(_getTargetBalanceInternal(), _remainingGasTo, msg.sender) { _setCurrentVersionInternal(1, 0); } }