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)

פלט בלבד. המזהה של סבב ההפעלה (בדומה ל "גובה" הבלוק) שבו פרטי החשבון שסופקו מדויקים.

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

פלט בלבד. המזהה של מנהל החשבון של המשתמש הזה.

tokenManagerId

string

פלט בלבד. המזהה של מנהל האסימונים של המשתמש הזה.

roles[]

enum (Role)

פלט בלבד. רשימת התפקידים שהוקצו לחשבון הזה.

accountStatus

enum (AccountStatus)

פלט בלבד. הסטטוס של החשבון הזה.

balance

object (CurrencyValue)

פלט בלבד. יתרת האסימונים בחשבון המשתמש הזה.

contractAccountFields

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

פלט בלבד. שדות החשבון של החוזה (מזהה החוזה -> שדות) של המשתמש הזה.

אובייקט שמכיל רשימה של צמדי "key": value. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

תפקיד

קבוצת התפקידים הרגילה.

טיפוסים בני מנייה (enum)
ROLE_UNSPECIFIED התפקיד לא תקין.
ROLE_PAYER התפקיד שמאפשר לחשבון להתחיל עסקת תשלום.
ROLE_RECEIVER התפקיד שמאפשר לחשבון לקבל תשלומים.
ROLE_CONTRACT_CREATOR התפקיד שמאפשר לחשבון לפרוס חוזים.
ROLE_CONTRACT_PARTICIPANT התפקיד שמאפשר לחשבון לקיים אינטראקציה עם חוזים שנפרסו.

AccountStatus

סטטוס החשבון.

טיפוסים בני מנייה (enum)
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.

טיפוסים בני מנייה (enum)
NONE_VALUE_UNSPECIFIED הערך "ללא".

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

חובה. מזהה החוזה.

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

חובה. מזהה מפעיל המטבע שמנהל את המטבע.

AccountValue

הפניה לחשבון בספר החשבונות.

ההפניה הזו מוחלפת באובייקט gcul.Account מלא על ידי זמן הריצה של הפנקס. לפרטים נוספים, עיינו במחלקה gcul.Account בחומר העזר של שפת GCULpy.

ייצוג ב-JSON
{
  "accountId": string
}
שדות
accountId

string

חובה. מספר החשבון.

AmountValue

מייצג סכום נקוב במטבע.

ייצוג ב-JSON
{
  "currency": {
    object (QualifiedCurrencyValue)
  },
  "amountValue": string
}
שדות
currency

object (QualifiedCurrencyValue)

חובה. המטבע של הסכום.

amountValue

string (int64 format)

חובה. מספר היחידות הקטנות של המטבע.

AccountManagerDetails

פרטים ספציפיים למנהל חשבון.

ייצוג ב-JSON
{
  "numAccounts": integer,
  "tokenManagerId": string
}
שדות
numAccounts

integer

פלט בלבד. מספר החשבונות שנוצרו על ידי מנהל החשבון הזה.

tokenManagerId

string

פלט בלבד. המזהה של מנהל האסימונים שמוגדר כברירת מחדל לחשבונות שנוצרו על ידי מנהל החשבון הזה.

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

פלט בלבד. מספר החשבון של מנהל האסימונים הקודם של החוזה במטבע הזה. כך נוצר נתיב ביקורת שאפשר לעבור עליו כדי לגלות את כל המנהלים הקודמים. אם זהו מנהל האסימונים הראשון של החוזה עבור המטבע, השדה הזה יהיה ריק.

accountStatus

enum (AccountStatus)

פלט בלבד. הסטטוס של החשבון הזה.

ContractDetails

פרטים ספציפיים לחוזה חכם.

ייצוג ב-JSON
{
  "ownerId": string,
  "code": string,
  "contractFields": {
    object (Fields)
  },
  "currencyBalances": {
    string: {
      object (CurrencyValue)
    },
    ...
  }
}
שדות
ownerId

string

פלט בלבד. המזהה של בעלי החוזה.

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

פלט בלבד. מספר החשבון שבו יש יתרת חוב שצריך לשלם.

balanceReceiverId

string

פלט בלבד. המזהה של החשבון שבו צריך להסדיר את היתרה.

balance

object (CurrencyValue)

פלט בלבד. היתרה לתשלום. הערך חייב להיות חיובי.

SettlementMode

מצב הסליקה של מסלקה.

טיפוסים בני מנייה (enum)
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

פלט בלבד. המזהה של המטבע שמשויך לחשבון הזה, שמיוצג על ידי קוד בן 3 אותיות לפי תקן ISO 4217.

accountStatus

enum (AccountStatus)

פלט בלבד. הסטטוס של החשבון הזה.

previousCurrencyOperatorId

string

פלט בלבד. המזהה של מפעיל המטבע הקודם שהעביר את הבעלות על תפקיד מפעיל המטבע לחשבון הזה. אם זה מפעיל המטבע הראשון של המטבע, השדה הזה יהיה ריק.

platformOperatorId

string

פלט בלבד. המזהה של מפעיל הפלטפורמה שיצר את מפעיל המטבע הזה.

contractTokenManagerId

string

פלט בלבד. המזהה של מנהל הטוקנים של החוזה שמשויך למפעיל המטבע הזה.

clearinghouseId

string

פלט בלבד. המזהה של המסלקה שמשויכת למפעיל המטבע הזה.

PlatformOperatorDetails

פרטים ספציפיים למפעילי פלטפורמות.

ייצוג ב-JSON
{
  "accountStatus": enum (AccountStatus),
  "previousPlatformOperatorId": string
}
שדות
accountStatus

enum (AccountStatus)

פלט בלבד. הסטטוס של החשבון הזה.

previousPlatformOperatorId

string

פלט בלבד. המזהה של מפעיל הפלטפורמה הקודם שהעביר את הבעלות על תפקיד מפעיל הפלטפורמה לחשבון הזה. אם זה מפעיל הפלטפורמה הראשון, השדה הזה יהיה ריק.