tapyrus-api-client 0 → 1.1.0beta4

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.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +11 -9
  3. data/README.md +54 -52
  4. data/docs/AddTimestampRequest.md +3 -1
  5. data/docs/AddTimestampResponse.md +36 -0
  6. data/docs/AddressApi.md +15 -10
  7. data/docs/ConsumeTrackingRequest.md +18 -0
  8. data/docs/GetTimestampResponse.md +36 -0
  9. data/docs/PurposeAddressRequest.md +18 -0
  10. data/docs/SupplyTrackingRequest.md +20 -0
  11. data/docs/TimestampApi.md +84 -16
  12. data/docs/TimestampType.md +15 -0
  13. data/docs/TokenApi.md +1 -1
  14. data/docs/TokenResponse.md +4 -4
  15. data/docs/TrackingApi.md +344 -0
  16. data/docs/TrackingDestination.md +20 -0
  17. data/docs/TrackingResponse.md +18 -0
  18. data/docs/TrackingSubject.md +20 -0
  19. data/docs/TrackingSubjectMerkleRoot.md +22 -0
  20. data/docs/TrackingTrace.md +40 -0
  21. data/docs/TrackingTracesResponse.md +44 -0
  22. data/docs/TransportTrackingRequest.md +18 -0
  23. data/docs/UserApi.md +1 -1
  24. data/git_push.sh +3 -4
  25. data/lib/tapyrus-api-client/api/address_api.rb +25 -11
  26. data/lib/tapyrus-api-client/api/timestamp_api.rb +85 -17
  27. data/lib/tapyrus-api-client/api/token_api.rb +15 -6
  28. data/lib/tapyrus-api-client/api/tracking_api.rb +348 -0
  29. data/lib/tapyrus-api-client/api/user_api.rb +7 -4
  30. data/lib/tapyrus-api-client/api_client.rb +6 -6
  31. data/lib/tapyrus-api-client/api_error.rb +3 -3
  32. data/lib/tapyrus-api-client/configuration.rb +23 -6
  33. data/lib/tapyrus-api-client/models/add_timestamp_request.rb +16 -7
  34. data/lib/tapyrus-api-client/models/add_timestamp_response.rb +299 -0
  35. data/lib/tapyrus-api-client/models/consume_tracking_request.rb +226 -0
  36. data/lib/tapyrus-api-client/models/create_user_request.rb +3 -3
  37. data/lib/tapyrus-api-client/models/get_addresses_response.rb +3 -3
  38. data/lib/tapyrus-api-client/models/get_timestamp_response.rb +337 -0
  39. data/lib/tapyrus-api-client/models/get_tokens_response.rb +3 -3
  40. data/lib/tapyrus-api-client/models/issue_token_request.rb +3 -3
  41. data/lib/tapyrus-api-client/models/purpose_address_request.rb +218 -0
  42. data/lib/tapyrus-api-client/models/reissue_token_request.rb +3 -3
  43. data/lib/tapyrus-api-client/models/supply_tracking_request.rb +241 -0
  44. data/lib/tapyrus-api-client/models/timestamp_type.rb +37 -0
  45. data/lib/tapyrus-api-client/models/token_response.rb +11 -10
  46. data/lib/tapyrus-api-client/models/{payment_request.rb → tracking_destination.rb} +15 -32
  47. data/lib/tapyrus-api-client/models/{payment_response.rb → tracking_response.rb} +12 -6
  48. data/lib/tapyrus-api-client/models/tracking_subject.rb +234 -0
  49. data/lib/tapyrus-api-client/models/tracking_subject_merkle_root.rb +238 -0
  50. data/lib/tapyrus-api-client/models/tracking_trace.rb +321 -0
  51. data/lib/tapyrus-api-client/models/tracking_traces_response.rb +343 -0
  52. data/lib/tapyrus-api-client/models/transfer_token_request.rb +3 -3
  53. data/lib/tapyrus-api-client/models/transport_tracking_request.rb +226 -0
  54. data/lib/tapyrus-api-client/models/userinfo_response.rb +3 -3
  55. data/lib/tapyrus-api-client/models/userinfo_response_balances.rb +3 -3
  56. data/lib/tapyrus-api-client/version.rb +4 -4
  57. data/lib/tapyrus-api-client.rb +17 -6
  58. data/spec/api/address_api_spec.rb +7 -5
  59. data/spec/api/timestamp_api_spec.rb +19 -7
  60. data/spec/api/token_api_spec.rb +3 -3
  61. data/spec/api/tracking_api_spec.rb +95 -0
  62. data/spec/api/user_api_spec.rb +3 -3
  63. data/spec/api_client_spec.rb +5 -5
  64. data/spec/configuration_spec.rb +6 -6
  65. data/spec/models/add_timestamp_request_spec.rb +9 -3
  66. data/spec/models/add_timestamp_response_spec.rb +88 -0
  67. data/spec/models/consume_tracking_request_spec.rb +34 -0
  68. data/spec/models/create_user_request_spec.rb +3 -3
  69. data/spec/models/get_addresses_response_spec.rb +3 -3
  70. data/spec/models/get_timestamp_response_spec.rb +92 -0
  71. data/spec/models/get_tokens_response_spec.rb +3 -3
  72. data/spec/models/issue_token_request_spec.rb +3 -3
  73. data/spec/models/purpose_address_request_spec.rb +34 -0
  74. data/spec/models/reissue_token_request_spec.rb +3 -3
  75. data/spec/models/supply_tracking_request_spec.rb +40 -0
  76. data/spec/models/timestamp_type_spec.rb +28 -0
  77. data/spec/models/token_response_spec.rb +4 -4
  78. data/spec/models/tracking_destination_spec.rb +40 -0
  79. data/spec/models/tracking_response_spec.rb +34 -0
  80. data/spec/models/tracking_subject_merkle_root_spec.rb +46 -0
  81. data/spec/models/tracking_subject_spec.rb +40 -0
  82. data/spec/models/tracking_trace_spec.rb +100 -0
  83. data/spec/models/tracking_traces_response_spec.rb +112 -0
  84. data/spec/models/transfer_token_request_spec.rb +3 -3
  85. data/spec/models/transport_tracking_request_spec.rb +34 -0
  86. data/spec/models/userinfo_response_balances_spec.rb +3 -3
  87. data/spec/models/userinfo_response_spec.rb +3 -3
  88. data/spec/spec_helper.rb +3 -3
  89. data/tapyrus-api-client.gemspec +5 -5
  90. metadata +68 -48
  91. data/docs/PaymentApi.md +0 -76
  92. data/docs/PaymentRequest.md +0 -22
  93. data/docs/PaymentResponse.md +0 -18
  94. data/lib/tapyrus-api-client/api/payment_api.rb +0 -83
  95. data/spec/api/payment_api_spec.rb +0 -47
  96. data/spec/models/payment_request_spec.rb +0 -46
  97. data/spec/models/payment_response_spec.rb +0 -34
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Tapyrus API
3
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)
4
+ ## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 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 のエンドポイント エンドポイントは以下のフォーマットで作成されます。 `https://xxx.api.tapyrus.chaintope.com/api/v1` `xxx`の部分は各ユーザー固有の識別子になります。正式なURLは、ダッシュボードで確認できます。 ### API接続の準備 ダッシュボードに登録すると、chaintopeが登録情報を確認後、お客様のAPIエンドポイントを設定します。 エンドポイントが設定されるまでは、APIの機能はご利用いただけません。 #### クライアント証明書 Tapyrus APIに接続する際には、クライアント証明書が必要になります。ダッシュボードの「クライアント証明書」のメニューより、 クライアント証明書を発行してください。 発行すると秘密鍵と公開鍵の証明書を含む[PKCS#12](https://en.wikipedia.org/wiki/PKCS_12)形式のファイルがダウンロードできます。 #### ユーザーの登録 ダッシュボードからAPIに接続するユーザーを作成します。Tapyrus APIではユーザー単位にウォレットが作成されます。 ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されています。 そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。 ダッシュボードの、「ユーザー一覧」からアクセスするユーザーを作成することができます。 ユーザーを作成すると、そのユーザー用のアクセストークンが発行されます。このアクセストークンとクライアント証明書の両方が漏洩すると、 不正アクセスが可能になるため、データの取り扱いには十分注意してください。 #### 接続確認 クライアント証明書とユーザーが作成されると、APIにアクセスできるようになります。簡単な接続確認は、curlで以下のように行なえます。 1. ダウンロードしたPKCS#12ファイルからcert.pemを生成。 `$ openssl pkcs12 -in <ダウンロードした.p12ファイルのパス> -out cert.pem -nodes -clcerts` 2. cert.pemとアクセストークンを使ってAPIへアクセス。 `$ curl -X GET -H 'Authorization: Bearer <ユーザーのアクセストークン>' \"https://xxx.api.tapyrus.chaintope.com/api/v1/timestamps\" -E cert.pem` 成功するとAPIへのアクセスが可能になっています。これらの認証情報を使って、以下に記載する各APIがご利用いただけます。
5
5
 
