Class: Coinbase::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/coinbase.rb

Overview

Configuration object for the Coinbase SDK.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Initializes the configuration object.



53
54
55
56
57
58
59
# File 'lib/coinbase.rb', line 53

def initialize
  @base_sepolia_rpc_url = 'https://sepolia.base.org'
  @base_sepolia_client = Jimson::Client.new(@base_sepolia_rpc_url)
  @api_url = 'https://api.cdp.coinbase.com'
  @debug_api = false
  @backup_file_path = 'seeds.json'
end

Instance Attribute Details

#api_key_nameObject

Returns the value of attribute api_key_name.



50
51
52
# File 'lib/coinbase.rb', line 50

def api_key_name
  @api_key_name
end

#api_key_private_keyObject

Returns the value of attribute api_key_private_key.



50
51
52
# File 'lib/coinbase.rb', line 50

def api_key_private_key
  @api_key_private_key
end

#api_urlObject

Returns the value of attribute api_url.



50
51
52
# File 'lib/coinbase.rb', line 50

def api_url
  @api_url
end

#backup_file_pathObject

Returns the value of attribute backup_file_path.



50
51
52
# File 'lib/coinbase.rb', line 50

def backup_file_path
  @backup_file_path
end

#base_sepolia_clientObject (readonly)

Returns the value of attribute base_sepolia_client.



49
50
51
# File 'lib/coinbase.rb', line 49

def base_sepolia_client
  @base_sepolia_client
end

#base_sepolia_rpc_urlObject

Returns the value of attribute base_sepolia_rpc_url.



49
50
51
# File 'lib/coinbase.rb', line 49

def base_sepolia_rpc_url
  @base_sepolia_rpc_url
end

#debug_apiObject

Returns the value of attribute debug_api.



50
51
52
# File 'lib/coinbase.rb', line 50

def debug_api
  @debug_api
end

Instance Method Details

#api_clientCoinbase::Client::ApiClient

Returns the API client.

Returns:



85
86
87
# File 'lib/coinbase.rb', line 85

def api_client
  @api_client ||= Coinbase::Client::ApiClient.new(Middleware.config)
end

#from_json(file_path = 'coinbase_cloud_api_key.json') ⇒ Object

Sets configuration values based on the provided CDP API Key JSON file. file in the root directory by default.

Parameters:

  • file_path (String) (defaults to: 'coinbase_cloud_api_key.json')

    (Optional) the path to the CDP API Key JSON file

Raises:



64
65
66
67
68
69
70
71
72
73
74
# File 'lib/coinbase.rb', line 64

def from_json(file_path = 'coinbase_cloud_api_key.json')
  # Expand paths to respect shortcuts like ~.
  file_path = File.expand_path(file_path)

  raise InvalidConfiguration, 'Invalid configuration file type' unless file_path.end_with?('.json')

  file = File.read(file_path)
  data = JSON.parse(file)
  @api_key_name = data['name']
  @api_key_private_key = data['privateKey']
end