ClientTransaction

クライアントによって開始されたトランザクションを表します。

JSON 表現
{
  "senderId": string,
  "otherSignatoryIds": [
    string
  ],
  "sequenceNumber": string,
  "chainedUnit": boolean,
  "network": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "operational": {
    "@type": string,
    field1: ...,
    ...
  },
  "transferPlatformOperatorTransaction": {
    object (TransferPlatformOperator)
  },
  "createCurrencyOperatorTransaction": {
    object (CreateCurrencyOperator)
  },
  "transferCurrencyOperatorTransaction": {
    object (TransferCurrencyOperator)
  },
  "createClearinghouseTransaction": {
    object (CreateClearinghouse)
  },
  "createAccountManagerTransaction": {
    object (CreateAccountManager)
  },
  "createTokenManagerTransaction": {
    object (CreateTokenManager)
  },
  "increaseTokenIssuanceLimitTransaction": {
    object (IncreaseTokenIssuanceLimit)
  },
  "decreaseTokenIssuanceLimitTransaction": {
    object (DecreaseTokenIssuanceLimit)
  },
  "settlementRequestTransaction": {
    object (SettlementRequest)
  },
  "mintTransaction": {
    object (Mint)
  },
  "burnTransaction": {
    object (Burn)
  },
  "createAccountTransaction": {
    object (CreateAccount)
  },
  "deactivateAccountTransaction": {
    object (DeactivateAccount)
  },
  "activateAccountTransaction": {
    object (ActivateAccount)
  },
  "addRolesTransaction": {
    object (AddRoles)
  },
  "removeRolesTransaction": {
    object (RemoveRoles)
  },
  "changeAccountManagerTransaction": {
    object (ChangeAccountManager)
  },
  "transferTransaction": {
    object (Transfer)
  },
  "createContractTransaction": {
    object (CreateContract)
  },
  "grantContractPermissionsTransaction": {
    object (GrantContractPermissions)
  },
  "invokeContractMethodTransaction": {
    object (InvokeContractMethod)
  },
  "createContractTokenManagerTransaction": {
    object (CreateContractTokenManager)
  },
  "transferContractTokenManagerTransaction": {
    object (TransferContractTokenManager)
  },
  "removeSigningPublicKeyTransaction": {
    object (RemoveSigningPublicKey)
  },
  "replaceSigningPublicKeyTransaction": {
    object (ReplaceSigningPublicKey)
  },
  "chain": {
    object (TransactionChain)
  }
  // End of mutually exclusive fields.
}
フィールド
senderId

string

必須。この取引を送信しているアカウントの ID。

otherSignatoryIds[]

string

省略可。送信者に加えて、このトランザクションに署名したアカウントの ID。

sequenceNumber

string (int64 format)

必須。0 から始まる一意の単調増加する数値。

この番号は、同じトランザクション送信者によって以前にネットワークに送信されたトランザクションごとに 1 つずつ増やす必要があります。

ただし、チェーンの一部として送信された可能性のあるトランザクション ユニットは含まれません。チェーンの一部として送信されたトランザクション ユニットには、シーケンス番号を設定しないでください。ただし、トランザクション チェーン自体の送信者は含まれます。

chainedUnit

boolean

このクライアント トランザクションがトランザクション チェーンの一部である場合は、true に設定する必要があります。それ以外の場合は、false に設定する必要があります。

これは、チェーンの一部として意図された署名付きトランザクションが単独で送信されるのを防ぐために必要です。

network

string

必須。このトランザクションの対象となるネットワークの名前(user-testing など)。名前が取引を処理するネットワークの名前と一致しない場合、取引は拒否されます。

クライアント トランザクション固有のメッセージ。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
operational

object

省略可。オペレーション トランザクション メッセージ。このメールはプラットフォーム オペレーターのみが送信できます。次のいずれかである必要があります。

任意のデータ型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド "@type" を追加できます。例: { "id": 1234, "@type": "types.example.com/standard/id" }

transferPlatformOperatorTransaction

object (TransferPlatformOperator)

省略可。プラットフォーム オペレーターのロールを新しいアカウントに移行するためのメッセージ。

createCurrencyOperatorTransaction

object (CreateCurrencyOperator)

