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

仅限输出。创建此账号时存储的账号注释。

基于账号类型的具体详细信息。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
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 中有具体规定。例如,对于美元,该值将是美分数;对于英镑,该值将是便士数。对于没有辅币单位的日元,该值将是日元金额。

字段

合约中的字段映射(字段名称 -> 值),用于表示合约字段或账号字段。

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.
}
字段
实际值。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
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.
}
字段
每个键只能是一种类型。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
boolKeys

object (BoolList)

可选。布尔值键列表。

stringKeys

object (StringList)

可选。字符串键列表。

int64Keys

object (Int64List)

可选。int64 键的列表。

genericKeys

object (RepeatedValue)

可选。通用密钥列表。

互斥字段结束。
每个值只能是一种类型。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
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.
}
字段
每个值只能是一种类型。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
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

令牌管理器的特定详细信息。

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

两个代币管理者之间需要结算的余额。

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。如果这是第一个平台运营商,则此字段将为空。