public void ChangeTrustOperation()
        {
            // GC5SIC4E3V56VOHJ3OZAX5SJDTWY52JYI2AFK6PUGSXFVRJQYQXXZBZF
            var source = KeyPair.FromSeed("SC4CGETADVYTCR5HEAVZRB3DZQY5Y4J7RFNJTRA6ESMHIPEZUSTE2QDK");
            var assetCode = "EUR";
            var asset = new Stellar.Generated.Asset
                        {
                            Discriminant = Stellar.Generated.AssetType.Create(
                                Stellar.Generated.AssetType.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM4),
                            AlphaNum4 = new Stellar.Generated.Asset.AssetAlphaNum4
                            {
                                AssetCode = Encoding.ASCII.GetBytes(assetCode),
                                Issuer = source.AccountId
                            }
                        };

            long limit = 100;

            ChangeTrustOperation operation = new ChangeTrustOperation.Builder(asset, limit)
                .SetSourceAccount(source)
                .Build();

            Stellar.Generated.Operation xdr = operation.ToXdr();
            ChangeTrustOperation parsedOperation = Stellar.ChangeTrustOperation.FromXdr(xdr);

            Assert.AreEqual(source.Address, parsedOperation.SourceAccount.Address);
            Assert.AreEqual("EUR", Encoding.ASCII.GetString(parsedOperation.Asset.AlphaNum4.AssetCode));
            Assert.AreEqual(Stellar.Generated.AssetType.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM4,
                            parsedOperation.Asset.Discriminant.InnerValue);
            Assert.AreEqual(limit, parsedOperation.Limit);
            Assert.AreEqual("AAAAAQAAAAC7JAuE3XvquOnbsgv2SRztjuk4RoBVefQ0rlrFMMQvfAAAAAYAAAABRVVSAAAAAAC7JAuE3XvquOnbsgv2SRztjuk4RoBVefQ0rlrFMMQvfAAAAAAAAABk",
                    operation.ToXdrBase64());
        }
Exemplo n.º 2
0
        public void ChangeTrustOperation()
        {
            // GC5SIC4E3V56VOHJ3OZAX5SJDTWY52JYI2AFK6PUGSXFVRJQYQXXZBZF
            var source    = KeyPair.FromSeed("SC4CGETADVYTCR5HEAVZRB3DZQY5Y4J7RFNJTRA6ESMHIPEZUSTE2QDK");
            var assetCode = "EUR";
            var asset     = new Stellar.Generated.Asset
            {
                Discriminant = Stellar.Generated.AssetType.Create(
                    Stellar.Generated.AssetType.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM4),
                AlphaNum4 = new Stellar.Generated.Asset.AssetAlphaNum4
                {
                    AssetCode = Encoding.ASCII.GetBytes(assetCode),
                    Issuer    = source.AccountId
                }
            };

            long limit = 100;

            ChangeTrustOperation operation = new ChangeTrustOperation.Builder(asset, limit)
                                             .SetSourceAccount(source)
                                             .Build();

            Stellar.Generated.Operation xdr             = operation.ToXdr();
            ChangeTrustOperation        parsedOperation = Stellar.ChangeTrustOperation.FromXdr(xdr);

            Assert.AreEqual(source.Address, parsedOperation.SourceAccount.Address);
            Assert.AreEqual("EUR", Encoding.ASCII.GetString(parsedOperation.Asset.AlphaNum4.AssetCode));
            Assert.AreEqual(Stellar.Generated.AssetType.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM4,
                            parsedOperation.Asset.Discriminant.InnerValue);
            Assert.AreEqual(limit, parsedOperation.Limit);
            Assert.AreEqual("AAAAAQAAAAC7JAuE3XvquOnbsgv2SRztjuk4RoBVefQ0rlrFMMQvfAAAAAYAAAABRVVSAAAAAAC7JAuE3XvquOnbsgv2SRztjuk4RoBVefQ0rlrFMMQvfAAAAAAAAABk",
                            operation.ToXdrBase64());
        }
