tapyrus-api-client 0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +68 -0
  4. data/README.md +183 -0
  5. data/Rakefile +10 -0
  6. data/docs/AddTimestampRequest.md +20 -0
  7. data/docs/AddressApi.md +142 -0
  8. data/docs/CreateUserRequest.md +24 -0
  9. data/docs/GetAddressesResponse.md +20 -0
  10. data/docs/GetTokensResponse.md +20 -0
  11. data/docs/IssueTokenRequest.md +20 -0
  12. data/docs/PaymentApi.md +76 -0
  13. data/docs/PaymentRequest.md +22 -0
  14. data/docs/PaymentResponse.md +18 -0
  15. data/docs/ReissueTokenRequest.md +18 -0
  16. data/docs/TimestampApi.md +139 -0
  17. data/docs/TokenApi.md +355 -0
  18. data/docs/TokenResponse.md +20 -0
  19. data/docs/TransferTokenRequest.md +20 -0
  20. data/docs/UserApi.md +140 -0
  21. data/docs/UserinfoResponse.md +22 -0
  22. data/docs/UserinfoResponseBalances.md +18 -0
  23. data/git_push.sh +58 -0
  24. data/lib/tapyrus-api-client.rb +56 -0
  25. data/lib/tapyrus-api-client/api/address_api.rb +142 -0
  26. data/lib/tapyrus-api-client/api/payment_api.rb +83 -0
  27. data/lib/tapyrus-api-client/api/timestamp_api.rb +138 -0
  28. data/lib/tapyrus-api-client/api/token_api.rb +345 -0
  29. data/lib/tapyrus-api-client/api/user_api.rb +145 -0
  30. data/lib/tapyrus-api-client/api_client.rb +389 -0
  31. data/lib/tapyrus-api-client/api_error.rb +57 -0
  32. data/lib/tapyrus-api-client/configuration.rb +270 -0
  33. data/lib/tapyrus-api-client/models/add_timestamp_request.rb +232 -0
  34. data/lib/tapyrus-api-client/models/create_user_request.rb +269 -0
  35. data/lib/tapyrus-api-client/models/get_addresses_response.rb +229 -0
  36. data/lib/tapyrus-api-client/models/get_tokens_response.rb +227 -0
  37. data/lib/tapyrus-api-client/models/issue_token_request.rb +232 -0
  38. data/lib/tapyrus-api-client/models/payment_request.rb +246 -0
  39. data/lib/tapyrus-api-client/models/payment_response.rb +218 -0
  40. data/lib/tapyrus-api-client/models/reissue_token_request.rb +223 -0
  41. data/lib/tapyrus-api-client/models/token_response.rb +227 -0
  42. data/lib/tapyrus-api-client/models/transfer_token_request.rb +232 -0
  43. data/lib/tapyrus-api-client/models/userinfo_response.rb +238 -0
  44. data/lib/tapyrus-api-client/models/userinfo_response_balances.rb +218 -0
  45. data/lib/tapyrus-api-client/version.rb +15 -0
  46. data/spec/api/address_api_spec.rb +59 -0
  47. data/spec/api/payment_api_spec.rb +47 -0
  48. data/spec/api/timestamp_api_spec.rb +58 -0
  49. data/spec/api/token_api_spec.rb +98 -0
  50. data/spec/api/user_api_spec.rb +59 -0
  51. data/spec/api_client_spec.rb +226 -0
  52. data/spec/configuration_spec.rb +42 -0
  53. data/spec/models/add_timestamp_request_spec.rb +40 -0
  54. data/spec/models/create_user_request_spec.rb +52 -0
  55. data/spec/models/get_addresses_response_spec.rb +40 -0
  56. data/spec/models/get_tokens_response_spec.rb +40 -0
  57. data/spec/models/issue_token_request_spec.rb +40 -0
  58. data/spec/models/payment_request_spec.rb +46 -0
  59. data/spec/models/payment_response_spec.rb +34 -0
  60. data/spec/models/reissue_token_request_spec.rb +34 -0
  61. data/spec/models/token_response_spec.rb +40 -0
  62. data/spec/models/transfer_token_request_spec.rb +40 -0
  63. data/spec/models/userinfo_response_balances_spec.rb +34 -0
  64. data/spec/models/userinfo_response_spec.rb +46 -0
  65. data/spec/spec_helper.rb +111 -0
  66. data/tapyrus-api-client.gemspec +38 -0
  67. metadata +192 -0
