coinbase-sdk 0.0.16 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/coinbase/address/wallet_address.rb +24 -17
- data/lib/coinbase/address.rb +17 -19
- data/lib/coinbase/asset.rb +11 -8
- data/lib/coinbase/client/api/addresses_api.rb +1 -1
- data/lib/coinbase/client/api/assets_api.rb +1 -1
- data/lib/coinbase/client/api/contract_events_api.rb +18 -10
- data/lib/coinbase/client/api/external_addresses_api.rb +1 -1
- data/lib/coinbase/client/api/networks_api.rb +1 -1
- data/lib/coinbase/client/api/server_signers_api.rb +1 -1
- data/lib/coinbase/client/api/stake_api.rb +1 -242
- data/lib/coinbase/client/api/trades_api.rb +1 -1
- data/lib/coinbase/client/api/transfers_api.rb +1 -1
- data/lib/coinbase/client/api/users_api.rb +1 -1
- data/lib/coinbase/client/api/validators_api.rb +3 -3
- data/lib/coinbase/client/api/wallet_stake_api.rb +263 -0
- data/lib/coinbase/client/api/wallets_api.rb +1 -1
- data/lib/coinbase/client/api/webhooks_api.rb +1 -1
- data/lib/coinbase/client/api_client.rb +1 -1
- data/lib/coinbase/client/api_error.rb +1 -1
- data/lib/coinbase/client/configuration.rb +11 -1
- data/lib/coinbase/client/models/address.rb +22 -5
- data/lib/coinbase/client/models/address_balance_list.rb +1 -1
- data/lib/coinbase/client/models/address_historical_balance_list.rb +1 -1
- data/lib/coinbase/client/models/address_list.rb +1 -1
- data/lib/coinbase/client/models/asset.rb +1 -1
- data/lib/coinbase/client/models/balance.rb +1 -1
- data/lib/coinbase/client/models/broadcast_staking_operation_request.rb +1 -1
- data/lib/coinbase/client/models/broadcast_trade_request.rb +1 -1
- data/lib/coinbase/client/models/broadcast_transfer_request.rb +1 -1
- data/lib/coinbase/client/models/build_staking_operation_request.rb +1 -1
- data/lib/coinbase/client/models/contract_event.rb +100 -9
- data/lib/coinbase/client/models/contract_event_list.rb +1 -1
- data/lib/coinbase/client/models/create_address_request.rb +15 -5
- data/lib/coinbase/client/models/create_server_signer_request.rb +1 -1
- data/lib/coinbase/client/models/create_staking_operation_request.rb +1 -1
- data/lib/coinbase/client/models/create_trade_request.rb +1 -1
- data/lib/coinbase/client/models/create_transfer_request.rb +1 -1
- data/lib/coinbase/client/models/create_wallet_request.rb +1 -1
- data/lib/coinbase/client/models/create_wallet_request_wallet.rb +1 -1
- data/lib/coinbase/client/models/create_webhook_request.rb +1 -1
- data/lib/coinbase/client/models/error.rb +1 -1
- data/lib/coinbase/client/models/ethereum_validator_metadata.rb +12 -12
- data/lib/coinbase/client/models/faucet_transaction.rb +1 -1
- data/lib/coinbase/client/models/feature.rb +3 -2
- data/lib/coinbase/client/models/feature_set.rb +1 -1
- data/lib/coinbase/client/models/fetch_historical_staking_balances200_response.rb +1 -1
- data/lib/coinbase/client/models/fetch_staking_rewards200_response.rb +1 -1
- data/lib/coinbase/client/models/fetch_staking_rewards_request.rb +1 -1
- data/lib/coinbase/client/models/get_staking_context_request.rb +1 -1
- data/lib/coinbase/client/models/historical_balance.rb +1 -1
- data/lib/coinbase/client/models/network.rb +15 -5
- data/lib/coinbase/client/models/network_identifier.rb +1 -1
- data/lib/coinbase/client/models/seed_creation_event.rb +1 -1
- data/lib/coinbase/client/models/seed_creation_event_result.rb +1 -1
- data/lib/coinbase/client/models/server_signer.rb +1 -1
- data/lib/coinbase/client/models/server_signer_event.rb +1 -1
- data/lib/coinbase/client/models/server_signer_event_event.rb +1 -1
- data/lib/coinbase/client/models/server_signer_event_list.rb +1 -1
- data/lib/coinbase/client/models/server_signer_list.rb +1 -1
- data/lib/coinbase/client/models/signature_creation_event.rb +1 -1
- data/lib/coinbase/client/models/signature_creation_event_result.rb +1 -1
- data/lib/coinbase/client/models/signed_voluntary_exit_message_metadata.rb +1 -1
- data/lib/coinbase/client/models/sponsored_send.rb +1 -1
- data/lib/coinbase/client/models/staking_balance.rb +1 -1
- data/lib/coinbase/client/models/staking_context.rb +1 -1
- data/lib/coinbase/client/models/staking_context_context.rb +1 -1
- data/lib/coinbase/client/models/staking_operation.rb +3 -3
- data/lib/coinbase/client/models/staking_operation_metadata.rb +1 -1
- data/lib/coinbase/client/models/staking_reward.rb +1 -1
- data/lib/coinbase/client/models/staking_reward_format.rb +1 -1
- data/lib/coinbase/client/models/staking_reward_usd_value.rb +1 -1
- data/lib/coinbase/client/models/trade.rb +1 -1
- data/lib/coinbase/client/models/trade_list.rb +1 -1
- data/lib/coinbase/client/models/transaction.rb +16 -6
- data/lib/coinbase/client/models/transaction_type.rb +1 -1
- data/lib/coinbase/client/models/transfer.rb +1 -1
- data/lib/coinbase/client/models/transfer_list.rb +1 -1
- data/lib/coinbase/client/models/update_webhook_request.rb +1 -1
- data/lib/coinbase/client/models/user.rb +1 -1
- data/lib/coinbase/client/models/validator.rb +24 -3
- data/lib/coinbase/client/models/validator_details.rb +1 -1
- data/lib/coinbase/client/models/validator_list.rb +1 -1
- data/lib/coinbase/client/models/validator_status.rb +52 -0
- data/lib/coinbase/client/models/wallet.rb +1 -1
- data/lib/coinbase/client/models/wallet_list.rb +1 -1
- data/lib/coinbase/client/models/webhook.rb +1 -1
- data/lib/coinbase/client/models/webhook_event_filter.rb +1 -1
- data/lib/coinbase/client/models/webhook_event_type.rb +1 -1
- data/lib/coinbase/client/models/webhook_list.rb +1 -1
- data/lib/coinbase/client/version.rb +1 -1
- data/lib/coinbase/client.rb +3 -1
- data/lib/coinbase/constants.rb +0 -10
- data/lib/coinbase/contract_event.rb +104 -0
- data/lib/coinbase/correlation.rb +30 -0
- data/lib/coinbase/destination.rb +11 -9
- data/lib/coinbase/errors.rb +7 -0
- data/lib/coinbase/middleware.rb +2 -0
- data/lib/coinbase/network.rb +103 -20
- data/lib/coinbase/smart_contract.rb +106 -0
- data/lib/coinbase/staking_balance.rb +11 -5
- data/lib/coinbase/staking_operation.rb +134 -36
- data/lib/coinbase/staking_reward.rb +1 -1
- data/lib/coinbase/trade.rb +10 -9
- data/lib/coinbase/transaction.rb +6 -0
- data/lib/coinbase/transfer.rb +11 -10
- data/lib/coinbase/validator.rb +18 -10
- data/lib/coinbase/version.rb +5 -0
- data/lib/coinbase/wallet.rb +137 -145
- data/lib/coinbase/webhook.rb +181 -0
- data/lib/coinbase.rb +50 -19
- metadata +9 -9
- data/lib/coinbase/client/models/ethereum_validator.rb +0 -374
- data/lib/coinbase/client/models/get_validator200_response.rb +0 -221
- data/lib/coinbase/client/models/get_validator200_response_validator.rb +0 -214
- data/lib/coinbase/client/models/native_eth_staking_context.rb +0 -254
- data/lib/coinbase/client/models/partial_eth_staking_context.rb +0 -254
- data/lib/coinbase/client/models/validator_list_data.rb +0 -216
- data/lib/coinbase/user.rb +0 -65
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
The version of the OpenAPI document: 0.0.1-alpha
|
|
7
7
|
Contact: yuga.cohler@coinbase.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
Generator version: 7.
|
|
9
|
+
Generator version: 7.7.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -33,6 +33,9 @@ module Coinbase::Client
|
|
|
33
33
|
|
|
34
34
|
attr_accessor :feature_set
|
|
35
35
|
|
|
36
|
+
# The BIP44 path prefix for the network
|
|
37
|
+
attr_accessor :address_path_prefix
|
|
38
|
+
|
|
36
39
|
class EnumAttributeValidator
|
|
37
40
|
attr_reader :datatype
|
|
38
41
|
attr_reader :allowable_values
|
|
@@ -64,7 +67,8 @@ module Coinbase::Client
|
|
|
64
67
|
:'protocol_family' => :'protocol_family',
|
|
65
68
|
:'is_testnet' => :'is_testnet',
|
|
66
69
|
:'native_asset' => :'native_asset',
|
|
67
|
-
:'feature_set' => :'feature_set'
|
|
70
|
+
:'feature_set' => :'feature_set',
|
|
71
|
+
:'address_path_prefix' => :'address_path_prefix'
|
|
68
72
|
}
|
|
69
73
|
end
|
|
70
74
|
|
|
@@ -82,7 +86,8 @@ module Coinbase::Client
|
|
|
82
86
|
:'protocol_family' => :'String',
|
|
83
87
|
:'is_testnet' => :'Boolean',
|
|
84
88
|
:'native_asset' => :'Asset',
|
|
85
|
-
:'feature_set' => :'FeatureSet'
|
|
89
|
+
:'feature_set' => :'FeatureSet',
|
|
90
|
+
:'address_path_prefix' => :'String'
|
|
86
91
|
}
|
|
87
92
|
end
|
|
88
93
|
|
|
@@ -148,6 +153,10 @@ module Coinbase::Client
|
|
|
148
153
|
else
|
|
149
154
|
self.feature_set = nil
|
|
150
155
|
end
|
|
156
|
+
|
|
157
|
+
if attributes.key?(:'address_path_prefix')
|
|
158
|
+
self.address_path_prefix = attributes[:'address_path_prefix']
|
|
159
|
+
end
|
|
151
160
|
end
|
|
152
161
|
|
|
153
162
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -223,7 +232,8 @@ module Coinbase::Client
|
|
|
223
232
|
protocol_family == o.protocol_family &&
|
|
224
233
|
is_testnet == o.is_testnet &&
|
|
225
234
|
native_asset == o.native_asset &&
|
|
226
|
-
feature_set == o.feature_set
|
|
235
|
+
feature_set == o.feature_set &&
|
|
236
|
+
address_path_prefix == o.address_path_prefix
|
|
227
237
|
end
|
|
228
238
|
|
|
229
239
|
# @see the `==` method
|
|
@@ -235,7 +245,7 @@ module Coinbase::Client
|
|
|
235
245
|
# Calculates hash code according to all attributes.
|
|
236
246
|
# @return [Integer] Hash code
|
|
237
247
|
def hash
|
|
238
|
-
[id, display_name, chain_id, protocol_family, is_testnet, native_asset, feature_set].hash
|
|
248
|
+
[id, display_name, chain_id, protocol_family, is_testnet, native_asset, feature_set, address_path_prefix].hash
|
|
239
249
|
end
|
|
240
250
|
|
|
241
251
|
# Builds the object from hash
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
The version of the OpenAPI document: 0.0.1-alpha
|
|
7
7
|
Contact: yuga.cohler@coinbase.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
Generator version: 7.
|
|
9
|
+
Generator version: 7.7.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -187,7 +187,7 @@ module Coinbase::Client
|
|
|
187
187
|
return false if @network_id.nil?
|
|
188
188
|
return false if @address_id.nil?
|
|
189
189
|
return false if @status.nil?
|
|
190
|
-
status_validator = EnumAttributeValidator.new('String', ["initialized", "
|
|
190
|
+
status_validator = EnumAttributeValidator.new('String', ["initialized", "complete", "failed", "unspecified", "unknown_default_open_api"])
|
|
191
191
|
return false unless status_validator.valid?(@status)
|
|
192
192
|
return false if @transactions.nil?
|
|
193
193
|
true
|
|
@@ -196,7 +196,7 @@ module Coinbase::Client
|
|
|
196
196
|
# Custom attribute writer method checking allowed values (enum).
|
|
197
197
|
# @param [Object] status Object to be assigned
|
|
198
198
|
def status=(status)
|
|
199
|
-
validator = EnumAttributeValidator.new('String', ["initialized", "
|
|
199
|
+
validator = EnumAttributeValidator.new('String', ["initialized", "complete", "failed", "unspecified", "unknown_default_open_api"])
|
|
200
200
|
unless validator.valid?(status)
|
|
201
201
|
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
|
|
202
202
|
end
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
The version of the OpenAPI document: 0.0.1-alpha
|
|
7
7
|
Contact: yuga.cohler@coinbase.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
Generator version: 7.
|
|
9
|
+
Generator version: 7.7.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -16,25 +16,28 @@ require 'time'
|
|
|
16
16
|
module Coinbase::Client
|
|
17
17
|
# An onchain transaction.
|
|
18
18
|
class Transaction
|
|
19
|
-
# The ID of the blockchain network
|
|
19
|
+
# The ID of the blockchain network.
|
|
20
20
|
attr_accessor :network_id
|
|
21
21
|
|
|
22
|
-
# The onchain address of the sender
|
|
22
|
+
# The onchain address of the sender.
|
|
23
23
|
attr_accessor :from_address_id
|
|
24
24
|
|
|
25
|
+
# The onchain address of the recipient.
|
|
26
|
+
attr_accessor :to_address_id
|
|
27
|
+
|
|
25
28
|
# The unsigned payload of the transaction. This is the payload that needs to be signed by the sender.
|
|
26
29
|
attr_accessor :unsigned_payload
|
|
27
30
|
|
|
28
31
|
# The signed payload of the transaction. This is the payload that has been signed by the sender.
|
|
29
32
|
attr_accessor :signed_payload
|
|
30
33
|
|
|
31
|
-
# The hash of the transaction
|
|
34
|
+
# The hash of the transaction.
|
|
32
35
|
attr_accessor :transaction_hash
|
|
33
36
|
|
|
34
37
|
# The link to view the transaction on a block explorer. This is optional and may not be present for all transactions.
|
|
35
38
|
attr_accessor :transaction_link
|
|
36
39
|
|
|
37
|
-
# The status of the transaction
|
|
40
|
+
# The status of the transaction.
|
|
38
41
|
attr_accessor :status
|
|
39
42
|
|
|
40
43
|
class EnumAttributeValidator
|
|
@@ -64,6 +67,7 @@ module Coinbase::Client
|
|
|
64
67
|
{
|
|
65
68
|
:'network_id' => :'network_id',
|
|
66
69
|
:'from_address_id' => :'from_address_id',
|
|
70
|
+
:'to_address_id' => :'to_address_id',
|
|
67
71
|
:'unsigned_payload' => :'unsigned_payload',
|
|
68
72
|
:'signed_payload' => :'signed_payload',
|
|
69
73
|
:'transaction_hash' => :'transaction_hash',
|
|
@@ -82,6 +86,7 @@ module Coinbase::Client
|
|
|
82
86
|
{
|
|
83
87
|
:'network_id' => :'String',
|
|
84
88
|
:'from_address_id' => :'String',
|
|
89
|
+
:'to_address_id' => :'String',
|
|
85
90
|
:'unsigned_payload' => :'String',
|
|
86
91
|
:'signed_payload' => :'String',
|
|
87
92
|
:'transaction_hash' => :'String',
|
|
@@ -123,6 +128,10 @@ module Coinbase::Client
|
|
|
123
128
|
self.from_address_id = nil
|
|
124
129
|
end
|
|
125
130
|
|
|
131
|
+
if attributes.key?(:'to_address_id')
|
|
132
|
+
self.to_address_id = attributes[:'to_address_id']
|
|
133
|
+
end
|
|
134
|
+
|
|
126
135
|
if attributes.key?(:'unsigned_payload')
|
|
127
136
|
self.unsigned_payload = attributes[:'unsigned_payload']
|
|
128
137
|
else
|
|
@@ -202,6 +211,7 @@ module Coinbase::Client
|
|
|
202
211
|
self.class == o.class &&
|
|
203
212
|
network_id == o.network_id &&
|
|
204
213
|
from_address_id == o.from_address_id &&
|
|
214
|
+
to_address_id == o.to_address_id &&
|
|
205
215
|
unsigned_payload == o.unsigned_payload &&
|
|
206
216
|
signed_payload == o.signed_payload &&
|
|
207
217
|
transaction_hash == o.transaction_hash &&
|
|
@@ -218,7 +228,7 @@ module Coinbase::Client
|
|
|
218
228
|
# Calculates hash code according to all attributes.
|
|
219
229
|
# @return [Integer] Hash code
|
|
220
230
|
def hash
|
|
221
|
-
[network_id, from_address_id, unsigned_payload, signed_payload, transaction_hash, transaction_link, status].hash
|
|
231
|
+
[network_id, from_address_id, to_address_id, unsigned_payload, signed_payload, transaction_hash, transaction_link, status].hash
|
|
222
232
|
end
|
|
223
233
|
|
|
224
234
|
# Builds the object from hash
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
The version of the OpenAPI document: 0.0.1-alpha
|
|
7
7
|
Contact: yuga.cohler@coinbase.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
Generator version: 7.
|
|
9
|
+
Generator version: 7.7.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -25,11 +25,32 @@ module Coinbase::Client
|
|
|
25
25
|
# The ID of the asset that the validator helps stake.
|
|
26
26
|
attr_accessor :asset_id
|
|
27
27
|
|
|
28
|
-
# The status of the validator.
|
|
29
28
|
attr_accessor :status
|
|
30
29
|
|
|
31
30
|
attr_accessor :details
|
|
32
31
|
|
|
32
|
+
class EnumAttributeValidator
|
|
33
|
+
attr_reader :datatype
|
|
34
|
+
attr_reader :allowable_values
|
|
35
|
+
|
|
36
|
+
def initialize(datatype, allowable_values)
|
|
37
|
+
@allowable_values = allowable_values.map do |value|
|
|
38
|
+
case datatype.to_s
|
|
39
|
+
when /Integer/i
|
|
40
|
+
value.to_i
|
|
41
|
+
when /Float/i
|
|
42
|
+
value.to_f
|
|
43
|
+
else
|
|
44
|
+
value
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def valid?(value)
|
|
50
|
+
!value || allowable_values.include?(value)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
33
54
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
34
55
|
def self.attribute_map
|
|
35
56
|
{
|
|
@@ -52,7 +73,7 @@ module Coinbase::Client
|
|
|
52
73
|
:'validator_id' => :'String',
|
|
53
74
|
:'network_id' => :'String',
|
|
54
75
|
:'asset_id' => :'String',
|
|
55
|
-
:'status' => :'
|
|
76
|
+
:'status' => :'ValidatorStatus',
|
|
56
77
|
:'details' => :'ValidatorDetails'
|
|
57
78
|
}
|
|
58
79
|
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Coinbase Platform API
|
|
3
|
+
|
|
4
|
+
#This is the OpenAPI 3.0 specification for the Coinbase Platform APIs, used in conjunction with the Coinbase Platform SDKs.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 0.0.1-alpha
|
|
7
|
+
Contact: yuga.cohler@coinbase.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.7.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module Coinbase::Client
|
|
17
|
+
class ValidatorStatus
|
|
18
|
+
UNKNOWN = "unknown".freeze
|
|
19
|
+
PROVISIONING = "provisioning".freeze
|
|
20
|
+
PROVISIONED = "provisioned".freeze
|
|
21
|
+
DEPOSITED = "deposited".freeze
|
|
22
|
+
PENDING_ACTIVATION = "pending_activation".freeze
|
|
23
|
+
ACTIVE = "active".freeze
|
|
24
|
+
EXITING = "exiting".freeze
|
|
25
|
+
EXITED = "exited".freeze
|
|
26
|
+
WITHDRAWAL_AVAILABLE = "withdrawal_available".freeze
|
|
27
|
+
WITHDRAWAL_COMPLETE = "withdrawal_complete".freeze
|
|
28
|
+
ACTIVE_SLASHED = "active_slashed".freeze
|
|
29
|
+
EXITED_SLASHED = "exited_slashed".freeze
|
|
30
|
+
REAPED = "reaped".freeze
|
|
31
|
+
UNKNOWN_DEFAULT_OPEN_API = "unknown_default_open_api".freeze
|
|
32
|
+
|
|
33
|
+
def self.all_vars
|
|
34
|
+
@all_vars ||= [UNKNOWN, PROVISIONING, PROVISIONED, DEPOSITED, PENDING_ACTIVATION, ACTIVE, EXITING, EXITED, WITHDRAWAL_AVAILABLE, WITHDRAWAL_COMPLETE, ACTIVE_SLASHED, EXITED_SLASHED, REAPED, UNKNOWN_DEFAULT_OPEN_API].freeze
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Builds the enum from string
|
|
38
|
+
# @param [String] The enum value in the form of the string
|
|
39
|
+
# @return [String] The enum value
|
|
40
|
+
def self.build_from_hash(value)
|
|
41
|
+
new.build_from_hash(value)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Builds the enum from string
|
|
45
|
+
# @param [String] The enum value in the form of the string
|
|
46
|
+
# @return [String] The enum value
|
|
47
|
+
def build_from_hash(value)
|
|
48
|
+
return value if ValidatorStatus.all_vars.include?(value)
|
|
49
|
+
raise "Invalid ENUM value #{value} for class #ValidatorStatus"
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|