protected VersionedContract(IDictionary <UInt256, T> versions, ICache <Keccak, UInt256> cache, long activation) { _versions = versions ?? throw new ArgumentNullException(nameof(versions)); _versionSelectorContract = versions.Values.Last(); Activation = activation; _versionsCache = cache ?? throw new ArgumentNullException(nameof(cache)); }