coinbase-sdk 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,242 @@
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.5.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Coinbase::Client
16
+ class ExternalAddressesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get the balance of an asset in an external address
23
+ # Get the balance of an asset in an external address
24
+ # @param network_id [String] The ID of the blockchain network
25
+ # @param address_id [String] The ID of the address to fetch the balance for
26
+ # @param asset_id [String] The ID of the asset to fetch the balance for
27
+ # @param [Hash] opts the optional parameters
28
+ # @return [Balance]
29
+ def get_external_address_balance(network_id, address_id, asset_id, opts = {})
30
+ data, _status_code, _headers = get_external_address_balance_with_http_info(network_id, address_id, asset_id, opts)
31
+ data
32
+ end
33
+
34
+ # Get the balance of an asset in an external address
35
+ # Get the balance of an asset in an external address
36
+ # @param network_id [String] The ID of the blockchain network
37
+ # @param address_id [String] The ID of the address to fetch the balance for
38
+ # @param asset_id [String] The ID of the asset to fetch the balance for
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [Array<(Balance, Integer, Hash)>] Balance data, response status code and response headers
41
+ def get_external_address_balance_with_http_info(network_id, address_id, asset_id, opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: ExternalAddressesApi.get_external_address_balance ...'
44
+ end
45
+ # verify the required parameter 'network_id' is set
46
+ if @api_client.config.client_side_validation && network_id.nil?
47
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling ExternalAddressesApi.get_external_address_balance"
48
+ end
49
+ # verify the required parameter 'address_id' is set
50
+ if @api_client.config.client_side_validation && address_id.nil?
51
+ fail ArgumentError, "Missing the required parameter 'address_id' when calling ExternalAddressesApi.get_external_address_balance"
52
+ end
53
+ # verify the required parameter 'asset_id' is set
54
+ if @api_client.config.client_side_validation && asset_id.nil?
55
+ fail ArgumentError, "Missing the required parameter 'asset_id' when calling ExternalAddressesApi.get_external_address_balance"
56
+ end
57
+ # resource path
58
+ local_var_path = '/v1/networks/{network_id}/addresses/{address_id}/balances/{asset_id}'.sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s)).sub('{' + 'address_id' + '}', CGI.escape(address_id.to_s)).sub('{' + 'asset_id' + '}', CGI.escape(asset_id.to_s))
59
+
60
+ # query parameters
61
+ query_params = opts[:query_params] || {}
62
+
63
+ # header parameters
64
+ header_params = opts[:header_params] || {}
65
+ # HTTP header 'Accept' (if needed)
66
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
67
+
68
+ # form parameters
69
+ form_params = opts[:form_params] || {}
70
+
71
+ # http body (model)
72
+ post_body = opts[:debug_body]
73
+
74
+ # return_type
75
+ return_type = opts[:debug_return_type] || 'Balance'
76
+
77
+ # auth_names
78
+ auth_names = opts[:debug_auth_names] || []
79
+
80
+ new_options = opts.merge(
81
+ :operation => :"ExternalAddressesApi.get_external_address_balance",
82
+ :header_params => header_params,
83
+ :query_params => query_params,
84
+ :form_params => form_params,
85
+ :body => post_body,
86
+ :auth_names => auth_names,
87
+ :return_type => return_type
88
+ )
89
+
90
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
91
+ if @api_client.config.debugging
92
+ @api_client.config.logger.debug "API called: ExternalAddressesApi#get_external_address_balance\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
93
+ end
94
+ return data, status_code, headers
95
+ end
96
+
97
+ # Get the balances of an external address
98
+ # List all of the balances of an external address
99
+ # @param network_id [String] The ID of the blockchain network
100
+ # @param address_id [String] The ID of the address to fetch the balance for
101
+ # @param [Hash] opts the optional parameters
102
+ # @option opts [String] :page A cursor for pagination across multiple pages of results. Don&#39;t include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
103
+ # @return [AddressBalanceList]
104
+ def list_external_address_balances(network_id, address_id, opts = {})
105
+ data, _status_code, _headers = list_external_address_balances_with_http_info(network_id, address_id, opts)
106
+ data
107
+ end
108
+
109
+ # Get the balances of an external address
110
+ # List all of the balances of an external address
111
+ # @param network_id [String] The ID of the blockchain network
112
+ # @param address_id [String] The ID of the address to fetch the balance for
113
+ # @param [Hash] opts the optional parameters
114
+ # @option opts [String] :page A cursor for pagination across multiple pages of results. Don&#39;t include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
115
+ # @return [Array<(AddressBalanceList, Integer, Hash)>] AddressBalanceList data, response status code and response headers
116
+ def list_external_address_balances_with_http_info(network_id, address_id, opts = {})
117
+ if @api_client.config.debugging
118
+ @api_client.config.logger.debug 'Calling API: ExternalAddressesApi.list_external_address_balances ...'
119
+ end
120
+ # verify the required parameter 'network_id' is set
121
+ if @api_client.config.client_side_validation && network_id.nil?
122
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling ExternalAddressesApi.list_external_address_balances"
123
+ end
124
+ # verify the required parameter 'address_id' is set
125
+ if @api_client.config.client_side_validation && address_id.nil?
126
+ fail ArgumentError, "Missing the required parameter 'address_id' when calling ExternalAddressesApi.list_external_address_balances"
127
+ end
128
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'].to_s.length > 5000
129
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ExternalAddressesApi.list_external_address_balances, the character length must be smaller than or equal to 5000.'
130
+ end
131
+
132
+ # resource path
133
+ local_var_path = '/v1/networks/{network_id}/addresses/{address_id}/balances'.sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s)).sub('{' + 'address_id' + '}', CGI.escape(address_id.to_s))
134
+
135
+ # query parameters
136
+ query_params = opts[:query_params] || {}
137
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
138
+
139
+ # header parameters
140
+ header_params = opts[:header_params] || {}
141
+ # HTTP header 'Accept' (if needed)
142
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
143
+
144
+ # form parameters
145
+ form_params = opts[:form_params] || {}
146
+
147
+ # http body (model)
148
+ post_body = opts[:debug_body]
149
+
150
+ # return_type
151
+ return_type = opts[:debug_return_type] || 'AddressBalanceList'
152
+
153
+ # auth_names
154
+ auth_names = opts[:debug_auth_names] || []
155
+
156
+ new_options = opts.merge(
157
+ :operation => :"ExternalAddressesApi.list_external_address_balances",
158
+ :header_params => header_params,
159
+ :query_params => query_params,
160
+ :form_params => form_params,
161
+ :body => post_body,
162
+ :auth_names => auth_names,
163
+ :return_type => return_type
164
+ )
165
+
166
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
167
+ if @api_client.config.debugging
168
+ @api_client.config.logger.debug "API called: ExternalAddressesApi#list_external_address_balances\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
169
+ end
170
+ return data, status_code, headers
171
+ end
172
+
173
+ # Request faucet funds for external address.
174
+ # Request faucet funds to be sent to external address.
175
+ # @param network_id [String] The ID of the wallet the address belongs to.
176
+ # @param address_id [String] The onchain address of the address that is being fetched.
177
+ # @param [Hash] opts the optional parameters
178
+ # @return [FaucetTransaction]
179
+ def request_external_faucet_funds(network_id, address_id, opts = {})
180
+ data, _status_code, _headers = request_external_faucet_funds_with_http_info(network_id, address_id, opts)
181
+ data
182
+ end
183
+
184
+ # Request faucet funds for external address.
185
+ # Request faucet funds to be sent to external address.
186
+ # @param network_id [String] The ID of the wallet the address belongs to.
187
+ # @param address_id [String] The onchain address of the address that is being fetched.
188
+ # @param [Hash] opts the optional parameters
189
+ # @return [Array<(FaucetTransaction, Integer, Hash)>] FaucetTransaction data, response status code and response headers
190
+ def request_external_faucet_funds_with_http_info(network_id, address_id, opts = {})
191
+ if @api_client.config.debugging
192
+ @api_client.config.logger.debug 'Calling API: ExternalAddressesApi.request_external_faucet_funds ...'
193
+ end
194
+ # verify the required parameter 'network_id' is set
195
+ if @api_client.config.client_side_validation && network_id.nil?
196
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling ExternalAddressesApi.request_external_faucet_funds"
197
+ end
198
+ # verify the required parameter 'address_id' is set
199
+ if @api_client.config.client_side_validation && address_id.nil?
200
+ fail ArgumentError, "Missing the required parameter 'address_id' when calling ExternalAddressesApi.request_external_faucet_funds"
201
+ end
202
+ # resource path
203
+ local_var_path = '/v1/networks/{network_id}/addresses/{address_id}/faucet'.sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s)).sub('{' + 'address_id' + '}', CGI.escape(address_id.to_s))
204
+
205
+ # query parameters
206
+ query_params = opts[:query_params] || {}
207
+
208
+ # header parameters
209
+ header_params = opts[:header_params] || {}
210
+ # HTTP header 'Accept' (if needed)
211
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
212
+
213
+ # form parameters
214
+ form_params = opts[:form_params] || {}
215
+
216
+ # http body (model)
217
+ post_body = opts[:debug_body]
218
+
219
+ # return_type
220
+ return_type = opts[:debug_return_type] || 'FaucetTransaction'
221
+
222
+ # auth_names
223
+ auth_names = opts[:debug_auth_names] || []
224
+
225
+ new_options = opts.merge(
226
+ :operation => :"ExternalAddressesApi.request_external_faucet_funds",
227
+ :header_params => header_params,
228
+ :query_params => query_params,
229
+ :form_params => form_params,
230
+ :body => post_body,
231
+ :auth_names => auth_names,
232
+ :return_type => return_type
233
+ )
234
+
235
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
236
+ if @api_client.config.debugging
237
+ @api_client.config.logger.debug "API called: ExternalAddressesApi#request_external_faucet_funds\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
238
+ end
239
+ return data, status_code, headers
240
+ end
241
+ end
242
+ end
@@ -21,23 +21,27 @@ module Coinbase::Client
21
21
  end
