ClientTransaction

Mewakili transaksi yang dimulai oleh klien.

Representasi 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.
}
Kolom
senderId

string

Wajib. ID akun yang mengirim transaksi ini.

otherSignatoryIds[]

string

Opsional. ID akun yang, selain pengirim, telah menandatangani transaksi ini.

sequenceNumber

string (int64 format)

Wajib. Angka unik yang meningkat secara monoton, dimulai dari 0.

Angka ini harus ditambah satu untuk setiap transaksi yang sebelumnya dikirim ke jaringan oleh pengirim transaksi yang sama.

Perhatikan bahwa ini tidak mencakup unit transaksi apa pun yang mungkin telah dikirimkan sebagai bagian dari rantai, yang tidak boleh menetapkan nomor urut. Namun, hal ini mencakup pengirim rantai transaksi itu sendiri.

chainedUnit

boolean

Harus ditetapkan ke true jika transaksi klien ini adalah bagian dari rantai transaksi. Jika tidak, nilai ini harus ditetapkan ke false.

Hal ini diperlukan untuk mencegah transaksi bertanda tangan yang dimaksudkan untuk menjadi bagian dari rantai dikirimkan sendiri.

network

string

Wajib. Nama jaringan yang dituju untuk transaksi ini, seperti user-testing. Transaksi akan ditolak jika nama tidak cocok dengan nama jaringan yang memproses transaksi.

Pesan khusus transaksi klien. Berikut adalah daftar kolom yang sama-sama bersifat eksklusif. Maksimal satu kolom akan ditetapkan dalam respons:
operational

object

Opsional. Pesan transaksi operasional. Perhatikan bahwa ini hanya dapat dikirim oleh operator platform. Harus berupa salah satu dari:

Objek yang berisi kolom tipe arbitrer. Kolom tambahan "@type" berisi URI yang mengidentifikasi jenis. Contoh: { "id": 1234, "@type": "types.example.com/standard/id" }.

transferPlatformOperatorTransaction

object (TransferPlatformOperator)

Opsional. Pesan untuk mentransfer peran operator platform ke akun baru.

createCurrencyOperatorTransaction

object (CreateCurrencyOperator)

Opsional. Pesan untuk membuat operator mata uang baru.

transferCurrencyOperatorTransaction

object (TransferCurrencyOperator)

Opsional. Pesan untuk mentransfer peran operator mata uang ke akun baru.

createClearinghouseTransaction

object (CreateClearinghouse)

Opsional. Pesan untuk membuat lembaga kliring baru.

createAccountManagerTransaction

object (CreateAccountManager)

Opsional. Pesan untuk membuat pengelola akun baru.

createTokenManagerTransaction

object (CreateTokenManager)

Opsional. Pesan untuk membuat pengelola token baru yang terkait dengan mata uang operator yang mengirim permintaan.

increaseTokenIssuanceLimitTransaction

object (IncreaseTokenIssuanceLimit)

Opsional. Memberi tahu jaringan bahwa akun target telah menyetorkan dana cadangan dan meningkatkan batas penerbitan tokennya.

decreaseTokenIssuanceLimitTransaction

object (DecreaseTokenIssuanceLimit)

Opsional. Memberi tahu jaringan bahwa akun target ingin menarik dana cadangan dan mengurangi batas penerbitan tokennya.

settlementRequestTransaction

object (SettlementRequest)

Opsional. Pesan untuk memulai operasi penyelesaian.

mintTransaction

object (Mint)

Opsional. Pesan untuk mencetak token mata uang dan mentransfernya ke akun.

burnTransaction

object (Burn)

Opsional. Pesan untuk menghapus token mata uang dari akun.

createAccountTransaction

object (CreateAccount)

Opsional. Pesan untuk membuat akun pengguna baru.

deactivateAccountTransaction

object (DeactivateAccount)

Opsional. Pesan untuk menonaktifkan akun pengguna.

activateAccountTransaction

object (ActivateAccount)

Opsional. Pesan untuk mengaktifkan akun pengguna.

addRolesTransaction

object (AddRoles)

Opsional. Pesan untuk menambahkan peran ke akun.

removeRolesTransaction

object (RemoveRoles)

Opsional. Pesan untuk menghapus peran dari akun.

changeAccountManagerTransaction

object (ChangeAccountManager)

Opsional. Pesan untuk mengubah pengelola akun dari suatu akun.

