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