Showing 14 of 18 total issues
File client.go
has 779 lines of code (exceeds 500 allowed). Consider refactoring. Open
Open
// Copyright 2020 Dragonchain, Inc. or its affiliates. All Rights Reserved.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
Client
has 33 methods (exceeds 20 allowed). Consider refactoring. Open
Open
type Client struct {
creds Authenticator
apiBaseURL string
httpClient httpClient
Function NewCredentials
has 6 return statements (exceeds 4 allowed). Open
Open
func NewCredentials(dcID, authKey, authKeyID, algorithm string) (*Credentials, error) {
var err error
var hashFunc func() hash.Hash
switch algorithm {
Method Client.QuerySmartContracts
has 6 return statements (exceeds 4 allowed). Open
Open
func (client *Client) QuerySmartContracts(query *Query) (*Response, error) {
path := "/contract"
uri := fmt.Sprintf("%s%s", client.apiBaseURL, path)
req, err := http.NewRequest("GET", uri, bytes.NewBuffer([]byte("")))
if err != nil {
Method Client.CreateBitcoinTransaction
has 6 return statements (exceeds 4 allowed). Open
Open
func (client *Client) CreateBitcoinTransaction(btcTransaction *BitcoinTransaction) (*Response, error) {
if !BitcoinNetworks[btcTransaction.Network] {
return nil, fmt.Errorf("bitcoin transactions can only be created on supported networks: %+v", BitcoinNetworks)
}
uri := fmt.Sprintf("%s%s", client.apiBaseURL, "/public-blockchain-transaction")
Method Client.CreateEthereumTransaction
has 6 return statements (exceeds 4 allowed). Open
Open
func (client *Client) CreateEthereumTransaction(ethTransaction *EthereumTransaction) (*Response, error) {
if !EthereumNetworks[ethTransaction.Network] {
return nil, fmt.Errorf("ethereum transactions can only be created on supported networks: %+v", EthereumNetworks)
}
uri := fmt.Sprintf("%s%s", client.apiBaseURL, "/public-blockchain-transaction")
Method Client.CreateFactor
has 5 return statements (exceeds 4 allowed). Open
Open
func (client *Client) CreateFactor(factor string) (_ *Response, err error) {
path := "/factor"
uri := fmt.Sprintf("%s%s", client.apiBaseURL, path)
var params Factor
params.Version = "1"
Method Client.GetSmartContract
has 5 return statements (exceeds 4 allowed). Open
Open
func (client *Client) GetSmartContract(smartContractID, transactionType string) (*Response, error) {
var err error
var uri string
if smartContractID == "" && transactionType == "" {
return nil, errors.New("invalid parameters: you must provide one of smartContractID or transactionType")
Method Client.GetVerifications
has 5 return statements (exceeds 4 allowed). Open
Open
func (client *Client) GetVerifications(blockID string, level int) (*Response, error) {
path := "/verifications"
uri := fmt.Sprintf("%s%s/%s", client.apiBaseURL, path, blockID)
req, err := http.NewRequest("GET", uri, bytes.NewBuffer([]byte("")))
Method Client.UpdateTransactionType
has 5 return statements (exceeds 4 allowed). Open
Open
func (client *Client) UpdateTransactionType(transactionType string, customIndexes []CustomIndexStructure) (*Response, error) {
path := "/transaction-type"
uri := fmt.Sprintf("%s%s/%s", client.apiBaseURL, path, transactionType)
var params TransactionType
params.Version = "1"
Function getAuthKeyID
has 5 return statements (exceeds 4 allowed). Open
Open
func getAuthKeyID(ID string) (string, error) {
authKeyID := os.Getenv(EnvKeyIDName)
if len(authKeyID) > 0 {
return authKeyID, nil
}
Method Client.CreateTransactionType
has 5 return statements (exceeds 4 allowed). Open
Open
func (client *Client) CreateTransactionType(transactionType string, customIndexes []CustomIndexStructure) (_ *Response, err error) {
path := "/transaction-type"
uri := fmt.Sprintf("%s%s", client.apiBaseURL, path)
var params TransactionType
params.Version = "1"
Function GetCredentialConfigs
has 5 return statements (exceeds 4 allowed). Open
Open
func GetCredentialConfigs() (*Configuration, error) {
if configs != nil {
return configs, nil
}
Function getAuthKey
has 5 return statements (exceeds 4 allowed). Open
Open
func getAuthKey(dcID string) (string, error) {
authKey := os.Getenv(EnvKeyName)
if len(authKey) > 0 {
return authKey, nil
}