@ocap/client 1.25.4 → 1.25.6

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 (68) hide show
  1. package/dist/report.html +1 -1
  2. package/docs/api-reference-client-methods.ja.md +229 -0
  3. package/docs/api-reference-client-methods.zh-TW.md +229 -0
  4. package/docs/api-reference-client-methods.zh.md +27 -27
  5. package/docs/api-reference-data-types.ja.md +482 -0
  6. package/docs/api-reference-data-types.zh-TW.md +482 -0
  7. package/docs/api-reference-data-types.zh.md +14 -14
  8. package/docs/api-reference-low-level-api.ja.md +228 -0
  9. package/docs/api-reference-low-level-api.zh-TW.md +228 -0
  10. package/docs/api-reference-low-level-api.zh.md +39 -39
  11. package/docs/api-reference-query-mutation-methods.ja.md +814 -0
  12. package/docs/api-reference-query-mutation-methods.zh-TW.md +814 -0
  13. package/docs/api-reference-query-mutation-methods.zh.md +158 -158
  14. package/docs/api-reference-transaction-helpers.ja.md +649 -0
  15. package/docs/api-reference-transaction-helpers.zh-TW.md +649 -0
  16. package/docs/api-reference-transaction-helpers.zh.md +112 -112
  17. package/docs/api-reference.ja.md +23 -0
  18. package/docs/api-reference.zh-TW.md +23 -0
  19. package/docs/api-reference.zh.md +6 -6
  20. package/docs/core-concepts-client-architecture.ja.md +102 -0
  21. package/docs/core-concepts-client-architecture.zh-TW.md +102 -0
  22. package/docs/core-concepts-client-architecture.zh.md +21 -21
  23. package/docs/core-concepts-event-subscriptions.ja.md +123 -0
  24. package/docs/core-concepts-event-subscriptions.zh-TW.md +123 -0
  25. package/docs/core-concepts-event-subscriptions.zh.md +22 -22
  26. package/docs/core-concepts-gas-payment.ja.md +111 -0
  27. package/docs/core-concepts-gas-payment.zh-TW.md +111 -0
  28. package/docs/core-concepts-gas-payment.zh.md +30 -30
  29. package/docs/core-concepts-transaction-lifecycle.ja.md +183 -0
  30. package/docs/core-concepts-transaction-lifecycle.zh-TW.md +183 -0
  31. package/docs/core-concepts-transaction-lifecycle.zh.md +51 -51
  32. package/docs/core-concepts.ja.md +22 -0
  33. package/docs/core-concepts.zh-TW.md +22 -0
  34. package/docs/core-concepts.zh.md +6 -6
  35. package/docs/getting-started-basic-usage.ja.md +87 -0
  36. package/docs/getting-started-basic-usage.zh-TW.md +87 -0
  37. package/docs/getting-started-basic-usage.zh.md +17 -17
  38. package/docs/getting-started-installation.ja.md +60 -0
  39. package/docs/getting-started-installation.zh-TW.md +60 -0
  40. package/docs/getting-started-installation.zh.md +14 -14
  41. package/docs/getting-started.ja.md +16 -0
  42. package/docs/getting-started.zh-TW.md +16 -0
  43. package/docs/getting-started.zh.md +6 -5
  44. package/docs/how-to-guides-delegate-permissions.ja.md +167 -0
  45. package/docs/how-to-guides-delegate-permissions.zh-TW.md +167 -0
  46. package/docs/how-to-guides-delegate-permissions.zh.md +27 -28
  47. package/docs/how-to-guides-manage-accounts.ja.md +73 -0
  48. package/docs/how-to-guides-manage-accounts.zh-TW.md +73 -0
  49. package/docs/how-to-guides-manage-accounts.zh.md +14 -14
  50. package/docs/how-to-guides-manage-assets.ja.md +255 -0
  51. package/docs/how-to-guides-manage-assets.zh-TW.md +255 -0
  52. package/docs/how-to-guides-manage-assets.zh.md +60 -60
  53. package/docs/how-to-guides-manage-tokens.ja.md +179 -0
  54. package/docs/how-to-guides-manage-tokens.zh-TW.md +179 -0
  55. package/docs/how-to-guides-manage-tokens.zh.md +52 -52
  56. package/docs/how-to-guides-stake-tokens-and-assets.ja.md +205 -0
  57. package/docs/how-to-guides-stake-tokens-and-assets.zh-TW.md +205 -0
  58. package/docs/how-to-guides-stake-tokens-and-assets.zh.md +44 -44
  59. package/docs/how-to-guides-transfer-tokens-and-nfts.ja.md +179 -0
  60. package/docs/how-to-guides-transfer-tokens-and-nfts.zh-TW.md +179 -0
  61. package/docs/how-to-guides-transfer-tokens-and-nfts.zh.md +47 -47
  62. package/docs/how-to-guides.ja.md +27 -0
  63. package/docs/how-to-guides.zh-TW.md +27 -0
  64. package/docs/how-to-guides.zh.md +11 -11
  65. package/docs/overview.ja.md +70 -0
  66. package/docs/overview.zh-TW.md +70 -0
  67. package/docs/overview.zh.md +8 -8
  68. package/package.json +14 -14
