public IPromise BroadcastTransactionWithCallback(SignedTransactionData transaction, Action <JToken[]> transactionResultCallback = null)
        {
            if (IsInitialized)
            {
                return(new Promise((resolve, reject) =>
                {
#if ECHO_DEBUG
                    var debug = true;
#else
                    var debug = false;
#endif
                    var requestId = GenerateNewId();
                    var methodName = "broadcast_transaction_with_callback";
                    var title = methodName + " " + requestId;
                    var parameters = new Parameters {
                        Id.Value, methodName, new object[] { requestId, transaction }
                    };
                    DoRequestVoid(requestId, parameters, () =>
                    {
                        if (!transactionResultCallback.IsNull())
                        {
                            ConnectionManager.Subscribe("broadcast by " + requestId, requestId, transactionResultCallback, debug, true);
                        }
                        resolve();
                    }, reject, title, debug);
                }));
            }
            return(Init().Then(api => api.BroadcastTransactionWithCallback(transaction, transactionResultCallback)));
        }
Пример #2
0
 public IPromise <string[]> GetPotentialAddressSignatures(SignedTransactionData transaction)
 {
     if (IsInitialized)
     {
         return(new Promise <string[]>((resolve, reject) => {
             var debug = true;
             var requestId = GenerateNewId();
             var methodName = "get_potential_address_signatures";
             var title = methodName + " " + requestId;
             var parameters = new Parameters {
                 Id.Value, methodName, new object[] { transaction }
             };
             DoRequest(requestId, parameters, resolve, reject, title, debug);
         }));
     }
     return(Init().Then(api => api.GetPotentialAddressSignatures(transaction)));
 }
Пример #3
0
 public IPromise <PublicKey[]> GetRequiredSignatures(SignedTransactionData transaction, PublicKey[] existKeys)
 {
     if (IsInitialized)
     {
         return(new Promise <PublicKey[]>((resolve, reject) => {
             var debug = true;
             var requestId = GenerateNewId();
             var methodName = "get_required_signatures";
             var title = methodName + " " + requestId;
             var parameters = new Parameters {
                 Id.Value, methodName, new object[] { transaction, Array.ConvertAll(existKeys, key => key.ToString()) }
             };
             DoRequest(requestId, parameters, resolve, reject, title, debug);
         }));
     }
     return(Init().Then(api => api.GetRequiredSignatures(transaction, existKeys)));
 }
        public IPromise BroadcastTransaction(SignedTransactionData transaction)
        {
            if (IsInitialized)
            {
                return(new Promise((resolve, reject) =>
                {
#if ECHO_DEBUG
                    var debug = true;
#else
                    var debug = false;
#endif
                    var requestId = GenerateNewId();
                    var methodName = "broadcast_transaction";
                    var title = methodName + " " + requestId;
                    var parameters = new Parameters {
                        Id.Value, methodName, new object[] { transaction }
                    };
                    DoRequestVoid(requestId, parameters, resolve, reject, title, debug);
                }));
            }
            return(Init().Then(api => api.BroadcastTransaction(transaction)));
        }