跳到主要内容

数据类型

本节为 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>
  • 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