6
- The version of the OpenAPI document: 1.0.0
6
+ The version of the OpenAPI document: 1.1.0beta4
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -0,0 +1,241 @@
1
+ =begin
2
+ #Tapyrus API
3
+
4
+ ## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 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 のエンドポイント エンドポイントは以下のフォーマットで作成されます。 `https://xxx.api.tapyrus.chaintope.com/api/v1` `xxx`の部分は各ユーザー固有の識別子になります。正式なURLは、ダッシュボードで確認できます。 ### API接続の準備 ダッシュボードに登録すると、chaintopeが登録情報を確認後、お客様のAPIエンドポイントを設定します。 エンドポイントが設定されるまでは、APIの機能はご利用いただけません。 #### クライアント証明書 Tapyrus APIに接続する際には、クライアント証明書が必要になります。ダッシュボードの「クライアント証明書」のメニューより、 クライアント証明書を発行してください。 発行すると秘密鍵と公開鍵の証明書を含む[PKCS#12](https://en.wikipedia.org/wiki/PKCS_12)形式のファイルがダウンロードできます。 #### ユーザーの登録 ダッシュボードからAPIに接続するユーザーを作成します。Tapyrus APIではユーザー単位にウォレットが作成されます。 ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されています。 そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。 ダッシュボードの、「ユーザー一覧」からアクセスするユーザーを作成することができます。 ユーザーを作成すると、そのユーザー用のアクセストークンが発行されます。このアクセストークンとクライアント証明書の両方が漏洩すると、 不正アクセスが可能になるため、データの取り扱いには十分注意してください。 #### 接続確認 クライアント証明書とユーザーが作成されると、APIにアクセスできるようになります。簡単な接続確認は、curlで以下のように行なえます。 1. ダウンロードしたPKCS#12ファイルからcert.pemを生成。 `$ openssl pkcs12 -in <ダウンロードした.p12ファイルのパス> -out cert.pem -nodes -clcerts` 2. cert.pemとアクセストークンを使ってAPIへアクセス。 `$ curl -X GET -H 'Authorization: Bearer <ユーザーのアクセストークン>' \"https://xxx.api.tapyrus.chaintope.com/api/v1/timestamps\" -E cert.pem` 成功するとAPIへのアクセスが可能になっています。これらの認証情報を使って、以下に記載する各APIがご利用いただけます。
5
+
6
+ The version of the OpenAPI document: 1.1.0beta4
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TapyrusApiClient
17
+ class SupplyTrackingRequest
18
+ # 供給元を表すアドレス
19
+ attr_accessor :from_address
20
+
21
+ # モノの移動先を表します。
22
+ attr_accessor :destinations
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'from_address' => :'from_address',
28
+ :'destinations' => :'destinations'
29
+ }
30
+ end
31
+
32
+ # Returns all the JSON keys this model knows about
33
+ def self.acceptable_attributes
34
+ attribute_map.values
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.openapi_types
39
+ {
40
+ :'from_address' => :'String',
41
+ :'destinations' => :'Array<TrackingDestination>'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TapyrusApiClient::SupplyTrackingRequest` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!self.class.attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TapyrusApiClient::SupplyTrackingRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'from_address')
67
+ self.from_address = attributes[:'from_address']
68
+ end
69
+
70
+ if attributes.key?(:'destinations')
71
+ if (value = attributes[:'destinations']).is_a?(Array)
72
+ self.destinations = value
73
+ end
74
+ end
75
+ end
76
+
77
+ # Show invalid properties with the reasons. Usually used together with valid?
78
+ # @return Array for valid properties with the reasons
79
+ def list_invalid_properties
80
+ invalid_properties = Array.new
81
+ if @from_address.nil?
82
+ invalid_properties.push('invalid value for "from_address", from_address cannot be nil.')
83
+ end
84
+
85
+ if @destinations.nil?
86
+ invalid_properties.push('invalid value for "destinations", destinations cannot be nil.')
87
+ end
88
+
89
+ invalid_properties
90
+ end
91
+
92
+ # Check to see if the all the properties in the model are valid
93
+ # @return true if the model is valid
94
+ def valid?
95
+ return false if @from_address.nil?
96
+ return false if @destinations.nil?
97
+ true
98
+ end
99
+
100
+ # Checks equality by comparing each attribute.
101
+ # @param [Object] Object to be compared
102
+ def ==(o)
103
+ return true if self.equal?(o)
104
+ self.class == o.class &&
105
+ from_address == o.from_address &&
106
+ destinations == o.destinations
107
+ end
108
+
109
+ # @see the `==` method
110
+ # @param [Object] Object to be compared
111
+ def eql?(o)
112
+ self == o
113
+ end
114
+
115
+ # Calculates hash code according to all attributes.
116
+ # @return [Integer] Hash code
117
+ def hash
118
+ [from_address, destinations].hash
119
+ end
120
+
121
+ # Builds the object from hash
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ # @return [Object] Returns the model itself
124
+ def self.build_from_hash(attributes)
125
+ new.build_from_hash(attributes)
126
+ end
127
+
128
+ # Builds the object from hash
129
+ # @param [Hash] attributes Model attributes in the form of hash
130
+ # @return [Object] Returns the model itself
131
+ def build_from_hash(attributes)
132
+ return nil unless attributes.is_a?(Hash)
133
+ self.class.openapi_types.each_pair do |key, type|
134
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
135
+ self.send("#{key}=", nil)
136
+ elsif type =~ /\AArray<(.*)>/i
137
+ # check to ensure the input is an array given that the attribute
138
+ # is documented as an array but the input is not
139
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
140
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
141
+ end
142
+ elsif !attributes[self.class.attribute_map[key]].nil?
143
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
144
+ end
145
+ end
146
+
147
+ self
148
+ end
149
+
150
+ # Deserializes the data based on type
151
+ # @param string type Data type
152
+ # @param string value Value to be deserialized
153
+ # @return [Object] Deserialized data
154
+ def _deserialize(type, value)
155
+ case type.to_sym
156
+ when :Time
157
+ Time.parse(value)
158
+ when :Date
159
+ Date.parse(value)
160
+ when :String
161
+ value.to_s
162
+ when :Integer
163
+ value.to_i
164
+ when :Float
165
+ value.to_f
166
+ when :Boolean
167
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
168
+ true
169
+ else
170
+ false
171
+ end
172
+ when :Object
173
+ # generic object (usually a Hash), return directly
174
+ value
175
+ when /\AArray<(?<inner_type>.+)>\z/
176
+ inner_type = Regexp.last_match[:inner_type]
177
+ value.map { |v| _deserialize(inner_type, v) }
178
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
179
+ k_type = Regexp.last_match[:k_type]
180
+ v_type = Regexp.last_match[:v_type]
181
+ {}.tap do |hash|
182
+ value.each do |k, v|
183
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
184
+ end
185
+ end
186
+ else # model
187
+ # models (e.g. Pet) or oneOf
188
+ klass = TapyrusApiClient.const_get(type)
189
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
190
+ end
191
+ end
192
+
193
+ # Returns the string representation of the object
194
+ # @return [String] String presentation of the object
195
+ def to_s
196
+ to_hash.to_s
197
+ end
198
+
199
+ # to_body is an alias to to_hash (backward compatibility)
200
+ # @return [Hash] Returns the object in the form of hash
201
+ def to_body
202
+ to_hash
203
+ end
204
+
205
+ # Returns the object in the form of hash
206
+ # @return [Hash] Returns the object in the form of hash
207
+ def to_hash
208
+ hash = {}
209
+ self.class.attribute_map.each_pair do |attr, param|
210
+ value = self.send(attr)
211
+ if value.nil?
212
+ is_nullable = self.class.openapi_nullable.include?(attr)
213
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
214
+ end
215
+
216
+ hash[param] = _to_hash(value)
217
+ end
218
+ hash
219
+ end
220
+
221
+ # Outputs non-array value in the form of hash
222
+ # For object, use to_hash. Otherwise, just return the value
223
+ # @param [Object] value Any valid value
224
+ # @return [Hash] Returns the value in the form of hash
225
+ def _to_hash(value)
226
+ if value.is_a?(Array)
227
+ value.compact.map { |v| _to_hash(v) }
228
+ elsif value.is_a?(Hash)
229
+ {}.tap do |hash|
230
+ value.each { |k, v| hash[k] = _to_hash(v) }
231
+ end
232
+ elsif value.respond_to? :to_hash
233
+ value.to_hash
234
+ else
235
+ value
236
+ end
237
+ end
238
+
239
+ end
240
+
241
+ end
@@ -0,0 +1,37 @@
1
+ =begin
2
+ #Tapyrus API
3
+
4
+ ## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 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 のエンドポイント エンドポイントは以下のフォーマットで作成されます。 `https://xxx.api.tapyrus.chaintope.com/api/v1` `xxx`の部分は各ユーザー固有の識別子になります。正式なURLは、ダッシュボードで確認できます。 ### API接続の準備 ダッシュボードに登録すると、chaintopeが登録情報を確認後、お客様のAPIエンドポイントを設定します。 エンドポイントが設定されるまでは、APIの機能はご利用いただけません。 #### クライアント証明書 Tapyrus APIに接続する際には、クライアント証明書が必要になります。ダッシュボードの「クライアント証明書」のメニューより、 クライアント証明書を発行してください。 発行すると秘密鍵と公開鍵の証明書を含む[PKCS#12](https://en.wikipedia.org/wiki/PKCS_12)形式のファイルがダウンロードできます。 #### ユーザーの登録 ダッシュボードからAPIに接続するユーザーを作成します。Tapyrus APIではユーザー単位にウォレットが作成されます。 ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されています。 そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。 ダッシュボードの、「ユーザー一覧」からアクセスするユーザーを作成することができます。 ユーザーを作成すると、そのユーザー用のアクセストークンが発行されます。このアクセストークンとクライアント証明書の両方が漏洩すると、 不正アクセスが可能になるため、データの取り扱いには十分注意してください。 #### 接続確認 クライアント証明書とユーザーが作成されると、APIにアクセスできるようになります。簡単な接続確認は、curlで以下のように行なえます。 1. ダウンロードしたPKCS#12ファイルからcert.pemを生成。 `$ openssl pkcs12 -in <ダウンロードした.p12ファイルのパス> -out cert.pem -nodes -clcerts` 2. cert.pemとアクセストークンを使ってAPIへアクセス。 `$ curl -X GET -H 'Authorization: Bearer <ユーザーのアクセストークン>' \"https://xxx.api.tapyrus.chaintope.com/api/v1/timestamps\" -E cert.pem` 成功するとAPIへのアクセスが可能になっています。これらの認証情報を使って、以下に記載する各APIがご利用いただけます。
5
+
6
+ The version of the OpenAPI document: 1.1.0beta4
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TapyrusApiClient
17
+ class TimestampType
18
+ SIMPLE = "simple".freeze
19
+ TRACKABLE = "trackable".freeze
20
+
21
+ # Builds the enum from string
22
+ # @param [String] The enum value in the form of the string
23
+ # @return [String] The enum value
24
+ def self.build_from_hash(value)
25
+ new.build_from_hash(value)
26
+ end
27
+
28
+ # Builds the enum from string
29
+ # @param [String] The enum value in the form of the string
30
+ # @return [String] The enum value
31
+ def build_from_hash(value)
32
+ constantValues = TimestampType.constants.select { |c| TimestampType::const_get(c) == value }
33
+ raise "Invalid ENUM value #{value} for class #TimestampType" if constantValues.empty?
34
+ value
35
+ end
36
+ end
37
+ end
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Tapyrus API
3
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)
4
+ ## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 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 のエンドポイント エンドポイントは以下のフォーマットで作成されます。 `https://xxx.api.tapyrus.chaintope.com/api/v1` `xxx`の部分は各ユーザー固有の識別子になります。正式なURLは、ダッシュボードで確認できます。 ### API接続の準備 ダッシュボードに登録すると、chaintopeが登録情報を確認後、お客様のAPIエンドポイントを設定します。 エンドポイントが設定されるまでは、APIの機能はご利用いただけません。 #### クライアント証明書 Tapyrus APIに接続する際には、クライアント証明書が必要になります。ダッシュボードの「クライアント証明書」のメニューより、 クライアント証明書を発行してください。 発行すると秘密鍵と公開鍵の証明書を含む[PKCS#12](https://en.wikipedia.org/wiki/PKCS_12)形式のファイルがダウンロードできます。 #### ユーザーの登録 ダッシュボードからAPIに接続するユーザーを作成します。Tapyrus APIではユーザー単位にウォレットが作成されます。 ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されています。 そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。 ダッシュボードの、「ユーザー一覧」からアクセスするユーザーを作成することができます。 ユーザーを作成すると、そのユーザー用のアクセストークンが発行されます。このアクセストークンとクライアント証明書の両方が漏洩すると、 不正アクセスが可能になるため、データの取り扱いには十分注意してください。 #### 接続確認 クライアント証明書とユーザーが作成されると、APIにアクセスできるようになります。簡単な接続確認は、curlで以下のように行なえます。 1. ダウンロードしたPKCS#12ファイルからcert.pemを生成。 `$ openssl pkcs12 -in <ダウンロードした.p12ファイルのパス> -out cert.pem -nodes -clcerts` 2. cert.pemとアクセストークンを使ってAPIへアクセス。 `$ curl -X GET -H 'Authorization: Bearer <ユーザーのアクセストークン>' \"https://xxx.api.tapyrus.chaintope.com/api/v1/timestamps\" -E cert.pem` 成功するとAPIへのアクセスが可能になっています。これらの認証情報を使って、以下に記載する各APIがご利用いただけます。
5
5
 
