Ejemplo n.º 1
0
        public void BuildSendOneMessageTest()
        {
            Wallet w = new Wallet("1E5B4C6DDDB2BDD6B40344808812D6D3254D7D4E105A52BA51C032EB7BAC1035", Network.Test);

            w.SetSequence(0);//Have to reset, wallet automatically refreshes it's sequence on creation
            var msgBytes    = BroadcastMessageBuilder.BuildSendOneMessage("tbnb1qqy83vaerqz7yv4yfqtz8pt0gl0wssxyl826h4", "BNB", 1, w, "Happy days");
            var msgStr      = BitConverter.ToString(msgBytes).Replace("-", "").ToUpper();
            var expectedStr = "CE01F0625DEE0A4C2A2C87FA0A220A141B0A2CFFAE1193EE0BDE3E01C62E34D82E3BFA0A120A0A03424E421080C2D72F12220A14000878B3B91805E232A4481623856F47DEE840C4120A0A03424E421080C2D72F126E0A26EB5AE9872103D2B6A5194D34703971E6C7544B2E5CE687AF7CF58346F662936D8E26C20A301312407B3908BFDF3BA12E5CE1C1E96B97AE2D30650E742C41E901421A43DFC46FB1003A01E9BF95DAD3E4AAD00D235FAE11A4F198B4E5AD553FF4B80479A8BAEC4B7818ECE0281A0A48617070792064617973";

            Assert.AreEqual(msgStr, expectedStr);
        }
Ejemplo n.º 2
0
 public BroadcastResponse Send(string toAddress, string coin, decimal amount, string memo = "")
 {
     //Ensure no other broadcast transaction interferes with sequence until it hit the blockchain
     lock (BroadcastLockObject)
     {
         if (VerifySequenceBeforeSend)
         {
             Wallet.RefreshSequence();
         }
         var msg    = BroadcastMessageBuilder.BuildSendOneMessage(toAddress, coin, amount, Wallet, memo);
         var result = HTTP.BroadcastToBlockchain(msg, WaitForTransactionConfirmationOnBroadcast);
         if (result.ok)
         {
             _wallet.IncrementSequence();
         }
         return(result);
     }
 }