public static bool OnAssetIssueByAccount(JToken id, string method, JArray parameters, out JToken result) { result = new JObject(); if (parameters == null || parameters.Count != 1) { result = RpcMessage.CreateErrorResult(id, RpcMessage.INVALID_PARAMS, "Invalid parameters"); return(false); } try { byte[] address = Wallet.Base58ToAddress(parameters[0].ToString()); AssetIssueList asset_issue_list = RpcApiService.GetAssetIssueListByAddress(address); result = JToken.FromObject(asset_issue_list); } catch (ArgumentException e) { result = RpcMessage.CreateErrorResult(id, RpcMessage.INVALID_PARAMS, e.Message); return(false); } catch (System.Exception e) { result = RpcMessage.CreateErrorResult(id, RpcMessage.UNKNOWN_ERROR, e.Message); return(false); } return(true); }
public static bool OnAssetIssueListByName(JToken id, string method, JArray parameters, out JToken result) { result = new JObject(); if (parameters == null || parameters.Count != 1) { result = RpcMessage.CreateErrorResult(id, RpcMessage.INVALID_PARAMS, "Invalid parameters"); return(false); } try { byte[] name = Encoding.UTF8.GetBytes(parameters[0].ToString()); AssetIssueList asset_issue_list = RpcApiService.GetAssetIssueListByName(name); result = JToken.FromObject(asset_issue_list.ToByteArray()); } catch (NonUniqueObjectException e) { result = RpcMessage.CreateErrorResult(id, RpcMessage.INTERNAL_ERROR, e.Message); return(false); } catch (ArgumentException e) { result = RpcMessage.CreateErrorResult(id, RpcMessage.INVALID_PARAMS, e.Message); return(false); } catch (System.Exception e) { result = RpcMessage.CreateErrorResult(id, RpcMessage.UNKNOWN_ERROR, e.Message); return(false); } return(true); }
public static AssetIssueContract GetAssetIssueByName(byte[] name) { if (name == null || name.Length == 0) { throw new ArgumentException("Invalid name"); } AssetIssueContract contract = null; if (Manager.Instance.DBManager.DynamicProperties.GetAllowSameTokenName() == 0) { AssetIssueCapsule asset_issue = Manager.Instance.DBManager.AssetIssue.Get(name); contract = asset_issue != null ? asset_issue.Instance : null; } else { ByteString asset_name = ByteString.CopyFrom(name); AssetIssueList asset_issue_list = new AssetIssueList(); foreach (var asset_issue in Manager.Instance.DBManager.AssetIssueV2.AllAssetIssues) { if (asset_issue.Name.Equals(asset_name)) { asset_issue_list.AssetIssue.Add(asset_issue.Instance); } } if (asset_issue_list.AssetIssue.Count > 1) { throw new NonUniqueObjectException("get more than one asset, please use " + RpcCommand.AssetIssue.AssetIssueById); } else { AssetIssueCapsule asset_issue = Manager.Instance.DBManager.AssetIssueV2.Get(asset_name.ToByteArray()); if (asset_name != null) { if (asset_issue_list.AssetIssue.Count > 0 && asset_issue_list.AssetIssue[0].Id.Equals(asset_issue.Instance.Id)) { contract = asset_issue.Instance; } else { asset_issue_list.AssetIssue.Add(asset_issue.Instance); if (asset_issue_list.AssetIssue.Count > 1) { throw new NonUniqueObjectException("get more than one asset, please use " + RpcCommand.AssetIssue.AssetIssueById); } contract = asset_issue_list.AssetIssue[0]; } } } } return(contract); }
public static AssetIssueList GetAssetIssueList() { AssetIssueList result = new AssetIssueList(); foreach (var asset_issue in Manager.Instance.DBManager.GetAssetIssueStoreFinal().AllAssetIssues) { result.AssetIssue.Add(asset_issue.Instance); } return(result); }
public static RpcApiResult ListAssetIssue(out AssetIssueList asset_issues) { asset_issues = null; JObject receive = SendCommand(RpcCommand.AssetIssue.ListAssetIssue, new JArray() { }); if (receive.TryGetValue("error", out JToken value)) { return(new RpcApiResult(false, value["code"].ToObject <int>(), value["message"].ToObject <string>())); } asset_issues = AssetIssueList.Parser.ParseFrom(receive["result"].ToObject <byte[]>()); return(RpcApiResult.Success); }
public static AssetIssueList GetAssetIssueListByName(byte[] name) { if (name == null || name.Length == 0) { throw new ArgumentException("Invalid name"); } AssetIssueList result = new AssetIssueList(); foreach (var asset_issue in Manager.Instance.DBManager.GetAssetIssueStoreFinal().AllAssetIssues) { if (asset_issue.Name.Equals(ByteString.CopyFrom(name))) { result.AssetIssue.Add(asset_issue.Instance); } } return(result); }
public static AssetIssueList GetAssetIssueListByAddress(byte[] address) { if (!Wallet.IsValidAddress(address)) { throw new ArgumentException("Invalid address"); } AssetIssueList result = new AssetIssueList(); foreach (var asset_issue in Manager.Instance.DBManager.GetAssetIssueStoreFinal().AllAssetIssues) { if (asset_issue.OwnerAddress.Equals(ByteString.CopyFrom(address))) { result.AssetIssue.Add(asset_issue.Instance); } } return(result); }
public static bool OnListAssetIssue(JToken id, string method, JArray parameters, out JToken result) { result = new JObject(); if (parameters == null || parameters.Count != 0) { result = RpcMessage.CreateErrorResult(id, RpcMessage.INVALID_PARAMS, "Invalid parameters"); return(false); } try { AssetIssueList asset_issue_list = RpcApiService.GetAssetIssueList(); result = JToken.FromObject(asset_issue_list.ToByteArray()); } catch (System.Exception e) { result = RpcMessage.CreateErrorResult(id, RpcMessage.UNKNOWN_ERROR, e.Message); return(false); } return(true); }