Exemplo n.º 3
0
        public void PaymentOperation()
        {
            // GC5SIC4E3V56VOHJ3OZAX5SJDTWY52JYI2AFK6PUGSXFVRJQYQXXZBZF
            KeyPair source = KeyPair.FromSeed("SC4CGETADVYTCR5HEAVZRB3DZQY5Y4J7RFNJTRA6ESMHIPEZUSTE2QDK");
            // GDW6AUTBXTOC7FIKUO5BOO3OGLK4SF7ZPOBLMQHMZDI45J2Z6VXRB5NR
            KeyPair destination = KeyPair.FromSeed("SDHZGHURAYXKU2KMVHPOXI6JG2Q4BSQUQCEOY72O3QQTCLR2T455PMII");

            Stellar.Generated.Asset asset = Stellar.Asset.Native();
            long amount = 1000;

            PaymentOperation operation = new PaymentOperation.Builder(destination, asset, amount)
                                         .SetSourceAccount(source)
                                         .Build();

            Stellar.Generated.Operation xdr             = operation.ToXdr();
            PaymentOperation            parsedOperation = (PaymentOperation)Operation.FromXdr(xdr);

            Assert.AreEqual(source.Address, parsedOperation.SourceAccount.Address);
            Assert.AreEqual(destination.Address, parsedOperation.Destination.Address);
            //Assert.IsTrue(parsedOperation.Asset instanceof AssetTypeNative);
            Assert.AreEqual(amount, parsedOperation.Amount);

            Assert.AreEqual(
                "AAAAAQAAAAC7JAuE3XvquOnbsgv2SRztjuk4RoBVefQ0rlrFMMQvfAAAAAEAAAAA7eBSYbzcL5UKo7oXO24y1ckX+XuCtkDsyNHOp1n1bxAAAAAAAAAAAAAAA+g=",
                operation.ToXdrBase64());
        }
Exemplo n.º 4
0
        public void TestNativeAsset()
        {
            Asset asset = new Asset();

            Assert.AreEqual(Asset.AssetTypeEnum.ASSET_TYPE_NATIVE, asset.Type);

            Stellar.Generated.Asset genAsset = asset.ToXDR();

            Assert.AreEqual(Stellar.Generated.AssetType.AssetTypeEnum.ASSET_TYPE_NATIVE, genAsset.Discriminant.InnerValue);

            Asset resAsset = Asset.FromXDR(genAsset);

            Assert.AreEqual(Asset.AssetTypeEnum.ASSET_TYPE_NATIVE, resAsset.Type);
        }
Exemplo n.º 5
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);
        }
Exemplo n.º 7
0
        public void TestAlphaNum12Asset()
        {
            var    keyPair = KeyPair.Master();
            string code    = "TestTestTest";
            Asset  asset   = new Asset(code, keyPair);

            Assert.AreEqual(code, asset.Code);
            Assert.AreEqual(keyPair, asset.Issuer);
            Assert.AreEqual(Asset.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM12, asset.Type);

            Stellar.Generated.Asset genAsset = asset.ToXDR();

            Assert.AreEqual(Encoding.ASCII.GetBytes(code).ToString(), genAsset.AlphaNum12.AssetCode.ToString());
            Assert.AreEqual(keyPair.PublicKey.ToString(), genAsset.AlphaNum12.Issuer.InnerValue.Ed25519.InnerValue.ToString());
            Assert.AreEqual(Stellar.Generated.AssetType.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM12, genAsset.Discriminant.InnerValue);

            Asset resAsset = Asset.FromXDR(genAsset);

            Assert.AreEqual(code, resAsset.Code);
            Assert.AreEqual(keyPair.Address, resAsset.Issuer.Address);
            Assert.AreEqual(keyPair.PublicKey.ToString(), resAsset.Issuer.PublicKey.ToString());
            Assert.AreEqual(Asset.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM12, resAsset.Type);
        }