22
22
  # Build a new staking operation
23
23
  # Build a new staking operation
24
+ # @param build_staking_operation_request [BuildStakingOperationRequest]
24
25
  # @param [Hash] opts the optional parameters
25
- # @option opts [BuildStakingOperationRequest] :build_staking_operation_request
26
26
  # @return [StakingOperation]
27
- def build_staking_operation(opts = {})
28
- data, _status_code, _headers = build_staking_operation_with_http_info(opts)
27
+ def build_staking_operation(build_staking_operation_request, opts = {})
28
+ data, _status_code, _headers = build_staking_operation_with_http_info(build_staking_operation_request, opts)
29
29
  data
30
30
  end
31
31
 
32
32
  # Build a new staking operation
33
33
  # Build a new staking operation
34
+ # @param build_staking_operation_request [BuildStakingOperationRequest]
34
35
  # @param [Hash] opts the optional parameters
35
- # @option opts [BuildStakingOperationRequest] :build_staking_operation_request
36
36
  # @return [Array<(StakingOperation, Integer, Hash)>] StakingOperation data, response status code and response headers
37
- def build_staking_operation_with_http_info(opts = {})
37
+ def build_staking_operation_with_http_info(build_staking_operation_request, opts = {})
38
38
  if @api_client.config.debugging
