Ejemplo n.º 1
0
        public void TestSignPaymentTx_CNY()
        {
            var remote = new Remote("");

            remote.SetMockServer(new MockServer(remote, "RequestAccountInfo.json"));

            var    deferred = new Task(() => { });
            string blob     = null;
            var    options  = new PaymentTxOptions();

            options.Account = "j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1";
            options.To      = "jMw3xrkX2ySwdQiEorymyuTLUSSa85wvSr";
            options.Amount  = new Amount("CNY", "jGa9J9TkqtBcUoHe2zqhVFFbgUVED6o9or", "12.33");
            var tx = remote.BuildPaymentTx(options);

            tx.Data.TxnSignature = "3045022100CC48021620B52E3F40F74BA45B3C89089C4580154EAF1027FEED92E6D76705AA0220069112B3017B327245E4B1258A83D7DF8737EFB83716617FDB2337E9CC6490CB";
            tx.SetSecret("ssGkkAMnKCBkhGVQd9CNzSQv5zdNi");
            tx.Sign(r =>
            {
                blob = r.Result;
                deferred.Start();
            });

            Assert.IsTrue(deferred.Wait(DeferredWaitingTime));
            Assert.AreEqual("1200002200000000240000000561D4C461682F021000000000000000000000000000434E590000000000A582E432BFC48EEDEF852C814EC57F3CD2D41596684000000000002710732102EA9C744CB32386A12B4E85A2E4A7844B3952528F700C1031DCBCD1DAC07ECD1F74473045022100CC48021620B52E3F40F74BA45B3C89089C4580154EAF1027FEED92E6D76705AA0220069112B3017B327245E4B1258A83D7DF8737EFB83716617FDB2337E9CC6490CB811460B1227191135B3B16CB1D74F2509BD5C5DF985B8314DD1CE7A2B5C266CC3F4E83CFF6B27C1A89A48F47", blob);
        }
Ejemplo n.º 2
0
        public void TestSignPaymentTx_Full()
        {
            var remote = new Remote("");

            remote.SetMockServer(new MockServer(remote, "RequestAccountInfo.json"));

            var    deferred = new Task(() => { });
            string blob     = null;
            var    options  = new PaymentTxOptions();

            options.Account = "j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1";
            options.To      = "jMw3xrkX2ySwdQiEorymyuTLUSSa85wvSr";
            options.Amount  = Amount.SWT("0.5");
            var tx = remote.BuildPaymentTx(options);

            tx.Data.TxnSignature = "3045022100CC48021620B52E3F40F74BA45B3C89089C4580154EAF1027FEED92E6D76705AA0220069112B3017B327245E4B1258A83D7DF8737EFB83716617FDB2337E9CC6490CB";
            tx.SetSecret("ssGkkAMnKCBkhGVQd9CNzSQv5zdNi");
            tx.SetFee(20);
            tx.SetFlags(1);
            tx.SetSendMax(Amount.SWT("1000"));
            tx.SetTransferRate(0.5f);
            tx.AddMemo("I Love SWTC!我爱祖国。");
            tx.Sign(r =>
            {
                blob = r.Result;
                deferred.Start();
            });

            Assert.IsTrue(deferred.Wait(DeferredWaitingTime));
            Assert.AreEqual("120000220000000124000000052B59682F0061400000000007A12068400000000000001469400000003B9ACA00732102EA9C744CB32386A12B4E85A2E4A7844B3952528F700C1031DCBCD1DAC07ECD1F74473045022100CC48021620B52E3F40F74BA45B3C89089C4580154EAF1027FEED92E6D76705AA0220069112B3017B327245E4B1258A83D7DF8737EFB83716617FDB2337E9CC6490CB811460B1227191135B3B16CB1D74F2509BD5C5DF985B8314DD1CE7A2B5C266CC3F4E83CFF6B27C1A89A48F47F9EA7D1B49204C6F7665205357544321E68891E788B1E7A596E59BBDE38082E1F1", blob);
        }
