Ejemplo n.º 1
0
        public void TestMemoNoneEquality()
        {
            var memo  = Memo.None();
            var memo2 = Memo.None();

            Assert.AreEqual(memo.GetHashCode(), memo2.GetHashCode());
            Assert.AreEqual(memo, memo2);
        }
        public async Task TestSkipCheckIfDestinationIsMuxedAccount()
        {
            var accountId = "GAYHAAKPAQLMGIJYMIWPDWCGUCQ5LAWY4Q7Q3IKSP57O7GUPD3NEOSEA";

            var muxed = MuxedAccountMed25519.FromMuxedAccountId(
                "MAAAAAAAAAAAJURAAB2X52XFQP6FBXLGT6LWOOWMEXWHEWBDVRZ7V5WH34Y22MPFBHUHY");

            var payment = new PaymentOperation
                          .Builder(muxed, new AssetTypeNative(), "100.500")
                          .Build();

            var tx = BuildTransaction(accountId, new Operation[] { payment }, Memo.None(), skipDefaultOp: true);
            await _server.CheckMemoRequired(tx);
        }
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            reader.DateParseHandling = DateParseHandling.None;

            var jsonObject = JObject.Load(reader);

            TransactionResponse transaction = jsonObject.ToObject <TransactionResponse>();


            var memoType = jsonObject.GetValue("memo_type").ToObject <string>();

            Memo memo;

            if (memoType.Equals("none"))
            {
                memo = Memo.None();
            }
            else
            {
                String memoValue = transaction.MemoStr;

                if (memoType.Equals("text"))
                {
                    memo = Memo.Text(memoValue);
                }
                else if (memoType.Equals("id"))
                {
                    memo = Memo.Id(long.Parse(memoValue));
                }
                else if (memoType.Equals("hash"))
                {
                    memo = Memo.Hash(Convert.FromBase64String(memoValue));
                }
                else if (memoType.Equals("return"))
                {
                    memo = Memo.ReturnHash(Convert.FromBase64String(memoValue));
                }
                else
                {
                    throw new JsonException("Unknown memo type.");
                }
            }

            transaction.Memo = memo;
            return(transaction);
        }
        public async Task TestCheckOtherOperationTypes()
        {
            var accountId    = "GAYHAAKPAQLMGIJYMIWPDWCGUCQ5LAWY4Q7Q3IKSP57O7GUPD3NEOSEA";
            var destinations = new string[]
            {
                "GASGNGGXDNJE5C2O7LDCATIVYSSTZKB24SHYS6F4RQT4M4IGNYXB4TIV",
                "GBBM6BKZPEHWYO3E3YKREDPQXMS4VK35YLNU7NFBRI26RAN7GI5POFBB",
                "GCEZWKCA5VLDNRLN3RPRJMRZOX3Z6G5CHCGSNFHEYVXM3XOJMDS674JZ",
            };

            var native = new AssetTypeNative();
            var gbp    = Asset.CreateNonNativeAsset("GBP", "GBBM6BKZPEHWYO3E3YKREDPQXMS4VK35YLNU7NFBRI26RAN7GI5POFBB");
            var eur    = Asset.CreateNonNativeAsset("EUR", "GDTNXRLOJD2YEBPKK7KCMR7J33AAG5VZXHAJTHIG736D6LVEFLLLKPDL");

            var operations = new Operation[]
            {
                new AccountMergeOperation.Builder(KeyPair.FromAccountId(destinations[0])).Build(),
                new PathPaymentStrictSendOperation.Builder(native, "5.00", KeyPair.FromAccountId(destinations[1]),
                                                           native, "5.00")
                .SetPath(new[] { gbp, eur })
                .Build(),
                new PathPaymentStrictReceiveOperation.Builder(native, "5.00", KeyPair.FromAccountId(destinations[2]),
                                                              native, "5.00")
                .SetPath(new[] { gbp, eur })
                .Build(),
                new ChangeTrustOperation.Builder(gbp, "10000").Build(),
            };

            When()
            .Returns(ServerTest.ResponseMessage(HttpStatusCode.OK, BuildAccountResponse(accountId)))
            .Returns(ServerTest.ResponseMessage(HttpStatusCode.OK, BuildAccountResponse(destinations[0])))
            .Returns(ServerTest.ResponseMessage(HttpStatusCode.OK, BuildAccountResponse(destinations[1])))
            .Returns(ServerTest.ResponseMessage(HttpStatusCode.OK, BuildAccountResponse(destinations[2])));

            var tx = BuildTransaction(accountId, operations, Memo.None());
            await _server.CheckMemoRequired(tx);
        }
Ejemplo n.º 5
0
        public void TestMemoNone()
        {
            var memo = Memo.None();

            Assert.AreEqual(sdkxdr.MemoType.MemoTypeEnum.MEMO_NONE, memo.ToXdr().Discriminant.InnerValue);
        }