省略可。新しい通貨演算子を作成するためのメッセージ。

transferCurrencyOperatorTransaction

object (TransferCurrencyOperator)

省略可。通貨オペレーターのロールを新しいアカウントに移行するためのメッセージ。

createClearinghouseTransaction

object (CreateClearinghouse)

省略可。新しいクリアリングハウスを作成するためのメッセージ。

createAccountManagerTransaction

object (CreateAccountManager)

省略可。新しいアカウント マネージャーを作成するためのメッセージ。

createTokenManagerTransaction

object (CreateTokenManager)

省略可。リクエストを送信するオペレーターの通貨に関連付けられた新しいトークン マネージャーを作成するためのメッセージ。

increaseTokenIssuanceLimitTransaction

object (IncreaseTokenIssuanceLimit)

省略可。対象アカウントが準備金を預け入れたことをネットワークに通知し、トークン発行上限を引き上げます。

decreaseTokenIssuanceLimitTransaction

object (DecreaseTokenIssuanceLimit)

省略可。対象アカウントが準備金を引き出すことをネットワークに通知し、トークン発行上限を引き下げます。

settlementRequestTransaction

object (SettlementRequest)

省略可。決済オペレーションを開始するためのメッセージ。

mintTransaction

object (Mint)

省略可。通貨トークンをミントしてアカウントに転送するためのメッセージ。

burnTransaction

object (Burn)

省略可。アカウントから通貨トークンをバーンするためのメッセージ。

createAccountTransaction

object (CreateAccount)

省略可。新しいユーザー アカウントを作成するためのメッセージ。

deactivateAccountTransaction

object (DeactivateAccount)

省略可。ユーザー アカウントを無効にするためのメッセージ。

activateAccountTransaction

object (ActivateAccount)

省略可。ユーザー アカウントを有効にするためのメッセージ。

addRolesTransaction

object (AddRoles)

省略可。アカウントにロールを追加するためのメッセージ。

removeRolesTransaction

object (RemoveRoles)

省略可。アカウントからロールを削除するためのメッセージ。

changeAccountManagerTransaction

object (ChangeAccountManager)

省略可。アカウントのアカウント マネージャーを変更するためのメッセージ。

transferTransaction

object (Transfer)

省略可。あるユーザー アカウントから別のユーザー アカウントにトークンを転送するためのメッセージ。

createContractTransaction

object (CreateContract)

省略可。台帳に新しい契約を作成するためのメッセージ。

grantContractPermissionsTransaction

object (GrantContractPermissions)

省略可。契約に権限を付与するためのメッセージ。

invokeContractMethodTransaction

object (InvokeContractMethod)

省略可。コントラクト メソッドの実行を呼び出すメッセージ。

createContractTokenManagerTransaction

object (CreateContractTokenManager)

省略可。リクエストを送信するオペレーターの通貨に関連付けられた新しいトークン マネージャーを作成するためのメッセージ。

transferContractTokenManagerTransaction

object (TransferContractTokenManager)

省略可。通貨のトークン マネージャーのロールをあるアカウントから別のアカウントに移行するためのメッセージ。

removeSigningPublicKeyTransaction

object (RemoveSigningPublicKey)

省略可。アカウント署名鍵を削除するためのメッセージ。

replaceSigningPublicKeyTransaction

object (ReplaceSigningPublicKey)

省略可。アカウント署名鍵を置き換えるためのメッセージ。

chain

object (TransactionChain)

省略可。複数のトランザクション ユニットを含むトランザクション チェーンのメッセージ。

相互に排他的なフィールドの終了。

TransferPlatformOperator

プラットフォーム オペレーターの所有権を新しいアカウントに移行します。送信者は現在のプラットフォーム オペレーターである必要があります。

トランザクションが成功すると、現在のプラットフォーム オペレーターが無効になり、新しく作成されたアカウントの ID が、確定されたトランザクションの TransactionCertificate でイベントとして返されます。

JSON 表現
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
フィールド
publicKey

string (bytes format)

必須。新しいプラットフォーム オペレーターの公開鍵。この公開鍵はプラットフォーム オペレーターに関連付けられ、台帳に保存されます。これは、プラットフォーム オペレーターのアカウントから送信されるトランザクションの署名を検証するために使用されます。