@@ -0,0 +1,83 @@
1
+ =begin
2
+ #Tapyrus API
3
+
4
+ ## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていくことを予定しています。 * Payment: TPC(Tapyrus Coin) の送金 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 Tapyrus ブロックチェーンについては以下の情報を参照してください。 * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/) * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core) ## Tapyrus API の利用法 Tapyrus API は REST API として提供されています。利用を開始するためには、Tapyrus API の `エンドポイント` に対して、 `認証` 済みの トークンを使いアクセスする必要があります。また、認証されたユーザはそれぞれが自身のウォレットを Tapyrus API 内部に持つことになります。 ウォレットではそのユーザの TPC やトークンといったアセットを管理するための鍵が管理され、アセットの移動などで利用されます。 ### Tapyrus API のエンドポイント エンドポイントは以下のフォーマットで作成され、 chaintope より提供されます。 `ap-01.tapyrus.chaintope.com` 例えば [testnet](https://testnet-explorer.tapyrus.dev.chaintope.com/blocks) では以下のようになります。 `testnet-api.tapyrus.chaintope.com` testnet は誰でも利用可能な動作の確認用のネットワークであり、予告なくリセットされる可能性があります。 利用に必要な TPC は [faucet](https://testnet-faucet.tapyrus.dev.chaintope.com) から取得できます。 * [faucet](https://testnet-faucet.tapyrus.dev.chaintope.com) ### OpenID Connect を使った認証 Tapyrus API では [OpenID Connect](https://openid.net/connect/) を使った認証をサポートします。この認証を利用するためには、 以下のステップを踏みます。 1. 利用する OpenID Provider(OP) を選択する 公開された OP から選択する方法と、自身で OP を構築する方法があります。独自のユーザデータベースがあり、そのユーザに Tapyrus API を利用させる場合は後者の自身で OP を構築する方法を選択することになります。 2. OAuth 2.0 Client Credential を入手する 多くの公開された OP では、アプリケーションを登録して Client Credential を入手する必要があります。手順は利用する OP に従ってください。 3. Access Token と ID Token を入手する OpenID Connect に沿った認証を行い、 token エンドポイントから ID Token を入手します。 4. Tapyrus API ユーザを作成する 入手した Access Token と ID Token を Tapyrus API の [createUser API](https://doc.api.tapyrus.chaintope.com/#operation/createUser) へ送り、 Tapyrus API のユーザを作成します。 コード例を後述の Getting Started ドキュメントで解説していますので、そちらを参照してください。 ## Tapyrus API ユーザとウォレットについて 認証により得たアクセストークンを使い、Tapyrus API ユーザを1つ作成する必要があります。 Tapyrus API の内部では、このユーザ1つにつき1つのウォレットが作成されます。 ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されており、同時にそれらのカギに紐づくアセットも管理されます。 そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。 # Getting Started Getting Started ドキュメントでは実際のコード例を交えながらより具体的な Tapyrus API の利用法を解説しています。 * [Getting Started - [Javascript] Tapyrus API を利用するウェブアプリケーションの開発を学ぶ](https://github.com/chaintope/tapyrus-api-client-examples/tree/main/javascript/GettingStarted-ja.md)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module TapyrusApiClient
16
+ class PaymentApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # 資金の送金
23
+ # 指定したアドレスに任意のtapyrusを送金します。
24
+ # @param [Hash] opts the optional parameters
25
+ # @option opts [PaymentRequest] :payment_request `address`, `amount`を受け取り、アドレスに対して指定した額の資金(tapyrus)を送金します。 任意で`fee`を設定し、送金手数料を指定できます。
26
+ # @return [PaymentResponse]
27
+ def transfer(opts = {})
28
+ data, _status_code, _headers = transfer_with_http_info(opts)
29
+ data
30
+ end
31
+
32
+ # 資金の送金
33
+ # 指定したアドレスに任意のtapyrusを送金します。
34
+ # @param [Hash] opts the optional parameters
35
+ # @option opts [PaymentRequest] :payment_request `address`, `amount`を受け取り、アドレスに対して指定した額の資金(tapyrus)を送金します。 任意で`fee`を設定し、送金手数料を指定できます。
36
+ # @return [Array<(PaymentResponse, Integer, Hash)>] PaymentResponse data, response status code and response headers
37
+ def transfer_with_http_info(opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: PaymentApi.transfer ...'
40
+ end
41
+ # resource path
42
+ local_var_path = '/payment'
43
+
44
+ # query parameters
45
+ query_params = opts[:query_params] || {}
46
+
47
+ # header parameters
48
+ header_params = opts[:header_params] || {}
49
+ # HTTP header 'Accept' (if needed)
50
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
51
+ # HTTP header 'Content-Type'
52
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
53
+
54
+ # form parameters
55
+ form_params = opts[:form_params] || {}
56
+
57
+ # http body (model)
58
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'payment_request'])
59
+
60
+ # return_type
61
+ return_type = opts[:debug_return_type] || 'PaymentResponse'
62
+
63
+ # auth_names
64
+ auth_names = opts[:debug_auth_names] || []
65
+
66
+ new_options = opts.merge(
67
+ :operation => :"PaymentApi.transfer",
68
+ :header_params => header_params,
69
+ :query_params => query_params,
70
+ :form_params => form_params,
71
+ :body => post_body,
72
+ :auth_names => auth_names,
73
+ :return_type => return_type
74
+ )
75
+
76
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
77
+ if @api_client.config.debugging
78
+ @api_client.config.logger.debug "API called: PaymentApi#transfer\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
79
+ end
80
+ return data, status_code, headers
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,138 @@
1
+ =begin
2
+ #Tapyrus API
3
+
4
+ ## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていくことを予定しています。 * Payment: TPC(Tapyrus Coin) の送金 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 Tapyrus ブロックチェーンについては以下の情報を参照してください。 * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/) * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core) ## Tapyrus API の利用法 Tapyrus API は REST API として提供されています。利用を開始するためには、Tapyrus API の `エンドポイント` に対して、 `認証` 済みの トークンを使いアクセスする必要があります。また、認証されたユーザはそれぞれが自身のウォレットを Tapyrus API 内部に持つことになります。 ウォレットではそのユーザの TPC やトークンといったアセットを管理するための鍵が管理され、アセットの移動などで利用されます。 ### Tapyrus API のエンドポイント エンドポイントは以下のフォーマットで作成され、 chaintope より提供されます。 `ap-01.tapyrus.chaintope.com` 例えば [testnet](https://testnet-explorer.tapyrus.dev.chaintope.com/blocks) では以下のようになります。 `testnet-api.tapyrus.chaintope.com` testnet は誰でも利用可能な動作の確認用のネットワークであり、予告なくリセットされる可能性があります。 利用に必要な TPC は [faucet](https://testnet-faucet.tapyrus.dev.chaintope.com) から取得できます。 * [faucet](https://testnet-faucet.tapyrus.dev.chaintope.com) ### OpenID Connect を使った認証 Tapyrus API では [OpenID Connect](https://openid.net/connect/) を使った認証をサポートします。この認証を利用するためには、 以下のステップを踏みます。 1. 利用する OpenID Provider(OP) を選択する 公開された OP から選択する方法と、自身で OP を構築する方法があります。独自のユーザデータベースがあり、そのユーザに Tapyrus API を利用させる場合は後者の自身で OP を構築する方法を選択することになります。 2. OAuth 2.0 Client Credential を入手する 多くの公開された OP では、アプリケーションを登録して Client Credential を入手する必要があります。手順は利用する OP に従ってください。 3. Access Token と ID Token を入手する OpenID Connect に沿った認証を行い、 token エンドポイントから ID Token を入手します。 4. Tapyrus API ユーザを作成する 入手した Access Token と ID Token を Tapyrus API の [createUser API](https://doc.api.tapyrus.chaintope.com/#operation/createUser) へ送り、 Tapyrus API のユーザを作成します。 コード例を後述の Getting Started ドキュメントで解説していますので、そちらを参照してください。 ## Tapyrus API ユーザとウォレットについて 認証により得たアクセストークンを使い、Tapyrus API ユーザを1つ作成する必要があります。 Tapyrus API の内部では、このユーザ1つにつき1つのウォレットが作成されます。 ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されており、同時にそれらのカギに紐づくアセットも管理されます。 そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。 # Getting Started Getting Started ドキュメントでは実際のコード例を交えながらより具体的な Tapyrus API の利用法を解説しています。 * [Getting Started - [Javascript] Tapyrus API を利用するウェブアプリケーションの開発を学ぶ](https://github.com/chaintope/tapyrus-api-client-examples/tree/main/javascript/GettingStarted-ja.md)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module TapyrusApiClient
16
+ class TimestampApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Timestampを記録
23
+ # ブロックチェーンにハッシュ値をタイムスタンプとして記録します。
24
+ # @param [Hash] opts the optional parameters
25
+ # @option opts [AddTimestampRequest] :add_timestamp_request &#x60;content_hash&#x60;, &#x60;prefix&#x60;を受け取り、ブロックチェーンにハッシュ値をタイムスタンプとして記録します。
26
+ # @return [nil]
27
+ def add_timestamp(opts = {})
28
+ add_timestamp_with_http_info(opts)
29
+ nil
30
+ end
31
+
32
+ # Timestampを記録
33
+ # ブロックチェーンにハッシュ値をタイムスタンプとして記録します。
34
+ # @param [Hash] opts the optional parameters
35
+ # @option opts [AddTimestampRequest] :add_timestamp_request &#x60;content_hash&#x60;, &#x60;prefix&#x60;を受け取り、ブロックチェーンにハッシュ値をタイムスタンプとして記録します。
36
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
37
+ def add_timestamp_with_http_info(opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: TimestampApi.add_timestamp ...'
40
+ end
41
+ # resource path
42
+ local_var_path = '/timestamp'
43
+
44
+ # query parameters
45
+ query_params = opts[:query_params] || {}
46
+
47
+ # header parameters
48
+ header_params = opts[:header_params] || {}
49
+ # HTTP header 'Content-Type'
50
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
51
+
52
+ # form parameters
53
+ form_params = opts[:form_params] || {}
54
+
55
+ # http body (model)
56
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'add_timestamp_request'])
57
+
58
+ # return_type
59
+ return_type = opts[:debug_return_type]
60
+
61
+ # auth_names
62
+ auth_names = opts[:debug_auth_names] || []
63
+
64
+ new_options = opts.merge(
65
+ :operation => :"TimestampApi.add_timestamp",
66
+ :header_params => header_params,
67
+ :query_params => query_params,
68
+ :form_params => form_params,
69
+ :body => post_body,
70
+ :auth_names => auth_names,
71
+ :return_type => return_type
72
+ )
73
+
74
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
75
+ if @api_client.config.debugging
76
+ @api_client.config.logger.debug "API called: TimestampApi#add_timestamp\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
77
+ end
78
+ return data, status_code, headers
79
+ end
80
+
81
+ # Timestamp一覧表示
82
+ # ブロックチェーンに記録したタイムスタンプを取得し、`content_hash`,`prefix`,`txid`を一覧で表示します。
83
+ # @param [Hash] opts the optional parameters
84
+ # @return [Array<Array>]
85
+ def get_timestamps(opts = {})
86
+ data, _status_code, _headers = get_timestamps_with_http_info(opts)
87
+ data
88
+ end
89
+
90
+ # Timestamp一覧表示
91
+ # ブロックチェーンに記録したタイムスタンプを取得し、&#x60;content_hash&#x60;,&#x60;prefix&#x60;,&#x60;txid&#x60;を一覧で表示します。
92
+ # @param [Hash] opts the optional parameters
93
+ # @return [Array<(Array<Array>, Integer, Hash)>] Array<Array> data, response status code and response headers
94
+ def get_timestamps_with_http_info(opts = {})
95
+ if @api_client.config.debugging
96
+ @api_client.config.logger.debug 'Calling API: TimestampApi.get_timestamps ...'
97
+ end
98
+ # resource path
99
+ local_var_path = '/timestamps'
100
+
101
+ # query parameters
102
+ query_params = opts[:query_params] || {}
103
+
104
+ # header parameters
105
+ header_params = opts[:header_params] || {}
106
+ # HTTP header 'Accept' (if needed)
107
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
108
+
109
+ # form parameters
110
+ form_params = opts[:form_params] || {}
111
+
112
+ # http body (model)
113
+ post_body = opts[:debug_body]
114
+
115
+ # return_type
116
+ return_type = opts[:debug_return_type] || 'Array<Array>'
117
+
118
+ # auth_names
119
+ auth_names = opts[:debug_auth_names] || []
120
+
121
+ new_options = opts.merge(
122
+ :operation => :"TimestampApi.get_timestamps",
123
+ :header_params => header_params,
124
+ :query_params => query_params,
125
+ :form_params => form_params,
126
+ :body => post_body,
127
+ :auth_names => auth_names,
128
+ :return_type => return_type
129
+ )
130
+
131
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
132
+ if @api_client.config.debugging
133
+ @api_client.config.logger.debug "API called: TimestampApi#get_timestamps\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
134
+ end
135
+ return data, status_code, headers
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,345 @@
1
+ =begin
2
+ #Tapyrus API
3
+
4
+ ## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていくことを予定しています。 * Payment: TPC(Tapyrus Coin) の送金 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 Tapyrus ブロックチェーンについては以下の情報を参照してください。 * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/) * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core) ## Tapyrus API の利用法 Tapyrus API は REST API として提供されています。利用を開始するためには、Tapyrus API の `エンドポイント` に対して、 `認証` 済みの トークンを使いアクセスする必要があります。また、認証されたユーザはそれぞれが自身のウォレットを Tapyrus API 内部に持つことになります。 ウォレットではそのユーザの TPC やトークンといったアセットを管理するための鍵が管理され、アセットの移動などで利用されます。 ### Tapyrus API のエンドポイント エンドポイントは以下のフォーマットで作成され、 chaintope より提供されます。 `ap-01.tapyrus.chaintope.com` 例えば [testnet](https://testnet-explorer.tapyrus.dev.chaintope.com/blocks) では以下のようになります。 `testnet-api.tapyrus.chaintope.com` testnet は誰でも利用可能な動作の確認用のネットワークであり、予告なくリセットされる可能性があります。 利用に必要な TPC は [faucet](https://testnet-faucet.tapyrus.dev.chaintope.com) から取得できます。 * [faucet](https://testnet-faucet.tapyrus.dev.chaintope.com) ### OpenID Connect を使った認証 Tapyrus API では [OpenID Connect](https://openid.net/connect/) を使った認証をサポートします。この認証を利用するためには、 以下のステップを踏みます。 1. 利用する OpenID Provider(OP) を選択する 公開された OP から選択する方法と、自身で OP を構築する方法があります。独自のユーザデータベースがあり、そのユーザに Tapyrus API を利用させる場合は後者の自身で OP を構築する方法を選択することになります。 2. OAuth 2.0 Client Credential を入手する 多くの公開された OP では、アプリケーションを登録して Client Credential を入手する必要があります。手順は利用する OP に従ってください。 3. Access Token と ID Token を入手する OpenID Connect に沿った認証を行い、 token エンドポイントから ID Token を入手します。 4. Tapyrus API ユーザを作成する 入手した Access Token と ID Token を Tapyrus API の [createUser API](https://doc.api.tapyrus.chaintope.com/#operation/createUser) へ送り、 Tapyrus API のユーザを作成します。 コード例を後述の Getting Started ドキュメントで解説していますので、そちらを参照してください。 ## Tapyrus API ユーザとウォレットについて 認証により得たアクセストークンを使い、Tapyrus API ユーザを1つ作成する必要があります。 Tapyrus API の内部では、このユーザ1つにつき1つのウォレットが作成されます。 ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されており、同時にそれらのカギに紐づくアセットも管理されます。 そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。 # Getting Started Getting Started ドキュメントでは実際のコード例を交えながらより具体的な Tapyrus API の利用法を解説しています。 * [Getting Started - [Javascript] Tapyrus API を利用するウェブアプリケーションの開発を学ぶ](https://github.com/chaintope/tapyrus-api-client-examples/tree/main/javascript/GettingStarted-ja.md)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module TapyrusApiClient
16
+ class TokenApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # トークンの焼却
23
+ # 任意の数のトークンを焼却します。
24
+ # @param token_id [String] トークンの識別子。
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [Integer] :amount &#x60;amount&#x60;を受け取り、指定した量のトークンを焼却します。 &#x60;amount&#x60;が未入力の場合全てのトークンを焼却します。
27
+ # @return [nil]
28
+ def burn_token(token_id, opts = {})
29
+ burn_token_with_http_info(token_id, opts)
30
+ nil
31
+ end
32
+
33
+ # トークンの焼却
34
+ # 任意の数のトークンを焼却します。
35
+ # @param token_id [String] トークンの識別子。
36
+ # @param [Hash] opts the optional parameters
37
+ # @option opts [Integer] :amount &#x60;amount&#x60;を受け取り、指定した量のトークンを焼却します。 &#x60;amount&#x60;が未入力の場合全てのトークンを焼却します。
38
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
39
+ def burn_token_with_http_info(token_id, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: TokenApi.burn_token ...'
42
+ end
43
+ # verify the required parameter 'token_id' is set
44
+ if @api_client.config.client_side_validation && token_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'token_id' when calling TokenApi.burn_token"
46
+ end
47
+ # resource path
48
+ local_var_path = '/tokens/{token_id}/burn'.sub('{' + 'token_id' + '}', CGI.escape(token_id.to_s))
49
+
50
+ # query parameters
51
+ query_params = opts[:query_params] || {}
52
+ query_params[:'amount'] = opts[:'amount'] if !opts[:'amount'].nil?
53
+
54
+ # header parameters
55
+ header_params = opts[:header_params] || {}
56
+
57
+ # form parameters
58
+ form_params = opts[:form_params] || {}
59
+
60
+ # http body (model)
61
+ post_body = opts[:debug_body]
62
+
63
+ # return_type
64
+ return_type = opts[:debug_return_type]
65
+
66
+ # auth_names
67
+ auth_names = opts[:debug_auth_names] || []
68
+
69
+ new_options = opts.merge(
70
+ :operation => :"TokenApi.burn_token",
71
+ :header_params => header_params,
72
+ :query_params => query_params,
73
+ :form_params => form_params,
74
+ :body => post_body,
75
+ :auth_names => auth_names,
76
+ :return_type => return_type
77
+ )
78
+
79
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
80
+ if @api_client.config.debugging
81
+ @api_client.config.logger.debug "API called: TokenApi#burn_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
82
+ end
83
+ return data, status_code, headers
84
+ end
85
+
86
+ # トークンの総量取得
87
+ # 所有するトークンの総量を取得し、トークン識別子(`token_id`)ごとに総量(`amount`)を一覧で表示します。
88
+ # @param [Hash] opts the optional parameters
89
+ # @option opts [Boolean] :confirmation_only オプションで&#x60;confirmation_only&#x60;を設定でき、&#x60;true&#x60;の場合ブロックチェーン上で承認済みのトークンのみを取得し、&#x60;false&#x60;の場合未承認のトークンも含めて取得します。デフォルトは&#x60;true&#x60;です。
90
+ # @return [Array<GetTokensResponse>]
91
+ def get_tokens(opts = {})
92
+ data, _status_code, _headers = get_tokens_with_http_info(opts)
93
+ data
94
+ end
95
+
96
+ # トークンの総量取得
97
+ # 所有するトークンの総量を取得し、トークン識別子(&#x60;token_id&#x60;)ごとに総量(&#x60;amount&#x60;)を一覧で表示します。
98
+ # @param [Hash] opts the optional parameters
99
+ # @option opts [Boolean] :confirmation_only オプションで&#x60;confirmation_only&#x60;を設定でき、&#x60;true&#x60;の場合ブロックチェーン上で承認済みのトークンのみを取得し、&#x60;false&#x60;の場合未承認のトークンも含めて取得します。デフォルトは&#x60;true&#x60;です。
100
+ # @return [Array<(Array<GetTokensResponse>, Integer, Hash)>] Array<GetTokensResponse> data, response status code and response headers
101
+ def get_tokens_with_http_info(opts = {})
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug 'Calling API: TokenApi.get_tokens ...'
104
+ end
105
+ # resource path
106
+ local_var_path = '/tokens'
107
+
108
+ # query parameters
109
+ query_params = opts[:query_params] || {}
110
+ query_params[:'confirmation_only'] = opts[:'confirmation_only'] if !opts[:'confirmation_only'].nil?
111
+
112
+ # header parameters
113
+ header_params = opts[:header_params] || {}
114
+ # HTTP header 'Accept' (if needed)
115
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
116
+
117
+ # form parameters
118
+ form_params = opts[:form_params] || {}
119
+
120
+ # http body (model)
121
+ post_body = opts[:debug_body]
122
+
123
+ # return_type
124
+ return_type = opts[:debug_return_type] || 'Array<GetTokensResponse>'
125
+
126
+ # auth_names
127
+ auth_names = opts[:debug_auth_names] || []
128
+
129
+ new_options = opts.merge(
130
+ :operation => :"TokenApi.get_tokens",
131
+ :header_params => header_params,
132
+ :query_params => query_params,
133
+ :form_params => form_params,
134
+ :body => post_body,
135
+ :auth_names => auth_names,
136
+ :return_type => return_type
137
+ )
138
+
139
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
140
+ if @api_client.config.debugging
141
+ @api_client.config.logger.debug "API called: TokenApi#get_tokens\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
142
+ end
143
+ return data, status_code, headers
144
+ end
145
+
146
+ # トークンの新規発行
147
+ # 任意の数のトークンを新規発行します。
148
+ # @param [Hash] opts the optional parameters
149
+ # @option opts [IssueTokenRequest] :issue_token_request &#x60;amount&#x60;を受け取り指定した数のトークンを新規発行します。 任意で&#x60;token_type&#x60;を設定し、トークンの種類を指定できます。 &#x60;token_type&#x60;が未指定な場合、再発行可能なトークンが発行されます。 トークンの種類は以下の通りです。 - 1: 再発行可能なトークン - 2: 再発行不可能なトークン - 3: NFT また、&#x60;token_type&#x60;が未指定または&#x60;1&#x60;の場合、任意でトークン識別子&#x60;id&#x60;を指定することで、指定したトークン識別子のトークンを再発行します。
150
+ # @return [TokenResponse]
151
+ def issue_token(opts = {})
152
+ data, _status_code, _headers = issue_token_with_http_info(opts)
153
+ data
154
+ end
155
+
156
+ # トークンの新規発行
157
+ # 任意の数のトークンを新規発行します。
158
+ # @param [Hash] opts the optional parameters
159
+ # @option opts [IssueTokenRequest] :issue_token_request &#x60;amount&#x60;を受け取り指定した数のトークンを新規発行します。 任意で&#x60;token_type&#x60;を設定し、トークンの種類を指定できます。 &#x60;token_type&#x60;が未指定な場合、再発行可能なトークンが発行されます。 トークンの種類は以下の通りです。 - 1: 再発行可能なトークン - 2: 再発行不可能なトークン - 3: NFT また、&#x60;token_type&#x60;が未指定または&#x60;1&#x60;の場合、任意でトークン識別子&#x60;id&#x60;を指定することで、指定したトークン識別子のトークンを再発行します。
160
+ # @return [Array<(TokenResponse, Integer, Hash)>] TokenResponse data, response status code and response headers
161
+ def issue_token_with_http_info(opts = {})
162
+ if @api_client.config.debugging
163
+ @api_client.config.logger.debug 'Calling API: TokenApi.issue_token ...'
164
+ end
165
+ # resource path
166
+ local_var_path = '/tokens/issue'
167
+
168
+ # query parameters
169
+ query_params = opts[:query_params] || {}
170
+
171
+ # header parameters
172
+ header_params = opts[:header_params] || {}
173
+ # HTTP header 'Accept' (if needed)
174
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
175
+ # HTTP header 'Content-Type'
176
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
177
+
178
+ # form parameters
179
+ form_params = opts[:form_params] || {}
180
+
181
+ # http body (model)
182
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'issue_token_request'])
183
+
184
+ # return_type
185
+ return_type = opts[:debug_return_type] || 'TokenResponse'
186
+
187
+ # auth_names
188
+ auth_names = opts[:debug_auth_names] || []
189
+
190
+ new_options = opts.merge(
191
+ :operation => :"TokenApi.issue_token",
192
+ :header_params => header_params,
193
+ :query_params => query_params,
194
+ :form_params => form_params,
195
+ :body => post_body,
196
+ :auth_names => auth_names,
197
+ :return_type => return_type
198
+ )
199
+
200
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
201
+ if @api_client.config.debugging
202
+ @api_client.config.logger.debug "API called: TokenApi#issue_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
203
+ end
204
+ return data, status_code, headers
205
+ end
206
+
207
+ # トークンの再発行
208
+ # 指定した識別子を持つ再発行可能なトークンを任意の量再発行します。
209
+ # @param token_id [String] トークンの識別子。
210
+ # @param [Hash] opts the optional parameters
211
+ # @option opts [ReissueTokenRequest] :reissue_token_request
212
+ # @return [TokenResponse]
213
+ def reissue_token(token_id, opts = {})
214
+ data, _status_code, _headers = reissue_token_with_http_info(token_id, opts)
215
+ data
216
+ end
217
+
218
+ # トークンの再発行
219
+ # 指定した識別子を持つ再発行可能なトークンを任意の量再発行します。
220
+ # @param token_id [String] トークンの識別子。
221
+ # @param [Hash] opts the optional parameters
222
+ # @option opts [ReissueTokenRequest] :reissue_token_request
223
+ # @return [Array<(TokenResponse, Integer, Hash)>] TokenResponse data, response status code and response headers
224
+ def reissue_token_with_http_info(token_id, opts = {})
225
+ if @api_client.config.debugging
226
+ @api_client.config.logger.debug 'Calling API: TokenApi.reissue_token ...'
227
+ end
228
+ # verify the required parameter 'token_id' is set
229
+ if @api_client.config.client_side_validation && token_id.nil?
230
+ fail ArgumentError, "Missing the required parameter 'token_id' when calling TokenApi.reissue_token"
231
+ end
232
+ # resource path
233
+ local_var_path = '/tokens/{token_id}/reissue'.sub('{' + 'token_id' + '}', CGI.escape(token_id.to_s))
234
+
235
+ # query parameters
236
+ query_params = opts[:query_params] || {}
237
+
238
+ # header parameters
239
+ header_params = opts[:header_params] || {}
240
+ # HTTP header 'Accept' (if needed)
241
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
242
+ # HTTP header 'Content-Type'
243
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
244
+
245
+ # form parameters
246
+ form_params = opts[:form_params] || {}
247
+
248
+ # http body (model)
249
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'reissue_token_request'])
250
+
251
+ # return_type
252
+ return_type = opts[:debug_return_type] || 'TokenResponse'
253
+
254
+ # auth_names
255
+ auth_names = opts[:debug_auth_names] || []
256
+
257
+ new_options = opts.merge(
258
+ :operation => :"TokenApi.reissue_token",
259
+ :header_params => header_params,
260
+ :query_params => query_params,
261
+ :form_params => form_params,
262
+ :body => post_body,
263
+ :auth_names => auth_names,
264
+ :return_type => return_type
265
+ )
266
+
267
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
268
+ if @api_client.config.debugging
269
+ @api_client.config.logger.debug "API called: TokenApi#reissue_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
270
+ end
271
+ return data, status_code, headers
272
+ end
273
+
274
+ # トークンの送付
275
+ # 任意の数のトークンを指定したアドレスに対して送付します。
276
+ # @param token_id [String] トークンの識別子。
277
+ # @param transfer_token_request [TransferTokenRequest] &#x60;address&#x60;でトークンを送付する相手のアドレスを指定し、&#x60;amount&#x60;で送付するトークンの量を指定します。
278
+ # @param [Hash] opts the optional parameters
279
+ # @return [TokenResponse]
280
+ def transfer_token(token_id, transfer_token_request, opts = {})
281
+ data, _status_code, _headers = transfer_token_with_http_info(token_id, transfer_token_request, opts)
282
+ data
283
+ end
284
+
285
+ # トークンの送付
286
+ # 任意の数のトークンを指定したアドレスに対して送付します。
287
+ # @param token_id [String] トークンの識別子。
288
+ # @param transfer_token_request [TransferTokenRequest] &#x60;address&#x60;でトークンを送付する相手のアドレスを指定し、&#x60;amount&#x60;で送付するトークンの量を指定します。
289
+ # @param [Hash] opts the optional parameters
290
+ # @return [Array<(TokenResponse, Integer, Hash)>] TokenResponse data, response status code and response headers
291
+ def transfer_token_with_http_info(token_id, transfer_token_request, opts = {})
292
+ if @api_client.config.debugging
293
+ @api_client.config.logger.debug 'Calling API: TokenApi.transfer_token ...'
294
+ end
295
+ # verify the required parameter 'token_id' is set
296
+ if @api_client.config.client_side_validation && token_id.nil?
297
+ fail ArgumentError, "Missing the required parameter 'token_id' when calling TokenApi.transfer_token"
298
+ end
299
+ # verify the required parameter 'transfer_token_request' is set
300
+ if @api_client.config.client_side_validation && transfer_token_request.nil?
301
+ fail ArgumentError, "Missing the required parameter 'transfer_token_request' when calling TokenApi.transfer_token"
302
+ end
303
+ # resource path
304
+ local_var_path = '/tokens/{token_id}/transfer'.sub('{' + 'token_id' + '}', CGI.escape(token_id.to_s))
305
+
306
+ # query parameters
307
+ query_params = opts[:query_params] || {}
308
+
309
+ # header parameters
310
+ header_params = opts[:header_params] || {}
311
+ # HTTP header 'Accept' (if needed)
312
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
313
+ # HTTP header 'Content-Type'
314
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
315
+
316
+ # form parameters
317
+ form_params = opts[:form_params] || {}
318
+
319
+ # http body (model)
320
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(transfer_token_request)
321
+
322
+ # return_type
323
+ return_type = opts[:debug_return_type] || 'TokenResponse'
324
+
325
+ # auth_names
326
+ auth_names = opts[:debug_auth_names] || []
327
+
328
+ new_options = opts.merge(
329
+ :operation => :"TokenApi.transfer_token",
330
+ :header_params => header_params,
331
+ :query_params => query_params,
332
+ :form_params => form_params,
333
+ :body => post_body,
334
+ :auth_names => auth_names,
335
+ :return_type => return_type
336
+ )
337
+
338
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
339
+ if @api_client.config.debugging
340
+ @api_client.config.logger.debug "API called: TokenApi#transfer_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
341
+ end
342
+ return data, status_code, headers
343
+ end
344
+ end
345
+ end