本节为 OCAP 客户端 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