transferTransaction

object (Transfer)

Opsional. Pesan untuk mentransfer token dari satu akun pengguna ke akun pengguna lainnya.

createContractTransaction

object (CreateContract)

Opsional. Pesan untuk membuat kontrak baru di ledger.

grantContractPermissionsTransaction

object (GrantContractPermissions)

Opsional. Pesan untuk memberikan izin ke kontrak.

invokeContractMethodTransaction

object (InvokeContractMethod)

Opsional. Pesan untuk memanggil eksekusi metode kontrak.

createContractTokenManagerTransaction

object (CreateContractTokenManager)

Opsional. Pesan untuk membuat pengelola token baru yang terkait dengan mata uang operator yang mengirim permintaan.

transferContractTokenManagerTransaction

object (TransferContractTokenManager)

Opsional. Pesan untuk mentransfer peran pengelola token untuk mata uang dari satu akun ke akun lain.

removeSigningPublicKeyTransaction

object (RemoveSigningPublicKey)

Opsional. Pesan untuk menghapus kunci penandatanganan akun.

replaceSigningPublicKeyTransaction

object (ReplaceSigningPublicKey)

Opsional. Pesan untuk mengganti kunci penandatanganan akun.

chain

object (TransactionChain)

Opsional. Pesan untuk rantai transaksi yang mencakup beberapa unit transaksi yang akan dijalankan secara berurutan.

Akhir kolom yang saling eksklusif.

TransferPlatformOperator

Mentransfer kepemilikan operator platform ke akun baru. Pengirim harus merupakan operator platform saat ini.

Jika transaksi berhasil, operator platform saat ini akan dinonaktifkan, dan ID akun yang baru dibuat akan ditampilkan sebagai peristiwa di TransactionCertificate transaksi yang diselesaikan.

Representasi JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
Kolom
publicKey

string (bytes format)

Wajib. Kunci publik operator platform baru. Kunci publik ini akan dikaitkan dengan operator platform dan disimpan di ledger. Kunci ini akan digunakan untuk memvalidasi tanda tangan transaksi yang berasal dari akun operator platform.

Format kunci publik ditentukan oleh kolom keyFormat. Dianggap sebagai informasi publik.

String berenkode base64.

keyFormat

enum (KeyFormat)

Opsional. Tidak dapat diubah. Format kunci dari kunci publik. Jika tidak ditentukan, set kunci yang diserialisasi biner akan ditetapkan secara default dalam format Tink wire. Dianggap sebagai informasi publik.

accountComment

string

Opsional. Tidak dapat diubah. Kolom komentar buram yang tidak ditafsirkan oleh sistem, tetapi disimpan di ledger dalam akun. Dianggap sebagai informasi publik. Panjang maksimum adalah 128 karakter. Dapat dibiarkan kosong. Setelah dibuat, kolom tidak dapat diubah.

CreateCurrencyOperator

Membuat operator mata uang baru. Pengirim harus merupakan operator platform.

Jika transaksi berhasil, ID akun yang baru dibuat akan ditampilkan sebagai peristiwa di TransactionCertificate transaksi yang diselesaikan.

Transaksi ini dapat memperkenalkan mata uang baru ke dalam sistem atau membuat operator mata uang tambahan untuk mata uang yang ada. Jika operator mata uang yang ada harus diganti, transaksi TransferCurrencyOperator harus dikirim.

Representasi JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyCode": string
}
Kolom
publicKey

string (bytes format)

Wajib. Kunci publik operator mata uang baru. Kunci publik ini akan dikaitkan dengan operator mata uang dan disimpan di ledger. Kunci ini akan digunakan untuk memvalidasi tanda tangan transaksi yang berasal dari akun operator.

Format kunci publik ditentukan oleh kolom keyFormat. Dianggap sebagai informasi publik.

String berenkode base64.

keyFormat

enum (KeyFormat)

Opsional. Tidak dapat diubah. Format kunci dari kunci publik. Jika tidak ditentukan, set kunci yang diserialisasi biner akan ditetapkan secara default dalam format Tink wire. Dianggap sebagai informasi publik.

accountComment

string

Opsional. Tidak dapat diubah. Kolom komentar buram yang tidak ditafsirkan oleh sistem, tetapi disimpan di ledger dalam akun. Dianggap sebagai informasi publik. Panjang maksimum adalah 128 karakter. Dapat dibiarkan kosong. Setelah dibuat, kolom tidak dapat diubah.

