Account

台帳上のアカウントの状態を表します。

JSON 表現
{
  "sequenceNumber": string,
  "publicKey": string,
  "roundId": string,
  "comment": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "userDetails": {
    object (UserDetails)
  },
  "accountManagerDetails": {
    object (AccountManagerDetails)
  },
  "tokenManagerDetails": {
    object (TokenManagerDetails)
  },
  "contractTokenManagerDetails": {
    object (ContractTokenManagerDetails)
  },
  "contractDetails": {
    object (ContractDetails)
  },
  "clearinghouseDetails": {
    object (ClearingHouseDetails)
  },
  "currencyOperatorDetails": {
    object (CurrencyOperatorDetails)
  },
  "platformOperatorDetails": {
    object (PlatformOperatorDetails)
  }
  // End of mutually exclusive fields.
}
フィールド
sequenceNumber

string (int64 format)

出力専用。このアカウントのシーケンス番号。この番号は、このアカウントから送信されるトランザクションごとに増分されます。

publicKey

string (bytes format)

出力専用。このアカウントに関連付けられているメインの公開鍵。署名の検証に使用されます。

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

roundId

string (int64 format)

出力専用。提供されたアカウント情報が正確である実行ラウンドの ID(ブロックの「高さ」に類似)。

comment

string

出力専用。このアカウントの作成時に保存されたアカウント コメント。

アカウントの種類に基づく具体的な詳細。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
userDetails

object (UserDetails)

出力専用。標準ユーザー アカウントの詳細。

accountManagerDetails

object (AccountManagerDetails)

出力専用。アカウント マネージャー アカウントの詳細。

tokenManagerDetails

object (TokenManagerDetails)

出力専用。トークン マネージャー アカウントの詳細。

contractTokenManagerDetails

object (ContractTokenManagerDetails)

出力専用。契約トークン マネージャー アカウントの詳細。

contractDetails

object (ContractDetails)

出力専用。スマート コントラクト アカウントの詳細。

clearinghouseDetails

object (ClearingHouseDetails)

出力専用。クリアリングハウス アカウントの詳細。

currencyOperatorDetails

object (CurrencyOperatorDetails)

出力専用。通貨オペレーター アカウントの詳細。

platformOperatorDetails

object (PlatformOperatorDetails)

出力専用。プラットフォーム オペレーター アカウントの詳細。

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

UserDetails

ユーザー アカウントに固有の詳細。

JSON 表現
{
  "accountManagerId": string,
  "tokenManagerId": string,
  "roles": [
    enum (Role)
  ],
  "accountStatus": enum (AccountStatus),
  "balance": {
    object (CurrencyValue)
  },
  "contractAccountFields": {
    string: {
      object (Fields)
    },
    ...
  }
}
フィールド
accountManagerId

string

出力専用。このユーザーのアカウント マネージャーの ID。

tokenManagerId

string

出力専用。このユーザーのトークン マネージャーの ID。

roles[]

enum (Role)

出力専用。このアカウントに付与されているロールのリスト。

accountStatus

enum (AccountStatus)

出力専用。このアカウントのステータス。

balance

object (CurrencyValue)

出力専用。このユーザー アカウントのトークン残高。

contractAccountFields

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

出力専用。このユーザーの契約アカウント フィールド(契約 ID -> フィールド)。

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

ロール

通常のロールのセット。

列挙型
ROLE_UNSPECIFIED ロールが無効です。
ROLE_PAYER アカウントが支払い取引を開始できるようにするロール。
ROLE_RECEIVER アカウントが支払いを受け取れるようにするロール。
ROLE_CONTRACT_CREATOR アカウントがコントラクトをデプロイできるようにするロール。
ROLE_CONTRACT_PARTICIPANT アカウントがデプロイされた契約を操作できるようにするロール。

AccountStatus

アカウントのステータス。