公開鍵の形式は keyFormat フィールドで定義されます。公開情報とみなされる。

Base64 でエンコードされた文字列。

keyFormat

enum (KeyFormat)

省略可。変更不可。公開鍵の鍵形式。指定しない場合、デフォルトで Tink ワイヤー形式のバイナリ シリアル化された鍵セットになります。公開情報とみなされます。

accountComment

string

省略可。変更不可。システムによって解釈されず、アカウントの台帳に保存される不透明なコメント フィールド。公開情報とみなされます。最大長は 128 文字です。空のままにしてもかまいません。作成したフィールドは変更できません。

CreateCurrencyOperator

新しい通貨演算子を作成します。送信者はプラットフォーム オペレーターである必要があります。

取引が成功すると、新しく作成されたアカウントの ID が、完了した取引の TransactionCertificate のイベントとして返されます。

このトランザクションにより、システムに新しい通貨を導入したり、既存の通貨に別の通貨オペレーターを作成したりできます。既存の通貨オペレーターを置き換える必要がある場合は、代わりに TransferCurrencyOperator トランザクションを送信する必要があります。

JSON 表現
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyCode": string
}
フィールド
publicKey

string (bytes format)

必須。新しい通貨オペレーターの公開鍵。この公開鍵は通貨オペレーターに関連付けられ、台帳に保存されます。これは、オペレーターのアカウントから送信されるトランザクションの署名を検証するために使用されます。

公開鍵の形式は keyFormat フィールドで定義されます。公開情報とみなされます。

Base64 でエンコードされた文字列。

keyFormat

enum (KeyFormat)

省略可。変更不可。公開鍵の鍵形式。指定しない場合、デフォルトで Tink ワイヤー形式のバイナリ シリアル化された鍵セットになります。公開情報とみなされます。

accountComment

string

省略可。変更不可。システムによって解釈されず、アカウントの台帳に保存される不透明なコメント フィールド。公開情報とみなされます。最大長は 128 文字です。空のままにしてもかまいません。作成したフィールドは変更できません。

currencyCode

string

必須。このオペレーターに関連付けられた法定通貨。3 文字の大文字の ISO 4217 コードで表されます。公開情報とみなされる。

TransferCurrencyOperator

指定された通貨オペレーターの所有権を新しいアカウントに譲渡します。送信者はプラットフォーム オペレーターである必要があります。

トランザクションが成功すると、指定された通貨オペレーターが無効になり、新しく作成されたアカウントの ID が、確定されたトランザクションの TransactionCertificate でイベントとして返されます。

JSON 表現
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyOperatorId": string
}
フィールド
publicKey

string (bytes format)

必須。新しい通貨オペレーターの公開鍵。この公開鍵は通貨オペレーターに関連付けられ、台帳に保存されます。これは、通貨オペレーターのアカウントから送信されるトランザクションの署名を検証するために使用されます。

公開鍵の形式は keyFormat フィールドで定義されます。公開情報とみなされる。

Base64 でエンコードされた文字列。

keyFormat

enum (KeyFormat)

省略可。変更不可。公開鍵の鍵形式。指定しない場合、デフォルトで Tink ワイヤー形式のバイナリ シリアル化された鍵セットになります。公開情報とみなされます。

accountComment

string

省略可。変更不可。システムによって解釈されず、アカウントの台帳に保存される不透明なコメント フィールド。公開情報とみなされます。最大長は 128 文字です。空のままにしてもかまいません。作成したフィールドは変更できません。

currencyOperatorId

string

必須。置き換える通貨演算子の ID。有効である必要があります。値は 60 文字までに制限されています。

CreateClearinghouse

新しいクリアリングハウスを作成します。送信者は通貨オペレーターである必要があります。

取引が成功すると、新しく作成されたアカウントの ID が、完了した取引の TransactionCertificate のイベントとして返されます。

JSON 表現
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "settlementMode": enum (SettlementMode)
}
フィールド
publicKey

string (bytes format)

必須。新しいクリアリングハウスの公開鍵。これはオペレーターの公開鍵ではありません。この公開鍵はクリアリングハウスに関連付けられ、台帳に保存されます。これは、クリアリングハウスのアカウントから送信されるトランザクションの署名を検証するために使用されます。

