Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }