跳到主要內容

資料類型

本節為整個 OCAP Client API 中使用的所有自訂資料結構、輸入參數和回應物件提供了全面的參考。理解這些類型對於有效與 OCAP 區塊鏈互動至關重要。

核心類型

這些是在各種 API 呼叫中使用的基礎資料結構。

Any

用於 protobuf 訊息的通用容器,允許靈活的資料結構。

  • typeUrl string — 一個類似 URL 的字串,唯一標識序列化訊息的類型。
  • value string — 序列化訊息的內容,以字串形式表示。

Multisig

表示多重簽章,常用於需要多方核准的交易。

  • signer string — 簽署者的地址。
  • pk string — 簽署者的公鑰。
  • signature string — 由簽署者產生的簽章。
  • delegator string — 如果簽章是委託的,則為委託人的地址。
  • data Any — 與簽章相關的可選任意資料。

PageInfo

包含基於列表的查詢回應的分頁詳細資訊。

  • cursor string — 用於取得下一頁結果的游標。
  • next boolean — 指示是否有下一頁結果可用。
  • total number — 符合查詢的項目總數。

StateContext

提供有關狀態物件的建立和最後修改的上下文資訊。

  • genesisTx TransactionInfo — 建立此狀態物件的交易。
  • renaissanceTx TransactionInfo — 最後更新此狀態物件的交易。
  • genesisTime string — 狀態物件建立時的時間戳。
  • renaissanceTime string — 狀態物件最後更新時的時間戳。

錢包物件

這些類型定義了用於簽署交易的錢包結構。

WalletObject

  • publicKey string
  • secretKey string
  • type WalletTypeObject

WalletTypeObject

  • pk number
  • role number
  • hash number
  • address number — 預設為 base58btc

WalletType

  • pk KeyType
  • hash HashType
  • address EncodingType
  • role RoleType

輸入與篩選器類型

這些物件用於為 GraphQL 查詢提供參數和篩選器。

通用篩選器輸入

  • AccountFilterInput object
    • accounts array<string>
  • AddressFilterInput object
    • sender string
    • receiver string
    • direction Direction
  • AssetFilterInput object
    • assets array<string>
  • DelegationFilterInput object
    • delegations array<string>
  • FactoryFilterInput object
    • factories array<string>
  • RangeFilterInput object
    • from string
    • to string
  • RollupFilterInput object
    • rollups array<string>
  • StakeFilterInput object
    • stakes array<string>
  • TimeFilterInput object
    • startDateTime string
    • endDateTime string
    • field string
  • TokenFactoryFilterInput object
    • tokenFactories array<string>
  • TokenFilterInput object
    • tokens array<string>
  • TxFilterInput object
    • txs array<string>
  • TypeFilterInput object
    • types array<string>
  • ValidatorFilterInput object
    • validators array<string>
  • ValidityFilterInput object
    • validity Validity

分頁輸入

PageInput

  • cursor string
  • size number
  • order array<PageOrderInput>

PageOrderInput

  • field string
  • type string

特定請求輸入

這些物件用作特定查詢和變異方法的參數。

  • RequestEstimateGasInput object
    • typeUrl string
    • tx string
  • RequestGetAccountStateInput object
    • address string
    • keys array<string>
    • height number
    • traceMigration boolean
  • RequestGetAccountTokensInput object
    • address string
    • token string
  • RequestGetBlockInput object
    • height number
  • RequestGetBlocksInput object
    • paging PageInput
    • heightFilter RangeFilterInput
    • emptyExcluded boolean
  • RequestListTransactionsInput object
    • paging PageInput
    • timeFilter TimeFilterInput
    • addressFilter AddressFilterInput
    • typeFilter TypeFilterInput
    • validityFilter ValidityFilterInput
    • factoryFilter FactoryFilterInput
    • tokenFilter TokenFilterInput
    • assetFilter AssetFilterInput
    • accountFilter AccountFilterInput
    • txFilter TxFilterInput
    • rollupFilter RollupFilterInput
    • stakeFilter StakeFilterInput
    • delegationFilter DelegationFilterInput
    • tokenFactoryFilter TokenFactoryFilterInput

狀態物件

這些類型表示區塊鏈上各種實體(如帳戶、資產和代幣)的狀態。