6
- The version of the OpenAPI document: 1.0.0
6
+ The version of the OpenAPI document: 1.1.0beta4
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -15,14 +15,15 @@ require 'time'
15
15
 
16
16
  module TapyrusApiClient
17
17
  class TokenResponse
18
- attr_accessor :tokens_id
18
+ attr_accessor :token_id
19
19
 
20
+ # トランザクションID
20
21
  attr_accessor :txid
21
22
 
22
23
  # Attribute mapping from ruby-style variable name to JSON key.
23
24
  def self.attribute_map
24
25
  {
25
- :'tokens_id' => :'tokens_id',
26
+ :'token_id' => :'token_id',
26
27
  :'txid' => :'txid'
27
28
  }
28
29
  end
@@ -35,7 +36,7 @@ module TapyrusApiClient
35
36
  # Attribute type mapping.
36
37
  def self.openapi_types
37
38
  {
38
- :'tokens_id' => :'String',
39
+ :'token_id' => :'String',
39
40
  :'txid' => :'String'
40
41
  }
41
42
  end
@@ -61,8 +62,8 @@ module TapyrusApiClient
61
62
  h[k.to_sym] = v
62
63
  }
63
64
 
64
- if attributes.key?(:'tokens_id')
65
- self.tokens_id = attributes[:'tokens_id']
65
+ if attributes.key?(:'token_id')
66
+ self.token_id = attributes[:'token_id']
66
67
  end