currencyCode

string

Wajib. Mata uang fiat yang terkait dengan operator ini, yang direpresentasikan sebagai kode ISO 4217 yang terdiri dari 3 huruf kapital. Dianggap sebagai informasi publik.

TransferCurrencyOperator

Mentransfer kepemilikan operator mata uang tertentu ke akun baru. Pengirim harus merupakan operator platform.

Jika transaksi berhasil, operator mata uang yang diberikan akan dinonaktifkan, dan ID akun yang baru dibuat akan ditampilkan sebagai peristiwa di TransactionCertificate transaksi yang diselesaikan.

Representasi JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyOperatorId": string
}
Kolom
publicKey

string (bytes format)

Wajib. Kunci publik operator mata uang baru. Kunci publik ini akan dikaitkan dengan operator mata uang dan disimpan di ledger. Kunci ini akan digunakan untuk memvalidasi tanda tangan transaksi yang berasal dari akun operator mata uang.

Format kunci publik ditentukan oleh kolom keyFormat. Dianggap sebagai informasi publik.

String berenkode base64.

keyFormat

enum (KeyFormat)

Opsional. Tidak dapat diubah. Format kunci dari kunci publik. Jika tidak ditentukan, set kunci yang diserialisasi biner akan ditetapkan secara default dalam format Tink wire. Dianggap sebagai informasi publik.

accountComment

string

Opsional. Tidak dapat diubah. Kolom komentar buram yang tidak ditafsirkan oleh sistem, tetapi disimpan di ledger dalam akun. Dianggap sebagai informasi publik. Panjang maksimum adalah 128 karakter. Dapat dibiarkan kosong. Setelah dibuat, kolom tidak dapat diubah.

currencyOperatorId

string

Wajib. ID operator mata uang yang akan diganti. Harus aktif. Nilai dibatasi hingga 60 karakter.

CreateClearinghouse

Membuat lembaga kliring baru. Pengirim harus merupakan operator mata uang.

Jika transaksi berhasil, ID akun yang baru dibuat akan ditampilkan sebagai peristiwa di TransactionCertificate transaksi yang diselesaikan.

Representasi JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "settlementMode": enum (SettlementMode)
}
Kolom
publicKey

string (bytes format)

Wajib. Kunci publik dari clearinghouse baru. Perhatikan bahwa ini bukan kunci publik operator. Kunci publik ini akan dikaitkan dengan lembaga kliring dan disimpan di ledger. Kunci ini akan digunakan untuk memvalidasi tanda tangan transaksi yang berasal dari akun lembaga kliring.

Format kunci publik ditentukan oleh kolom keyFormat. Dianggap sebagai informasi publik.

String berenkode base64.

keyFormat

enum (KeyFormat)

Opsional. Tidak dapat diubah. Format kunci dari kunci publik. Jika tidak ditentukan, set kunci yang diserialisasi biner akan ditetapkan secara default dalam format Tink wire. Dianggap sebagai informasi publik.

accountComment

string

Opsional. Tidak dapat diubah. Kolom komentar buram yang tidak ditafsirkan oleh sistem, tetapi disimpan di ledger dalam akun. Dianggap sebagai informasi publik. Panjang maksimum adalah 128 karakter. Dapat dibiarkan kosong. Setelah dibuat, kolom tidak dapat diubah.

settlementMode

enum (SettlementMode)

Wajib. Mode penyelesaian untuk lembaga kliring ini. Wajib. Dianggap sebagai informasi publik.

CreateAccountManager

Membuat pengelola akun baru. Pengirim harus merupakan operator mata uang.

Jika transaksi berhasil, ID akun yang baru dibuat akan ditampilkan sebagai peristiwa di TransactionCertificate transaksi yang diselesaikan.

Representasi JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "defaultTokenManagerId": string,
  "accountComment": string
}
Kolom
publicKey

string (bytes format)

Wajib. Kunci publik pengelola akun baru. Perhatikan bahwa ini bukan kunci publik operator. Kunci publik ini akan dikaitkan dengan pengelola akun dan disimpan di ledger. Kunci ini akan digunakan untuk memvalidasi tanda tangan transaksi yang berasal dari akun pengelola akun.

