public bool Equals(RawTransaction other) => Nonce == other.Nonce && Signer.SequenceEqual(other.Signer) && PublicKey.SequenceEqual(other.PublicKey) && GenesisHash.SequenceEqual(other.GenesisHash) && UpdatedAddresses.SequenceEqual( other.UpdatedAddresses) && Timestamp == other.Timestamp && Signature.SequenceEqual(other.Signature) && Actions.SequenceEqual(other.Actions);
public override string ToString() { string updatedAddresses = string.Join( string.Empty, UpdatedAddresses.Select(a => "\n " + ByteUtil.Hex(a.ToArray())) ); return($@"{nameof(RawTransaction)} {nameof(Nonce)} = {Nonce.ToString(CultureInfo.InvariantCulture)} {nameof(Signer)} = {ByteUtil.Hex(Signer.ToArray())} {nameof(PublicKey)} = {ByteUtil.Hex(PublicKey.ToArray())} {nameof(GenesisHash)} = {ByteUtil.Hex(GenesisHash.ToArray())} {nameof(UpdatedAddresses)} = {updatedAddresses} {nameof(Timestamp)} = {Timestamp} {nameof(Signature)} = {ByteUtil.Hex(Signature.ToArray())}"); }
public DeltaCache(IHashProvider hashProvider, IMemoryCache memoryCache, IDeltaDfsReader dfsReader, IDeltaCacheChangeTokenProvider changeTokenProvider, ILogger logger) { var genesisDelta = new Delta { TimeStamp = Timestamp.FromDateTime(DateTime.MinValue.ToUniversalTime()) }; GenesisHash = hashProvider.ComputeMultiHash(new Delta().ToByteArray()); GenesisAddress = GenesisHash.ToBase32(); _dfsReader = dfsReader; _logger = logger; _entryOptions = () => new MemoryCacheEntryOptions() .AddExpirationToken(changeTokenProvider.GetChangeToken()) .RegisterPostEvictionCallback(EvictionCallback); _memoryCache = memoryCache; _memoryCache.Set(GenesisAddress, genesisDelta); }
public Bencodex.Types.Dictionary ToBencodex() { var updatedAddresses = UpdatedAddresses.Select(addr => (IValue)(Binary)addr.ToArray()); var dict = Bencodex.Types.Dictionary.Empty .Add(NonceKey, Nonce) .Add(SignerKey, Signer.ToArray()) .Add(UpdatedAddressesKey, updatedAddresses) .Add(PublicKeyKey, PublicKey.ToArray()) .Add(TimestampKey, Timestamp) .Add(ActionsKey, Actions); if (GenesisHash != ImmutableArray <byte> .Empty) { dict = dict.Add(GenesisHashKey, GenesisHash.ToArray()); } if (Signature != ImmutableArray <byte> .Empty) { dict = dict.Add(SignatureKey, Signature.ToArray()); } return(dict); }
public override string ToString() { return($"{Protocol}.{ProtocolVersion} chain: {ChainId} | diff: {TotalDifficulty} | best: {BestHash.ToShortString()} | genesis: {GenesisHash.ToShortString()}"); }