Skip to content
openapi-v1.yaml 95.9 KiB
Newer Older
              description: |
                A field of the struct described by field1 (i.e
                `system::Account::get(address).data.free`)
        amount:
          $ref: '#/components/schemas/OperationAmount'
    OperationAmount:
          type: string
          format: unsignedInteger
        currency:
          $ref: '#/components/schemas/OperationAmountCurrency'
    OperationAmountCurrency:
      type: object
      properties:
        symbol:
          type: string
          example: KSM
    OperationPhase:
      type: object
      properties:
        variant:
          - onInitialize
          - initialChecks
          - applyExtrinsic
          - onFinalize
          - finalChecks
          description: Phase of block execution pipeline.
        extrinsicIndex:
          type: string
          format: unsignedInteger
          description: |
            If phase variant is `applyExtrinsic` this will be the index of
            the extrinsic. Otherwise this field will not be present.
    PalletsAssetsInfo:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        assetInfo:
          $ref: '#/components/schemas/AssetInfo'
David's avatar
David committed
        assetMetadata:
          $ref: '#/components/schemas/AssetMetadata'
    PalletStorage:
      type: object
      properties:
        pallet:
          description: Name of the pallet.
          example: "democracy"
        palletIndex:
          type: string
          description: Index of the pallet for looking up storage.
          example: "15"
        items:
            $ref: '#/components/schemas/PalletStorageItemMetadata'
          description: Array containing metadata for each storage entry of the pallet.
    PalletStorageItem:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        pallet:
          type: string
          description: Name of the pallet.
          example: "democracy"
        palletIndex:
          type: string
          description: Index of the pallet for looking up storage.
          example: "15"
        storageItem:
          type: string
          description: Name of the storage item.
          example: "referendumInfoOf"
        key1:
          type: string
          description: Key1 query param. Will not show up in response unless it was passed as part of the URI.
          example: "2"
        key2:
          type: string
          description: Key2 query param. Will not show up in response if not defined in URI.
          example: ""
        value:
          type: object
          description: Value returned by this storage query.
          example:
            Ongoing:
              end: "1612800"
              proposalHash: "0x7de70fc8be782076d0b5772be77153d172a5381c72dd56d3385e25f62abf507e"
              threshold: "Supermajorityapproval"
              delay: "403200"
              tally:
                ayes: "41925212461400000"
                nays: "214535586500000"
                turnout: "34485320658000000"
        metadata:
          $ref: '#/components/schemas/PalletStorageItemMetadata'
    PalletStorageItemMetadata:
          example: "ReferendumInfoOf"
          description: The storage item's name (which is the same as the storage item's ID).
        modifier:
          example: "Optional"
        type:
          $ref: '#/components/schemas/PalletStorageType'
        fallback:
          type: string
          example: "0x00"
        docs:
          type: string
          example: " Information concerning any given referendum.\n\n TWOX-NOTE: SAFE as indexes are not under an attacker’s control."
      description: Metadata of a storage item from a FRAME pallet.
    PalletStorageType:
      type: object
David's avatar
David committed
      description: If the query parameter 'adjustMetadataV13' is set to true, all historic blocks that are
        pre v9110 will have the return type `StorageEntryTypeV13`, and all present and post v9110 blocks will
Tarik Gul's avatar
Tarik Gul committed
        have a return type of `StorageEntryTypeV14`. Please check those types to see potential responses. This
        will be deprecated and removed in the future, and will only live as `StorageEntryTypeV14`.
    Para:
      type: object
      properties:
        paraId:
          type: string
          format: unsignedInteger
        paraLifecycle:
          $ref: '#/components/schemas/ParaLifecycle'
        onboardingAs:
          $ref: '#/components/schemas/OnboardingAs'
    Paras:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        paras:
          type: array
          items:
            $ref: '#/components/schemas/Para'
    ParasAuctionsCurrent:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        beginEnd:
          type: string
          format: unisgnedInteger or $null
          description: |
            Fist block (number) of the auction ending phase. `null` if there is no ongoing
            auction.
        finishEnd:
          type: string
          format: unisgnedInteger or $null
          description: |
            Last block (number) of the auction ending phase. `null` if there is no ongoing
            auction.
        phase:
          type: string
          enum:
          description: |
            An auction can be in one of 4 phases. Both `startingPeriod` () and `endingPeriod` indicate
            an ongoing auction, while `vrfDelay` lines up with the `AuctionStatus::VrfDelay` . Finally, a value of `null`