Format kunci publik ditentukan oleh kolom keyFormat. Dianggap sebagai informasi publik.

String berenkode base64.

keyFormat

enum (KeyFormat)

Opsional. Tidak dapat diubah. Format kunci dari kunci publik. Jika tidak ditentukan, set kunci yang diserialisasi biner akan ditetapkan secara default dalam format Tink wire. Dianggap sebagai informasi publik.

defaultTokenManagerId

string

Opsional. ID pengelola token default untuk akun yang akan dibuat oleh pengelola ini. Nilai dibatasi hingga 60 karakter.

accountComment

string

Opsional. Tidak dapat diubah. Kolom komentar buram yang tidak ditafsirkan oleh sistem, tetapi disimpan di ledger dalam akun. Dianggap sebagai informasi publik. Panjang maksimum adalah 128 karakter. Dapat dibiarkan kosong. Setelah dibuat, kolom tidak dapat diubah.

CreateTokenManager

Membuat pengelola token baru yang terkait dengan mata uang operator yang mengirim permintaan. Pengirim harus merupakan operator mata uang.

Jika transaksi berhasil, ID akun yang baru dibuat akan ditampilkan sebagai peristiwa di TransactionCertificate transaksi yang diselesaikan.

Representasi JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
Kolom
publicKey

string (bytes format)

Wajib. Kunci publik pengelola token baru. Perhatikan bahwa ini bukan kunci publik operator. Kunci publik ini akan dikaitkan dengan pengelola token dan disimpan di ledger. Kunci ini akan digunakan untuk memvalidasi tanda tangan transaksi yang berasal dari akun pengelola token.

Format kunci publik ditentukan oleh kolom keyFormat. Dianggap sebagai informasi publik.

String berenkode base64.

keyFormat

enum (KeyFormat)

Opsional. Tidak dapat diubah. Format kunci dari kunci publik. Jika tidak ditentukan, set kunci yang diserialisasi biner akan ditetapkan secara default dalam format Tink wire. Dianggap sebagai informasi publik.

accountComment

string

Opsional. Tidak dapat diubah. Kolom komentar buram yang tidak ditafsirkan oleh sistem, tetapi disimpan di ledger dalam akun. Dianggap sebagai informasi publik. Panjang maksimum adalah 128 karakter. Dapat dibiarkan kosong. Setelah dibuat, kolom tidak dapat diubah.

IncreaseTokenIssuanceLimit

Transaksi untuk penerbitan dan pencetakan token. Memberi tahu jaringan bahwa akun target telah menyetorkan dana cadangan dan meningkatkan batas penerbitan tokennya. Pengirim harus merupakan akun lembaga kliring.

Representasi JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Kolom
tokenManagerId

string

Wajib. ID akun institusional yang batas pencetakannya akan dinaikkan. Akun ini harus merupakan pengelola token agar transaksi valid.

amount

object (CurrencyValue)

Wajib. Jumlah yang digunakan untuk menaikkan batas. Jumlah harus positif.

DecreaseTokenIssuanceLimit

Memberi tahu jaringan bahwa akun target ingin menarik dana cadangan dan mengurangi batas penerbitan tokennya. Pengirim harus berupa akun lembaga kliring.

Perhatikan bahwa transaksi ini harus berhasil diselesaikan sebelum dana cadangan dapat ditarik. Hal ini diperlukan karena transaksi mungkin gagal (misalnya, jika jumlah yang dicetak sudah di atas batas yang dikurangi yang diminta).

Representasi JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Kolom
tokenManagerId

string

Wajib. ID akun institusional yang batas pencetakannya akan diturunkan. Akun ini harus merupakan pengelola token agar transaksi valid.

amount

object (CurrencyValue)

Wajib. Jumlah yang digunakan untuk menurunkan batas. Jumlah harus positif. Transaksi akan gagal jika batas yang dikurangi akan berada di bawah token yang saat ini diterbitkan.

SettlementRequest

Memulai operasi penyelesaian antara dua pengelola token. Pengirim harus berupa akun lembaga kliring.

Dalam SettlementMode yang ditangguhkan, saat lembaga kliring memiliki hak asuh atas dana pengelola token, ini adalah satu-satunya transaksi yang perlu dikirim untuk menjalankan penyelesaian antara dua pengelola token.

Representasi JSON
{
  "payerId": string,
  "beneficiaryId": string,
  "balance": {
    object (CurrencyValue)
  },
  "roundId": string
}
Kolom
payerId