AccountState

表示使用者帳戶的狀態。

  • balance string
  • nonce string
  • numTxs string
  • address string
  • pk string
  • type WalletType
  • moniker string
  • context StateContext
  • issuer string
  • gasBalance string
  • migratedTo array<string>
  • migratedFrom array<string>
  • numAssets string
  • tokens array<IndexedTokenInput>
  • data Any

AssetState

表示非同質化資產(NFT)的狀態。

  • address string
  • owner string
  • moniker string
  • readonly boolean
  • transferrable boolean
  • ttl number
  • consumedTime string
  • issuer string
  • parent string
  • endpoint NFTEndpoint
  • display NFTDisplay
  • tags array<string>
  • context StateContext
  • data Any

AssetFactoryState

表示資產工廠的狀態,用於鑄造新資產。

  • address string
  • owner string
  • name string
  • description string
  • settlement string
  • limit number
  • trustedIssuers array<string>
  • input IndexedFactoryInput
  • output CreateAssetTx
  • hooks array<AssetFactoryHook>
  • data Any
  • context StateContext
  • balance string
  • tokens array<IndexedTokenInput>
  • numMinted number
  • display NFTDisplay
  • lastSettlement string

DelegateState

表示委託的狀態,其中一個帳戶授權另一個帳戶代表其執行操作。

  • address string
  • ops array<DelegateState_OpsEntry>
  • from string
  • to string
  • context StateContext
  • data Any

StakeState

表示質押的狀態,可能涉及代幣或資產。

  • address string
  • sender string
  • receiver string
  • tokens array<IndexedTokenInput>
  • assets array<string>
  • revocable boolean
  • message string
  • revokeWaitingPeriod number
  • revokedTokens array<IndexedTokenInput>
  • revokedAssets array<string>
  • slashers array<string>
  • nonce string
  • context StateContext
  • data Any

TokenState

表示同質化代幣的狀態。

  • address string
  • issuer string
  • name string
  • description string
  • symbol string
  • unit string
  • decimal number
  • icon string
  • totalSupply string
  • initialSupply string
  • maxTotalSupply string
  • foreignToken ForeignToken
  • tokenFactoryAddress string
  • context StateContext
  • data Any

TokenFactoryState

表示代幣工廠的狀態,用於鑄造和銷毀代幣。

  • address string
  • tokenAddress string
  • reserveAddress string
  • currentSupply string
  • reserveBalance string
  • owner string
  • feeRate number
  • curve CurveConfig
  • context StateContext
  • token TokenState
  • reserveToken TokenState
  • data Any

交易負載 (ITX)

這些類型為各種交易類型定義了 itx(內部交易)物件。

AccountMigrateTx

  • pk string
  • type WalletType
  • address string
  • data Any

AcquireAssetV2Tx

  • factory string
  • address string
  • assets array<string>
  • variables array<VariableInput>
  • issuer NFTIssuer
  • data Any

CreateAssetTx

  • moniker string
  • data Any
  • readonly boolean
  • transferrable boolean
  • ttl number
  • parent string
  • address string
  • issuer string
  • endpoint NFTEndpoint
  • display NFTDisplay
  • tags array<string>

DelegateTx

  • address string
  • to string
  • ops array<DelegateOp>
  • data Any

ExchangeTx

  • to string
  • sender ExchangeInfo
  • receiver ExchangeInfo
  • expiredAt string
  • data Any

StakeTx

  • address string
  • receiver string
  • inputs array<TransactionInput>
  • locked boolean
  • message string
  • revokeWaitingPeriod number
  • slashers array<string>
  • nonce string
  • data Any

TransferTx

  • to string
  • value string
  • assets array<string>
  • data Any

回應封裝器

這些類型是 API 查詢返回的頂層物件,包含一個狀態碼和請求的資料。

ResponseGetAccountState

  • code string
  • state AccountState

ResponseGetAssetState

  • code string
  • state AssetState

ResponseGetBlock

  • code string
  • block BlockInfo

ResponseGetChainInfo

  • code string
  • info ChainInfo

ResponseGetTx

  • code string
  • info TransactionInfo

ResponseListTransactions

  • code string
  • page PageInfo
  • transactions array<IndexedTransaction>

ResponseSendTx

  • code string
  • hash string