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 InitCallContractTxOptions() { var options = new CallContractTxOptions(); options.Account = "j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1"; options.Destination = "jaVDaozkmFzCGwuBYL5wQ3SvhnUrySuofn"; options.Foo = "foo"; options.Params = new string[] { "j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1" }; pgCallContractTxOptions.SelectedObject = options; var settings = new TxSettings(); settings.Secret = "ssGkkAMnKCBkhGVQd9CNzSQv5zdNi"; settings.SendMax = new Amount(); pgCallContractTxSettings.SelectedObject = settings; }
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); }