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

חובה. המזהה של החשבון ששולח את העסקה הזו.

otherSignatoryIds[]

string

זה שינוי אופציונלי. המזהים של החשבונות שחתמו על העסקה הזו, בנוסף לשולח.

sequenceNumber

string (int64 format)

חובה. מספר ייחודי שגדל באופן מונוטוני, החל מ-0.

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

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

chainedUnit

boolean

חובה להגדיר את הערך כ-true אם העסקה הזו של הלקוח היא חלק משרשרת עסקאות. אחרת, צריך להגדיר אותו כ-false.

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

network

string

חובה. שם הרשת שאליה מיועדת העסקה, למשל user-testing. העסקה תידחה אם השם לא תואם לשם של הרשת שמעבדת את העסקה.

ההודעה הספציפית לעסקה של הלקוח. ברשימה הבאה מופיעים שדות שמוציאים זה את זה. בתשובה יוגדר לכל היותר אחד מהשדות הבאים:
operational

object

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

אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף, "@type", מכיל URI שמזהה את הסוג. לדוגמה: { "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

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

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

ייצוג ב-JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
שדות
publicKey

string (bytes format)

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

הפורמט של המפתח הציבורי מוגדר בשדה keyFormat. נחשב למידע ציבורי.

מחרוזת בקידוד Base64.

keyFormat

enum (KeyFormat)

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

accountComment

string

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

CreateCurrencyOperator

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

אם העסקה תצליח, המזהה של החשבון החדש שנוצר יוחזר כאירוע ב-TransactionCertificate של העסקה שהושלמה.

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

ייצוג ב-JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyCode": string
}
שדות
publicKey

string (bytes format)

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

הפורמט של המפתח הציבורי מוגדר בשדה keyFormat. נחשב למידע ציבורי.

מחרוזת בקידוד Base64.

keyFormat

enum (KeyFormat)

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

accountComment

string

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

currencyCode

string

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

TransferCurrencyOperator

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

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

ייצוג ב-JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyOperatorId": string
}
שדות
publicKey

string (bytes format)

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

הפורמט של המפתח הציבורי מוגדר בשדה keyFormat. נחשב למידע ציבורי.

מחרוזת בקידוד Base64.

keyFormat

enum (KeyFormat)

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

accountComment

string

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

currencyOperatorId

string

חובה. המזהה של מפעיל המטבע שרוצים להחליף. חייב להיות פעיל. הערך מוגבל ל-60 תווים.

CreateClearinghouse

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

אם העסקה תצליח, המזהה של החשבון החדש שנוצר יוחזר כאירוע ב-TransactionCertificate של העסקה שהושלמה.

ייצוג ב-JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "settlementMode": enum (SettlementMode)
}
שדות
publicKey

string (bytes format)

חובה. המפתח הציבורי של המסלקה החדשה. חשוב לדעת: זה לא המפתח הציבורי של המפעיל. המפתח הציבורי הזה ישויך למסלקה ויישמר בספר החשבונות. הוא ישמש לאימות החתימה של העסקאות שמקורן בחשבון של המסלקה.

הפורמט של המפתח הציבורי מוגדר בשדה keyFormat. נחשב למידע ציבורי.

מחרוזת בקידוד Base64.

keyFormat

enum (KeyFormat)

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

accountComment

string

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

settlementMode

enum (SettlementMode)

חובה. מצב הסליקה של המסלקה הזו. חובה. נחשב למידע ציבורי.

CreateAccountManager

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

אם העסקה תצליח, המזהה של החשבון החדש שנוצר יוחזר כאירוע ב-TransactionCertificate של העסקה שהושלמה.

ייצוג ב-JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "defaultTokenManagerId": string,
  "accountComment": string
}
שדות
publicKey

string (bytes format)

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

הפורמט של המפתח הציבורי מוגדר בשדה keyFormat. נחשב למידע ציבורי.

מחרוזת בקידוד Base64.

keyFormat

enum (KeyFormat)

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

defaultTokenManagerId

string

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

accountComment

string

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

CreateTokenManager

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

אם העסקה תצליח, המזהה של החשבון החדש שנוצר יוחזר כאירוע ב-TransactionCertificate של העסקה שהושלמה.

ייצוג ב-JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
שדות
publicKey

string (bytes format)

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

הפורמט של המפתח הציבורי מוגדר בשדה keyFormat. נחשב למידע ציבורי.

מחרוזת בקידוד Base64.

keyFormat

enum (KeyFormat)

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

accountComment

string

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

IncreaseTokenIssuanceLimit

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