39
39
  @api_client.config.logger.debug 'Calling API: StakeApi.build_staking_operation ...'
40
40
  end
41
+ # verify the required parameter 'build_staking_operation_request' is set
42
+ if @api_client.config.client_side_validation && build_staking_operation_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'build_staking_operation_request' when calling StakeApi.build_staking_operation"
44
+ end
41
45
  # resource path
42
46
  local_var_path = '/v1/stake/build'
43
47
 
@@ -58,7 +62,7 @@ module Coinbase::Client
58
62
  form_params = opts[:form_params] || {}
59
63
 
60
64
  # http body (model)
61
- post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'build_staking_operation_request'])
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(build_staking_operation_request)
62
66
 
63
67
  # return_type
64
68
  return_type = opts[:debug_return_type] || 'StakingOperation'
@@ -82,5 +86,151 @@ module Coinbase::Client
82
86
  end
83
87
  return data, status_code, headers
84
88
  end
89
+
90
+ # Fetch staking rewards
91
+ # Fetch staking rewards for a list of addresses
92
+ # @param fetch_staking_rewards_request [FetchStakingRewardsRequest]
93
+ # @param [Hash] opts the optional parameters
94
+ # @option opts [Integer] :limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 50.
95
+ # @option opts [String] :page A cursor for pagination across multiple pages of results. Don&#39;t include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
96
+ # @return [FetchStakingRewards200Response]
97
+ def fetch_staking_rewards(fetch_staking_rewards_request, opts = {})
98
+ data, _status_code, _headers = fetch_staking_rewards_with_http_info(fetch_staking_rewards_request, opts)
99
+ data
100
+ end
101
+
102
+ # Fetch staking rewards
103
+ # Fetch staking rewards for a list of addresses
104
+ # @param fetch_staking_rewards_request [FetchStakingRewardsRequest]
105
+ # @param [Hash] opts the optional parameters
106
+ # @option opts [Integer] :limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 50.
107
+ # @option opts [String] :page A cursor for pagination across multiple pages of results. Don&#39;t include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
108
+ # @return [Array<(FetchStakingRewards200Response, Integer, Hash)>] FetchStakingRewards200Response data, response status code and response headers
109
+ def fetch_staking_rewards_with_http_info(fetch_staking_rewards_request, opts = {})
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug 'Calling API: StakeApi.fetch_staking_rewards ...'
112
+ end
113
+ # verify the required parameter 'fetch_staking_rewards_request' is set
114
+ if @api_client.config.client_side_validation && fetch_staking_rewards_request.nil?
115
+ fail ArgumentError, "Missing the required parameter 'fetch_staking_rewards_request' when calling StakeApi.fetch_staking_rewards"
116
+ end
117
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'].to_s.length > 5000
118
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling StakeApi.fetch_staking_rewards, the character length must be smaller than or equal to 5000.'
119
+ end
120
+
121
+ # resource path
122
+ local_var_path = '/v1/stake/rewards/search'
123
+
124
+ # query parameters
125
+ query_params = opts[:query_params] || {}
126
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
127
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
128
+
129
+ # header parameters
130
+ header_params = opts[:header_params] || {}
131
+ # HTTP header 'Accept' (if needed)
132
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
133
+ # HTTP header 'Content-Type'
134
+ content_type = @api_client.select_header_content_type(['application/json'])
135
+ if !content_type.nil?
136
+ header_params['Content-Type'] = content_type
137
+ end
138
+
139
+ # form parameters
140
+ form_params = opts[:form_params] || {}
141
+
142
+ # http body (model)
143
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(fetch_staking_rewards_request)
144
+
145
+ # return_type
146
+ return_type = opts[:debug_return_type] || 'FetchStakingRewards200Response'
147
+
148
+ # auth_names
149
+ auth_names = opts[:debug_auth_names] || []
150
+
151
+ new_options = opts.merge(
152
+ :operation => :"StakeApi.fetch_staking_rewards",
153
+ :header_params => header_params,
154
+ :query_params => query_params,
155
+ :form_params => form_params,
156
+ :body => post_body,
157
+ :auth_names => auth_names,
158
+ :return_type => return_type
159
+ )
160
+
161
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
162
+ if @api_client.config.debugging
163
+ @api_client.config.logger.debug "API called: StakeApi#fetch_staking_rewards\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
164
+ end
165
+ return data, status_code, headers
166
+ end
167
+
168
+ # Get staking context
169
+ # Get staking context for an address
170
+ # @param get_staking_context_request [GetStakingContextRequest]
171
+ # @param [Hash] opts the optional parameters
172
+ # @return [StakingContext]
173
+ def get_staking_context(get_staking_context_request, opts = {})
174
+ data, _status_code, _headers = get_staking_context_with_http_info(get_staking_context_request, opts)
175
+ data
176
+ end
177
+
178
+ # Get staking context
179
+ # Get staking context for an address
180
+ # @param get_staking_context_request [GetStakingContextRequest]
181
+ # @param [Hash] opts the optional parameters
182
+ # @return [Array<(StakingContext, Integer, Hash)>] StakingContext data, response status code and response headers
183
+ def get_staking_context_with_http_info(get_staking_context_request, opts = {})
184
+ if @api_client.config.debugging
185
+ @api_client.config.logger.debug 'Calling API: StakeApi.get_staking_context ...'
186
+ end
187
+ # verify the required parameter 'get_staking_context_request' is set
188
+ if @api_client.config.client_side_validation && get_staking_context_request.nil?
189
+ fail ArgumentError, "Missing the required parameter 'get_staking_context_request' when calling StakeApi.get_staking_context"
190
+ end
191
+ # resource path
192
+ local_var_path = '/v1/stake/context'
193
+
194
+ # query parameters
195
+ query_params = opts[:query_params] || {}
196
+
197
+ # header parameters
198
+ header_params = opts[:header_params] || {}
199
+ # HTTP header 'Accept' (if needed)
200
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
201
+ # HTTP header 'Content-Type'
202
+ content_type = @api_client.select_header_content_type(['application/json'])
203
+ if !content_type.nil?
204
+ header_params['Content-Type'] = content_type
205
+ end
206
+
207
+ # form parameters
208
+ form_params = opts[:form_params] || {}
209
+
210
+ # http body (model)
211
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(get_staking_context_request)
212
+
213
+ # return_type
214
+ return_type = opts[:debug_return_type] || 'StakingContext'
215
+
216
+ # auth_names
217
+ auth_names = opts[:debug_auth_names] || []
218
+
219
+ new_options = opts.merge(
220
+ :operation => :"StakeApi.get_staking_context",
221
+ :header_params => header_params,
222
+ :query_params => query_params,
223
+ :form_params => form_params,
224
+ :body => post_body,
225
+ :auth_names => auth_names,
226
+ :return_type => return_type
227
+ )
228
+
229
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
230
+ if @api_client.config.debugging
231
+ @api_client.config.logger.debug "API called: StakeApi#get_staking_context\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
232
+ end
233
+ return data, status_code, headers
234
+ end
85
235
  end