string

Wajib. Tidak dapat diubah. ID akun pihak yang perlu melakukan transfer dana.

beneficiaryId

string

Wajib. Tidak dapat diubah. ID akun pihak yang akan menerima dana.

balance

object (CurrencyValue)

Wajib. Tidak dapat diubah. Saldo token yang diterbitkan yang perlu ditransfer oleh akun payer ke akun beneficiary di ledger.

roundId

string (int64 format)

Wajib. Tidak dapat diubah. ID putaran tempat jumlah penyelesaian ini dihitung.

Mint

Mencetak token mata uang dan mentransfernya ke akun yang ditentukan. Pengirim harus merupakan pengelola token.

Representasi JSON
{
  "mintAmount": {
    object (CurrencyValue)
  },
  "beneficiaryId": string
}
Kolom
mintAmount

object (CurrencyValue)

Wajib. Jumlah yang akan di-minting. Jumlahnya harus sedemikian rupa sehingga total token yang dicetak oleh pengelola token tidak melebihi batas pencetakan. Jika jumlahnya lebih tinggi dari itu, transaksi harus ditolak

beneficiaryId

string

Wajib. ID akun yang akan menerima transfer jumlah yang dicetak. Akun penerima harus mengaktifkan ROLE_RECEIVER.

CreateAccount

Membuat akun pengguna baru. Pengirim harus merupakan pengelola akun.

Jika transaksi berhasil, ID akun yang baru dibuat akan ditampilkan sebagai peristiwa di TransactionCertificate transaksi yang diselesaikan.

Representasi JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "roles": [
    enum (Role)
  ],
  "accountStatus": enum (AccountStatus),
  "accountComment": string,
  "tokenManagerId": string
}
Kolom
publicKey

string (bytes format)

Wajib. Kunci publik pemilik akun. Perhatikan bahwa ini bukan kunci publik pengirim. Ini adalah kunci publik pemilik akun baru dan akan disimpan di ledger. Kunci ini akan digunakan untuk memvalidasi tanda tangan transaksi yang berasal dari akun yang dibuat.

Format kunci publik ditentukan oleh kolom keyFormat. Dianggap sebagai informasi publik.

String berenkode base64.

keyFormat

enum (KeyFormat)

Opsional. Tidak dapat diubah. Format kunci dari kunci publik. Jika tidak ditentukan, set kunci yang diserialisasi biner akan ditetapkan secara default dalam format Tink wire. Dianggap sebagai informasi publik.

roles[]

enum (Role)

Opsional. Daftar peran yang akan diberikan ke akun ini.

accountStatus

enum (AccountStatus)

Opsional. Status akun yang akan dibuat. Secara default, status akun yang baru dibuat adalah ACCOUNT_STATUS_ACTIVE.

accountComment

string

Opsional. Tidak dapat diubah. Kolom komentar buram yang tidak ditafsirkan oleh sistem, tetapi disimpan di ledger dalam akun. Dianggap sebagai informasi publik. Panjang maksimum adalah 128 karakter. Dapat dibiarkan kosong. Setelah dibuat, kolom tidak dapat diubah.

tokenManagerId

string

Opsional. ID pengelola token untuk akun ini. Kolom ini bersifat opsional dan jika tidak diberikan, pengelola token default yang terkait dengan pengelola akun (yaitu, pengirim transaksi ini) akan digunakan. Nilai dibatasi hingga 60 karakter.

DeactivateAccount

Menandai akun sebagai ACCOUNT_STATUS_INACTIVE. Pengirim harus merupakan pengelola akun dari akun yang akan dinonaktifkan.

Artinya, pemilik akun tidak akan dapat melakukan transaksi apa pun di akun tersebut, terlepas dari perannya.

Representasi JSON
{
  "accountId": string
}
Kolom
accountId

string

Wajib. ID akun yang akan dinonaktifkan. Nilai dibatasi hingga 60 karakter.

RemoveRoles

Menghapus peran yang ditentukan dari akun. Pengirim harus merupakan pengelola akun dari akun yang akan diubah.

Representasi JSON
{
  "accountId": string,
  "roles": [
    enum (Role)
  ]
}
Kolom
accountId

string

Wajib. ID akun yang akan diubah. Nilai dibatasi hingga 60 karakter.

