public BroadcastResponse FreezeToken(string coin, decimal amount) { //Ensure no other broadcast transaction interferes with sequence until it hit the blockchain lock (BroadcastLockObject) { if (VerifySequenceBeforeSend) { Wallet.RefreshSequence(); } var msg = BroadcastMessageBuilder.BuildTokenFreezeMessage(coin, amount, Wallet); var result = HTTP.BroadcastToBlockchain(msg, WaitForTransactionConfirmationOnBroadcast); if (result.ok) { _wallet.IncrementSequence(); } return(result); } }
/// <summary> /// Sending possibly many types coins to possibly many addresses, in one single transaction /// </summary> /// <param name="destinations"></param> /// <param name="memo"></param> /// <returns></returns> public BroadcastResponse MultiSend(List <MultipleSendDestination> destinations, string memo = "") { //Ensure no other broadcast transaction interferes with sequence until it hit the blockchain lock (BroadcastLockObject) { if (VerifySequenceBeforeSend) { Wallet.RefreshSequence(); } var msg = BroadcastMessageBuilder.BuildSendMultipleMessage(destinations, Wallet, memo); var result = HTTP.BroadcastToBlockchain(msg, WaitForTransactionConfirmationOnBroadcast); if (result.ok) { _wallet.IncrementSequence(); } return(result); } }
public BroadcastResponse CancelOrder(string symbol, string refId) { //Ensure no other broadcast transaction interferes with sequence until it hit the blockchain lock (BroadcastLockObject) { if (VerifySequenceBeforeSend) { Wallet.RefreshSequence(); } var msg = BroadcastMessageBuilder.BuildCancelOrderMessage(symbol, refId, Wallet); var result = HTTP.BroadcastToBlockchain(msg, WaitForTransactionConfirmationOnBroadcast); if (result.ok) { _wallet.IncrementSequence(); } return(result); } }
public BroadcastResponse NewOrder(string symbol, OrderType orderType, Side side, decimal price, decimal qty, TimeInForce tif) { //Ensure no other broadcast transaction interferes with sequence until it hit the blockchain lock (BroadcastLockObject) { if (VerifySequenceBeforeSend) { Wallet.RefreshSequence(); } var msg = BroadcastMessageBuilder.BuildNewOrderMessage(symbol, orderType, side, price, qty, tif, Wallet); var result = HTTP.BroadcastToBlockchain(msg, WaitForTransactionConfirmationOnBroadcast); if (result.ok) { _wallet.IncrementSequence(); } return(result); } }
public BroadcastResponse Vote(int proposal_id, VoteOptions option) { //Ensure no other broadcast transaction interferes with sequence until it hit the blockchain lock (BroadcastLockObject) { if (VerifySequenceBeforeSend) { Wallet.RefreshSequence(); } var msg = BroadcastMessageBuilder.BuildVoteMessage(proposal_id, option, Wallet); var result = HTTP.BroadcastToBlockchain(msg, WaitForTransactionConfirmationOnBroadcast); if (result.ok) { _wallet.IncrementSequence(); } return(result); } }