private byte[] GetTransactionHash(StellarBase.Generated.Transaction tx) { var writer = new ByteWriter(); // Hashed NetworkID writer.Write(Network.CurrentNetworkId); // Envelope Type - 4 bytes EnvelopeType.Encode(writer, EnvelopeType.Create(EnvelopeType.EnvelopeTypeEnum.ENVELOPE_TYPE_TX)); // Transaction XDR bytes var txWriter = new ByteWriter(); StellarBase.Generated.Transaction.Encode(txWriter, tx); writer.Write(txWriter.ToArray()); var data = writer.ToArray(); return(Utilities.Hash(data)); }
/// <summary> /// Returns signature base. /// </summary> /// <returns></returns> public byte[] SignatureBase() { if (Network.Current == null) throw new NoNetworkSelectedException(); var writer = new XdrDataOutputStream(); // Hashed NetworkID writer.Write(Network.Current.NetworkId); // Envelope Type - 4 bytes EnvelopeType.Encode(writer, EnvelopeType.Create(EnvelopeType.EnvelopeTypeEnum.ENVELOPE_TYPE_TX)); // Transaction XDR bytes var txWriter = new XdrDataOutputStream(); xdr.Transaction.Encode(txWriter, ToXdr()); writer.Write(txWriter.ToArray()); return writer.ToArray(); }