coinbase-sdk 0.0.14 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/coinbase/address/wallet_address.rb +31 -21
- data/lib/coinbase/address.rb +51 -17
- data/lib/coinbase/asset.rb +11 -8
- data/lib/coinbase/client/api/contract_events_api.rb +17 -9
- data/lib/coinbase/client/api/external_addresses_api.rb +85 -0
- data/lib/coinbase/client/api/networks_api.rb +85 -0
- data/lib/coinbase/client/api/stake_api.rb +74 -195
- data/lib/coinbase/client/api/validators_api.rb +2 -2
- data/lib/coinbase/client/api/wallet_stake_api.rb +263 -0
- data/lib/coinbase/client/models/address.rb +21 -4
- data/lib/coinbase/client/models/{native_eth_staking_context.rb → address_historical_balance_list.rb} +39 -35
- data/lib/coinbase/client/models/contract_event.rb +99 -8
- data/lib/coinbase/client/models/create_address_request.rb +14 -4
- data/lib/coinbase/client/models/create_transfer_request.rb +14 -4
- data/lib/coinbase/client/models/ethereum_validator_metadata.rb +11 -11
- data/lib/coinbase/client/models/feature.rb +2 -1
- data/lib/coinbase/client/models/feature_set.rb +307 -0
- data/lib/coinbase/client/models/{partial_eth_staking_context.rb → fetch_historical_staking_balances200_response.rb} +39 -35
- data/lib/coinbase/client/models/historical_balance.rb +273 -0
- data/lib/coinbase/client/models/network.rb +365 -0
- data/lib/coinbase/client/models/network_identifier.rb +44 -0
- data/lib/coinbase/client/models/sponsored_send.rb +338 -0
- data/lib/coinbase/client/models/staking_balance.rb +289 -0
- data/lib/coinbase/client/models/staking_context_context.rb +222 -74
- data/lib/coinbase/client/models/staking_operation.rb +2 -2
- data/lib/coinbase/client/models/staking_reward.rb +22 -6
- data/lib/coinbase/client/models/staking_reward_format.rb +2 -1
- data/lib/coinbase/client/models/staking_reward_usd_value.rb +257 -0
- data/lib/coinbase/client/models/transaction.rb +17 -7
- data/lib/coinbase/client/models/transaction_type.rb +2 -1
- data/lib/coinbase/client/models/transfer.rb +101 -8
- data/lib/coinbase/client/models/validator.rb +23 -2
- data/lib/coinbase/client/models/validator_status.rb +52 -0
- data/lib/coinbase/client/models/wallet.rb +13 -16
- data/lib/coinbase/client/models/webhook_event_type.rb +2 -1
- data/lib/coinbase/client.rb +12 -3
- 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 +14 -0
- data/lib/coinbase/historical_balance.rb +53 -0
- data/lib/coinbase/middleware.rb +2 -0
- data/lib/coinbase/network.rb +103 -20
- data/lib/coinbase/server_signer.rb +14 -3
- data/lib/coinbase/smart_contract.rb +106 -0
- data/lib/coinbase/sponsored_send.rb +110 -0
- data/lib/coinbase/staking_balance.rb +92 -0
- data/lib/coinbase/staking_operation.rb +134 -36
- data/lib/coinbase/staking_reward.rb +18 -0
- data/lib/coinbase/trade.rb +10 -9
- data/lib/coinbase/transaction.rb +13 -3
- data/lib/coinbase/transfer.rb +65 -36
- data/lib/coinbase/validator.rb +18 -10
- data/lib/coinbase/version.rb +5 -0
- data/lib/coinbase/wallet/data.rb +31 -0
- data/lib/coinbase/wallet.rb +143 -182
- data/lib/coinbase/webhook.rb +181 -0
- data/lib/coinbase.rb +64 -21
- metadata +51 -5
- data/lib/coinbase/user.rb +0 -65
@@ -27,13 +27,17 @@ module Coinbase::Client
|
|
27
27
|
# The onchain address derived on the server-side.
|
28
28
|
attr_accessor :address_id
|
29
29
|
|
30
|
+
# The index of the address in the wallet.
|
31
|
+
attr_accessor :index
|
32
|
+
|
30
33
|
# Attribute mapping from ruby-style variable name to JSON key.
|
31
34
|
def self.attribute_map
|
32
35
|
{
|
33
36
|
:'wallet_id' => :'wallet_id',
|
34
37
|
:'network_id' => :'network_id',
|
35
38
|
:'public_key' => :'public_key',
|
36
|
-
:'address_id' => :'address_id'
|
39
|
+
:'address_id' => :'address_id',
|
40
|
+
:'index' => :'index'
|
37
41
|
}
|
38
42
|
end
|
39
43
|
|
@@ -48,7 +52,8 @@ module Coinbase::Client
|
|
48
52
|
:'wallet_id' => :'String',
|
49
53
|
:'network_id' => :'String',
|
50
54
|
:'public_key' => :'String',
|
51
|
-
:'address_id' => :'String'
|
55
|
+
:'address_id' => :'String',
|
56
|
+
:'index' => :'Integer'
|
52
57
|
}
|
53
58
|
end
|
54
59
|
|
@@ -96,6 +101,12 @@ module Coinbase::Client
|
|
96
101
|
else
|
97
102
|
self.address_id = nil
|
98
103
|
end
|
104
|
+
|
105
|
+
if attributes.key?(:'index')
|
106
|
+
self.index = attributes[:'index']
|
107
|
+
else
|
108
|
+
self.index = nil
|
109
|
+
end
|
99
110
|
end
|
100
111
|
|
101
112
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -119,6 +130,10 @@ module Coinbase::Client
|
|
119
130
|
invalid_properties.push('invalid value for "address_id", address_id cannot be nil.')
|
120
131
|
end
|
121
132
|
|
133
|
+
if @index.nil?
|
134
|
+
invalid_properties.push('invalid value for "index", index cannot be nil.')
|
135
|
+
end
|
136
|
+
|
122
137
|
invalid_properties
|
123
138
|
end
|
124
139
|
|
@@ -130,6 +145,7 @@ module Coinbase::Client
|
|
130
145
|
return false if @network_id.nil?
|
131
146
|
return false if @public_key.nil?
|
132
147
|
return false if @address_id.nil?
|
148
|
+
return false if @index.nil?
|
133
149
|
true
|
134
150
|
end
|
135
151
|
|
@@ -141,7 +157,8 @@ module Coinbase::Client
|
|
141
157
|
wallet_id == o.wallet_id &&
|
142
158
|
network_id == o.network_id &&
|
143
159
|
public_key == o.public_key &&
|
144
|
-
address_id == o.address_id
|
160
|
+
address_id == o.address_id &&
|
161
|
+
index == o.index
|
145
162
|
end
|
146
163
|
|
147
164
|
# @see the `==` method
|
@@ -153,7 +170,7 @@ module Coinbase::Client
|
|
153
170
|
# Calculates hash code according to all attributes.
|
154
171
|
# @return [Integer] Hash code
|
155
172
|
def hash
|
156
|
-
[wallet_id, network_id, public_key, address_id].hash
|
173
|
+
[wallet_id, network_id, public_key, address_id, index].hash
|
157
174
|
end
|
158
175
|
|
159
176
|
# Builds the object from hash
|
data/lib/coinbase/client/models/{native_eth_staking_context.rb → address_historical_balance_list.rb}
RENAMED
@@ -14,20 +14,22 @@ require 'date'
|
|
14
14
|
require 'time'
|
15
15
|
|
16
16
|
module Coinbase::Client
|
17
|
-
#
|
18
|
-
class
|
19
|
-
attr_accessor :
|
17
|
+
#
|
18
|
+
class AddressHistoricalBalanceList
|
19
|
+
attr_accessor :data
|
20
20
|
|
21
|
-
|
21
|
+
# True if this list has another page of items after this one that can be fetched.
|
22
|
+
attr_accessor :has_more
|
22
23
|
|
23
|
-
|
24
|
+
# The page token to be used to fetch the next page.
|
25
|
+
attr_accessor :next_page
|
24
26
|
|
25
27
|
# Attribute mapping from ruby-style variable name to JSON key.
|
26
28
|
def self.attribute_map
|
27
29
|
{
|
28
|
-
:'
|
29
|
-
:'
|
30
|
-
:'
|
30
|
+
:'data' => :'data',
|
31
|
+
:'has_more' => :'has_more',
|
32
|
+
:'next_page' => :'next_page'
|
31
33
|
}
|
32
34
|
end
|
33
35
|
|
@@ -39,9 +41,9 @@ module Coinbase::Client
|
|
39
41
|
# Attribute type mapping.
|
40
42
|
def self.openapi_types
|
41
43
|
{
|
42
|
-
:'
|
43
|
-
:'
|
44
|
-
:'
|
44
|
+
:'data' => :'Array<HistoricalBalance>',
|
45
|
+
:'has_more' => :'Boolean',
|
46
|
+
:'next_page' => :'String'
|
45
47
|
}
|
46
48
|
end
|
47
49
|
|
@@ -55,33 +57,35 @@ module Coinbase::Client
|
|
55
57
|
# @param [Hash] attributes Model attributes in the form of hash
|
56
58
|
def initialize(attributes = {})
|
57
59
|
if (!attributes.is_a?(Hash))
|
58
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `Coinbase::Client::
|
60
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Coinbase::Client::AddressHistoricalBalanceList` initialize method"
|
59
61
|
end
|
60
62
|
|
61
63
|
# check to see if the attribute exists and convert string to symbol for hash key
|
62
64
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
63
65
|
if (!self.class.attribute_map.key?(k.to_sym))
|
64
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `Coinbase::Client::
|
66
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Coinbase::Client::AddressHistoricalBalanceList`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
65
67
|
end
|
66
68
|
h[k.to_sym] = v
|
67
69
|
}
|
68
70
|
|
69
|
-
if attributes.key?(:'
|
70
|
-
|
71
|
+
if attributes.key?(:'data')
|
72
|
+
if (value = attributes[:'data']).is_a?(Array)
|
73
|
+
self.data = value
|
74
|
+
end
|
71
75
|
else
|
72
|
-
self.
|
76
|
+
self.data = nil
|
73
77
|
end
|
74
78
|
|
75
|
-
if attributes.key?(:'
|
76
|
-
self.
|
79
|
+
if attributes.key?(:'has_more')
|
80
|
+
self.has_more = attributes[:'has_more']
|
77
81
|
else
|
78
|
-
self.
|
82
|
+
self.has_more = nil
|
79
83
|
end
|
80
84
|
|
81
|
-
if attributes.key?(:'
|
82
|
-
self.
|
85
|
+
if attributes.key?(:'next_page')
|
86
|
+
self.next_page = attributes[:'next_page']
|
83
87
|
else
|
84
|
-
self.
|
88
|
+
self.next_page = nil
|
85
89
|
end
|
86
90
|
end
|
87
91
|
|
@@ -90,16 +94,16 @@ module Coinbase::Client
|
|
90
94
|
def list_invalid_properties
|
91
95
|
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
92
96
|
invalid_properties = Array.new
|
93
|
-
if @
|
94
|
-
invalid_properties.push('invalid value for "
|
97
|
+
if @data.nil?
|
98
|
+
invalid_properties.push('invalid value for "data", data cannot be nil.')
|
95
99
|
end
|
96
100
|
|
97
|
-
if @
|
98
|
-
invalid_properties.push('invalid value for "
|
101
|
+
if @has_more.nil?
|
102
|
+
invalid_properties.push('invalid value for "has_more", has_more cannot be nil.')
|
99
103
|
end
|
100
104
|
|
101
|
-
if @
|
102
|
-
invalid_properties.push('invalid value for "
|
105
|
+
if @next_page.nil?
|
106
|
+
invalid_properties.push('invalid value for "next_page", next_page cannot be nil.')
|
103
107
|
end
|
104
108
|
|
105
109
|
invalid_properties
|
@@ -109,9 +113,9 @@ module Coinbase::Client
|
|
109
113
|
# @return true if the model is valid
|
110
114
|
def valid?
|
111
115
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
112
|
-
return false if @
|
113
|
-
return false if @
|
114
|
-
return false if @
|
116
|
+
return false if @data.nil?
|
117
|
+
return false if @has_more.nil?
|
118
|
+
return false if @next_page.nil?
|
115
119
|
true
|
116
120
|
end
|
117
121
|
|
@@ -120,9 +124,9 @@ module Coinbase::Client
|
|
120
124
|
def ==(o)
|
121
125
|
return true if self.equal?(o)
|
122
126
|
self.class == o.class &&
|
123
|
-
|
124
|
-
|
125
|
-
|
127
|
+
data == o.data &&
|
128
|
+
has_more == o.has_more &&
|
129
|
+
next_page == o.next_page
|
126
130
|
end
|
127
131
|
|
128
132
|
# @see the `==` method
|
@@ -134,7 +138,7 @@ module Coinbase::Client
|
|
134
138
|
# Calculates hash code according to all attributes.
|
135
139
|
# @return [Integer] Hash code
|
136
140
|
def hash
|
137
|
-
[
|
141
|
+
[data, has_more, next_page].hash
|
138
142
|
end
|
139
143
|
|
140
144
|
# Builds the object from hash
|
@@ -17,7 +17,7 @@ module Coinbase::Client
|
|
17
17
|
# Represents a single decoded event emitted by a smart contract
|
18
18
|
class ContractEvent
|
19
19
|
# The name of the blockchain network
|
20
|
-
attr_accessor :
|
20
|
+
attr_accessor :network_id
|
21
21
|
|
22
22
|
# The name of the blockchain project or protocol
|
23
23
|
attr_accessor :protocol_name
|
@@ -58,12 +58,12 @@ module Coinbase::Client
|
|
58
58
|
# Attribute mapping from ruby-style variable name to JSON key.
|
59
59
|
def self.attribute_map
|
60
60
|
{
|
61
|
-
:'
|
61
|
+
:'network_id' => :'network_id',
|
62
62
|
:'protocol_name' => :'protocol_name',
|
63
63
|
:'contract_name' => :'contract_name',
|
64
64
|
:'event_name' => :'event_name',
|
65
65
|
:'sig' => :'sig',
|
66
|
-
:'four_bytes' => :'
|
66
|
+
:'four_bytes' => :'four_bytes',
|
67
67
|
:'contract_address' => :'contract_address',
|
68
68
|
:'block_time' => :'block_time',
|
69
69
|
:'block_height' => :'block_height',
|
@@ -82,7 +82,7 @@ module Coinbase::Client
|
|
82
82
|
# Attribute type mapping.
|
83
83
|
def self.openapi_types
|
84
84
|
{
|
85
|
-
:'
|
85
|
+
:'network_id' => :'String',
|
86
86
|
:'protocol_name' => :'String',
|
87
87
|
:'contract_name' => :'String',
|
88
88
|
:'event_name' => :'String',
|
@@ -119,56 +119,82 @@ module Coinbase::Client
|
|
119
119
|
h[k.to_sym] = v
|
120
120
|
}
|
121
121
|
|
122
|
-
if attributes.key?(:'
|
123
|
-
self.
|
122
|
+
if attributes.key?(:'network_id')
|
123
|
+
self.network_id = attributes[:'network_id']
|
124
|
+
else
|
125
|
+
self.network_id = nil
|
124
126
|
end
|
125
127
|
|
126
128
|
if attributes.key?(:'protocol_name')
|
127
129
|
self.protocol_name = attributes[:'protocol_name']
|
130
|
+
else
|
131
|
+
self.protocol_name = nil
|
128
132
|
end
|
129
133
|
|
130
134
|
if attributes.key?(:'contract_name')
|
131
135
|
self.contract_name = attributes[:'contract_name']
|
136
|
+
else
|
137
|
+
self.contract_name = nil
|
132
138
|
end
|
133
139
|
|
134
140
|
if attributes.key?(:'event_name')
|
135
141
|
self.event_name = attributes[:'event_name']
|
142
|
+
else
|
143
|
+
self.event_name = nil
|
136
144
|
end
|
137
145
|
|
138
146
|
if attributes.key?(:'sig')
|
139
147
|
self.sig = attributes[:'sig']
|
148
|
+
else
|
149
|
+
self.sig = nil
|
140
150
|
end
|
141
151
|
|
142
152
|
if attributes.key?(:'four_bytes')
|
143
153
|
self.four_bytes = attributes[:'four_bytes']
|
154
|
+
else
|
155
|
+
self.four_bytes = nil
|
144
156
|
end
|
145
157
|
|
146
158
|
if attributes.key?(:'contract_address')
|
147
159
|
self.contract_address = attributes[:'contract_address']
|
160
|
+
else
|
161
|
+
self.contract_address = nil
|
148
162
|
end
|
149
163
|
|
150
164
|
if attributes.key?(:'block_time')
|
151
165
|
self.block_time = attributes[:'block_time']
|
166
|
+
else
|
167
|
+
self.block_time = nil
|
152
168
|
end
|
153
169
|
|
154
170
|
if attributes.key?(:'block_height')
|
155
171
|
self.block_height = attributes[:'block_height']
|
172
|
+
else
|
173
|
+
self.block_height = nil
|
156
174
|
end
|
157
175
|
|
158
176
|
if attributes.key?(:'tx_hash')
|
159
177
|
self.tx_hash = attributes[:'tx_hash']
|
178
|
+
else
|
179
|
+
self.tx_hash = nil
|
160
180
|
end
|
161
181
|
|
162
182
|
if attributes.key?(:'tx_index')
|
163
183
|
self.tx_index = attributes[:'tx_index']
|
184
|
+
else
|
185
|
+
self.tx_index = nil
|
164
186
|
end
|
165
187
|
|
166
188
|
if attributes.key?(:'event_index')
|
167
189
|
self.event_index = attributes[:'event_index']
|
190
|
+
else
|
191
|
+
self.event_index = nil
|
168
192
|
end
|
169
193
|
|
170
194
|
if attributes.key?(:'data')
|
171
195
|
self.data = attributes[:'data']
|
196
|
+
else
|
197
|
+
self.data = nil
|
172
198
|
end
|
173
199
|
end
|
174
200
|
|
@@ -177,6 +203,58 @@ module Coinbase::Client
|
|
177
203
|
def list_invalid_properties
|
178
204
|
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
179
205
|
invalid_properties = Array.new
|
206
|
+
if @network_id.nil?
|
207
|
+
invalid_properties.push('invalid value for "network_id", network_id cannot be nil.')
|
208
|
+
end
|
209
|
+
|
210
|
+
if @protocol_name.nil?
|
211
|
+
invalid_properties.push('invalid value for "protocol_name", protocol_name cannot be nil.')
|
212
|
+
end
|
213
|
+
|
214
|
+
if @contract_name.nil?
|
215
|
+
invalid_properties.push('invalid value for "contract_name", contract_name cannot be nil.')
|
216
|
+
end
|
217
|
+
|
218
|
+
if @event_name.nil?
|
219
|
+
invalid_properties.push('invalid value for "event_name", event_name cannot be nil.')
|
220
|
+
end
|
221
|
+
|
222
|
+
if @sig.nil?
|
223
|
+
invalid_properties.push('invalid value for "sig", sig cannot be nil.')
|
224
|
+
end
|
225
|
+
|
226
|
+
if @four_bytes.nil?
|
227
|
+
invalid_properties.push('invalid value for "four_bytes", four_bytes cannot be nil.')
|
228
|
+
end
|
229
|
+
|
230
|
+
if @contract_address.nil?
|
231
|
+
invalid_properties.push('invalid value for "contract_address", contract_address cannot be nil.')
|
232
|
+
end
|
233
|
+
|
234
|
+
if @block_time.nil?
|
235
|
+
invalid_properties.push('invalid value for "block_time", block_time cannot be nil.')
|
236
|
+
end
|
237
|
+
|
238
|
+
if @block_height.nil?
|
239
|
+
invalid_properties.push('invalid value for "block_height", block_height cannot be nil.')
|
240
|
+
end
|
241
|
+
|
242
|
+
if @tx_hash.nil?
|
243
|
+
invalid_properties.push('invalid value for "tx_hash", tx_hash cannot be nil.')
|
244
|
+
end
|
245
|
+
|
246
|
+
if @tx_index.nil?
|
247
|
+
invalid_properties.push('invalid value for "tx_index", tx_index cannot be nil.')
|
248
|
+
end
|
249
|
+
|
250
|
+
if @event_index.nil?
|
251
|
+
invalid_properties.push('invalid value for "event_index", event_index cannot be nil.')
|
252
|
+
end
|
253
|
+
|
254
|
+
if @data.nil?
|
255
|
+
invalid_properties.push('invalid value for "data", data cannot be nil.')
|
256
|
+
end
|
257
|
+
|
180
258
|
invalid_properties
|
181
259
|
end
|
182
260
|
|
@@ -184,6 +262,19 @@ module Coinbase::Client
|
|
184
262
|
# @return true if the model is valid
|
185
263
|
def valid?
|
186
264
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
265
|
+
return false if @network_id.nil?
|
266
|
+
return false if @protocol_name.nil?
|
267
|
+
return false if @contract_name.nil?
|
268
|
+
return false if @event_name.nil?
|
269
|
+
return false if @sig.nil?
|
270
|
+
return false if @four_bytes.nil?
|
271
|
+
return false if @contract_address.nil?
|
272
|
+
return false if @block_time.nil?
|
273
|
+
return false if @block_height.nil?
|
274
|
+
return false if @tx_hash.nil?
|
275
|
+
return false if @tx_index.nil?
|
276
|
+
return false if @event_index.nil?
|
277
|
+
return false if @data.nil?
|
187
278
|
true
|
188
279
|
end
|
189
280
|
|
@@ -192,7 +283,7 @@ module Coinbase::Client
|
|
192
283
|
def ==(o)
|
193
284
|
return true if self.equal?(o)
|
194
285
|
self.class == o.class &&
|
195
|
-
|
286
|
+
network_id == o.network_id &&
|
196
287
|
protocol_name == o.protocol_name &&
|
197
288
|
contract_name == o.contract_name &&
|
198
289
|
event_name == o.event_name &&
|
@@ -216,7 +307,7 @@ module Coinbase::Client
|
|
216
307
|
# Calculates hash code according to all attributes.
|
217
308
|
# @return [Integer] Hash code
|
218
309
|
def hash
|
219
|
-
[
|
310
|
+
[network_id, protocol_name, contract_name, event_name, sig, four_bytes, contract_address, block_time, block_height, tx_hash, tx_index, event_index, data].hash
|
220
311
|
end
|
221
312
|
|
222
313
|
# Builds the object from hash
|
@@ -21,11 +21,15 @@ module Coinbase::Client
|
|
21
21
|
# An attestation signed by the private key that is associated with the wallet. The attestation will be a hex-encoded signature of a json payload with fields `wallet_id` and `public_key`, signed by the private key associated with the public_key set in the request.
|
22
22
|
attr_accessor :attestation
|
23
23
|
|
24
|
+
# The index of the address within the wallet.
|
25
|
+
attr_accessor :address_index
|
26
|
+
|
24
27
|
# Attribute mapping from ruby-style variable name to JSON key.
|
25
28
|
def self.attribute_map
|
26
29
|
{
|
27
30
|
:'public_key' => :'public_key',
|
28
|
-
:'attestation' => :'attestation'
|
31
|
+
:'attestation' => :'attestation',
|
32
|
+
:'address_index' => :'address_index'
|
29
33
|
}
|
30
34
|
end
|
31
35
|
|
@@ -38,7 +42,8 @@ module Coinbase::Client
|
|
38
42
|
def self.openapi_types
|
39
43
|
{
|
40
44
|
:'public_key' => :'String',
|
41
|
-
:'attestation' => :'String'
|
45
|
+
:'attestation' => :'String',
|
46
|
+
:'address_index' => :'Integer'
|
42
47
|
}
|
43
48
|
end
|
44
49
|
|
@@ -70,6 +75,10 @@ module Coinbase::Client
|
|
70
75
|
if attributes.key?(:'attestation')
|
71
76
|
self.attestation = attributes[:'attestation']
|
72
77
|
end
|
78
|
+
|
79
|
+
if attributes.key?(:'address_index')
|
80
|
+
self.address_index = attributes[:'address_index']
|
81
|
+
end
|
73
82
|
end
|
74
83
|
|
75
84
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -93,7 +102,8 @@ module Coinbase::Client
|
|
93
102
|
return true if self.equal?(o)
|
94
103
|
self.class == o.class &&
|
95
104
|
public_key == o.public_key &&
|
96
|
-
attestation == o.attestation
|
105
|
+
attestation == o.attestation &&
|
106
|
+
address_index == o.address_index
|
97
107
|
end
|
98
108
|
|
99
109
|
# @see the `==` method
|
@@ -105,7 +115,7 @@ module Coinbase::Client
|
|
105
115
|
# Calculates hash code according to all attributes.
|
106
116
|
# @return [Integer] Hash code
|
107
117
|
def hash
|
108
|
-
[public_key, attestation].hash
|
118
|
+
[public_key, attestation, address_index].hash
|
109
119
|
end
|
110
120
|
|
111
121
|
# Builds the object from hash
|
@@ -27,13 +27,17 @@ module Coinbase::Client
|
|
27
27
|
# The destination address
|
28
28
|
attr_accessor :destination
|
29
29
|
|
30
|
+
# Whether the transfer uses sponsored gas
|
31
|
+
attr_accessor :gasless
|
32
|
+
|
30
33
|
# Attribute mapping from ruby-style variable name to JSON key.
|
31
34
|
def self.attribute_map
|
32
35
|
{
|
33
36
|
:'amount' => :'amount',
|
34
37
|
:'network_id' => :'network_id',
|
35
38
|
:'asset_id' => :'asset_id',
|
36
|
-
:'destination' => :'destination'
|
39
|
+
:'destination' => :'destination',
|
40
|
+
:'gasless' => :'gasless'
|
37
41
|
}
|
38
42
|
end
|
39
43
|
|
@@ -48,7 +52,8 @@ module Coinbase::Client
|
|
48
52
|
:'amount' => :'String',
|
49
53
|
:'network_id' => :'String',
|
50
54
|
:'asset_id' => :'String',
|
51
|
-
:'destination' => :'String'
|
55
|
+
:'destination' => :'String',
|
56
|
+
:'gasless' => :'Boolean'
|
52
57
|
}
|
53
58
|
end
|
54
59
|
|
@@ -96,6 +101,10 @@ module Coinbase::Client
|
|
96
101
|
else
|
97
102
|
self.destination = nil
|
98
103
|
end
|
104
|
+
|
105
|
+
if attributes.key?(:'gasless')
|
106
|
+
self.gasless = attributes[:'gasless']
|
107
|
+
end
|
99
108
|
end
|
100
109
|
|
101
110
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -141,7 +150,8 @@ module Coinbase::Client
|
|
141
150
|
amount == o.amount &&
|
142
151
|
network_id == o.network_id &&
|
143
152
|
asset_id == o.asset_id &&
|
144
|
-
destination == o.destination
|
153
|
+
destination == o.destination &&
|
154
|
+
gasless == o.gasless
|
145
155
|
end
|
146
156
|
|
147
157
|
# @see the `==` method
|
@@ -153,7 +163,7 @@ module Coinbase::Client
|
|
153
163
|
# Calculates hash code according to all attributes.
|
154
164
|
# @return [Integer] Hash code
|
155
165
|
def hash
|
156
|
-
[amount, network_id, asset_id, destination].hash
|
166
|
+
[amount, network_id, asset_id, destination, gasless].hash
|
157
167
|
end
|
158
168
|
|
159
169
|
# Builds the object from hash
|
@@ -23,7 +23,7 @@ module Coinbase::Client
|
|
23
23
|
attr_accessor :public_key
|
24
24
|
|
25
25
|
# The address to which the validator's rewards are sent.
|
26
|
-
attr_accessor :
|
26
|
+
attr_accessor :withdrawal_address
|
27
27
|
|
28
28
|
# Whether the validator has been slashed.
|
29
29
|
attr_accessor :slashed
|
@@ -46,7 +46,7 @@ module Coinbase::Client
|
|
46
46
|
{
|
47
47
|
:'index' => :'index',
|
48
48
|
:'public_key' => :'public_key',
|
49
|
-
:'
|
49
|
+
:'withdrawal_address' => :'withdrawal_address',
|
50
50
|
:'slashed' => :'slashed',
|
51
51
|
:'activation_epoch' => :'activationEpoch',
|
52
52
|
:'exit_epoch' => :'exitEpoch',
|
@@ -66,7 +66,7 @@ module Coinbase::Client
|
|
66
66
|
{
|
67
67
|
:'index' => :'String',
|
68
68
|
:'public_key' => :'String',
|
69
|
-
:'
|
69
|
+
:'withdrawal_address' => :'String',
|
70
70
|
:'slashed' => :'Boolean',
|
71
71
|
:'activation_epoch' => :'String',
|
72
72
|
:'exit_epoch' => :'String',
|
@@ -109,10 +109,10 @@ module Coinbase::Client
|
|
109
109
|
self.public_key = nil
|
110
110
|
end
|
111
111
|
|
112
|
-
if attributes.key?(:'
|
113
|
-
self.
|
112
|
+
if attributes.key?(:'withdrawal_address')
|
113
|
+
self.withdrawal_address = attributes[:'withdrawal_address']
|
114
114
|
else
|
115
|
-
self.
|
115
|
+
self.withdrawal_address = nil
|
116
116
|
end
|
117
117
|
|
118
118
|
if attributes.key?(:'slashed')
|
@@ -165,8 +165,8 @@ module Coinbase::Client
|
|
165
165
|
invalid_properties.push('invalid value for "public_key", public_key cannot be nil.')
|
166
166
|
end
|
167
167
|
|
168
|
-
if @
|
169
|
-
invalid_properties.push('invalid value for "
|
168
|
+
if @withdrawal_address.nil?
|
169
|
+
invalid_properties.push('invalid value for "withdrawal_address", withdrawal_address cannot be nil.')
|
170
170
|
end
|
171
171
|
|
172
172
|
if @slashed.nil?
|
@@ -202,7 +202,7 @@ module Coinbase::Client
|
|
202
202
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
203
203
|
return false if @index.nil?
|
204
204
|
return false if @public_key.nil?
|
205
|
-
return false if @
|
205
|
+
return false if @withdrawal_address.nil?
|
206
206
|
return false if @slashed.nil?
|
207
207
|
return false if @activation_epoch.nil?
|
208
208
|
return false if @exit_epoch.nil?
|
@@ -219,7 +219,7 @@ module Coinbase::Client
|
|
219
219
|
self.class == o.class &&
|
220
220
|
index == o.index &&
|
221
221
|
public_key == o.public_key &&
|
222
|
-
|
222
|
+
withdrawal_address == o.withdrawal_address &&
|
223
223
|
slashed == o.slashed &&
|
224
224
|
activation_epoch == o.activation_epoch &&
|
225
225
|
exit_epoch == o.exit_epoch &&
|
@@ -237,7 +237,7 @@ module Coinbase::Client
|
|
237
237
|
# Calculates hash code according to all attributes.
|
238
238
|
# @return [Integer] Hash code
|
239
239
|
def hash
|
240
|
-
[index, public_key,
|
240
|
+
[index, public_key, withdrawal_address, slashed, activation_epoch, exit_epoch, withdrawable_epoch, balance, effective_balance].hash
|
241
241
|
end
|
242
242
|
|
243
243
|
# Builds the object from hash
|
@@ -19,9 +19,10 @@ module Coinbase::Client
|
|
19
19
|
TRADE = "trade".freeze
|
20
20
|
FAUCET = "faucet".freeze
|
21
21
|
SERVER_SIGNER = "server_signer".freeze
|
22
|
+
UNKNOWN_DEFAULT_OPEN_API = "unknown_default_open_api".freeze
|
22
23
|
|
23
24
|
def self.all_vars
|
24
|
-
@all_vars ||= [TRANSFER, TRADE, FAUCET, SERVER_SIGNER].freeze
|
25
|
+
@all_vars ||= [TRANSFER, TRADE, FAUCET, SERVER_SIGNER, UNKNOWN_DEFAULT_OPEN_API].freeze
|
25
26
|
end
|
26
27
|
|
27
28
|
# Builds the enum from string
|