67
68
 
68
69
  if attributes.key?(:'txid')
@@ -88,7 +89,7 @@ module TapyrusApiClient
88
89
  def ==(o)
89
90
  return true if self.equal?(o)
90
91
  self.class == o.class &&
91
- tokens_id == o.tokens_id &&
92
+ token_id == o.token_id &&
92
93
  txid == o.txid
93
94
  end
94
95
 
@@ -101,7 +102,7 @@ module TapyrusApiClient
101
102
  # Calculates hash code according to all attributes.
102
103
  # @return [Integer] Hash code
103
104
  def hash
104
- [tokens_id, txid].hash
105
+ [token_id, txid].hash
105
106
  end
106
107
 
107
108
  # Builds the object from hash
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Tapyrus API
3
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)
4
+ ## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 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 のエンドポイント エンドポイントは以下のフォーマットで作成されます。 `https://xxx.api.tapyrus.chaintope.com/api/v1` `xxx`の部分は各ユーザー固有の識別子になります。正式なURLは、ダッシュボードで確認できます。 ### API接続の準備 ダッシュボードに登録すると、chaintopeが登録情報を確認後、お客様のAPIエンドポイントを設定します。 エンドポイントが設定されるまでは、APIの機能はご利用いただけません。 #### クライアント証明書 Tapyrus APIに接続する際には、クライアント証明書が必要になります。ダッシュボードの「クライアント証明書」のメニューより、 クライアント証明書を発行してください。 発行すると秘密鍵と公開鍵の証明書を含む[PKCS#12](https://en.wikipedia.org/wiki/PKCS_12)形式のファイルがダウンロードできます。 #### ユーザーの登録 ダッシュボードからAPIに接続するユーザーを作成します。Tapyrus APIではユーザー単位にウォレットが作成されます。 ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されています。 そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。 ダッシュボードの、「ユーザー一覧」からアクセスするユーザーを作成することができます。 ユーザーを作成すると、そのユーザー用のアクセストークンが発行されます。このアクセストークンとクライアント証明書の両方が漏洩すると、 不正アクセスが可能になるため、データの取り扱いには十分注意してください。 #### 接続確認 クライアント証明書とユーザーが作成されると、APIにアクセスできるようになります。簡単な接続確認は、curlで以下のように行なえます。 1. ダウンロードしたPKCS#12ファイルからcert.pemを生成。 `$ openssl pkcs12 -in <ダウンロードした.p12ファイルのパス> -out cert.pem -nodes -clcerts` 2. cert.pemとアクセストークンを使ってAPIへアクセス。 `$ curl -X GET -H 'Authorization: Bearer <ユーザーのアクセストークン>' \"https://xxx.api.tapyrus.chaintope.com/api/v1/timestamps\" -E cert.pem` 成功するとAPIへのアクセスが可能になっています。これらの認証情報を使って、以下に記載する各APIがご利用いただけます。
5
5
 
