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.



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.



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