公開鍵の形式は keyFormat フィールドで定義されます。公開情報とみなされます。

Base64 でエンコードされた文字列。

keyFormat

enum (KeyFormat)

省略可。変更不可。公開鍵の鍵形式。指定しない場合、デフォルトで Tink ワイヤー形式のバイナリ シリアル化された鍵セットになります。公開情報とみなされます。

accountComment

string

省略可。変更不可。システムによって解釈されず、アカウントの台帳に保存される不透明なコメント フィールド。公開情報とみなされます。最大長は 128 文字です。空のままにしてもかまいません。作成したフィールドは変更できません。

settlementMode

enum (SettlementMode)

必須。このクリアリングハウスの決済モード。必須。公開情報とみなされる。

CreateAccountManager

新しいアカウント マネージャーを作成します。送信者は通貨オペレーターである必要があります。

取引が成功すると、新しく作成されたアカウントの ID が、完了した取引の TransactionCertificate のイベントとして返されます。

JSON 表現
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "defaultTokenManagerId": string,
  "accountComment": string
}
フィールド
publicKey

string (bytes format)

必須。新しいアカウント マネージャーの公開鍵。これはオペレーターの公開鍵ではありません。この公開鍵はアカウント マネージャーに関連付けられ、台帳に保存されます。これは、アカウント マネージャーのアカウントから送信されるトランザクションの署名を検証するために使用されます。

公開鍵の形式は keyFormat フィールドで定義されます。公開情報とみなされる。

Base64 でエンコードされた文字列。

keyFormat

enum (KeyFormat)

省略可。変更不可。公開鍵の鍵形式。指定しない場合、デフォルトで Tink ワイヤー形式のバイナリ シリアル化された鍵セットになります。公開情報とみなされる。

defaultTokenManagerId

string

省略可。このマネージャーによって作成されるアカウントのデフォルトのトークン マネージャーの ID。値は 60 文字までに制限されています。

accountComment

string

省略可。変更不可。システムによって解釈されず、アカウントの台帳に保存される不透明なコメント フィールド。公開情報とみなされます。最大長は 128 文字です。空のままにしてもかまいません。作成したフィールドは変更できません。

CreateTokenManager

リクエストを送信するオペレーターの通貨に関連付けられた新しいトークン マネージャーを作成します。送信者は通貨オペレーターである必要があります。

取引が成功すると、新しく作成されたアカウントの ID が、完了した取引の TransactionCertificate のイベントとして返されます。

JSON 表現
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
フィールド
publicKey

string (bytes format)

必須。新しいトークン マネージャーの公開鍵。これはオペレーターの公開鍵ではありません。この公開鍵はトークン マネージャーに関連付けられ、台帳に保存されます。これは、トークン マネージャーのアカウントから送信されるトランザクションの署名を検証するために使用されます。

公開鍵の形式は keyFormat フィールドで定義されます。公開情報とみなされます。

Base64 でエンコードされた文字列。

keyFormat

enum (KeyFormat)

省略可。変更不可。公開鍵の鍵形式。指定しない場合、デフォルトで Tink ワイヤー形式のバイナリ シリアル化された鍵セットになります。公開情報とみなされます。

accountComment

string

省略可。変更不可。システムによって解釈されず、アカウントの台帳に保存される不透明なコメント フィールド。公開情報とみなされます。最大長は 128 文字です。空のままにしてもかまいません。作成したフィールドは変更できません。

IncreaseTokenIssuanceLimit

トークンの発行とミントのトランザクション。対象アカウントが準備金を預け入れたことをネットワークに通知し、トークン発行上限を引き上げます。送信者はクリアリングハウス アカウントである必要があります。

JSON 表現
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
フィールド
tokenManagerId

string

必須。鋳造上限を引き上げる機関アカウントの ID。トランザクションが有効になるには、このアカウントがトークン マネージャーである必要があります。

amount

object (CurrencyValue)

必須。上限を引き上げる金額。金額は正の値で指定してください。

DecreaseTokenIssuanceLimit

対象アカウントが準備金を引き出すことをネットワークに通知し、トークン発行上限を引き下げます。送信者はクリアリングハウス アカウントである必要があります。