David's avatar
David committed
            indicates there is no ongoing auction. Keep in mind the that the `finishEnd` field is the block number the
            `endingPeriod` finishes and the `vrfDelay` period begins. The `vrfDelay` period is typically about an
            epoch long and no crowdloan contributions are accepted.
        auctionIndex:
          type: string
          format: unsignedInteger
          description: |
            The auction number. If there is no current auction this will be the number
            of the previous auction.
        leasePeriods:
          type: array
          items:
            type: string
            format: unsignedInteger
          description: |
            Lease period indexes that may be bid on in this auction. `null` if
            there is no ongoing auction.
        winning:
          type: array
          items:
            $ref: '#/components/schemas/WinningData'
    ParasCrowdloans:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        funds:
          type: array
          items:
            type: object
            properties:
              paraId:
                type: string
                format: unsignedInteger
              fundInfo:
                $ref: '#/components/schemas/FundInfo'
          description: |
            List of paras that have crowdloans.
    ParasCrowdloanInfo:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        fundInfo:
          $ref: '#/components/schemas/FundInfo'
        leasePeriods:
          type: array
          items:
            type: string
            format: unsignedInteger
          description: Lease periods the crowdloan can bid on.
    ParasLeasesCurrent:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        leasePeriodIndex:
          type: string
          format: unsignedInteger
David's avatar
David committed
          description: Current lease period index. This value may be null when the current block now,
            substracted by the leaseOffset is less then zero.
        endOfLeasePeriod:
          type: string
          format: unsignedInteger
