本節為整個 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>
- accounts
- AddressFilterInput
object- sender
string - receiver
string - direction
Direction
- sender
- AssetFilterInput
object- assets
array<string>
- assets
- DelegationFilterInput
object- delegations
array<string>
- delegations
- FactoryFilterInput
object- factories
array<string>
- factories
- RangeFilterInput
object- from
string - to
string
- from
- RollupFilterInput
object- rollups
array<string>
- rollups
- StakeFilterInput
object- stakes
array<string>
- stakes
- TimeFilterInput
object- startDateTime
string - endDateTime
string - field
string
- startDateTime
- TokenFactoryFilterInput
object- tokenFactories
array<string>
- tokenFactories
- TokenFilterInput
object- tokens
array<string>
- tokens
- TxFilterInput
object- txs
array<string>
- txs
- TypeFilterInput
object- types
array<string>
- types
- ValidatorFilterInput
object- validators
array<string>
- validators
- ValidityFilterInput
object- validity
Validity
- validity
分頁輸入
PageInput
- cursor
string - size
number - order
array<PageOrderInput>
PageOrderInput
- field
string - type
string
特定請求輸入
這些物件用作特定查詢和變異方法的參數。
- RequestEstimateGasInput
object- typeUrl
string - tx
string
- typeUrl
- RequestGetAccountStateInput
object- address
string - keys
array<string> - height
number - traceMigration
boolean
- address
- RequestGetAccountTokensInput
object- address
string - token
string
- address
- RequestGetBlockInput
object- height
number
- height
- RequestGetBlocksInput
object- paging
PageInput - heightFilter
RangeFilterInput - emptyExcluded
boolean
- paging
- 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
- paging
狀態物件
這些類型表示區塊鏈上各種實體(如帳戶、資產和代幣)的狀態。
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