86
236
  end
@@ -0,0 +1,114 @@
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.5.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Coinbase::Client
16
+ class TransferApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Build a new transfer
23
+ # Build a new transfer object without tracking anything server-side.
24
+ # @param network_id [String] The ID of the blockchain network
25
+ # @param address_id [String] The ID of the address to transfer from
26
+ # @param amount [String] The amount to transfer
27
+ # @param asset_id [String] The ID of the asset to transfer
28
+ # @param destination [String] The destination address
29
+ # @param [Hash] opts the optional parameters
30
+ # @return [Transfer]
31
+ def build_transfer(network_id, address_id, amount, asset_id, destination, opts = {})
32
+ data, _status_code, _headers = build_transfer_with_http_info(network_id, address_id, amount, asset_id, destination, opts)
33
+ data
34
+ end
35
+
36
+ # Build a new transfer
37
+ # Build a new transfer object without tracking anything server-side.
38
+ # @param network_id [String] The ID of the blockchain network
39
+ # @param address_id [String] The ID of the address to transfer from
40
+ # @param amount [String] The amount to transfer
41
+ # @param asset_id [String] The ID of the asset to transfer
42
+ # @param destination [String] The destination address
43
+ # @param [Hash] opts the optional parameters
44
+ # @return [Array<(Transfer, Integer, Hash)>] Transfer data, response status code and response headers
45
+ def build_transfer_with_http_info(network_id, address_id, amount, asset_id, destination, opts = {})
46
+ if @api_client.config.debugging
47
+ @api_client.config.logger.debug 'Calling API: TransferApi.build_transfer ...'
48
+ end
49
+ # verify the required parameter 'network_id' is set
50
+ if @api_client.config.client_side_validation && network_id.nil?
51
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling TransferApi.build_transfer"
52
+ end
53
+ # verify the required parameter 'address_id' is set
54
+ if @api_client.config.client_side_validation && address_id.nil?
55
+ fail ArgumentError, "Missing the required parameter 'address_id' when calling TransferApi.build_transfer"
56
+ end
57
+ # verify the required parameter 'amount' is set
58
+ if @api_client.config.client_side_validation && amount.nil?
59
+ fail ArgumentError, "Missing the required parameter 'amount' when calling TransferApi.build_transfer"
60
+ end
61
+ # verify the required parameter 'asset_id' is set
62
+ if @api_client.config.client_side_validation && asset_id.nil?
63
+ fail ArgumentError, "Missing the required parameter 'asset_id' when calling TransferApi.build_transfer"
64
+ end
65
+ # verify the required parameter 'destination' is set
66
+ if @api_client.config.client_side_validation && destination.nil?
67
+ fail ArgumentError, "Missing the required parameter 'destination' when calling TransferApi.build_transfer"
68
+ end
69
+ # resource path
70
+ local_var_path = '/v1/transfers/build'
71
+
72
+ # query parameters
73
+ query_params = opts[:query_params] || {}
74
+ query_params[:'network_id'] = network_id
75
+ query_params[:'address_id'] = address_id
76
+ query_params[:'amount'] = amount
77
+ query_params[:'asset_id'] = asset_id
78
+ query_params[:'destination'] = destination
79
+
80
+ # header parameters
81
+ header_params = opts[:header_params] || {}
82
+ # HTTP header 'Accept' (if needed)
83
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
84
+
85
+ # form parameters
86
+ form_params = opts[:form_params] || {}
87
+
88
+ # http body (model)
89
+ post_body = opts[:debug_body]
90
+
91
+ # return_type
92
+ return_type = opts[:debug_return_type] || 'Transfer'
93
+
94
+ # auth_names
95
+ auth_names = opts[:debug_auth_names] || []
96
+
97
+ new_options = opts.merge(
98
+ :operation => :"TransferApi.build_transfer",
99
+ :header_params => header_params,
100
+ :query_params => query_params,
101
+ :form_params => form_params,
102
+ :body => post_body,
103
+ :auth_names => auth_names,
104
+ :return_type => return_type
105
+ )
106
+
107
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
108
+ if @api_client.config.debugging
109
+ @api_client.config.logger.debug "API called: TransferApi#build_transfer\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
110
+ end
111
+ return data, status_code, headers
112
+ end
113
+ end
114
+ end