6
- The version of the OpenAPI document: 1.0.0
6
+ The version of the OpenAPI document: 1.1.0beta4
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -14,19 +14,16 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module TapyrusApiClient
17
- class PaymentRequest
17
+ class TrackingDestination
18
18
  attr_accessor :address
19
19
 
20
- attr_accessor :amount
21
-
22
- attr_accessor :fee
20
+ attr_accessor :subjects
23
21
 
24
22
  # Attribute mapping from ruby-style variable name to JSON key.
25
23
  def self.attribute_map
26
24
  {
27
25
  :'address' => :'address',
28
- :'amount' => :'amount',
29
- :'fee' => :'fee'
26
+ :'subjects' => :'subjects'
30
27
  }
31
28
  end
32
29
 
@@ -39,8 +36,7 @@ module TapyrusApiClient
39
36
  def self.openapi_types
40
37
  {
41
38
  :'address' => :'String',
42
- :'amount' => :'Integer',
43
- :'fee' => :'Integer'
39
+ :'subjects' => :'Array<AnyOfstringTrackingSubject>'
44
40
  }
45
41
  end
46
42
 
@@ -54,13 +50,13 @@ module TapyrusApiClient
54
50
  # @param [Hash] attributes Model attributes in the form of hash
55
51
  def initialize(attributes = {})