roles[]

enum (Role)

Wajib. Peran yang akan dihapus.

Transfer

Mentransfer token dari satu akun pengguna ke akun pengguna lain. Pengirim harus merupakan akun pengguna biasa, bukan akun dengan hak istimewa seperti pengelola token atau pengelola akun.

Selain itu, pengirim transaksi harus mengaktifkan ROLE_PAYER, sedangkan penerima harus mengaktifkan ROLE_RECEIVER.

Representasi JSON
{
  "beneficiaryId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Kolom
beneficiaryId

string

Wajib. ID akun yang menerima token.

amount

object (CurrencyValue)

Wajib. Jumlah yang akan ditransfer. Jumlah harus positif.

CreateContract

Menyimpan kontrak di ledger.

Representasi JSON
{
  "contractBytes": string,
  "initArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "contractComment": string
}
Kolom
contractBytes

string (bytes format)

Byte kontrak yang diserialisasi.

String berenkode base64.

initArguments

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

Opsional. Tidak dapat diubah. Berisi argumen untuk metode __init__.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

contractComment

string

Opsional. Tidak dapat diubah. Kolom komentar buram yang tidak ditafsirkan oleh sistem, tetapi disimpan di ledger dalam kontrak. Dianggap sebagai informasi publik. Panjang maksimum adalah 128 karakter. Dapat dibiarkan kosong. Setelah dibuat, kolom tidak dapat diubah.

GrantContractPermissions

Memberikan izin ke kontrak oleh pengirim transaksi. Jika delegateContractId ditentukan, izin dan penyimpanan yang sesuai akan diberikan secara eksklusif ke kontrak delegateContractId, bukan pengirim.

Perhatikan bahwa tidak ada dukungan untuk mencabut izin.

Representasi JSON
{
  "contractId": string,
  "permissions": [
    enum (ContractPermission)
  ],
  "delegateContractId": string
}
Kolom
contractId

string

Wajib. ID kontrak yang izinnya diberikan.

permissions[]

enum (ContractPermission)

Izin yang akan diberikan.

delegateContractId

string

Opsional. ID kontrak yang izinnya diberikan. Pengirim transaksi harus merupakan pemilik kontrak ini.

InvokeContractMethod

Memanggil eksekusi metode kontrak.

Representasi JSON
{
  "contractId": string,
  "methodName": string,
  "methodArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "payment": {
    object (CurrencyValue)
  }
}
Kolom
contractId

string

Wajib. ID kontrak yang akan dijalankan.

methodName

string

Nama metode yang akan dijalankan.

methodArguments

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

Opsional. Tidak dapat diubah. Berisi argumen yang akan diteruskan ke metode.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

payment

object (CurrencyValue)

Jumlah yang harus dibayar. Harus lebih besar dari nol saat memanggil metode yang dapat dibayar; dan nol untuk metode yang tidak dapat dibayar.

CreateContractTokenManager

Membuat pengelola token kontrak baru yang terkait dengan mata uang operator yang mengirim permintaan. Pengirim harus merupakan operator mata uang. Pengelola token kontrak yang baru dibuat aktif secara default. Jika pengelola token kontrak harus diganti, transaksi TransferContractTokenManager harus dikirim. Jika ada pengelola token kontrak lain yang terkait dengan mata uang yang sama, transaksi ini akan gagal.

Tidak seperti pengelola token biasa, pengelola token kontrak tidak diizinkan untuk menjalankan transaksi seperti mint atau burn. Namun, mereka dapat berpartisipasi dalam operasi penyelesaian.

Jika transaksi berhasil, ID akun yang baru dibuat akan ditampilkan sebagai peristiwa di TransactionCertificate transaksi yang diselesaikan.

Representasi JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
Kolom
publicKey

string (bytes format)

Wajib. Kunci publik pengelola token kontrak baru. Perhatikan bahwa ini bukan kunci publik operator. Kunci publik ini akan dikaitkan dengan pengelola token kontrak dan disimpan di ledger. Kunci ini akan digunakan untuk memvalidasi tanda tangan transaksi yang berasal dari akun pengelola token kontrak.

Format kunci publik ditentukan oleh kolom keyFormat. Dianggap sebagai informasi publik.

String berenkode base64.

accountComment

string