この取引は、準備金を引き出す前に正常に完了している必要があります。これは、トランザクションが失敗する可能性があるためです(たとえば、ミントされた金額がリクエストされた引き下げ後の上限をすでに超えている場合)。

JSON 表現
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
フィールド
tokenManagerId

string

必須。鋳造上限を引き下げる機関アカウントの ID。トランザクションが有効になるには、このアカウントがトークン マネージャーである必要があります。

amount

object (CurrencyValue)

必須。上限を引き下げる金額。金額は正の値で指定してください。引き下げられた上限が現在発行されているトークンを下回ると、トランザクションは失敗します。

SettlementRequest

2 つのトークン マネージャー間の決済オペレーションを開始します。送信者はクリアリングハウス アカウントである必要があります。

クリアリング ハウスがトークン マネージャーの資金を保管する遅延 SettlementMode では、2 つのトークン マネージャー間で決済を実行するために送信する必要があるトランザクションはこれだけです。

JSON 表現
{
  "payerId": string,
  "beneficiaryId": string,
  "balance": {
    object (CurrencyValue)
  },
  "roundId": string
}
フィールド
payerId

string

必須。変更不可。資金移動を行う必要がある当事者のアカウント ID。

beneficiaryId

string

必須。変更不可。資金を受け取る当事者のアカウント ID。

balance

object (CurrencyValue)

必須。変更不可。payer アカウントが台帳上の beneficiary アカウントに転送する必要がある、発行済みトークンの残高。

roundId

string (int64 format)

必須。変更不可。この決済金額が計算されたラウンドの ID。

ミント

通貨トークンをミントし、指定されたアカウントに転送します。送信者はトークン マネージャーである必要があります。

JSON 表現
{
  "mintAmount": {
    object (CurrencyValue)
  },
  "beneficiaryId": string
}
フィールド
mintAmount

object (CurrencyValue)

必須。ミントする金額。この金額は、トークン マネージャーによって作成されたトークンの合計が作成上限を超えないようにする必要があります。金額がこれより高い場合、取引は拒否される必要があります。

beneficiaryId

string

必須。ミントされた金額の送金先となるアカウントの ID。受信アカウントで ROLE_RECEIVER が有効になっている必要があります。

CreateAccount

新しいユーザー アカウントを作成します。送信者はアカウント マネージャーである必要があります。

取引が成功すると、新しく作成されたアカウントの ID が、完了した取引の TransactionCertificate のイベントとして返されます。

JSON 表現
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "roles": [
    enum (Role)
  ],
  "accountStatus": enum (AccountStatus),
  "accountComment": string,
  "tokenManagerId": string
}
フィールド
publicKey

string (bytes format)

必須。アカウント所有者の公開鍵。これは送信者の公開鍵ではありません。これは、新しいアカウント所有者の公開鍵であり、台帳に保存されます。これは、作成されたアカウントから送信されるトランザクションの署名を検証するために使用されます。

公開鍵の形式は keyFormat フィールドで定義されます。公開情報とみなされます。

Base64 でエンコードされた文字列。

keyFormat

enum (KeyFormat)

省略可。変更不可。公開鍵の鍵形式。指定しない場合、デフォルトで Tink ワイヤー形式のバイナリ シリアル化された鍵セットになります。公開情報とみなされます。

roles[]

enum (Role)

省略可。このアカウントに付与するロールのリスト。

accountStatus

enum (AccountStatus)

省略可。作成するアカウントのステータス。デフォルトでは、新しく作成されたアカウントのアカウント ステータスは ACCOUNT_STATUS_ACTIVE になります。

accountComment

string

省略可。変更不可。システムによって解釈されず、アカウントの台帳に保存される不透明なコメント フィールド。公開情報とみなされます。最大長は 128 文字です。空のままにしてもかまいません。作成したフィールドは変更できません。

tokenManagerId

string

省略可。このアカウントのトークン マネージャーの ID。このフィールドは省略可能です。指定しない場合、アカウント マネージャー(このトランザクションの送信者)に関連付けられているデフォルトのトークン マネージャーが使用されます。値は 60 文字までに制限されています。

DeactivateAccount

