Class: Coinbase::ServerSigner

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

Overview

A representation of a Server-Signer. Server-Signers are assigned to sign transactions for a Wallet.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model) ⇒ ServerSigner

Returns a new Server-Signer object. Do not use this method directly. Instead, use ServerSigner.default.



9
10
11
# File 'lib/coinbase/server_signer.rb', line 9

def initialize(model)
  @model = model
end

Class Method Details

.defaultCoinbase::ServerSigner

Returns the default ServerSigner for the CDP Project.

Returns:



16
17
18
19
20
21
22
23
24
# File 'lib/coinbase/server_signer.rb', line 16

def default
  response = Coinbase.call_api do
    server_signers_api.list_server_signers
  end

  raise 'No Server-Signer is associated with the project' if response.data.empty?

  new(response.data.first)
end

Instance Method Details

#idString

Returns the Server-Signer ID.

Returns:

  • (String)

    the Server-Signer ID



35
36
37
# File 'lib/coinbase/server_signer.rb', line 35

def id
  @model.server_signer_id
end

#inspectString

Same as to_s.

Returns:

  • (String)

    a string representation of the Server-Signer



53
54
55
# File 'lib/coinbase/server_signer.rb', line 53

def inspect
  to_s
end

#to_sString

Returns a string representation of the Server-Signer.

Returns:

  • (String)

    a string representation of the Server-Signer



47
48
49
# File 'lib/coinbase/server_signer.rb', line 47

def to_s
  "Coinbase::ServerSigner{server_signer_id: '#{id}', wallets: [#{wallets.join(', ')}]}"
end

#walletsArray<String>

Returns the IDs of the Wallet’s the Server-Signer can sign for.

Returns:

  • (Array<String>)

    the wallet IDs



41
42
43
# File 'lib/coinbase/server_signer.rb', line 41

def wallets
  @model.wallets
end