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()); }
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()); }
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()); }
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); }
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); }
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); }