IEnumerator WhitelistTransaction(Transaction transaction, Action <string, string> onComplete) { var postDataObj = new WhitelistPostData(transaction); string reqUrl = baseURL + whitelistURL; WWWForm form = new WWWForm(); form.AddField("envelope", postDataObj.envelope); form.AddField("networkId", postDataObj.network_id); form.AddField("network_id", postDataObj.network_id); //for forward compatibility var req = UnityWebRequest.Post(reqUrl, form); yield return(req.SendWebRequest()); if (req.isNetworkError || req.isHttpError) { LogError(req.error); onComplete?.Invoke(null, null); } else { onComplete(req.downloadHandler.text, transaction.Id); } }
/// <summary> /// whitelists a transaction /// </summary> /// <param name="transaction"></param> /// <param name="onComplete"></param> /// <returns></returns> public static IEnumerator WhitelistTransaction(Transaction transaction, Action <string> onComplete = null) { var postDataObj = new WhitelistPostData(transaction); var postData = JsonUtility.ToJson(postDataObj); var rawPostData = Encoding.UTF8.GetBytes(postData); // UnityWebRequest does not work correclty when posting a JSON string so we use a byte[] and a hacky workaround var url = "http://34.239.111.38:3000/whitelist"; var req = UnityWebRequest.Post(url, "POST"); req.SetRequestHeader("Content-Type", "application/json"); req.uploadHandler = new UploadHandlerRaw(rawPostData); yield return(req.SendWebRequest()); if (req.isNetworkError || req.isHttpError) { Debug.Log(req.error); if (onComplete != null) { onComplete(null); } } else { Debug.Log("response code: " + req.responseCode); Debug.Log(req.downloadHandler.text); if (onComplete != null) { onComplete(req.downloadHandler.text); } } }