列挙型
ACCOUNT_STATUS_UNSPECIFIED ステータスが無効です。
ACCOUNT_STATUS_ACTIVE アカウントがロールで許可されたオペレーションを実行できるアクティブな状態。
ACCOUNT_STATUS_INACTIVE アカウントのすべての取引が禁止されている無効な状態。アカウントの管理者は、引き続きアカウント管理トランザクションを送信できます。

CurrencyValue

金額を表します。このメッセージには、指定された通貨は含まれていません。関連する通貨は、トランザクションを送信するアカウントによって決まります。各アカウントには、変更できない一意の通貨が関連付けられています。

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

string (int64 format)

必須。通貨の補助単位の数。

この最小の有効な額面は「補助単位」と呼ばれ、ISO 4217 で指定されています。たとえば、USD の場合、値はセント単位の金額になり、GBP の場合、値はペンス単位の金額になります。補助単位のない日本円の場合は、円の数になります。

フィールド

契約フィールドまたはアカウント フィールドを表すために使用される、契約のフィールド(フィールド名 -> 値)のマップ。

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

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

出力専用。フィールド名とその値のマッピング。

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

値

なんらかの型の具体的な値。

JSON 表現
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "noneValue": enum (NoneValue),
  "boolValue": boolean,
  "int64Value": string,
  "stringValue": string,
  "dictValue": {
    object (DictValue)
  },
  "contractValue": {
    object (ContractValue)
  },
  "listValue": {
    object (ListValue)
  },
  "qualifiedCurrencyValue": {
    object (QualifiedCurrencyValue)
  },
  "accountValue": {
    object (AccountValue)
  },
  "amountValue": {
    object (AmountValue)
  }
  // End of mutually exclusive fields.
}
フィールド
実際の値。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
noneValue

enum (NoneValue)

省略可。None 値を表します。

boolValue

boolean

省略可。ブール値。

int64Value

string (int64 format)

省略可。int64 値。

stringValue

string

省略可。文字列値。

dictValue

object (DictValue)

省略可。辞書の値。

contractValue

object (ContractValue)

省略可。契約参照。

listValue

object (ListValue)

省略可。リスト値。

qualifiedCurrencyValue

object (QualifiedCurrencyValue)

省略可。有効な通貨値。

accountValue

object (AccountValue)

省略可。アカウントの値。

amountValue

object (AmountValue)

省略可。金額の値。

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

NoneValue

None 値を表すシングルトン列挙型。

列挙型
NONE_VALUE_UNSPECIFIED None 値。

DictValue

インデックスはキーを値にマッピングします。たとえば、keys[0] キーは values[0] にマッピングされます。

JSON 表現
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "boolKeys": {
    object (BoolList)
  },
  "stringKeys": {
    object (StringList)
  },
  "int64Keys": {
    object (Int64List)
  },
  "genericKeys": {
    object (RepeatedValue)
  }
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "boolValues": {
    object (BoolList)
  },
  "stringValues": {
    object (StringList)
  },
  "int64Values": {
    object (Int64List)
  },
  "genericValues": {
    object (RepeatedValue)
  }
  // End of mutually exclusive fields.
}
フィールド
各キーは 1 つの種類にのみ対応します。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
boolKeys

object (BoolList)

省略可。ブール値キーのリスト。

stringKeys

object (StringList)

省略可。文字列キーのリスト。

int64Keys

object (Int64List)

省略可。int64 キーのリスト。

genericKeys

object (RepeatedValue)

省略可。キーの汎用リスト。

相互に排他的なフィールドの終了。
各値は 1 種類のみです。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
boolValues

object (BoolList)

省略可。ブール値のリスト。

stringValues

object (StringList)

省略可。文字列値のリスト。

int64Values

object (Int64List)

省略可。int64 値のリスト。

genericValues

object (RepeatedValue)

省略可。値の一般的なリスト。

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

BoolList

ブール値のリスト。

JSON 表現
{
  "values": [
    boolean
  ]
}
フィールド
values[]

boolean

省略可。ブール値。