David's avatar
David committed
          description: Last block (number) of the current lease period. This value may be null when
            `leasePeriodIndex` is null.
        currentLeaseHolders:
          type: array
          items:
            type: string
            format: unsignedInteger
          description: List of `paraId`s that currently hold a lease.
    ParasLeaseInfo:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        paraLifecycle:
          $ref: '#/components/schemas/ParaLifecycle'
        onboardingAs:
          $ref: '#/components/schemas/OnboardingAs'
        leases:
          type: array
          items:
            type: object
            properties:
              leasePeriodIndex:
                type: string
                format: unsignedInteger
              account:
                type: string
              deposit:
                type: string
                format: unsignedInteger
          description: |
            List of lease periods for which the `paraId` holds a lease along with
            the deposit held and the associated `accountId`.
    ParaLifecycle:
      type: string
      enum:
      - onboarding
      - parathread
      - parachain
      - upgradingParathread
      - downgradingParachain
      - offboardingParathread
      - offboardingParachain
      description: |
        The possible states of a para, to take into account delayed lifecycle
        changes.
    Payouts:
      type: array
      items:
        type: object
        properties:
          validatorId:
            type: string
            description: AccountId of the validator the payout is coming from.
          nominatorStakingPayout:
            type: string
            format: unsignedInteger
            description: Payout for the reward destination associated with the
              accountId the query was made for.
          claimed:
            type: boolean
            description: Whether or not the reward has been claimed.
          totalValidatorRewardPoints:
            type: string
            format: unsignedInteger
            description: Number of reward points earned by the validator.
          validatorCommission:
            type: string
            format: unsignedInteger
            description: The percentage of the total payout that the validator takes as commission,
              expressed as a Perbill.
          totalValidatorExposure:
            type: string
            format: unsignedInteger
            description: The sum of the validator's and its nominators' stake.
          nominatorExposure:
            type: string
            format: unsignedInteger
            description: The amount of stake the nominator has behind the validator.
        description: Payout for a nominating _Stash_ address and
          information about the validator they were nominating.
    PeerInfo:
          description: Peer ID.
        roles:
          description: Roles the peer is running
        protocolVersion:
          description: Peer's protocol version.
          format: unsignedInteger
          description: Hash of the best block on the peer's canon chain.
          description: Height of the best block on the peer's canon chain.
          format: unsignedInteger
    RuntimeCode:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        code:
    RuntimeDispatchInfo:
          description: Extrinsic weight.
        class:
          description: Extrinsic class.
          enum:
          - Normal
          - Operational
          - Mandatory
        partialFee:
          type: string
          description: The _inclusion fee_ of a transaction, i.e. the minimum fee required for a transaction. Includes weight and encoded length fees, but does not have access to any signed extensions, e.g. the `tip`.
          format: unsignedInteger
      description: RuntimeDispatchInfo for the transaction. Includes the `partialFee`.
    RuntimeSpec:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        authoringVersion:
          description: The version of the authorship interface. An authoring node
            will not attempt to author blocks unless this is equal to its native runtime.
        chainType:
          $ref: '#/components/schemas/ChainType'
        implVersion:
          type: string
          description: Version of the implementation specification. Non-consensus-breaking
            optimizations are about the only changes that could be made which would
            result in only the `impl_version` changing. The `impl_version` is set to 0
            when `spec_version` is incremented.
        specName:
          type: string
          description: Identifies the different Substrate runtimes.
        specVersion:
          type: string
          description: Version of the runtime specification.
        transactionVersion:
          type: string
          description: All existing dispatches are fully compatible when this number
            doesn't change. This number must change when an existing dispatchable
            (module ID, dispatch ID) is changed, either through an alteration in its
            user-level semantics, a parameter added/removed/changed, a dispatchable
            being removed, a module being removed, or a dispatchable/module changing
            its index.
        properties:
          type: object
          description: Arbitrary properties defined in the chain spec.
      description: Version information related to the runtime.
    SanitizedEvent:
      type: object
      properties:
        method:
          type: string
        data:
            type: string
    Signature:
      type: object
      properties:
        signature:
          format: ss58
      description: Object with `signature` and `signer`, or `null` if unsigned.
    SpanId:
      type: object
      properties:
        name:
          type: string
        target:
          type: string
        id:
          type: string
          format: unsignedInteger
          description: The _Stash_ account whose balance is actually locked and at stake.
          format: ss58
        total:
          type: string
          description: The total amount of the _Stash_'s balance that we are currently accounting
            for. Simply `active + unlocking`.
          format: unsignedInteger
        active:
          type: string
          description: The total amount of the _Stash_'s balance that will be at stake
            in any forthcoming eras.
          format: unsignedInteger
        unlocking:
          type: string
          description: Any balance that is becoming free, which may eventually be
            transferred out of the _Stash_ (assuming it doesn't get slashed first).
            Represented as an array of objects, each with an `era` at which `value`
            will be unlocked.
          format: unsignedInteger
        claimedRewards:
          type: array
          description: Array of eras for which the stakers behind a validator have
            claimed rewards. Only updated for _validators._
          items:
            type: string
            format: unsignedInteger
      description: The staking ledger.
    StakingProgress:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        activeEra:
          description: |
            `EraIndex` of the era being rewarded.
          format: unsignedInteger
        forceEra:
          type: string
          description: Current status of era forcing.
          enum:
          - ForceNone
          - NotForcing
          - ForceAlways
          - ForceNew
        nextActiveEraEstimate:
          type: string
          description: Upper bound estimate of the block height at which the next
            active era will start. Not included in response when `forceEra.isForceNone`.
          format: unsignedInteger
        nextSessionEstimate:
          type: string
          description: Upper bound estimate of the block height at which the next
            session will start.
          format: unsignedInteger
        unappliedSlashes:
          type: array
          items:
            $ref: '#/components/schemas/UnappliedSlash'
          description: Array of upcoming `UnappliedSlash` indexed by era.
        electionStatus:
          $ref: '#/components/schemas/ElectionStatus'
        idealValidatorCount:
          type: string
          description: Upper bound of validator set size; considered the ideal size.
            Not included in response when `forceEra.isForceNone`.
          format: unsignedInteger
        validatorSet:
          type: array
          description: Stash account IDs of the validators for the current session.
            Not included in response when `forceEra.isForceNone`.
          items:
            type: string
            format: ss58
    StorageEntryTypeV13:
      type: object
David's avatar
David committed
      properties:
        hasher:
          type: string
David's avatar
David committed
          description: Returns a string deonting the storage hasher.
        key:
          type: string
          description: Key of the queried pallet storageId.
        value:
          type: string
          description: Value of the queried pallet storageId.
        linked:
          type: boolean
    StorageEntryTypeV14:
      type: object
David's avatar
David committed
      properties:
        hasher:
          type: array
          items:
            type: string
          description: Returns a string denoting the storage
David's avatar
David committed
            hasher inside of an array.
        key:
          type: string
          description: The SiLookupTypeId to identify the type.
        value:
          type: string
          description: The SiLookupTypeId to identify the type.
        data:
          type: object
          properties:
              stringValues:
                $ref: '#/components/schemas/TraceEventDataStringValues'
        parentId:
          format: unsignedInteger
        target:
          type: string
    TraceEventDataStringValues:
      type: object
      properties:
        key:
          type: string
          format: hex
          description: The complete storage key for the entry.
        method:
          type: string
          description: Normally one of Put or Get.
        result:
          type: string
          format: hex
          description: Hex scale encoded storage value.
      description: Note these exact values will only be present for storage events.
    TraceSpan:
      type: object
      properties:
        id:
          type: string
          format: unsignedInteger
        name:
          type: string
        parentId:
          type: string
          format: unsignedInteger
        target:
            type: string
        wasm:
          type: boolean
    Transaction:
        tx:
          type: string
          format: hex
    TransactionDryRun:
      type: object
      properties:
        resultType:
          type: string
          enum:
          - DispatchOutcome
          - TransactionValidityError
          description: Either `DispatchOutcome` if the transaction is valid or `TransactionValidityError` if the result is invalid.
        result:
          type: string
          enum:
          - Ok
          - CannotLookup
          - NoUnsignedValidator
          - Custom(u8)
          - Call
          - Payment
          - Future
          - Stale
          - BadProof
          - AncientBirthBlock
          - ExhaustsResources
          - BadMandatory
          - MandatoryDispatch
          description: 'If there was an error it will be the cause of the error. If the
            transaction executed correctly it will be `Ok: []`'
        validityErrorType:
          type: string
          enum:
          - InvalidTransaction
          - UnknownTransaction
      description: >-
        References:
        - `UnknownTransaction`: https://crates.parity.io/sp_runtime/transaction_validity/enum.UnknownTransaction.html
        - `InvalidTransaction`: https://crates.parity.io/sp_runtime/transaction_validity/enum.InvalidTransaction.html
    TransactionFailedToParse:
      type: object
      properties:
        code:
          type: number
        error:
          type: string
          description: >-
            `Failed to parse a tx.`
        transaction:
          type: string
          format: hex
        cause:
          type: string
        stack:
          type: string
      description: Error message when Sidecar fails to parse the transaction.
    TransactionFailedToSubmit:
      type: object
      properties:
        code:
          type: number
        error:
          type: string
          description: Failed to submit transaction.
        transaction:
          format: hex
        cause:
          type: string
        stack:
          type: string
      description: >-
        Error message when the node rejects the submitted transaction.
    TransactionFailure:
      oneOf:
        - $ref: '#/components/schemas/TransactionFailedToSubmit'
        - $ref: '#/components/schemas/TransactionFailedToParse'
    TransactionFeeEstimate:
      type: object
      properties:
        weight:
          type: string
          description: Extrinsic weight.
        class:
          type: string
          description: Extrinsic class.
          enum:
          - Normal
          - Operational
          - Mandatory
        partialFee:
          type: string
          description: Expected inclusion fee for the transaction. Note that the fee
            rate changes up to 30% in a 24 hour period and this will not be the exact
            fee.
          format: unsignedInteger
      description: >-
        Note: `partialFee` does not include any tips that you may add to increase a transaction's
        priority. See [compute_fee](https://crates.parity.io/pallet_transaction_payment/struct.Module.html#method.compute_fee).
    TransactionFeeEstimateFailure:
      type: object
      properties:
        code:
          type: number
        at:
            type: object
            properties:
              hash:
                type: string
        error:
          description:  Error description.
        transaction:
          type: string
          format: hex
        block:
          type: string
          description: Block hash of the block fee estimation was attempted at.
        cause:
          type: string
          description: Error message from the client.
        stack:
          type: string
    TransactionMaterial:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        genesisHash:
          type: string
          description: The hash of the chain's genesis block.
          format: blockHash
        chainName:
          type: string
          description: The chain's name.
        specName:
          type: string
          description: The chain's spec.
        specVersion:
          type: string
          description: The spec version. Always increased in a runtime upgrade.
        txVersion:
          type: string
          description: The transaction version. Common `txVersion` numbers indicate
            that the transaction encoding format and method indices are the same.
            Needed for decoding in an offline environment. Adding new transactions
            does not change `txVersion`.
        metadata:
          type: string
          description: The chain's metadata. It's default return value is hex, but may be returned in
David's avatar
David committed
            decoded json format.
          format: hex
      description: >-
        Note: `chainName`, `specName`, and `specVersion` are used to define a type registry with a set
        of signed extensions and types. For Polkadot and Kusama, `chainName` is not used in defining
        this registry, but in other Substrate-based chains that re-launch their network without
        changing the `specName`, the `chainName` would be needed to create the correct registry.
        Substrate Reference:
        - `RuntimeVersion`: https://crates.parity.io/sp_version/struct.RuntimeVersion.html
        - `SignedExtension`: https://crates.parity.io/sp_runtime/traits/trait.SignedExtension.html
        -  FRAME Support: https://crates.parity.io/frame_support/metadata/index.html
    TransactionPool:
      type: object
      properties:
        pool:
            type: object
            properties:
                hash:
                  type: string
                  format: hex
                  description: H256 hash of the extrinsic.
                encodedExtrinsic:
                  type: string
                  format: hex
                  description: Scale encoded extrinsic.
    TransactionSuccess:
          description: The hash of the encoded transaction.
    UnappliedSlash:
      type: object
      properties:
        validator:
          description: Stash account ID of the offending validator.
          format: ss58
        own:
          type: string
          description: The amount the validator will be slashed.
        others:
          type: array
          description: Array of tuples(`[accountId, amount]`) representing all the
            stashes of other slashed stakers and the amount they will be slashed.
          items:
            type: string
            format: tuple[ss58, unsignedInteger]
        reporters:
          type: array
          description: Array of account IDs of the reporters of the offense.
          items:
            type: string
            format: ss58
        payout:
          description: Amount of bounty payout to reporters.
          format: unsignedInteger
    VestingSchedule:
      type: object
      properties:
        locked:
          description: Number of tokens locked at start.
          format: unsignedInteger
        perBlock:
          type: string
          description: Number of tokens that gets unlocked every block after `startingBlock`.
          format: unsignedInteger
        startingBlock:
          type: string
          description: Starting block for unlocking (vesting).
          format: unsignedInteger
      description: Vesting schedule for an account.
    WinningData:
      type: object
      properties:
        bid:
          properties:
            accountId:
              type: string
            paraId:
              type: string
              format: unsignedInteger
            amount:
              type: string
              format: unsignedInteger
        leaseSet:
          type: array
          items:
            type: string
            format: unsignedInteger
      description: |
        A currently winning bid and the set of lease periods the bid is for. The
        `amount` of the bid is per lease period. The `bid` property will be `null`
        if no bid has been made for the corresponding `leaseSet`.
  requestBodies:
    Transaction:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Transaction'
      required: true