Opsional. Tidak dapat diubah. Kolom komentar buram yang tidak ditafsirkan oleh sistem, tetapi disimpan di ledger dalam akun. Dianggap sebagai informasi publik. Panjang maksimum adalah 128 karakter. Dapat dibiarkan kosong. Setelah dibuat, kolom tidak dapat diubah.

keyFormat

enum (KeyFormat)

Opsional. Tidak dapat diubah. Format kunci dari kunci publik. Jika tidak ditentukan, set kunci yang diserialisasi biner akan ditetapkan secara default dalam format Tink wire. Dianggap sebagai informasi publik.

TransferContractTokenManager

Mentransfer kepemilikan pengelola token kontrak ke akun baru. Pengirim harus merupakan operator mata uang saat ini untuk mata uang tersebut.

Jika transaksi berhasil, pengelola token kontrak saat ini untuk mata uang tersebut akan dinonaktifkan, dan ID akun yang baru dibuat akan ditampilkan sebagai peristiwa di TransactionCertificate transaksi yang diselesaikan.

Representasi JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
Kolom
publicKey

string (bytes format)

Wajib. Kunci publik pengelola token kontrak baru. Perhatikan bahwa ini bukan kunci publik operator. Ini adalah kunci publik pengelola token kontrak baru dan akan disimpan di ledger. Kunci ini akan digunakan untuk memvalidasi tanda tangan transaksi yang berasal dari akun pengelola token kontrak.

Format kunci publik ditentukan oleh kolom keyFormat. Dianggap sebagai informasi publik.

String berenkode base64.

accountComment

string

Opsional. Tidak dapat diubah. Kolom komentar buram yang tidak ditafsirkan oleh sistem, tetapi disimpan di ledger dalam akun. Dianggap sebagai informasi publik. Panjang maksimum adalah 128 karakter. Dapat dibiarkan kosong. Setelah dibuat, kolom tidak dapat diubah.

keyFormat

enum (KeyFormat)

Opsional. Tidak dapat diubah. Format kunci dari kunci publik. Jika tidak ditentukan, set kunci yang diserialisasi biner akan ditetapkan secara default dalam format Tink wire. Dianggap sebagai informasi publik.

RemoveSigningPublicKey

Menghapus kunci penandatanganan akun dari slot yang ditentukan. Slot lainnya tidak boleh kosong, dan harus menyimpan kunci yang digunakan untuk menandatangani ClientTransaction.

Representasi JSON
{
  "keySlot": enum (KeySlot)
}
Kolom
keySlot

enum (KeySlot)

Wajib. Slot kunci tempat kunci akan dihapus. Jika sudah kosong, transaksi akan gagal.

ReplaceSigningPublicKey

Mengganti kunci penandatanganan akun di slot yang ditentukan. Slot lainnya tidak boleh kosong, dan harus menyimpan kunci yang digunakan untuk menandatangani ClientTransaction.

Representasi JSON
{
  "keySlot": enum (KeySlot),
  "newPublicKey": string,
  "newKeyFormat": enum (KeyFormat)
}
Kolom
keySlot

enum (KeySlot)

Wajib. Slot kunci tempat kita mengganti kunci.

newPublicKey

string (bytes format)

Wajib. Kunci publik baru, yang akan menggantikan kunci publik di slot yang ditentukan.

Format kunci publik ditentukan oleh kolom newKeyFormat. Dianggap sebagai informasi publik.

String berenkode base64.

newKeyFormat

enum (KeyFormat)

Wajib. Format kunci dari kunci publik baru. Lihat definisi KeyFormat untuk mengetahui daftar format yang didukung. Dianggap sebagai informasi publik.

TransactionChain

Rantai transaksi yang mencakup beberapa unit transaksi untuk dieksekusi secara berurutan.

Unit akan dijalankan secara berurutan, sesuai urutan yang tercantum. Jika semua unit berhasil, efek kumulatifnya akan di-commit secara atomik ke status dunia. Jika tidak, jika salah satunya gagal, seluruh rantai akan gagal dan tidak ada efeknya yang akan diterapkan.

Representasi JSON
{
  "units": [
    string
  ]
}
Kolom
units[]

string (bytes format)

Unit individual dari jaringan. Setiap unit harus berupa SignedTransaction yang diserialisasi.

Perhatikan bahwa byte yang diserialisasi diperlukan untuk menentukan byte yang akan ditandatangani untuk rantai itu sendiri.

String berenkode base64.