@@ -0,0 +1,649 @@
1
+ # 高レベル API
2
+
3
+ トランザクションヘルパーは、OCAP Clientに組み込まれた高レベル関数で、一般的なトランザクションの作成と署名の複雑さを抽象化します。手動でトランザクションオブジェクトを構築する代わりに、資産の作成、トークンの転送、ステーキング、アトミックスワップの実行などのワークフローにこれらの便利なメソッドを使用できます。これらのヘルパーは、トランザクション構造が正しいことを保証し、開発プロセスを大幅に簡素化します。
4
+
5
+ 基盤となるトランザクションライフサイクルの詳細については、[コアコンセプト:トランザクションライフサイクル](./core-concepts-transaction-lifecycle.md) を参照してください。
6
+
7
+ ---
8
+
9
+ ## アカウント管理
10
+
11
+ ### migrateAccount
12
+
13
+ アカウントの所有権を新しいキーペアに移行します。これは、キーのローテーションやアカウントの回復に役立ちます。
14
+
15
+ **パラメータ**
16
+
17
+ <x-field-group>
18
+ <x-field data-name="from" data-type="WalletObject" data-required="true" data-desc="移行元のアカウントのウォレットオブジェクト。"></x-field>
19
+ <x-field data-name="to" data-type="WalletObject" data-required="true" data-desc="移行先のアカウントのウォレットオブジェクト。"></x-field>
20
+ </x-field-group>
21
+
22
+ **戻り値**
23
+
24
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
25
+
26
+ **例**
27
+
28
+ ```javascript AccountMigrateTxを送信 icon=logos:javascript
29
+ const txHash = await client.migrateAccount({
30
+ from: oldWallet,
31
+ to: newWallet,
32
+ });
33
+ console.log('移行トランザクションハッシュ:', txHash);
34
+ ```
35
+
36
+ ### delegate
37
+
38
+ 別のアカウント(デリゲイー)がデリゲーターに代わって特定の種類のトランザクションを送信することを承認します。これは、安全なサンドボックス化された権限を作成するための強力な機能です。
39
+
40
+ **パラメータ**
41
+
42
+ <x-field-group>
43
+ <x-field data-name="from" data-type="WalletObject" data-required="true" data-desc="権限を付与するデリゲーターのウォレット。"></x-field>
44
+ <x-field data-name="to" data-type="WalletObject" data-required="true" data-desc="権限を受け取るデリゲイーのウォレット。"></x-field>
45
+ <x-field data-name="privileges" data-type="array" data-required="true" data-desc="許可されたアクションを指定する権限オブジェクトの配列。">
46
+ <x-field data-name="typeUrl" data-type="string" data-required="true" data-desc="許可されるトランザクションのタイプURL(例:「fg:t:transfer_v2」)。"></x-field>
47
+ <x-field data-name="limit" data-type="object" data-required="false" data-desc="委任に関するオプションの制限。">
48
+ <x-field data-name="tokens" data-type="array" data-desc="特定のファンジブルトークンに関する制限。"></x-field>
49
+ <x-field data-name="assets" data-type="array" data-desc="特定の資産(NFT)に関する制限。"></x-field>
50
+ </x-field>
51
+ </x-field>
52
+ </x-field-group>
53
+
54
+ **戻り値**
55
+
56
+ <x-field data-name="result" data-type="Promise<[string, string]>" data-desc="トランザクションハッシュと新しく作成されたデリゲートアドレスを含む配列。"></x-field>
57
+
58
+ **例**
59
+
60
+ ```javascript DelegateTxを送信 icon=logos:javascript
61
+ const [txHash, delegateAddress] = await client.delegate({
62
+ from: userWallet,
63
+ to: appWallet,
64
+ privileges: [
65
+ {
66
+ typeUrl: 'fg:t:transfer_v2',
67
+ },
68
+ ],
69
+ });
70
+ console.log('委任トランザクションハッシュ:', txHash);
71
+ console.log('デリゲートアドレス:', delegateAddress);
72
+ ```
73
+
74
+ ### revokeDelegate
75
+
76
+ 以前に付与された権限をデリゲイーから取り消します。
77
+
78
+ **パラメータ**
79
+
80
+ <x-field-group>
81
+ <x-field data-name="from" data-type="WalletObject" data-required="true" data-desc="デリゲーターのウォレット。"></x-field>
82
+ <x-field data-name="to" data-type="WalletObject" data-required="true" data-desc="デリゲイーのウォレット。"></x-field>
83
+ <x-field data-name="privileges" data-type="array" data-required="true" data-desc="取り消す権限を指定する権限オブジェクトの配列。">
84
+ <x-field data-name="typeUrl" data-type="string" data-required="true" data-desc="取り消すトランザクションのタイプURL(例:「fg:t:transfer_v2」)。"></x-field>
85
+ </x-field>
86
+ </x-field-group>
87
+
88
+ **戻り値**
89
+
90
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
91
+
92
+ **例**
93
+
94
+ ```javascript RevokeDelegateTxを送信 icon=logos:javascript
95
+ const txHash = await client.revokeDelegate({
96
+ from: userWallet,
97
+ to: appWallet,
98
+ privileges: ['fg:t:transfer_v2'],
99
+ });
100
+ console.log('取り消しトランザクションハッシュ:', txHash);
101
+ ```
102
+
103
+ ---
104
+
105
+ ## 資産(NFT)管理
106
+
107
+ ### createAsset
108
+
109
+ ブロックチェーン上に新しい資産(非代替性トークン)を作成します。
110
+
111
+ **パラメータ**
112
+
113
+ <x-field-group>
114
+ <x-field data-name="moniker" data-type="string" data-required="true" data-desc="資産の短く、人間が読める名前。"></x-field>
115
+ <x-field data-name="data" data-type="object" data-required="true" data-desc="資産のメタデータを含むJSONオブジェクト。"></x-field>
116
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="資産の初期所有者のウォレット。"></x-field>
117
+ <x-field data-name="parent" data-type="string" data-required="false" data-desc="階層リンクを確立するための親資産のアドレス。"></x-field>
118
+ <x-field data-name="ttl" data-type="number" data-required="false" data-default="0" data-desc="最初の消費後の生存時間(秒単位)。"></x-field>
119
+ <x-field data-name="readonly" data-type="boolean" data-required="false" data-default="false" data-desc="trueの場合、作成後に資産を更新することはできません。"></x-field>
120
+ <x-field data-name="transferrable" data-type="boolean" data-required="false" data-default="true" data-desc="trueの場合、資産を別のアカウントに転送できます。"></x-field>
121
+ <x-field data-name="display" data-type="object" data-required="false" data-desc="資産表示メタデータ用のオブジェクト。"></x-field>
122
+ <x-field data-name="endpoint" data-type="object" data-required="false" data-desc="資産エンドポイントメタデータ用のオブジェクト。"></x-field>
123
+ <x-field data-name="tags" data-type="string[]" data-required="false" data-desc="分類用のタグの配列。"></x-field>
124
+ <x-field data-name="delegator" data-type="string" data-required="false" data-desc="トランザクションがデリゲイーによって送信された場合のデリゲーターのアドレス。"></x-field>
125
+ </x-field-group>
126
+
127
+ **戻り値**
128
+
129
+ <x-field data-name="result" data-type="Promise<[string, string]>" data-desc="トランザクションハッシュと新しく作成された資産のアドレスを含む配列。"></x-field>
130
+
131
+ **例**
132
+
133
+ ```javascript CreateAssetTxを送信 icon=logos:javascript
134
+ const [txHash, assetAddress] = await client.createAsset({
135
+ moniker: '私の最初のNFT',
136
+ data: {
137
+ typeUrl: 'json',
138
+ value: { name: 'デジタルコレクティブル', description: 'ユニークなアイテムです。' },
139
+ },
140
+ wallet: userWallet,
141
+ });
142
+ console.log('資産作成トランザクションハッシュ:', txHash);
143
+ console.log('新しい資産アドレス:', assetAddress);
144
+ ```
145
+
146
+ ### updateAsset
147
+
148
+ 既存の読み取り専用でない資産の `moniker` および `data` フィールドを更新します。
149
+
150
+ **パラメータ**
151
+
152
+ <x-field-group>
153
+ <x-field data-name="address" data-type="string" data-required="true" data-desc="更新する資産のアドレス。"></x-field>
154
+ <x-field data-name="moniker" data-type="string" data-required="true" data-desc="資産の新しいモニカー。"></x-field>
155
+ <x-field data-name="data" data-type="object" data-required="true" data-desc="資産の新しいJSONデータオブジェクト。"></x-field>
156
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="資産の現在の所有者のウォレット。"></x-field>
157
+ </x-field-group>
158
+
159
+ **戻り値**
160
+
161
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
162
+
163
+ **例**
164
+
165
+ ```javascript UpdateAssetTxを送信 icon=logos:javascript
166
+ const txHash = await client.updateAsset({
167
+ address: 'z3g...',
168
+ moniker: '更新されたNFT名',
169
+ data: {
170
+ typeUrl: 'json',
171
+ value: { name: '更新されたコレクティブル', description: 'さらに多くの機能が追加されました!' },
172
+ },
173
+ wallet: userWallet,
174
+ });
175
+ console.log('資産更新トランザクションハッシュ:', txHash);
176
+ ```
177
+
178
+ ### createAssetFactory
179
+
180
+ 一貫した構造を持つ複数の新しい資産をミントするためのテンプレートとして機能する資産ファクトリーを作成します。
181
+
182
+ **パラメータ**
183
+
184
+ <x-field-group>
185
+ <x-field data-name="factory" data-type="object" data-required="true" data-desc="ファクトリーの設定を含むオブジェクト。">
186
+ <x-field data-name="name" data-type="string" data-required="true" data-desc="ファクトリーの名前。"></x-field>
187
+ <x-field data-name="description" data-type="string" data-required="true" data-desc="ファクトリーの説明。"></x-field>
188
+ <x-field data-name="limit" data-type="number" data-required="false" data-default="0" data-desc="ミントできる資産の最大数(0は無制限)。"></x-field>
189
+ <x-field data-name="trustedIssuers" data-type="string[]" data-required="false" data-desc="このファクトリーからミントすることが許可されているウォレットアドレスのリスト。"></x-field>
190
+ <x-field data-name="input" data-type="object" data-required="true" data-desc="ミントに必要な入力を定義します。"></x-field>
191
+ <x-field data-name="output" data-type="object" data-required="true" data-desc="ミントされた資産の構造を定義します。多くの場合、テンプレートを使用します。"></x-field>
192
+ </x-field>
193
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="ファクトリーを所有するウォレット。"></x-field>
194
+ </x-field-group>
195
+
196
+ **戻り値**
197
+
198
+ <x-field data-name="result" data-type="Promise<[string, string]>" data-desc="トランザクションハッシュと新しく作成されたファクトリーのアドレスを含む配列。"></x-field>
199
+
200
+ **例**
201
+
202
+ ```javascript CreateFactoryTxを送信 icon=logos:javascript
203
+ const factoryConfig = {
204
+ name: 'チケットファクトリー',
205
+ description: 'イベントチケットをミントします',
206
+ limit: 1000,
207
+ input: { ... },
208
+ output: { ... },
209
+ };
210
+
211
+ const [txHash, factoryAddress] = await client.createAssetFactory({
212
+ factory: factoryConfig,
213
+ wallet: eventCreatorWallet,
214
+ });
215
+ console.log('ファクトリー作成トランザクションハッシュ:', txHash);
216
+ console.log('新しいファクトリーアドレス:', factoryAddress);
217
+ ```
218
+
219
+ ### acquireAsset
220
+
221
+ 既存の資産ファクトリーから新しい資産を取得(ミント)します。これは通常、資産を所有することになるエンドユーザーによって開始されます。
222
+
223
+ **パラメータ**
224
+
225
+ <x-field-group>
226
+ <x-field data-name="itx" data-type="AcquireAssetV2Tx" data-required="true" data-desc="内部トランザクションオブジェクト。多くの場合、`preMintAsset` のようなヘルパーを使用して準備されます。"></x-field>
227
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="資産を取得するユーザーのウォレット。"></x-field>
228
+ <x-field data-name="delegator" data-type="string" data-required="false" data-desc="該当する場合、デリゲーターのアドレス。"></x-field>
229
+ </x-field-group>
230
+
231
+ **戻り値**
232
+
233
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
234
+
235
+ **例**
236
+
237
+ ```javascript AcquireAssetV2Txを送信 icon=logos:javascript
238
+ // まず、ミントトランザクションを準備します(例:サーバー上で)
239
+ const itx = await client.preMintAsset({
240
+ factory: factoryAddress,
241
+ owner: userWallet.address,
242
+ wallet: issuerWallet,
243
+ });
244
+
245
+ // 次に、ユーザーがトランザクションを送信します
246
+ const txHash = await client.acquireAsset({ itx, wallet: userWallet });
247
+ console.log('資産取得トランザクションハッシュ:', txHash);
248
+ ```
249
+
250
+ ### mintAsset
251
+
252
+ これは `acquireAsset` の発行者側の対応物です。信頼された発行者がファクトリーから資産をミントし、指定された所有者に割り当てることができます。
253
+
254
+ **パラメータ**
255
+
256
+ <x-field-group>
257
+ <x-field data-name="itx" data-type="MintAssetTx" data-required="true" data-desc="内部トランザクションオブジェクト。多くの場合、`preMintAsset` を使用して準備されます。"></x-field>
258
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="信頼された発行者のウォレット。"></x-field>
259
+ </x-field-group>
260
+
261
+ **戻り値**
262
+
263
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
264
+
265
+ **例**
266
+
267
+ ```javascript MintAssetTxを送信 icon=logos:javascript
268
+ const itx = await client.preMintAsset({
269
+ factory: factoryAddress,
270
+ owner: userWallet.address,
271
+ wallet: issuerWallet,
272
+ });
273
+
274
+ const txHash = await client.mintAsset({ itx, wallet: issuerWallet });
275
+ console.log('資産ミントトランザクションハッシュ:', txHash);
276
+ ```
277
+
278
+ ---
279
+
280
+ ## トークン管理
281
+
282
+ ### createTokenFactory
283
+
284
+ 特定のファンジブルトークンをミントおよびバーンするための新しいファクトリーを作成します。多くの場合、ボンディングカーブ価格モデルに基づいています。
285
+
286
+ **パラメータ**
287
+
288
+ <x-field-group>
289
+ <x-field data-name="feeRate" data-type="number" data-required="false" data-default="0" data-desc="ミントおよびバーン操作の手数料率。"></x-field>
290
+ <x-field data-name="curve" data-type="object" data-required="true" data-desc="価格設定のためのボンディングカーブ設定。"></x-field>
291
+ <x-field data-name="token" data-type="object" data-required="true">
292
+ <x-field-desc markdown>作成されるトークンの設定。これには、`name`、`symbol`、`decimal`、`maxTotalSupply` などのプロパティが含まれます。</x-field-desc>
293
+ </x-field>
294
+ <x-field data-name="data" data-type="object" data-required="false" data-desc="トークンファクトリーのオプションのメタデータ。"></x-field>
295
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="ファクトリー所有者のウォレット。"></x-field>
296
+ </x-field-group>
297
+
298
+ **戻り値**
299
+
300
+ <x-field data-name="result" data-type="Promise<[string, string]>" data-desc="トランザクションハッシュと新しく作成されたトークンファクトリーのアドレスを含む配列。"></x-field>
301
+
302
+ **例**
303
+
304
+ ```javascript CreateTokenFactoryTxを送信 icon=logos:javascript
305
+ const [txHash, factoryAddress] = await client.createTokenFactory({
306
+ feeRate: 100, // 1%
307
+ curve: { fixedPrice: '1' }, // 新しいトークンごとに1ネイティブトークン
308
+ token: {
309
+ name: 'マイコミュニティトークン',
310
+ symbol: 'MCT',
311
+ decimal: 18,
312
+ maxTotalSupply: '1000000',
313
+ },
314
+ wallet: creatorWallet,
315
+ });
316
+ console.log('トークンファクトリー作成トランザクションハッシュ:', txHash);
317
+ console.log('新しいトークンファクトリーアドレス:', factoryAddress);
318
+ ```
319
+
320
+ ### updateTokenFactory
321
+
322
+ 既存のトークンファクトリーの `feeRate` と `data` を更新します。
323
+
324
+ **パラメータ**
325
+
326
+ <x-field-group>
327
+ <x-field data-name="address" data-type="string" data-required="true" data-desc="更新するトークンファクトリーのアドレス。"></x-field>
328
+ <x-field data-name="feeRate" data-type="number" data-required="false" data-desc="ミントとバーンの新しい手数料率。"></x-field>
329
+ <x-field data-name="data" data-type="object" data-required="false" data-desc="トークンファクトリーの新しいメタデータ。"></x-field>
330
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="ファクトリー所有者のウォレット。"></x-field>
331
+ </x-field-group>
332
+
333
+ **戻り値**
334
+
335
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
336
+
337
+ **例**
338
+
339
+ ```javascript UpdateTokenFactoryTxを送信 icon=logos:javascript
340
+ const txHash = await client.updateTokenFactory({
341
+ address: 'z2f...',
342
+ feeRate: 50, // 0.5%
343
+ wallet: ownerWallet,
344
+ });
345
+ console.log('トークンファクトリー更新トランザクションハッシュ:', txHash);
346
+ ```
347
+
348
+ ### mintToken
349
+
350
+ リザーブトークン(通常はネイティブチェーントークン)と引き換えに、トークンファクトリーから新しいトークンをミントします。コストはファクトリーのボンディングカーブによって決定されます。
351
+
352
+ **パラメータ**
353
+
354
+ <x-field-group>
355
+ <x-field data-name="tokenFactory" data-type="string" data-required="true" data-desc="トークンファクトリーのアドレス。"></x-field>
356
+ <x-field data-name="amount" data-type="number" data-required="true" data-desc="ミントする新しいトークンの量。"></x-field>
357
+ <x-field data-name="receiver" data-type="string" data-required="true" data-desc="新しくミントされたトークンを受け取るアドレス。"></x-field>
358
+ <x-field data-name="maxReserve" data-type="number" data-required="true" data-desc="ユーザーが支払う意思のあるリザーブトークンの最大量。これはスリッページ保護として機能します。"></x-field>
359
+ <x-field data-name="data" data-type="object" data-required="false" data-desc="トランザクションのオプションのメタデータ。"></x-field>
360
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="ミントを開始するウォレット。"></x-field>
361
+ </x-field-group>
362
+
363
+ **戻り値**
364
+
365
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
366
+
367
+ **例**
368
+
369
+ ```javascript MintTokenTxを送信 icon=logos:javascript
370
+ const txHash = await client.mintToken({
371
+ tokenFactory: 'z2f...',
372
+ amount: 100,
373
+ receiver: userWallet.address,
374
+ maxReserve: 105, // 最大105ネイティブトークンまで支払う意思がある
375
+ wallet: userWallet,
376
+ });
377
+ console.log('トークンミントトランザクションハッシュ:', txHash);
378
+ ```
379
+
380
+ ### burnToken
381
+
382
+ ファクトリーで既存のトークンをバーンし、引き換えに基礎となるリザーブトークンを受け取ります。受け取るリザーブトークンの量は、ファクトリーのボンディングカーブによって決定されます。
383
+
384
+ **パラメータ**
385
+
386
+ <x-field-group>
387
+ <x-field data-name="tokenFactory" data-type="string" data-required="true" data-desc="トークンファクトリーのアドレス。"></x-field>
388
+ <x-field data-name="amount" data-type="number" data-required="true" data-desc="バーンするトークンの量。"></x-field>
389
+ <x-field data-name="receiver" data-type="string" data-required="true" data-desc="リザーブトークンを受け取るアドレス。"></x-field>
390
+ <x-field data-name="minReserve" data-type="number" data-required="true" data-desc="ユーザーが受け取ることを期待するリザーブトークンの最小量。これはスリッページ保護として機能します。"></x-field>
391
+ <x-field data-name="data" data-type="object" data-required="false" data-desc="トランザクションのオプションのメタデータ。"></x-field>
392
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="バーンを開始するウォレット。"></x-field>
393
+ </x-field-group>
394
+
395
+ **戻り値**
396
+
397
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
398
+
399
+ **例**
400
+
401
+ ```javascript BurnTokenTxを送信 icon=logos:javascript
402
+ const txHash = await client.burnToken({
403
+ tokenFactory: 'z2f...',
404
+ amount: 50,
405
+ receiver: userWallet.address,
406
+ minReserve: 48, // 少なくとも48ネイティブトークンを受け取ることを期待
407
+ wallet: userWallet,
408
+ });
409
+ console.log('トークンバーントランザクションハッシュ:', txHash);
410
+ ```
411
+
412
+ ---
413
+
414
+ ## 転送と交換
415
+
416
+ ### transfer
417
+
418
+ ネイティブトークン、カスタムファンジブルトークン、および/または資産(NFT)を単一のトランザクションで別のアカウントに転送します。
419
+
420
+ **パラメータ**
421
+
422
+ <x-field-group>
423
+ <x-field data-name="to" data-type="string" data-required="true" data-desc="受信者のアドレス。"></x-field>
424
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="送信者のウォレット。"></x-field>
425
+ <x-field data-name="token" data-type="number" data-required="false" data-default="0" data-desc="転送するチェーンのネイティブトークンの量。"></x-field>
426
+ <x-field data-name="assets" data-type="string[]" data-required="false" data-desc="転送する資産アドレス(NFT)の配列。"></x-field>
427
+ <x-field data-name="tokens" data-type="object[]" data-required="false" data-desc="転送するカスタムファンジブルトークンオブジェクトの配列。">
428
+ <x-field data-name="address" data-type="string" data-required="true" data-desc="カスタムトークンコントラクトのアドレス。"></x-field>
429
+ <x-field data-name="value" data-type="number" data-required="true" data-desc="転送するカスタムトークンの量。"></x-field>
430
+ </x-field>
431
+ <x-field data-name="memo" data-type="string" data-required="false" data-desc="トランザクションのオプションのメモ。"></x-field>
432
+ <x-field data-name="delegator" data-type="string" data-required="false" data-desc="該当する場合、デリゲーターのアドレス。"></x-field>
433
+ </x-field-group>
434
+
435
+ **戻り値**
436
+
437
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
438
+
439
+ **例**
440
+
441
+ ```javascript TransferV2Txを送信 icon=logos:javascript
442
+ const txHash = await client.transfer({
443
+ to: 'z1sb...',
444
+ token: 1.5, // 1.5ネイティブチェーントークン
445
+ assets: ['z3g...'], // NFT
446
+ tokens: [{ address: 'z2t...', value: 100 }], // 100カスタムトークン
447
+ memo: 'サービスへの支払い',
448
+ wallet: senderWallet,
449
+ });
450
+ console.log('転送トランザクションハッシュ:', txHash);
451
+ ```
452
+
453
+ ### prepareExchange
454
+
455
+ アトミックスワップ(交換)トランザクションの送信者側を準備します。送信者のオファーに署名し、受信者に渡すことができるトランザクションオブジェクトを返します。
456
+
457
+ **パラメータ**
458
+
459
+ <x-field-group>
460
+ <x-field data-name="receiver" data-type="string" data-required="true" data-desc="交換の相手方のアドレス。"></x-field>
461
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="オファーを行うユーザーのウォレット。"></x-field>
462
+ <x-field data-name="offerToken" data-type="number" data-required="false" data-desc="オファーされたネイティブトークンの量。"></x-field>
463
+ <x-field data-name="offerAssets" data-type="string[]" data-required="false" data-desc="オファーされた資産アドレスの配列。"></x-field>
464
+ <x-field data-name="offerTokens" data-type="object[]" data-required="false" data-desc="オファーされたカスタムファンジブルトークンの配列。"></x-field>
465
+ <x-field data-name="demandToken" data-type="number" data-required="false" data-desc="見返りとして要求されるネイティブトークンの量。"></x-field>
466
+ <x-field data-name="demandAssets" data-type="string[]" data-required="false" data-desc="見返りとして要求される資産アドレスの配列。"></x-field>
467
+ <x-field data-name="demandTokens" data-type="object[]" data-required="false" data-desc="要求されたカスタムファンジブルトークンの配列。"></x-field>
468
+ <x-field data-name="memo" data-type="string" data-required="false" data-desc="トランザクションのオプションのメモ。"></x-field>
469
+ </x-field-group>
470
+
471
+ **戻り値**
472
+
473
+ <x-field data-name="transactionObject" data-type="Promise<object>" data-desc="部分的に署名されたトランザクションオブジェクト。"></x-field>
474
+
475
+ ### finalizeExchange
476
+
477
+ アトミックスワップの受信者側を最終処理します。`prepareExchange` からの部分的に署名されたトランザクションを受け取り、受信者の署名を追加し、完全に署名されたトランザクションオブジェクトを返します。
478
+
479
+ **パラメータ**
480
+
481
+ <x-field-group>
482
+ <x-field data-name="tx" data-type="object" data-required="true" data-desc="`prepareExchange` から返されたトランザクションオブジェクト。"></x-field>
483
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="オファーを受け入れるユーザーのウォレット。"></x-field>
484
+ <x-field data-name="data" data-type="object" data-required="false" data-desc="マルチシグネチャの追加データ。"></x-field>
485
+ </x-field-group>
486
+
487
+ **戻り値**
488
+
489
+ <x-field data-name="transactionObject" data-type="Promise<object>" data-desc="完全に署名されたマルチシグネチャトランザクションオブジェクト。"></x-field>
490
+
491
+ ### exchange
492
+
493
+ 完全に署名された交換トランザクションをブロックチェーンに送信します。これは、`finalizeExchange` の完了後、どちらの当事者からでも呼び出すことができます。
494
+
495
+ **パラメータ**
496
+
497
+ <x-field-group>
498
+ <x-field data-name="tx" data-type="object" data-required="true" data-desc="`finalizeExchange` から返されたトランザクションオブジェクト。"></x-field>
499
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="トランザクションを送信するユーザーのウォレット。"></x-field>
500
+ </x-field-group>
501
+
502
+ **戻り値**
503
+
504
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
505
+
506
+ **例(完全な交換フロー)**
507
+
508
+ ```javascript アトミックスワップを実行 icon=logos:javascript
509
+ // 1. オファー提供者がトランザクションを準備
510
+ const offerTx = await client.prepareExchange({
511
+ receiver: receiverWallet.address,
512
+ offerAssets: ['z3g...'], // NFTをオファー
513
+ demandToken: 10, // 10ネイティブトークンを要求
514
+ wallet: offererWallet,
515
+ });
516
+
517
+ // 2. 受信者がトランザクションを最終処理
518
+ const finalTx = await client.finalizeExchange({
519
+ tx: offerTx,
520
+ wallet: receiverWallet,
521
+ });
522
+
523
+ // 3. どちらの当事者も最終処理されたトランザクションを送信可能
524
+ const txHash = await client.exchange({ tx: finalTx, wallet: offererWallet });
525
+ console.log('交換トランザクションハッシュ:', txHash);
526
+ ```
527
+
528
+ ---
529
+
530
+ ## ステーキング
531
+
532
+ ### stake
533
+
534
+ トークンおよび/または資産を受信者アドレスにステーキングします。ステーキングはリソースをロックし、多くの場合、報酬と引き換えに、またはセキュリティを提供するために行われます。
535
+
536
+ **パラメータ**
537
+
538
+ <x-field-group>
539
+ <x-field data-name="to" data-type="string" data-required="true" data-desc="ステーク受信者のアドレス。"></x-field>
540
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="ステーカーのウォレット。"></x-field>
541
+ <x-field data-name="assets" data-type="string[]" data-required="false" data-desc="ステーキングする資産アドレスの配列。"></x-field>
542
+ <x-field data-name="tokens" data-type="object[]" data-required="false" data-desc="ステーキングするファンジブルトークンオブジェクトの配列。"></x-field>
543
+ <x-field data-name="locked" data-type="boolean" data-required="false" data-default="false" data-desc="作成時にステークがロックされるかどうか。"></x-field>
544
+ <x-field data-name="slashers" data-type="string[]" data-required="false" data-desc="このステークをスラッシュすることが許可されているアドレスのリスト。"></x-field>
545
+ <x-field data-name="message" data-type="string" data-required="false" data-desc="ステークのオプションのメモ。"></x-field>
546
+ </x-field-group>
547
+
548
+ **戻り値**
549
+
550
+ <x-field data-name="result" data-type="Promise<[string, string]>" data-desc="トランザクションハッシュと新しく作成されたステークのアドレスを含む配列。"></x-field>
551
+
552
+ **例**
553
+
554
+ ```javascript StakeTxを送信 icon=logos:javascript
555
+ const [txHash, stakeAddress] = await client.stake({
556
+ to: 'z1v...',
557
+ tokens: [{ address: 'z2t...', value: 5000 }],
558
+ message: 'バリデーター報酬のためのステーキング',
559
+ wallet: userWallet,
560
+ });
561
+ console.log('ステークトランザクションハッシュ:', txHash);
562
+ console.log('新しいステークアドレス:', stakeAddress);
563
+ ```
564
+
565
+ ### revokeStake
566
+
567
+ 以前にステーキングされたトークンおよび/または資産を取り消し、所有者に返却するプロセスを開始します。資産が請求可能になるまでにアンボンディング期間がある場合があることに注意してください。
568
+
569
+ **パラメータ**
570
+
571
+ <x-field-group>
572
+ <x-field data-name="from" data-type="string" data-required="true" data-desc="取り消すステークのアドレス。"></x-field>
573
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="ステーク所有者のウォレット。"></x-field>
574
+ <x-field data-name="assets" data-type="string[]" data-required="false" data-desc="取り消す資産アドレスの配列。"></x-field>
575
+ <x-field data-name="tokens" data-type="object[]" data-required="false" data-desc="取り消すファンジブルトークンオブジェクトの配列。"></x-field>
576
+ </x-field-group>
577
+
578
+ **戻り値**
579
+
580
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
581
+
582
+ **例**
583
+
584
+ ```javascript RevokeStakeTxを送信 icon=logos:javascript
585
+ const txHash = await client.revokeStake({
586
+ from: 'z6s...',
587
+ tokens: [{ address: 'z2t...', value: 1000 }],
588
+ wallet: userWallet,
589
+ });
590
+ console.log('ステーク取り消しトランザクションハッシュ:', txHash);
591
+ ```
592
+
593
+ ### claimStake
594
+
595
+ 正常に取り消され、アンボンディング期間が経過したステークからアイテムを請求します。
596
+
597
+ **パラメータ**
598
+
599
+ <x-field-group>
600
+ <x-field data-name="from" data-type="string" data-required="true" data-desc="請求するステークのアドレス。"></x-field>
601
+ <x-field data-name="evidence" data-type="string" data-required="true" data-desc="`revokeStake` トランザクションのトランザクションハッシュ。"></x-field>
602
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="ステーク所有者のウォレット。"></x-field>
603
+ </x-field-group>
604
+
605
+ **戻り値**
606
+
607
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
608
+
609
+ **例**
610
+
611
+ ```javascript ClaimStakeTxを送信 icon=logos:javascript
612
+ const revokeTxHash = '0x123...abc';
613
+ const txHash = await client.claimStake({
614
+ from: 'z6s...',
615
+ evidence: revokeTxHash,
616
+ wallet: userWallet,
617
+ });
618
+ console.log('ステーク請求トランザクションハッシュ:', txHash);
619
+ ```
620
+
621
+ ### slashStake
622
+
623
+ 指定されたスラッシャーが、通常は不正行為に対してステークにペナルティを課すことを許可します。スラッシュされた資産は指定されたボールトアドレスに転送されます。
624
+
625
+ **パラメータ**
626
+
627
+ <x-field-group>
628
+ <x-field data-name="from" data-type="string" data-required="true" data-desc="スラッシュするステークのアドレス。"></x-field>
629
+ <x-field data-name="reason" data-type="string" data-required="true" data-desc="スラッシュの理由を説明するメッセージ。"></x-field>
630
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="指定されたスラッシャーのウォレット。"></x-field>
631
+ <x-field data-name="assets" data-type="string[]" data-required="false" data-desc="スラッシュする資産アドレスの配列。"></x-field>
632
+ <x-field data-name="tokens" data-type="object[]" data-required="false" data-desc="スラッシュするファンジブルトークンオブジェクトの配列。"></x-field>
633
+ </x-field-group>
634
+
635
+ **戻り値**
636
+
637
+ <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="送信されたトランザクションのハッシュ。"></x-field>
638
+
639
+ **例**
640
+
641
+ ```javascript SlashStakeTxを送信 icon=logos:javascript
642
+ const txHash = await client.slashStake({
643
+ from: 'z6s...',
644
+ reason: 'バリデーターのダウンタイム',
645
+ tokens: [{ address: 'z2t...', value: 500 }],
646
+ wallet: slasherWallet,
647
+ });
648
+ console.log('ステークスラッシュトランザクションハッシュ:', txHash);
649
+ ```