public void TestRemoteCallContractTx(bool localSign) { _remote = new Remote(ServerUrl, localSign); var resetEvent = new AutoResetEvent(false); CallContractTxResponse result = null; _remote.Connect(_ => { var options = new CallContractTxOptions(); options.Account = "jMw3xrkX2ySwdQiEorymyuTLUSSa85wvSr"; options.Destination = "jaVDaozkmFzCGwuBYL5wQ3SvhnUrySuofn"; options.Foo = "foo"; options.Params = new[] { "jMw3xrkX2ySwdQiEorymyuTLUSSa85wvSr" }; var tx = _remote.CallContractTx(options); tx.SetSecret("snhevp2qBEyPf3n8ZRDMuZGSa3BZ5"); tx.AddMemo("Unit Test DeployContract 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); Assert.IsNotNull(result.ContractState); }
public void TestSignCallContractTx() { var remote = new Remote(""); remote.SetMockServer(new MockServer(remote, "RequestAccountInfo.json")); var deferred = new Task(() => { }); string blob = null; var options = new CallContractTxOptions(); options.Account = "j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1"; options.Destination = "jJ3KZo6Zr3BVLiXBBKqMfQoQZHiYFZKNFT"; options.Foo = "foo"; options.Params = new[] { "jMw3xrkX2ySwdQiEorymyuTLUSSa85wvSr" }; var tx = remote.CallContractTx(options); tx.Data.TxnSignature = "3045022100CC48021620B52E3F40F74BA45B3C89089C4580154EAF1027FEED92E6D76705AA0220069112B3017B327245E4B1258A83D7DF8737EFB83716617FDB2337E9CC6490CB"; tx.SetSecret("ssGkkAMnKCBkhGVQd9CNzSQv5zdNi"); tx.AddMemo("Test call contract."); tx.Sign(r => { blob = r.Result; deferred.Start(); }); Assert.IsTrue(deferred.Wait(DeferredWaitingTime)); Assert.AreEqual("12001E22000000002400000005202400000001684000000000002710732102EA9C744CB32386A12B4E85A2E4A7844B3952528F700C1031DCBCD1DAC07ECD1F74473045022100CC48021620B52E3F40F74BA45B3C89089C4580154EAF1027FEED92E6D76705AA0220069112B3017B327245E4B1258A83D7DF8737EFB83716617FDB2337E9CC6490CB701103666F6F811460B1227191135B3B16CB1D74F2509BD5C5DF985B8314BBDC8C3F874E0EB6957A3970C969E45CDCF48457F9EA7D13546573742063616C6C20636F6E74726163742EE1F1FAEB7012226A4D773378726B5832795377645169456F72796D7975544C55535361383577765372E1F1", blob); }
private void btnCallContractTx_Click(object sender, EventArgs e) { ClearResult(); var options = pgCallContractTxOptions.SelectedObject as CallContractTxOptions; var tx = _remote.CallContractTx(options); var settings = pgCallContractTxSettings.SelectedObject as TxSettings; ApplyTxSettings(settings, tx); tx.Submit(ShowResult); }
public void TestCallContractTxResponse() { var remote = new Remote(""); remote.SetMockServer(new MockServer(remote, "CallContractTx.json")); MessageResult <CallContractTxResponse> response = null; var deferred = new Task(() => { }); var options = new CallContractTxOptions(); options.Account = "jMw3xrkX2ySwdQiEorymyuTLUSSa85wvSr"; options.Destination = "jaVDaozkmFzCGwuBYL5wQ3SvhnUrySuofn"; options.Foo = "foo"; options.Params = new[] { "jMw3xrkX2ySwdQiEorymyuTLUSSa85wvSr" }; remote.CallContractTx(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("jMw3xrkX2ySwdQiEorymyuTLUSSa85wvSr", txJson.Args[0].Arg.Parameter); Assert.AreEqual("haha", txJson.Memos[0].Memo.MemoData); Assert.AreEqual(1, txJson.Method); Assert.AreEqual(TransactionType.ConfigContract, txJson.TransactionType); }