StringList

文字列のリスト。

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

string

省略可。文字列値。

Int64List

int64 のリスト。

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

string (int64 format)

省略可。int64 値。

RepeatedValue

値の一般的なリスト。

JSON 表現
{
  "values": [
    {
      object (Value)
    }
  ]
}
フィールド
values[]

object (Value)

省略可。リスト内の値。

ContractValue

契約参照を表します。

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

string

必須。契約 ID。

ListValue

値のリスト。

JSON 表現
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "boolValues": {
    object (BoolList)
  },
  "stringValues": {
    object (StringList)
  },
  "int64Values": {
    object (Int64List)
  },
  "genericValues": {
    object (RepeatedValue)
  }
  // End of mutually exclusive fields.
}
フィールド
各値は 1 種類のみです。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
boolValues

object (BoolList)

省略可。ブール値のリスト。

stringValues

object (StringList)

省略可。文字列値のリスト。

int64Values

object (Int64List)

省略可。int64 値のリスト。

genericValues

object (RepeatedValue)

省略可。値の一般的なリスト。

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

QualifiedCurrencyValue

台帳上の通貨を表します。これは、通貨オペレーターによって認定されます。

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

string

必須。通貨を管理する通貨オペレーター ID。

AccountValue

台帳上のアカウントへの参照。

この参照は、台帳のランタイムによって完全な gcul.Account オブジェクトに置き換えられます。詳細については、GCULpy 言語リファレンスの gcul.Account クラスをご覧ください。

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

string

必須。アカウント ID。

AmountValue

通貨の額面金額を表します。

JSON 表現
{
  "currency": {
    object (QualifiedCurrencyValue)
  },
  "amountValue": string
}
フィールド
currency

object (QualifiedCurrencyValue)

必須。金額の通貨。

amountValue

string (int64 format)

必須。通貨の補助単位の数。

AccountManagerDetails

アカウント マネージャーに固有の詳細。

JSON 表現
{
  "numAccounts": integer,
  "tokenManagerId": string
}
フィールド
numAccounts

integer

出力専用。このアカウント マネージャーが作成したアカウントの数。

tokenManagerId

string

出力専用。このアカウント マネージャーによって作成されたアカウントのデフォルトのトークン マネージャーの ID。

TokenManagerDetails

Token Manager に固有の詳細。

JSON 表現
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  }
}
フィールド
issuanceLimit

object (CurrencyValue)

出力専用。このトークン マネージャーがミントできるトークンの量。

issuedTokens

object (CurrencyValue)

出力専用。このトークン マネージャーによって作成されたトークンの量。この数は、ミントすると増加し、バーンすると減少します。

ContractTokenManagerDetails

契約トークン マネージャーに固有の詳細。

JSON 表現
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  },
  "previousContractTokenManagerId": string,
  "accountStatus": enum (AccountStatus)
}
フィールド
issuanceLimit

object (CurrencyValue)

出力専用。このコントラクト トークン マネージャーが裏付けを提供できるトークンの量。

契約トークン マネージャーは発行上限を増減できないため、これは issuedTokens と等しくなります。

issuedTokens

object (CurrencyValue)

出力専用。この契約トークン マネージャーが裏付けを提供しているトークンの量(つまり、その合計負債)。

これは、その通貨の契約で保持されているすべての残高の合計に、決済マトリックスのネット ポジションを加えたものに等しくなります。

previousContractTokenManagerId

string

出力専用。この通貨の以前の契約トークン マネージャーのアカウント ID。これにより、以前のすべてのマネージャーを検出するために走査できる監査証跡が形成されます。これがその通貨の最初の契約トークン マネージャーである場合、このフィールドは空になります。

accountStatus

enum (AccountStatus)

出力専用。このアカウントのステータス。

ContractDetails

スマート コントラクトに固有の詳細。

