Ejemplo n.º 1
0
        public static string GetSignature(UriData data, string uri, string body)
        {
            var bodyGen = string.Empty;

            if (!string.IsNullOrEmpty(body))
            {
                var jObj = (JObject)JsonConvert.DeserializeObject(body);
                Sort(jObj);
                bodyGen = BodyGenerator(jObj);
            }

            var result = $"{data.nonce}{data.timestamp}{data.method}{uri}";

            if (!string.IsNullOrEmpty(data.quary))
            {
                result = $"{result}?{data.quary}";
                if (!string.IsNullOrEmpty(bodyGen))
                {
                    result = $"{result}&{bodyGen}";
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(bodyGen))
                {
                    result = $"{result}?{bodyGen}";
                }
            }

            logger.Debug($"{result}");

            return(CreateToken(result, data.serviceApiSecret));
        }
Ejemplo n.º 2
0
        public HttpWebRequest GetWebRequest(UriData data, string body)
        {
            var uri = GetUri(data);

            if (string.IsNullOrEmpty(uri))
            {
                logger.Warn("GetUri Is Null or Empty");
                return(null);
            }

            data.signature = Signature.GetSignature(data, uri, body);

            var requestUriString = $"{baseUri}{uri}";

            if (!string.IsNullOrEmpty(data.quary))
            {
                requestUriString = $"{requestUriString}?{data.quary}";
            }

            logger.Debug($"RequestUri={requestUriString}");

            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create($"{requestUriString}");

            webRequest.Method = data.method;
            webRequest.Accept = "*/*";

            if (!string.IsNullOrEmpty(data.serviceApiKey))
            {
                webRequest.Headers.Add("service-api-key", data.serviceApiKey);
            }

            if (!string.IsNullOrEmpty(data.signature))
            {
                webRequest.Headers.Add("Signature", data.signature);
            }

            if (data.timestamp > 0)
            {
                webRequest.Headers.Add("Timestamp", data.timestamp.ToString());
            }

            if (!string.IsNullOrEmpty(data.nonce))
            {
                webRequest.Headers.Add("Nonce", data.nonce);
            }

            if (!string.IsNullOrEmpty(body))
            {
                webRequest.ContentType = "application/json";
                TextWriter writer = new StreamWriter(webRequest.GetRequestStream());
                writer.Write(body);
                writer.Close();
            }

            logger.Debug($"uri={uri} method={data.method} apikey={data.serviceApiKey}");
            logger.Debug($"sign={data.signature} tstamp={data.timestamp} nonce={data.nonce}");
            logger.Debug($"body={body}");

            return(webRequest);
        }
        public string RequestResult(UriData data, string body)
        {
            var webRequest = uriManager.GetWebRequest(data, body);

            if (null == webRequest)
            {
                logger.Warn("GetWebRequest Is null");
                return(string.Empty);
            }

            var tResult = HttpManager.Instance.Request(webRequest);

            var result = tResult.Result;

            if (result.Item1 == 200 || result.Item1 == 202)
            {
                if (!string.IsNullOrEmpty(result.Item2))
                {
                    var status = JsonConvert.DeserializeObject <ResponesDataHeader>(result.Item2);
                    logger.Info($"Type={data.type.ToString()} ResponseTime={status.responseTime} StatusCode={status.statusCode} StatusMessage={status.statusMessage}");
                }
                else
                {
                    logger.Warn($"Type={data.type.ToString()} Result IsNullOrEmpt");
                }
            }
            else
            {
                logger.Warn($"Type={data.type.ToString()} StatusCode={result.Item1}");
            }

            return(result.Item2);
        }