Ejemplo n.º 3
0
        public void TestRemotePaymentTx(bool localSign)
        {
            _remote = new Remote(ServerUrl, localSign);
            var resetEvent           = new AutoResetEvent(false);
            PaymentTxResponse result = null;

            _remote.Connect(_ =>
            {
                var options     = new PaymentTxOptions();
                options.Account = "j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1";
                options.To      = "jBKaXuYemkAb5HytZgosAcWgWDZbBvz6KR";
                options.Amount  = Amount.SWT("0.5");
                var tx          = _remote.BuildPaymentTx(options);
                tx.SetSecret("ssGkkAMnKCBkhGVQd9CNzSQv5zdNi");
                tx.AddMemo("Unit Test PaymentTx at " + DateTime.Now.ToString());
                tx.Submit(r =>
                {
                    result = r.Result;
                    resetEvent.Set();
                });
            });

            Assert.IsTrue(resetEvent.WaitOne(DeferredWaitingTime));
            Assert.IsNotNull(result);
            Assert.AreEqual("tesSUCCESS", result.EngineResult);
        }
Ejemplo n.º 4
0
        public void TestTransactionTasksAsync_LocalSign()
        {
            var deferred = new Task(() => { });
            var remote   = new Remote(ServerUrl, true);

            object result     = null;
            var    resetEvent = new System.Threading.AutoResetEvent(false);

            remote.Connect(r =>
            {
                var options     = new PaymentTxOptions();
                options.Account = "j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1";
                options.To      = "jMw3xrkX2ySwdQiEorymyuTLUSSa85wvSr";
                options.Amount  = Amount.SWT("0.5");
                var tx          = remote.BuildPaymentTx(options);
                tx.SetSecret("ssGkkAMnKCBkhGVQd9CNzSQv5zdNi");
                var task = tx.SubmitAsync();
                task.ContinueWith(_ =>
                {
                    result = task.Result.Result;
                    resetEvent.Set();
                });
            });
            resetEvent.WaitOne();

            Assert.IsNotNull(result);
        }
Ejemplo n.º 5
0
        private void btnBuildPaymentTx_Click(object sender, EventArgs e)
        {
            ClearResult();
            var options  = pgBuildPaymentTxOptions.SelectedObject as PaymentTxOptions;
            var tx       = _remote.BuildPaymentTx(options);
            var settings = pgBuildPaymentTxSettings.SelectedObject as TxSettings;

            ApplyTxSettings(settings, tx);
            tx.Submit(ShowResult);
        }
Ejemplo n.º 6
0
        public void TestBuildPaymentTxResponse()
        {
            var remote = new Remote("");

            remote.SetMockServer(new MockServer(remote, "BuildPaymentTx.json"));

            MessageResult <PaymentTxResponse> response = null;
            var deferred = new Task(() => { });
            var options  = new PaymentTxOptions();

            options.Account = "jMw3xrkX2ySwdQiEorymyuTLUSSa85wvSr";
            options.To      = "j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1";
            options.Amount  = new Amount {
                Currency = "SWT", Issuer = "", Value = "0.5"
            };
            remote.BuildPaymentTx(options).Submit(r =>
            {
                response = r;
                deferred.Start();
            });

            Assert.IsTrue(deferred.Wait(DeferredWaitingTime));

            Assert.IsNotNull(response);
            var result = response.Result;

            Assert.IsNotNull(result);

            Assert.AreEqual("tesSUCCESS", result.EngineResult);
            var txJson = result.TxJson;

            Assert.IsNotNull(txJson);
            Assert.AreEqual("jMw3xrkX2ySwdQiEorymyuTLUSSa85wvSr", txJson.Account);
            Assert.AreEqual("j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1", txJson.Destination);
            Assert.AreEqual(new Amount {
                Currency = "SWT", Issuer = "", Value = "0.5"
            }, txJson.Amount);
            Assert.AreEqual("7B6ECFA43073AE247EC1228DD27502671438395909D0C060C0B53D24685050E2", txJson.Hash);
            Assert.AreEqual("haha", txJson.Memos[0].Memo.MemoData);
            Assert.AreEqual(TransactionType.Payment, txJson.TransactionType);
        }