ייצוג ב-JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
שדות
tokenManagerId

string

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

amount

object (CurrencyValue)

חובה. הסכום שבו רוצים להגדיל את המגבלה. הסכום חייב להיות חיובי.

DecreaseTokenIssuanceLimit

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

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

ייצוג ב-JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
שדות
tokenManagerId

string

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

amount

object (CurrencyValue)

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

SettlementRequest

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

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

ייצוג ב-JSON
{
  "payerId": string,
  "beneficiaryId": string,
  "balance": {
    object (CurrencyValue)
  },
  "roundId": string
}
שדות
payerId

string

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

beneficiaryId

string

חובה. לא ניתן לשינוי. מספר החשבון של הגורם שיקבל את הכספים.

balance

object (CurrencyValue)

חובה. לא ניתן לשינוי. יתרת האסימונים שהונפקו וצריך להעביר מחשבון payer לחשבון beneficiary בספר החשבונות.

roundId

string (int64 format)

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

מנטה

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

ייצוג ב-JSON
{
  "mintAmount": {
    object (CurrencyValue)
  },
  "beneficiaryId": string
}
שדות
mintAmount

object (CurrencyValue)

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

beneficiaryId

string

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

CreateAccount

יוצר חשבון משתמש חדש. השולח חייב להיות מנהל חשבון.

אם העסקה תצליח, המזהה של החשבון החדש שנוצר יוחזר כאירוע ב-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 wire. נחשב למידע ציבורי.

roles[]

enum (Role)

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

accountStatus

enum (AccountStatus)

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

accountComment

string

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

tokenManagerId

string

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

DeactivateAccount

סימון חשבון בתור ACCOUNT_STATUS_INACTIVE. השולח חייב להיות מנהל החשבון של החשבון שרוצים להשבית.

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

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

string

חובה. מזהה החשבון שרוצים להשבית. הערך מוגבל ל-60 תווים.

RemoveRoles

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

ייצוג ב-JSON
{
  "accountId": string,
  "roles": [
    enum (Role)
  ]
}
שדות
accountId

string

חובה. מזהה החשבון שרוצים לשנות. הערך מוגבל ל-60 תווים.

roles[]

enum (Role)

חובה. התפקידים שיוסרו.

העברה

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

בנוסף, שולח העסקה צריך להפעיל את ROLE_PAYER, ומקבל העסקה צריך להפעיל את ROLE_RECEIVER.

ייצוג ב-JSON
{
  "beneficiaryId": string,
  "amount": {
    object (CurrencyValue)
  }
}
שדות
beneficiaryId

string

חובה. מזהה החשבון שמקבל את האסימונים.

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

חובה. המזהה של החוזה שניתנות לו הרשאות.

permissions[]

enum (ContractPermission)

ההרשאות שיינתנו.

delegateContractId

string

זה שינוי אופציונלי. מזהה החוזה שעבורו ניתנות ההרשאות. שולח העסקה חייב להיות הבעלים של החוזה הזה.

InvokeContractMethod

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

ייצוג ב-JSON
{
  "contractId": string,
  "methodName": string,
  "methodArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "payment": {
    object (CurrencyValue)
  }
}
שדות
contractId

string

חובה. מזהה החוזה שצריך להפעיל.

methodName

string

שם השיטה להפעלה.

methodArguments

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

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

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

payment

object (CurrencyValue)

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

CreateContractTokenManager

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

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

אם העסקה תצליח, המזהה של החשבון החדש שנוצר יוחזר כאירוע ב-TransactionCertificate של העסקה שהושלמה.

ייצוג ב-JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
שדות
publicKey

string (bytes format)

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

הפורמט של המפתח הציבורי מוגדר בשדה keyFormat. נחשב למידע ציבורי.

מחרוזת בקידוד Base64.

accountComment

string

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

keyFormat

enum (KeyFormat)

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

TransferContractTokenManager

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

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

ייצוג ב-JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
שדות
publicKey

string (bytes format)

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

הפורמט של המפתח הציבורי מוגדר בשדה keyFormat. נחשב למידע ציבורי.

מחרוזת בקידוד Base64.

accountComment

string

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

keyFormat

enum (KeyFormat)

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

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

שרשרת עסקאות שכוללת כמה יחידות עסקה לביצוע ברצף.

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

ייצוג ב-JSON
{
  "units": [
    string
  ]
}
שדות
units[]

string (bytes format)

היחידות הנפרדות של הרשת. כל יחידה צריכה להיות SignedTransaction בסדרה.

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

מחרוזת בקידוד Base64.