Ejemplo n.º 4
0
        public string GetUri(UriData data)
        {
            var result = string.Empty;

            switch (data.type)
            {
            case ApiUriType.IssueNonFungible:
            case ApiUriType.TokenTypeInfo_NonFungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }

                result = $"/item-tokens/{data.itemContractId}/non-fungibles";
            }
            break;

            case ApiUriType.IssueFungible:
            case ApiUriType.TokenTypeInfo_Fungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }

                result = $"/item-tokens/{data.itemContractId}/fungibles";
            }
            break;

            case ApiUriType.CreateWallet:
                result = "/wallets";
                break;

            case ApiUriType.MintNonFungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenType), data.tokenType))
                {
                    break;
                }

                result = $"/item-tokens/{data.itemContractId}/non-fungibles/{data.tokenType}/mint";
            }
            break;

            case ApiUriType.MultiMintNonFungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }

                result = $"/item-tokens/{data.itemContractId}/non-fungibles/multi-mint";
            }
            break;

            case ApiUriType.MintFungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenType), data.tokenType))
                {
                    break;
                }

                result = $"/item-tokens/{data.itemContractId}/fungibles/{data.tokenType}/mint";
            }
            break;

            case ApiUriType.BurnNonFungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenType), data.tokenType))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenIdx), data.tokenIdx))
                {
                    break;
                }

                result = $"/item-tokens/{data.itemContractId}/non-fungibles/{data.tokenType}/{data.tokenIdx}/burn";
            }
            break;

            case ApiUriType.BurnFungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenType), data.tokenType))
                {
                    break;
                }

                result = $"/item-tokens/{data.itemContractId}/fungibles/{data.tokenType}/burn";
            }
            break;

            case ApiUriType.TransferNonFungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenType), data.tokenType))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenIdx), data.tokenIdx))
                {
                    break;
                }

                if (!string.IsNullOrEmpty(data.walletAddr))
                {
                    if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.walletAddr), data.walletAddr))
                    {
                        break;
                    }

                    result = $"/wallets/{data.walletAddr}/item-tokens/{data.itemContractId}/non-fungibles/{data.tokenType}/{data.tokenIdx}/transfer";
                }
                else if (!string.IsNullOrEmpty(data.userId))
                {
                    if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                    {
                        break;
                    }

                    result = $"/users/{data.userId}/item-tokens/{data.itemContractId}/non-fungibles/{data.tokenType}/{data.tokenIdx}/transfer";
                }
                else
                {
                    logger.Warn($"{data.type.ToString()} No UserID or Address");
                }
            }
            break;

            case ApiUriType.TransferFungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenType), data.tokenType))
                {
                    break;
                }

                if (!string.IsNullOrEmpty(data.walletAddr))
                {
                    if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.walletAddr), data.walletAddr))
                    {
                        break;
                    }

                    result = $"/wallets/{data.walletAddr}/item-tokens/{data.itemContractId}/fungibles/{data.tokenType}/transfer";
                }
                else if (!string.IsNullOrEmpty(data.userId))
                {
                    if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                    {
                        break;
                    }

                    result = $"/users/{data.userId}/item-tokens/{data.itemContractId}/fungibles/{data.tokenType}/transfer";
                }
                else
                {
                    logger.Warn($"{data.type.ToString()} No UserID or Address");
                }
            }

            break;

            case ApiUriType.BatchTransfer:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }

                if (!string.IsNullOrEmpty(data.walletAddr))
                {
                    if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.walletAddr), data.walletAddr))
                    {
                        break;
                    }

                    result = $"/wallets/{data.walletAddr}/item-tokens/{data.itemContractId}/non-fungibles/batch-transfer";
                }
                else if (!string.IsNullOrEmpty(data.userId))
                {
                    if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                    {
                        break;
                    }

                    result = $"/users/{data.userId}/item-tokens/{data.itemContractId}/non-fungibles/batch-transfer";
                }
                else
                {
                    logger.Warn($"{data.type.ToString()} No UserID or Address");
                }
            }
            break;

            case ApiUriType.TokenBalancesOf_NonFungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }

                if (!string.IsNullOrEmpty(data.walletAddr))
                {
                    if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.walletAddr), data.walletAddr))
                    {
                        break;
                    }

                    result = $"/wallets/{data.walletAddr}/item-tokens/{data.itemContractId}/non-fungibles";
                }
                else if (!string.IsNullOrEmpty(data.userId))
                {
                    if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                    {
                        break;
                    }

                    result = $"/users/{data.userId}/item-tokens/{data.itemContractId}/non-fungibles";
                }
                else
                {
                    logger.Warn($"{data.type.ToString()} No UserID or Address");
                }
            }
            break;

            case ApiUriType.TokenBalancesOf_Fungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }

                if (!string.IsNullOrEmpty(data.walletAddr))
                {
                    if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.walletAddr), data.walletAddr))
                    {
                        break;
                    }

                    result = $"/wallets/{data.walletAddr}/item-tokens/{data.itemContractId}/fungibles";
                }
                else if (!string.IsNullOrEmpty(data.userId))
                {
                    if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                    {
                        break;
                    }

                    result = $"/users/{data.userId}/item-tokens/{data.itemContractId}/fungibles";
                }
                else
                {
                    logger.Warn($"{data.type.ToString()} No UserID or Address");
                }
            }
            break;

            case ApiUriType.TokenTypeBalancesOf_NonFungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenType), data.tokenType))
                {
                    break;
                }

                if (!string.IsNullOrEmpty(data.walletAddr))
                {
                    if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.walletAddr), data.walletAddr))
                    {
                        break;
                    }

                    result = $"/wallets/{data.walletAddr}/item-tokens/{data.itemContractId}/non-fungibles/{data.tokenType}";
                }
                else if (!string.IsNullOrEmpty(data.userId))
                {
                    if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                    {
                        break;
                    }

                    result = $"/users/{data.userId}/item-tokens/{data.itemContractId}/non-fungibles/{data.tokenType}";
                }
                else
                {
                    logger.Warn($"{data.type.ToString()} No UserID or Address");
                }
            }
            break;

            case ApiUriType.TokenTypeBalancesOf_Fungible:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenType), data.tokenType))
                {
                    break;
                }

                if (!string.IsNullOrEmpty(data.walletAddr))
                {
                    if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.walletAddr), data.walletAddr))
                    {
                        break;
                    }

                    result = $"/wallets/{data.walletAddr}/item-tokens/{data.itemContractId}/fungibles/{data.tokenType}";
                }
                else if (!string.IsNullOrEmpty(data.userId))
                {
                    if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                    {
                        break;
                    }

                    result = $"/users/{data.userId}/item-tokens/{data.itemContractId}/fungibles/{data.tokenType}";
                }
                else
                {
                    logger.Warn($"{data.type.ToString()} No UserID or Address");
                }
            }
            break;

            case ApiUriType.TransactionHash:
            {
                if (!CheckAlphabet_Uppercase_Numeric(data.type.ToString(), nameof(data.txHash), data.txHash))
                {
                    break;
                }

                result = $"/transactions/{data.txHash}";
            }
            break;

            case ApiUriType.GetTokenParent:
            case ApiUriType.AddTokenParent:
            case ApiUriType.RemoveTokenParent:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenType), data.tokenType))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenIdx), data.tokenIdx))
                {
                    break;
                }

                result = $"/item-tokens/{data.itemContractId}/non-fungibles/{data.tokenType}/{data.tokenIdx}/parent";
            }
            break;

            case ApiUriType.GetTokenChildren:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenType), data.tokenType))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenIdx), data.tokenIdx))
                {
                    break;
                }

                result = $"/item-tokens/{data.itemContractId}/non-fungibles/{data.tokenType}/{data.tokenIdx}/children";
            }
            break;

            case ApiUriType.GetTokenRoot:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenType), data.tokenType))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.tokenIdx), data.tokenIdx))
                {
                    break;
                }

                result = $"/item-tokens/{data.itemContractId}/non-fungibles/{data.tokenType}/{data.tokenIdx}/root";
            }
            break;

            case ApiUriType.TokenTypeInfo_ServiceToken:
                result = $"/service-tokens";
                break;

            case ApiUriType.TokenTypeInfo_ServiceTokenByContractId:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.serviceContractId), data.serviceContractId))
                {
                    break;
                }

                result = $"/service-tokens/{data.serviceContractId}";
            }
            break;

            case ApiUriType.TokenBalancesOf_ServiceToken:
            {
                if (!string.IsNullOrEmpty(data.walletAddr))
                {
                    if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.walletAddr), data.walletAddr))
                    {
                        break;
                    }

                    result = $"/wallets/{data.walletAddr}/service-tokens";
                }
                else if (!string.IsNullOrEmpty(data.userId))
                {
                    if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                    {
                        break;
                    }

                    result = $"/users/{data.userId}/service-tokens";
                }
                else
                {
                    logger.Warn($"{data.type.ToString()} No UserID or Address");
                }
            }
            break;

            case ApiUriType.TokenBalancesOf_ServiceTokenByContractId:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.serviceContractId), data.serviceContractId))
                {
                    break;
                }

                if (!string.IsNullOrEmpty(data.walletAddr))
                {
                    if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.walletAddr), data.walletAddr))
                    {
                        break;
                    }

                    result = $"/wallets/{data.walletAddr}/service-tokens/{data.serviceContractId}";
                }
                else if (!string.IsNullOrEmpty(data.userId))
                {
                    if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                    {
                        break;
                    }

                    result = $"/users/{data.userId}/service-tokens/{data.serviceContractId}";
                }
                else
                {
                    logger.Warn($"{data.type.ToString()} No UserID or Address");
                }
            }
            break;

            case ApiUriType.MintServiceToken:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.serviceContractId), data.serviceContractId))
                {
                    break;
                }

                result = $"/service-tokens/{data.serviceContractId}/mint";
            }
            break;

            case ApiUriType.BurnServiceToken:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.serviceContractId), data.serviceContractId))
                {
                    break;
                }

                result = $"/service-tokens/{data.serviceContractId}/burn";
            }
            break;

            case ApiUriType.TransferServiceToken:
            {
                if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.walletAddr), data.walletAddr))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.serviceContractId), data.serviceContractId))
                {
                    break;
                }

                result = $"/wallets/{data.walletAddr}/service-tokens/{data.serviceContractId}/transfer";
            }
            break;

            case ApiUriType.IssueServiceTokenTransfer:
            {
                if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.serviceContractId), data.serviceContractId))
                {
                    break;
                }

                result = $"/users/{data.userId}/service-tokens/{data.serviceContractId}/request-transfer";
            }
            break;

            case ApiUriType.GetUser:
            {
                if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                {
                    break;
                }

                result = $"/users/{data.userId}";
            }
            break;

            case ApiUriType.GetProxy:
            {
                if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }

                result = $"/users/{data.userId}/item-tokens/{data.itemContractId}/proxy";
            }
            break;

            case ApiUriType.RequestProxy:
            {
                if (!Check_Alphabet_Case_Numeric(data.type.ToString(), nameof(data.userId), data.userId))
                {
                    break;
                }
                else if (!CheckAlphabet_Lowercase_Numeric(data.type.ToString(), nameof(data.itemContractId), data.itemContractId))
                {
                    break;
                }

                result = $"/users/{data.userId}/item-tokens/{data.itemContractId}/request-proxy";
            }
            break;

            case ApiUriType.CommitUserRequest:
            {
                if (string.IsNullOrEmpty(data.requestSessionToken))
                {
                    logger.Warn($"{data.type.ToString()} SessionToken Is null or empty");
                    break;
                }

                result = $"/user-requests/{data.requestSessionToken}/commit";
            }
            break;

            default:
                break;
            }

            if (!string.IsNullOrEmpty(result))
            {
                result = $"{version}{result}";
            }

            return(result);
        }
        UriData GetUriData(ApiUriType type)
        {
            var result = new UriData();

            switch (type)
            {
            case ApiUriType.IssueFungible:
            case ApiUriType.IssueNonFungible:
            case ApiUriType.CreateWallet:
            case ApiUriType.MintNonFungible:
            case ApiUriType.MultiMintNonFungible:
            case ApiUriType.MintFungible:
            case ApiUriType.BurnNonFungible:
            case ApiUriType.BurnFungible:
            case ApiUriType.TransferNonFungible:
            case ApiUriType.TransferFungible:
            case ApiUriType.BatchTransfer:
            case ApiUriType.AddTokenParent:
            case ApiUriType.MintServiceToken:
            case ApiUriType.BurnServiceToken:
            case ApiUriType.TransferServiceToken:
            case ApiUriType.IssueServiceTokenTransfer:
            case ApiUriType.RequestProxy:
            case ApiUriType.CommitUserRequest:
            {
                result.type   = type;
                result.method = "POST";
            }
            break;

            case ApiUriType.GetUser:
            case ApiUriType.TokenTypeInfo_NonFungible:
            case ApiUriType.TokenTypeInfo_Fungible:
            case ApiUriType.TokenBalancesOf_NonFungible:
            case ApiUriType.TokenBalancesOf_Fungible:
            case ApiUriType.TokenTypeBalancesOf_NonFungible:
            case ApiUriType.TokenTypeBalancesOf_Fungible:
            case ApiUriType.TransactionHash:
            case ApiUriType.GetTokenParent:
            case ApiUriType.GetTokenChildren:
            case ApiUriType.GetTokenRoot:
            case ApiUriType.TokenTypeInfo_ServiceToken:
            case ApiUriType.TokenTypeInfo_ServiceTokenByContractId:
            case ApiUriType.TokenBalancesOf_ServiceToken:
            case ApiUriType.TokenBalancesOf_ServiceTokenByContractId:
            case ApiUriType.GetProxy:
            {
                result.type   = type;
                result.method = "GET";
            }
            break;

            case ApiUriType.RemoveTokenParent:
            {
                result.type   = type;
                result.method = "DELETE";
            }
            break;

            default:
                break;
            }

            if (result.type == type)
            {
                result.serviceApiKey    = lbdInfo.apiKey;
                result.serviceApiSecret = lbdInfo.apiSecret;
                result.signature        = "brown";
                result.nonce            = nonce.GetNonce();
                result.timestamp        = UnixTime.NowUnixTimeMilliseconds();
                result.itemContractId   = lbdInfo.itemTokenContractId;
            }

            return(result);
        }