示例#1
0
        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);
        }
        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);
        }