public void CustomAssetConversion() { Stellar.Network.CurrentNetwork = "ProjectQ"; var master = KeyPair.Master(); var alphaNum4 = new Stellar.Generated.Asset.AssetAlphaNum4 { AssetCode = ASCIIEncoding.ASCII.GetBytes("USD\0"), Issuer = master.AccountId }; var asset = new Stellar.Generated.Asset { AlphaNum4 = alphaNum4, Discriminant = Stellar.Generated.AssetType.Create(Stellar.Generated.AssetType.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM4) }; string sample64 = "AAAAAVVTRAAAAAAA/tG7Wc76HWgC/tUk/mL4tEHFqNnEFD6A604uGSyxgGY="; byte[] sample = Convert.FromBase64String(sample64); var reader = new Stellar.Generated.ByteReader(sample); var sampleAsset = Stellar.Generated.Asset.Decode(reader); Assert.AreEqual( asset.Discriminant.InnerValue, sampleAsset.Discriminant.InnerValue); CollectionAssert.AreEqual( asset.AlphaNum4.AssetCode, sampleAsset.AlphaNum4.AssetCode); CollectionAssert.AreEqual( asset.AlphaNum4.Issuer.InnerValue.Ed25519.InnerValue, sampleAsset.AlphaNum4.Issuer.InnerValue.Ed25519.InnerValue); var writer = new Stellar.Generated.ByteWriter(); Stellar.Generated.Asset.Encode(writer, asset); string native64 = Convert.ToBase64String(writer.ToArray()); Assert.AreEqual(sample64, native64); }