public void WriteBytes(BinaryWriter writer) { writer.Write(SenderPublicKey); writer.WriteAsset(Asset.Id); writer.WriteAsset(FeeAsset.Id); writer.WriteLong(Timestamp.ToLong()); writer.WriteLong(Asset.AmountToLong(Amount)); writer.WriteLong(FeeAsset.AmountToLong(Fee)); if (Recipient.StartsWith("alias", StringComparison.Ordinal)) { var chainId = Recipient[6]; var name = Recipient.Substring(8); writer.Write((byte)2); writer.Write(chainId); writer.WriteShort(name.Length); writer.Write(Encoding.UTF8.GetBytes(name)); } else { writer.Write(Recipient.FromBase58()); } writer.WriteShort(Attachment.Length); writer.Write(Attachment); }
public override DictionaryObject GetJson() { var result = new DictionaryObject { { "type", (byte)TransactionType.Transfer }, { "senderPublicKey", SenderPublicKey.ToBase58() }, { "recipient", Recipient }, { "amount", Asset.AmountToLong(Amount) }, { "assetId", Asset.IdOrNull }, { "fee", FeeAsset.AmountToLong(Fee) }, { "feeAsset", FeeAsset.IdOrNull }, // legacy v0.11.1 compat { "feeAssetId", FeeAsset.IdOrNull }, { "timestamp", Timestamp.ToLong() }, { "attachment", Attachment.ToBase58() } }; if (Version > 1) { result.Add("version", Version); } if (Sender != null) { result.Add("sender", Sender); } return(result); }
public override Dictionary <string, object> GetJson() { var result = new Dictionary <string, object> { { "type", TransactionType.Transfer }, { "senderPublicKey", SenderPublicKey.ToBase58() }, { "recipient", Recipient }, { "amount", Asset.AmountToLong(Amount) }, { "assetId", Asset.IdOrNull }, { "fee", FeeAsset.AmountToLong(Fee) }, { "feeAssetId", FeeAsset.IdOrNull }, { "timestamp", Timestamp.ToLong() }, { "attachment", Attachment.ToBase58() } }; if (Version > 1) { result.Add("version", Version); } return(result); }
public override byte[] GetBody() { using (var stream = new MemoryStream()) using (var writer = new BinaryWriter(stream)) { writer.Write(TransactionType.Transfer); if (Version == 2) { writer.Write(Version); } writer.Write(SenderPublicKey); writer.WriteAsset(Asset.Id); writer.WriteAsset(FeeAsset.Id); writer.WriteLong(Timestamp.ToLong()); writer.WriteLong(Asset.AmountToLong(Amount)); writer.WriteLong(FeeAsset.AmountToLong(Fee)); writer.Write(Recipient.FromBase58()); writer.WriteShort(Attachment.Length); writer.Write(Attachment); return(stream.ToArray()); } }
public override byte[] GetBody() { var stream = new MemoryStream(); var writer = new BinaryWriter(stream); writer.Write(TransactionType.Transfer); if (Version > 1) { writer.WriteByte(Version); } writer.Write(SenderPublicKey); writer.WriteAsset(Asset.Id); writer.WriteAsset(FeeAsset.Id); writer.WriteLong(Timestamp.ToLong()); writer.WriteLong(Asset.AmountToLong(Amount)); writer.WriteLong(FeeAsset.AmountToLong(Fee)); if (Recipient.StartsWith("alias", StringComparison.Ordinal)) { var chainId = Recipient[6]; var name = Recipient.Substring(8); writer.Write((byte)2); writer.Write(chainId); writer.WriteShort(name.Length); writer.Write(Encoding.UTF8.GetBytes(name)); } else { writer.Write(Recipient.FromBase58()); } writer.WriteShort(Attachment.Length); writer.Write(Attachment); return(stream.ToArray()); }