56
52
  if (!attributes.is_a?(Hash))
57
- fail ArgumentError, "The input argument (attributes) must be a hash in `TapyrusApiClient::PaymentRequest` initialize method"
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TapyrusApiClient::TrackingDestination` initialize method"
58
54
  end
59
55
 
60
56
  # check to see if the attribute exists and convert string to symbol for hash key
61
57
  attributes = attributes.each_with_object({}) { |(k, v), h|
62
58
  if (!self.class.attribute_map.key?(k.to_sym))
63
- fail ArgumentError, "`#{k}` is not a valid attribute in `TapyrusApiClient::PaymentRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TapyrusApiClient::TrackingDestination`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
60
  end
65
61
  h[k.to_sym] = v
66
62
  }
@@ -69,12 +65,10 @@ module TapyrusApiClient
69
65
  self.address = attributes[:'address']
70
66
  end
71
67
 
72
- if attributes.key?(:'amount')
73
- self.amount = attributes[:'amount']
74
- end
75
-
76
- if attributes.key?(:'fee')
77
- self.fee = attributes[:'fee']
68
+ if attributes.key?(:'subjects')
69
+ if (value = attributes[:'subjects']).is_a?(Array)
70
+ self.subjects = value
71
+ end
78
72
  end
79
73
  end