アカウントを ACCOUNT_STATUS_INACTIVE としてマークします。送信者は、無効にするアカウントのアカウント マネージャーである必要があります。

つまり、アカウント所有者は、ロールに関係なく、アカウントで取引を行うことができなくなります。

JSON 表現
{
  "accountId": string
}
フィールド
accountId

string

必須。無効にするアカウントの ID。値は 60 文字までに制限されています。

RemoveRoles

指定したロールをアカウントから削除します。送信者は、変更するアカウントのアカウント マネージャーである必要があります。

JSON 表現
{
  "accountId": string,
  "roles": [
    enum (Role)
  ]
}
フィールド
accountId

string

必須。変更するアカウントの ID。値は 60 文字までに制限されています。

roles[]

enum (Role)

必須。削除するロール。

転送

あるユーザー アカウントから別のユーザー アカウントにトークンを転送します。送信者は、トークン マネージャーやアカウント マネージャーなどの特権アカウントではなく、通常のユーザー アカウントである必要があります。

また、トランザクションの送信側では ROLE_PAYER が有効になっており、受信側では ROLE_RECEIVER が有効になっている必要があります。

JSON 表現
{
  "beneficiaryId": string,
  "amount": {
    object (CurrencyValue)
  }
}
フィールド
beneficiaryId

string

必須。トークンを受け取るアカウントの ID。

amount

object (CurrencyValue)

必須。転送する金額。金額は正の値で指定してください。

CreateContract

台帳に契約を保存します。

JSON 表現
{
  "contractBytes": string,
  "initArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "contractComment": string
}
フィールド
contractBytes

string (bytes format)

シリアル化された契約バイト。

Base64 でエンコードされた文字列。

initArguments

map (key: string, value: object (Value))

省略可。変更不可。__init__ メソッドの引数が含まれます。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

contractComment

string

省略可。変更不可。システムによって解釈されず、契約の台帳に保存される不透明なコメント フィールド。公開情報とみなされます。最大長は 128 文字です。空のままにしてもかまいません。作成したフィールドは変更できません。

GrantContractPermissions

トランザクションの送信者がコントラクトに権限を付与します。delegateContractId が指定されている場合、権限と対応するストレージは、送信者ではなく delegateContractId コントラクトにのみ付与されます。

権限の取り消しはサポートされていません。

JSON 表現
{
  "contractId": string,
  "permissions": [
    enum (ContractPermission)
  ],
  "delegateContractId": string
}
フィールド
contractId

string

必須。権限が付与される契約の ID。

permissions[]

enum (ContractPermission)

付与する権限。

delegateContractId

string

省略可。権限が付与される契約 ID。トランザクションの送信者は、この契約の所有者である必要があります。

InvokeContractMethod

コントラクト メソッドの実行を呼び出します。

JSON 表現
{
  "contractId": string,
  "methodName": string,
  "methodArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "payment": {
    object (CurrencyValue)
  }
}
フィールド
contractId

string

必須。実行する契約の ID。

methodName

string

実行するメソッドの名前。

methodArguments

map (key: string, value: object (Value))

省略可。変更不可。メソッドに渡す引数が含まれています。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

payment

object (CurrencyValue)

支払われる金額。支払い可能なメソッドを呼び出す場合は 0 より大きい値にする必要があります。支払い不可のメソッドの場合は 0 にします。

CreateContractTokenManager

リクエストを送信するオペレーターの通貨に関連付けられた新しい契約トークン マネージャーを作成します。送信者は通貨オペレーターである必要があります。新しく作成された契約トークン マネージャーは、デフォルトで有効になっています。コントラクト トークン マネージャーを置き換える必要がある場合は、代わりに TransferContractTokenManager トランザクションを送信する必要があります。同じ通貨に関連付けられた別の契約トークン マネージャーが存在する場合、このトランザクションは失敗します。

通常のトークン マネージャーとは異なり、コントラクト トークン マネージャーは、ミントやバーンなどのトランザクションを実行できません。ただし、決済オペレーションには参加できます。

取引が成功すると、新しく作成されたアカウントの ID が、完了した取引の TransactionCertificate のイベントとして返されます。

JSON 表現
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
フィールド
publicKey

