示例#1
0
        public void AccountIdConversion()
        {
            StellarBase.Network.CurrentNetwork = "ProjectQ";

            var masterPair    = KeyPair.Master();
            var masterAccount = masterPair.AccountId;

            string sample64 = "AAAAAP7Ru1nO+h1oAv7VJP5i+LRBxajZxBQ+gOtOLhkssYBm";

            byte[] sample = Convert.FromBase64String(sample64);

            var reader        = new StellarBase.Generated.ByteReader(sample);
            var sampleAccount = StellarBase.Generated.AccountID.Decode(reader);

            Assert.Equal(
                masterAccount.InnerValue.Discriminant.InnerValue,
                sampleAccount.InnerValue.Discriminant.InnerValue);

            Assert.Equal(
                masterAccount.InnerValue.Ed25519.InnerValue,
                sampleAccount.InnerValue.Ed25519.InnerValue);

            var writer = new StellarBase.Generated.ByteWriter();

            StellarBase.Generated.AccountID.Encode(writer, masterAccount);
            string master64 = Convert.ToBase64String(writer.ToArray());

            Assert.Equal(sample64, master64);
        }
示例#2
0
        public void CustomAssetConversion()
        {
            StellarBase.Network.CurrentNetwork = "ProjectQ";
            var master = KeyPair.Master();

            var alphaNum4 = new StellarBase.Generated.Asset.AssetAlphaNum4
            {
                AssetCode = ASCIIEncoding.ASCII.GetBytes("USD\0"),
                Issuer    = master.AccountId
            };

            var asset = new StellarBase.Generated.Asset
            {
                AlphaNum4    = alphaNum4,
                Discriminant = StellarBase.Generated.AssetType.Create(StellarBase.Generated.AssetType.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM4)
            };

            string sample64 = "AAAAAVVTRAAAAAAA/tG7Wc76HWgC/tUk/mL4tEHFqNnEFD6A604uGSyxgGY=";

            byte[] sample = Convert.FromBase64String(sample64);

            var reader      = new StellarBase.Generated.ByteReader(sample);
            var sampleAsset = StellarBase.Generated.Asset.Decode(reader);

            Assert.Equal(
                asset.Discriminant.InnerValue,
                sampleAsset.Discriminant.InnerValue);

            Assert.Equal(
                asset.AlphaNum4.AssetCode,
                sampleAsset.AlphaNum4.AssetCode);

            Assert.Equal(
                asset.AlphaNum4.Issuer.InnerValue.Ed25519.InnerValue,
                sampleAsset.AlphaNum4.Issuer.InnerValue.Ed25519.InnerValue);

            var writer = new StellarBase.Generated.ByteWriter();

            StellarBase.Generated.Asset.Encode(writer, asset);
            string native64 = Convert.ToBase64String(writer.ToArray());

            Assert.Equal(sample64, native64);
        }
示例#3
0
        public void SignatureBaseTest()
        {
            var transaction = SampleTransaction("GDICFS3KJ3ZTW4COVPUX7OCOAZKLLNFAM5FIYSN5FKKM7M7QNXLBPCCH");
            var txXdr       = transaction.ToXDR();

            var writer = new StellarBase.Generated.ByteWriter();

            StellarBase.Generated.Transaction.Encode(writer, txXdr);
            string sig64 = Convert.ToBase64String(writer.ToArray());

            string sigSample64 = "AAAAAL6Qe0ushP7lzogR2y3vyb8LKiorvD1U2KIlfs1wRBliAAAAZAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA0CLLak7zO3BOq+l/uE4GVLW0oGdKjEm9KpTPs/Bt1hcAAAAAAAAD6AAAAAA=";

            byte[] sigSample = Convert.FromBase64String(sigSample64);

            var reader   = new StellarBase.Generated.ByteReader(sigSample);
            var sampleTx = StellarBase.Generated.Transaction.Decode(reader);

            Assert.Equal(writer.ToArray(), sigSample);

            Assert.Equal(sigSample64, sig64);
        }
示例#4
0
        public void NativeAssetConversion()
        {
            StellarBase.Network.CurrentNetwork = "";

            var native = new Asset().ToXDR();

            string sample64 = "AAAAAA==";

            byte[] sample = Convert.FromBase64String(sample64);

            var reader      = new StellarBase.Generated.ByteReader(sample);
            var sampleAsset = StellarBase.Generated.Asset.Decode(reader);

            Assert.Equal(
                native.Discriminant.InnerValue,
                sampleAsset.Discriminant.InnerValue);

            var writer = new StellarBase.Generated.ByteWriter();

            StellarBase.Generated.Asset.Encode(writer, native);
            string native64 = Convert.ToBase64String(writer.ToArray());

            Assert.Equal(sample64, native64);
        }