80
74
 
@@ -82,22 +76,12 @@ module TapyrusApiClient
82
76
  # @return Array for valid properties with the reasons
83
77
  def list_invalid_properties
84
78
  invalid_properties = Array.new
85
- if @address.nil?
86
- invalid_properties.push('invalid value for "address", address cannot be nil.')
87
- end
88
-
89
- if @amount.nil?
90
- invalid_properties.push('invalid value for "amount", amount cannot be nil.')
91
- end
92
-
93
79
  invalid_properties
94
80
  end
95
81
 
96
82
  # Check to see if the all the properties in the model are valid
97
83
  # @return true if the model is valid
98
84
  def valid?
99
- return false if @address.nil?
100
- return false if @amount.nil?
101
85
  true
102
86
  end
103
87
 
@@ -107,8 +91,7 @@ module TapyrusApiClient
107
91
  return true if self.equal?(o)
108
92
  self.class == o.class &&
109
93
  address == o.address &&
110
- amount == o.amount &&
111
- fee == o.fee
94
+ subjects == o.subjects
112
95
  end
113
96
 
114
97
  # @see the `==` method
@@ -120,7 +103,7 @@ module TapyrusApiClient
120
103
  # Calculates hash code according to all attributes.
121
104
  # @return [Integer] Hash code