string (bytes format)

必須。新しい契約トークン マネージャーの公開鍵。これはオペレーターの公開鍵ではありません。この公開鍵は、契約トークン マネージャーに関連付けられ、台帳に保存されます。これは、契約トークン マネージャーのアカウントから送信されるトランザクションの署名を検証するために使用されます。

公開鍵の形式は keyFormat フィールドで定義されます。公開情報とみなされます。

Base64 でエンコードされた文字列。

accountComment

string

省略可。変更不可。システムによって解釈されず、アカウントの台帳に保存される不透明なコメント フィールド。公開情報とみなされます。最大長は 128 文字です。空のままにしてもかまいません。作成したフィールドは変更できません。

keyFormat

enum (KeyFormat)

省略可。変更不可。公開鍵の鍵形式。指定しない場合、デフォルトで Tink ワイヤー形式のバイナリ シリアル化された鍵セットになります。公開情報とみなされます。

TransferContractTokenManager

契約トークン マネージャーの所有権を新しいアカウントに譲渡します。送信者は、その通貨の現在の通貨オペレーターである必要があります。

トランザクションが成功すると、その通貨の現在の契約トークン マネージャーが無効になり、新しく作成されたアカウントの ID が、確定したトランザクションの TransactionCertificate でイベントとして返されます。

JSON 表現
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
フィールド
publicKey

string (bytes format)

必須。新しい契約トークン マネージャーの公開鍵。これはオペレーターの公開鍵ではありません。これは、新しい契約トークン マネージャーの公開鍵であり、台帳に保存されます。これは、契約トークン マネージャーのアカウントから送信されるトランザクションの署名を検証するために使用されます。

公開鍵の形式は keyFormat フィールドで定義されます。公開情報とみなされます。

Base64 でエンコードされた文字列。

accountComment

string

省略可。変更不可。システムによって解釈されず、アカウントの台帳に保存される不透明なコメント フィールド。公開情報とみなされます。最大長は 128 文字です。空のままにしてもかまいません。作成したフィールドは変更できません。

keyFormat

enum (KeyFormat)

省略可。変更不可。公開鍵の鍵形式。指定しない場合、デフォルトで Tink ワイヤー形式のバイナリ シリアル化された鍵セットになります。公開情報とみなされます。

RemoveSigningPublicKey

指定されたスロットからアカウント署名鍵を削除します。もう一方のスロットは空にせず、ClientTransaction の署名に使用する鍵を保持する必要があります。

JSON 表現
{
  "keySlot": enum (KeySlot)
}
フィールド
keySlot

enum (KeySlot)

必須。キーを削除するキースロット。すでに空になっている場合、トランザクションは失敗します。

ReplaceSigningPublicKey

指定されたスロットのアカウント署名鍵を置き換えます。もう一方のスロットは空にせず、ClientTransaction の署名に使用する鍵を保持する必要があります。

JSON 表現
{
  "keySlot": enum (KeySlot),
  "newPublicKey": string,
  "newKeyFormat": enum (KeyFormat)
}
フィールド
keySlot

enum (KeySlot)

必須。鍵を交換する鍵スロット。

newPublicKey

string (bytes format)

必須。指定されたスロットの公開鍵を置き換える新しい公開鍵。

公開鍵の形式は、newKeyFormat フィールドで定義されます。公開情報とみなされます。

Base64 でエンコードされた文字列。

newKeyFormat

enum (KeyFormat)

必須。新しい公開鍵の鍵形式。サポートされている形式のリストについては、KeyFormat の定義をご覧ください。公開情報とみなされる。

TransactionChain

複数のトランザクション ユニットを含むトランザクション チェーン。

ユニットは、リストに表示されている順序で順次実行されます。すべてのユニットが成功すると、それらの累積効果がワールド状態にアトミックに commit されます。いずれかが失敗した場合、チェーン全体が失敗し、その効果は適用されません。

JSON 表現
{
  "units": [
    string
  ]
}
フィールド
units[]

string (bytes format)

チェーンの個々のユニット。各ユニットはシリアル化された SignedTransaction である必要があります。

シリアル化されたバイトは、チェーン自体に署名するバイトを決定するために必要です。

Base64 でエンコードされた文字列。