JSON 表現
{
  "ownerId": string,
  "code": string,
  "contractFields": {
    object (Fields)
  },
  "currencyBalances": {
    string: {
      object (CurrencyValue)
    },
    ...
  }
}
フィールド
ownerId

string

出力専用。契約の所有者の ID。

code

string (bytes format)

出力専用。シリアル化された契約コード。

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

contractFields

object (Fields)

出力専用。この契約の契約フィールド(フィールド名 -> 値)。

currencyBalances

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

出力専用。契約によって保持される通貨残高(通貨オペレーター -> 残高)。

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

ClearingHouseDetails

クリアリングハウスに固有の詳細。

JSON 表現
{
  "accountStatus": enum (AccountStatus),
  "balances": [
    {
      object (BalanceToSettle)
    }
  ],
  "settlementMode": enum (SettlementMode)
}
フィールド
accountStatus

enum (AccountStatus)

出力専用。このアカウントのステータス。

balances[]

object (BalanceToSettle)

出力専用。このクリアリングハウスが現在決済のために追跡している残高。

settlementMode

enum (SettlementMode)

出力専用。このクリアリングハウスの決済モード。

BalanceToSettle

2 つのトークン マネージャー間で決済する残高。

JSON 表現
{
  "balancePayerId": string,
  "balanceReceiverId": string,
  "balance": {
    object (CurrencyValue)
  }
}
フィールド
balancePayerId

string

出力専用。決済対象の残高があるアカウントの ID。

balanceReceiverId

string

出力専用。決済対象の残高があるアカウントの ID。

balance

object (CurrencyValue)

出力専用。決済する残高。正の値である必要があります。

SettlementMode

クリアリングハウスの決済モード。

列挙型
SETTLEMENT_MODE_UNSPECIFIED 決済モードが指定されていません。この値は無効であるため、使用しないでください。
SETTLEMENT_MODE_DEFERRED クリアリングハウスは、台帳外の資金の所有権を追跡し、定期的に SettlementRequest トランザクションを発行して、台帳上の対応する残高を同期して維持する責任を負います。
SETTLEMENT_MODE_INSTANT クリアリングハウスは単一の資金プールを維持し、台帳はトークン マネージャー間でそれらの資金を割り当てるためのゴールデン ソースとして機能します。この決済モードは、「即時総額決済」とも呼ばれます。

CurrencyOperatorDetails

通貨オペレーターに固有の詳細。

JSON 表現
{
  "currencyCode": string,
  "accountStatus": enum (AccountStatus),
  "previousCurrencyOperatorId": string,
  "platformOperatorId": string,
  "contractTokenManagerId": string,
  "clearinghouseId": string
}
フィールド
currencyCode

string

出力専用。このアカウントに関連付けられている通貨の ID。3 文字の ISO 4217 コードで表されます。

accountStatus

enum (AccountStatus)

出力専用。このアカウントのステータス。

previousCurrencyOperatorId

string

出力専用。このアカウントに通貨オペレーターのロールの所有権を譲渡した、以前の通貨オペレーターの ID。これが通貨の最初の通貨オペレーターである場合、このフィールドは空になります。

platformOperatorId

string

出力専用。この通貨オペレーターを作成したプラットフォーム オペレーターの ID。

contractTokenManagerId

string

出力専用。この通貨オペレーターに関連付けられている契約トークン マネージャーの ID。

clearinghouseId

string

出力専用。この通貨オペレーターに関連付けられているクリアリングハウスの ID。

PlatformOperatorDetails

プラットフォーム オペレーターに固有の詳細。

JSON 表現
{
  "accountStatus": enum (AccountStatus),
  "previousPlatformOperatorId": string
}
フィールド
accountStatus

enum (AccountStatus)

出力専用。このアカウントのステータス。

previousPlatformOperatorId

string

出力専用。プラットフォーム オペレーターのロールの所有権をこのアカウントに譲渡した、以前のプラットフォーム オペレーターの ID。これが最初のプラットフォーム オペレーターである場合、このフィールドは空になります。