122
105
  def hash
123
- [address, amount, fee].hash
106
+ [address, subjects].hash
124
107
  end
125
108
 
126
109
  # Builds the object from hash
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Tapyrus API
3
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)
4
+ ## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 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 のエンドポイント エンドポイントは以下のフォーマットで作成されます。 `https://xxx.api.tapyrus.chaintope.com/api/v1` `xxx`の部分は各ユーザー固有の識別子になります。正式なURLは、ダッシュボードで確認できます。 ### API接続の準備 ダッシュボードに登録すると、chaintopeが登録情報を確認後、お客様のAPIエンドポイントを設定します。 エンドポイントが設定されるまでは、APIの機能はご利用いただけません。 #### クライアント証明書 Tapyrus APIに接続する際には、クライアント証明書が必要になります。ダッシュボードの「クライアント証明書」のメニューより、 クライアント証明書を発行してください。 発行すると秘密鍵と公開鍵の証明書を含む[PKCS#12](https://en.wikipedia.org/wiki/PKCS_12)形式のファイルがダウンロードできます。 #### ユーザーの登録 ダッシュボードからAPIに接続するユーザーを作成します。Tapyrus APIではユーザー単位にウォレットが作成されます。 ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されています。 そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。 ダッシュボードの、「ユーザー一覧」からアクセスするユーザーを作成することができます。 ユーザーを作成すると、そのユーザー用のアクセストークンが発行されます。このアクセストークンとクライアント証明書の両方が漏洩すると、 不正アクセスが可能になるため、データの取り扱いには十分注意してください。 #### 接続確認 クライアント証明書とユーザーが作成されると、APIにアクセスできるようになります。簡単な接続確認は、curlで以下のように行なえます。 1. ダウンロードしたPKCS#12ファイルからcert.pemを生成。 `$ openssl pkcs12 -in <ダウンロードした.p12ファイルのパス> -out cert.pem -nodes -clcerts` 2. cert.pemとアクセストークンを使ってAPIへアクセス。 `$ curl -X GET -H 'Authorization: Bearer <ユーザーのアクセストークン>' \"https://xxx.api.tapyrus.chaintope.com/api/v1/timestamps\" -E cert.pem` 成功するとAPIへのアクセスが可能になっています。これらの認証情報を使って、以下に記載する各APIがご利用いただけます。
5
5
 
6
- The version of the OpenAPI document: 1.0.0
6
+ The version of the OpenAPI document: 1.1.0beta4
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.4.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -14,7 +14,8 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module TapyrusApiClient
17
- class PaymentResponse
17
+ class TrackingResponse
18
+ # トランザクションID
18
19
  attr_accessor :txid
19
20
 
20
21
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -46,13 +47,13 @@ module TapyrusApiClient
46
47
  # @param [Hash] attributes Model attributes in the form of hash
47
48
  def initialize(attributes = {})
48
49
  if (!attributes.is_a?(Hash))
49
- fail ArgumentError, "The input argument (attributes) must be a hash in `TapyrusApiClient::PaymentResponse` initialize method"
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TapyrusApiClient::TrackingResponse` initialize method"
50
51
  end
51
52
 
52
53
  # check to see if the attribute exists and convert string to symbol for hash key
53
54
  attributes = attributes.each_with_object({}) { |(k, v), h|
54
55
  if (!self.class.attribute_map.key?(k.to_sym))
55
- fail ArgumentError, "`#{k}` is not a valid attribute in `TapyrusApiClient::PaymentResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TapyrusApiClient::TrackingResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
57
  end
57
58
  h[k.to_sym] = v
58
59
  }
@@ -66,12 +67,17 @@ module TapyrusApiClient
66
67
  # @return Array for valid properties with the reasons
67
68
  def list_invalid_properties
68
69
  invalid_properties = Array.new
70
+ if @txid.nil?
71
+ invalid_properties.push('invalid value for "txid", txid cannot be nil.')
72
+ end
73
+
69
74
  invalid_properties
70
75
  end
71
76
 
72
77
  # Check to see if the all the properties in the model are valid
73
78
  # @return true if the model is valid
74
79
  def valid?
80
+ return false if @txid.nil?
75
81
  true
76
82
  end
77
83