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에 지정되어 있습니다. 예를 들어 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.
}
필드
실제 값입니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
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입니다. 첫 번째 플랫폼 연산자인 경우 비어 있습니다.