openapi: 3.0.0 info: title: Substrate API Sidecar v1. description: Substrate API Sidecar is a REST service that makes it easy to interact with blockchain nodes built using Substrate's FRAME framework. contact: url: https://github.com/paritytech/substrate-api-sidecar license: name: GPL-3.0-or-later url: https://github.com/paritytech/substrate-api-sidecar/blob/master/LICENSE version: 1.0.0-oas3 tags: - name: accounts - name: blocks - name: node description: node connected to sidecar - name: pallets description: pallets employed in the runtime - name: runtime - name: transaction paths: /accounts/{accountId}/balance-info: get: tags: - accounts summary: Get balance information for an account. description: Returns information about an account's balance. Replaces `/balance/{address}` from versions < v1.0.0. operationId: getAccountBalanceInfo parameters: - name: accountId in: path description: SS58 address of the account. required: true schema: type: string pattern: '^[1-9A-HJ-NP-Za-km-z]{8,64}$' - name: at in: query description: Block at which to query balance info for the specified account. required: false schema: type: string description: Block height (as a non-negative integer) or hash (as a hex string). format: unsignedInteger or $hex responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/AccountBalanceInfo' "400": description: invalid blockId supplied for at query param content: application/json: schema: $ref: '#/components/schemas/Error' "404": description: account not found content: application/json: schema: $ref: '#/components/schemas/Error' /accounts/{accountId}/staking-info: get: tags: - staking summary: Get staking information for a _Stash_ account. description: Returns information about a _Stash_ account's staking activity. Replaces `/staking/{address}` from versions < v1.0.0. operationId: getStakingSummaryByAccountId parameters: - name: accountId in: path description: SS58 address of the account. Must be a _Stash_ account. required: true schema: pattern: '^[1-9A-HJ-NP-Za-km-z]{8,64}$' type: string - name: at in: query description: Block at which to query the staking info for the specified account. required: false schema: type: string description: Block identifier, as the block height or block hash. format: unsignedInteger or $hex responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/AccountStakingInfo' "400": description: invalid blockId supplied for at query param content: application/json: schema: $ref: '#/components/schemas/Error' "404": description: account not found content: application/json: schema: $ref: '#/components/schemas/Error' /accounts/{accountId}/staking-payouts: get: tags: - staking summary: Get payout information for a _Stash_ account. description: Returns payout information for the last specified eras. If specifying both the depth and era query params, this endpoint will return information for (era - depth) through era. (i.e. if depth=5 and era=20 information will be returned for eras 16 through 20). N.B. You cannot query eras less then `current_era - HISTORY_DEPTH`. N.B. The `nominator*` fields correspond to the address being queried, even if it is a validator's _Stash_ address. This is because a validator is technically nominating itself. operationId: getStakingPayoutsByAccountId parameters: - name: accountId in: path description: SS58 address of the account. Must be a _Stash_ account. required: true schema: pattern: '^[1-9A-HJ-NP-Za-km-z]{8,64}$' type: string - name: depth in: query description: The number of eras to query for payouts of. Must be less than or equal to `HISTORY_DEPTH`. In cases where `era - (depth -1)` is less than 0, the first era queried will be 0. required: false schema: type: string format: unsignedInteger default: 1 - name: era in: query description: The era to query at. required: false schema: type: string format: unsignedInteger default: '`active_era - 1`' - name: unclaimedOnly in: query description: Only return unclaimed rewards. required: false schema: type: string format: boolean default: true responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/AccountStakingPayouts' "400": description: invalid blockId supplied for at query param content: application/json: schema: $ref: '#/components/schemas/Error' "404": description: account not found content: application/json: schema: $ref: '#/components/schemas/Error' /accounts/{accountId}/vesting-info: get: tags: - accounts summary: Get vesting information for an account. description: Returns the vesting schedule for an account. Replaces `/vesting/{address}` from versions < v1.0.0. operationId: getVestingSummaryByAccountId parameters: - name: accountId in: path description: SS58 address of the account. required: true schema: pattern: '^[1-9A-HJ-NP-Za-km-z]{8,64}$' type: string - name: at in: query description: Block at which to query the vesting info for the specified account. required: false schema: type: string description: Block identifier, as the block height or block hash. format: unsignedInteger or $hex responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/AccountVestingInfo' "400": description: invalid blockId supplied for at query param content: application/json: schema: $ref: '#/components/schemas/Error' "404": description: account not found content: application/json: schema: $ref: '#/components/schemas/Error' /blocks/{blockId}: get: tags: - blocks summary: Get a block by its height or hash. description: Returns a single block. BlockId can either be a block hash or a block height. Replaces `/block/{number}` from versions < v1.0.0. operationId: getBlockById parameters: - name: blockId in: path description: Block identifier, as the block height or block hash. required: true schema: pattern: 'a-km-zA-HJ-NP-Z1-9{8,64}' type: string - name: eventDocs in: query description: When set to `true`, every event will have an extra `docs` property with a string of the events documentation. required: false schema: type: boolean default: false - name: extrinsicDocs in: query description: When set to `true`, every extrinsic will have an extra `docs` property with a string of the extrinsics documentation. required: false schema: type: boolean default: false responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/Block' "400": description: invalid Block identifier supplied content: application/json: schema: $ref: '#/components/schemas/Error' /blocks/head: get: tags: - blocks summary: Get the most recently finalized block. description: Returns the most recently finalized block. Replaces `/block` from versions < v1.0.0. operationId: getHeadBlock parameters: - name: finalized in: query description: Boolean representing whether or not to get the finalized head. If it is not set the value defaults to true. When set to false it will attempt to get the newest known block, which may not be finalized. required: false schema: type: boolean default: true - name: eventDocs in: query description: When set to `true`, every event will have an extra `docs` property with a string of the events documentation. required: false schema: type: boolean default: false - name: extrinsicDocs in: query description: When set to `true`, every extrinsic will have an extra `docs` property with a string of the extrinsics documentation. required: false schema: type: boolean default: false responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/Block' /node/network: get: tags: - node summary: Get information about the Substrate node's activity in the peer-to-peer network. description: Returns network related information of the node. operationId: getNodeNetworking responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/NodeNetwork' /node/transaction-pool: get: tags: - node summary: Get pending extrinsics from the Substrate node. description: Returns the extrinsics that the node knows of that have not been included in a block. operationId: getNodeTransactionPool responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/TransactionPool' /node/version: get: tags: - node summary: Get information about the Substrates node's implementation and versioning. description: Returns versioning information of the node. operationId: getNodeVersion responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/NodeVersion' /transaction: post: tags: - transaction summary: Submit a transaction to the node's transaction pool. description: Accepts a valid signed extrinsic. Replaces `/tx` from versions < v1.0.0. operationId: submitTransaction requestBody: $ref: '#/components/requestBodies/Transaction' responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/TransactionSuccess' "400": description: failed to parse or submit transaction content: application/json: schema: $ref: '#/components/schemas/TransactionFailure' /transaction/dry-run: post: tags: - transaction summary: Dry run an extrinsic. description: Use the dryrun call to practice submission of a transaction. operationId: dryrunTransaction requestBody: $ref: '#/components/requestBodies/Transaction' responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/TransactionDryRun' "500": description: failed to dry-run transaction content: application/json: schema: $ref: '#/components/schemas/TransactionFailure' /transaction/fee-estimate: post: tags: - transaction summary: Receive a fee estimate for a transaction. description: >- Send a serialized transaction and receive back a naive fee estimate. Note: `partialFee` does not include any tips that you may add to increase a transaction's priority. See the reference on `compute_fee`. Replaces `/tx/fee-estimate` from versions < v1.0.0. Substrate Reference: - `RuntimeDispatchInfo`: https://crates.parity.io/pallet_transaction_payment_rpc_runtime_api/struct.RuntimeDispatchInfo.html - `query_info`: https://crates.parity.io/pallet_transaction_payment/struct.Module.html#method.query_info - `compute_fee`: https://crates.parity.io/pallet_transaction_payment/struct.Module.html#method.compute_fee operationId: feeEstimateTransaction requestBody: $ref: '#/components/requestBodies/Transaction' responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/TransactionFeeEstimate' "500": description: fee estimation failure content: application/json: schema: $ref: '#/components/schemas/TransactionFeeEstimateFailure' /transaction/material: get: tags: - transaction summary: Get all the network information needed to construct a transaction offline. description: Returns the material that is universal to constructing any signed transaction offline. Replaces `/tx/artifacts` from versions < v1.0.0. operationId: getTransactionMaterial parameters: - name: at in: query description: Block at which to retrieve the transaction construction material. required: false schema: type: string description: Block identifier, as the block height or block hash. format: unsignedInteger or $hex - name: noMeta in: query schema: type: boolean description: If true, does not return metadata hex. This is useful when metadata is not needed and response time is a concern. Defaults to false. default: false responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/TransactionMaterial' "400": description: invalid blockId supplied for at query param content: application/json: schema: $ref: '#/components/schemas/Error' /pallets/staking/progress: get: tags: - staking - pallets summary: Get progress on the general Staking pallet system. description: Returns information on the progress of key components of the staking system and estimates of future points of interest. Replaces `/staking-info` from versions < v1.0.0. operationId: getStakingProgress parameters: - name: at in: query description: Block at which to retrieve a staking progress report. required: false schema: type: string description: Block identifier, as the block height or block hash. format: unsignedInteger or $hex responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/StakingProgress' "400": description: invalid blockId supplied for at query param content: application/json: schema: $ref: '#/components/schemas/Error' /runtime/metadata: get: tags: - runtime summary: Get the runtime metadata in decoded, JSON form. description: >- Returns the runtime metadata as a JSON object. Substrate Reference: - FRAME Support: https://crates.parity.io/frame_support/metadata/index.html - Knowledge Base: https://substrate.dev/docs/en/knowledgebase/runtime/metadata parameters: - name: at in: query description: Block at which to retrieve the metadata at. required: false schema: type: string description: Block identifier, as the block height or block hash. format: unsignedInteger or $hex responses: "200": description: successful operation content: application/json: schema: type: object description: Response is dependent on the runtime metadata contents. /runtime/code: get: tags: - runtime summary: Get the runtime wasm blob. description: Returns the runtime Wasm blob in hex format. parameters: - name: at in: query description: Block at which to retrieve the runtime wasm blob at. required: false schema: type: string description: Block identifier, as the block height or block hash. format: unsignedInteger or $hex responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/RuntimeCode' /runtime/spec: get: tags: - runtime summary: Get version information of the Substrate runtime. description: Returns version information related to the runtime. parameters: - name: at in: query description: Block at which to retrieve runtime version information at. required: false schema: type: string description: Block identifier, as the block height or block hash. format: unsignedInteger or $hex responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/RuntimeSpec' /pallets/{palletId}/storage/{storageItemId}: get: tags: - pallets summary: Get the value of a storage item. description: Returns the value stored under the storageItemId. If it is a map, query param key1 is required. If the storage item is double map query params key1 and key2 are required. parameters: - name: palletId in: path description: Name or index of the pallet to query the storage of. required: true schema: type: string - name: storageItemId in: path description: Id of the storage item to query for. required: true schema: type: string - name: key1 in: query description: Key for a map, or first key for a double map. Required for querying a map. required: false schema: type: string - name: key2 in: query description: Second key for a double map. Required for querying a double map. required: false schema: type: string - name: at in: query description: Block at which to query the storage item at. required: false schema: type: string description: Block identifier, as the block height or block hash. format: unsignedInteger or $hex - name: metadata in: query description: Include the storage items metadata (including documentation) if set to true. required: false schema: default: false type: boolean responses: "200": description: successful operation content: application/json: schema: $ref: '#/components/schemas/PalletStorageItem' "400": description: invalid blockId supplied for at query param content: application/json: schema: $ref: '#/components/schemas/Error' "404": description: could not find resource with with id content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: BalanceLock: type: object properties: id: type: string description: An identifier for this lock. Only one lock may be in existence for each identifier. amount: type: string description: The amount below which the free balance may not drop with this lock in effect. format: unsignedInteger reasons: type: string description: Reasons for withdrawing balance. enum: - Fee = 0 - Misc = 1 - All = 2 AccountBalanceInfo: type: object properties: at: $ref: '#/components/schemas/BlockIdentifiers' nonce: type: string description: Account nonce. format: unsignedInteger free: type: string description: Free balance of the account. Not equivalent to _spendable_ balance. This is the only balance that matters in terms of most operations on tokens. format: unsignedInteger reserved: type: string description: Reserved balance of the account. format: unsignedInteger miscFrozen: type: string description: The amount that `free` may not drop below when withdrawing for anything except transaction fee payment. format: unsignedInteger feeFrozen: type: string description: The amount that `free` may not drop below when withdrawing specifically for transaction fee payment. format: unsignedInteger locks: type: array description: Array of locks on a balance. There can be many of these on an account and they "overlap", so the same balance is frozen by multiple locks items: $ref: '#/components/schemas/BalanceLock' StakingLedger: type: object properties: stash: type: string 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. Nominations: type: object properties: targets: type: array items: type: string description: The targets of the nomination. submittedIn: type: string format: unsignedInteger description: >- The era the nominations were submitted. (Except for initial nominations which are considered submitted at era 0.) suppressed: type: boolean description: Whether the nominations have been suppressed. AccountStakingInfo: type: object properties: at: $ref: '#/components/schemas/BlockIdentifiers' rewardDestination: type: string description: The account to which rewards will be paid. Can be 'Staked' (Stash account, adding to the amount at stake), 'Stash' (Stash address, not adding to the amount at stake), or 'Controller' (Controller address). format: ss58 enum: - Staked - Stash - Controller controller: type: string description: Controller address for the given Stash. format: ss58 numSlashingSpans: type: string description: Number of slashing spans on Stash account; `null` if provided address is not a Controller. format: unsignedInteger nominations: $ref: '#/components/schemas/Nominations' stakingLedger: $ref: '#/components/schemas/StakingLedger' description: >- Note: Runtime versions of Kusama less than 1062 will either have `lastReward` in place of `claimedRewards`, or no field at all. This is related to changes in reward distribution. See: [Lazy Payouts](https://github.com/paritytech/substrate/pull/4474), [Simple Payouts](https://github.com/paritytech/substrate/pull/5406) 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. AccountStakingPayouts: type: object properties: at: $ref: '#/components/schemas/BlockIdentifiers' erasPayouts: type: array items: type: object properties: era: type: string format: unsignedInteger description: Era this information is associated with. totalEraRewardPoints: type: string format: unsignedInteger description: Total reward points for the era. Equals the sum of reward points for all the validators in the set. totalEraPayout: type: string format: unsignedInteger description: Total payout for the era. Validators split the payout based on the portion of `totalEraRewardPoints` they have. payouts: $ref: '#/components/schemas/Payouts' VestingSchedule: type: object properties: locked: type: string 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. AccountVestingInfo: type: object properties: at: $ref: '#/components/schemas/BlockIdentifiers' vesting: $ref: '#/components/schemas/VestingSchedule' BlockIdentifiers: type: object properties: hash: type: string description: The block's hash. format: hex height: type: string description: The block's height. format: unsignedInteger description: Block number and hash at which the call was made. DigestItem: type: object properties: type: type: string index: type: string format: unsignedInteger value: type: array items: type: string SanitizedEvent: type: object properties: method: type: string data: type: array items: type: string Signature: type: object properties: signature: type: string format: hex signer: type: string format: ss58 description: Object with `signature` and `signer`, or `null` if unsigned. RuntimeDispatchInfo: type: object properties: weight: type: string description: Extrinsic weight. class: type: string 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`. ExtrinsicMethod: type: object properties: pallet: type: string methodName: type: string description: Extrinsic method Extrinsic: type: object properties: method: $ref: '#/components/schemas/ExtrinsicMethod' signature: $ref: '#/components/schemas/Signature' nonce: type: string description: Account nonce, if applicable. format: unsignedInteger args: type: object description: >- Object of arguments keyed by parameter name. Note: if you are expecting an [`OpaqueCall`](https://substrate.dev/rustdocs/v2.0.0/pallet_multisig/type.OpaqueCall.html) and it is not decoded in the response (i.e. it is just a hex string), then Sidecar was not able to decode it and likely that it is not a valid call for the runtime. tip: type: string description: Any tip added to the transaction. format: unsignedInteger hash: type: string description: The transaction's hash. format: hex info: $ref: '#/components/schemas/RuntimeDispatchInfo' events: type: array description: An array of `SanitizedEvent`s that occurred during extrinsic execution. items: $ref: '#/components/schemas/SanitizedEvent' success: type: boolean description: Whether or not the extrinsic succeeded. paysFee: type: boolean description: Whether the extrinsic requires a fee. Careful! This field relates to whether or not the extrinsic requires a fee if called as a transaction. Block authors could insert the extrinsic as an inherent in the block and not pay a fee. Always check that `paysFee` is `true` and that the extrinsic is signed when reconciling old blocks. BlockInitialize: type: object properties: events: type: array items: $ref: '#/components/schemas/SanitizedEvent' description: Object with an array of `SanitizedEvent`s that occurred during block initialization with the `method` and `data` for each. BlockFinalize: type: object properties: events: type: array items: $ref: '#/components/schemas/SanitizedEvent' description: Object with an array of `SanitizedEvent`s that occurred during block construction finalization with the `method` and `data` for each. Block: type: object properties: hash: type: string description: The block's hash. format: hex height: type: string description: The block's height. format: unsignedInteger parentHash: type: string description: The hash of the parent block. format: hex stateRoot: type: string description: The state root after executing this block. format: hex extrinsicRoot: type: string description: The Merkle root of the extrinsics. format: hex authorId: type: string description: The account ID of the block author (may be undefined for some chains). format: ss58 logs: type: array items: $ref: '#/components/schemas/DigestItem' description: Array of `DigestItem`s associated with the block. onInitialize: $ref: '#/components/schemas/BlockInitialize' extrinsics: type: array description: Array of extrinsics (inherents and transactions) within the block. items: $ref: '#/components/schemas/Extrinsic' onFinalize: $ref: '#/components/schemas/BlockFinalize' description: >- Note: Block finalization does not correspond to consensus, i.e. whether the block is in the canonical chain. It denotes the finalization of block _construction._ NodeVersion: type: object properties: clientVersion: type: string description: Node's binary version. clientImplName: type: string description: Node's implementation name. chain: type: string description: Node's chain name. description: Version information of the node. NodeRole: type: string description: Role of this node. (N.B. Sentry nodes are being deprecated.) enum: - Full - LightClient - Authority - Sentry PeerInfo: type: object properties: peerId: type: string description: Peer ID. roles: type: string description: Roles the peer is running protocolVersion: type: string description: Peer's protocol version. format: unsignedInteger bestHash: type: string description: Hash of the best block on the peer's canon chain. format: hex bestNumber: type: string description: Height of the best block on the peer's canon chain. format: unsignedInteger NodeNetwork: type: object properties: nodeRoles: $ref: '#/components/schemas/NodeRole' numPeers: type: string description: Number of peers the node is connected to. format: unsignedInteger isSyncing: type: boolean description: Whether or not the node is syncing. `False` indicates that the node is in sync. shouldHavePeers: type: boolean description: Whether or not the node should be connected to peers. Might be false for local chains or when running without discovery. localPeerId: type: string description: Local copy of the `PeerId`. localListenAddresses: type: array description: Multiaddresses that the local node is listening on. The addresses include a trailing `/p2p/` with the local PeerId, and are thus suitable to be passed to `system_addReservedPeer` or as a bootnode address for example. items: type: string peersInfo: type: array items: $ref: '#/components/schemas/PeerInfo' RuntimeSpec: type: object properties: at: $ref: '#/components/schemas/BlockIdentifiers' authoringVersion: type: string 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: type: string description: Type of the chain. enum: - Development - Local - Live 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. UnappliedSlash: type: object properties: validator: type: string description: Stash account ID of the offending validator. format: ss58 own: type: string description: The amount the validator will be slashed. format: unsignedInteger 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: type: string description: Amount of bounty payout to reporters. format: unsignedInteger ElectionStatus: type: object properties: status: type: object description: >- Era election status: either `Close: null` or `Open: `. A status of `Close` indicates that the submission window for solutions from off-chain Phragmen is not open. A status of `Open` indicates that the submission window for off-chain Phragmen solutions has been open since BlockNumber. N.B. when the submission window is open, certain extrinsics are not allowed because they would mutate the state that the off-chain Phragmen calculation relies on for calculating results. toggleEstimate: type: string description: Upper bound estimate of the block height at which the `status` will switch. format: unsignedInteger description: Information about the off-chain election. Not included in response when `forceEra.isForceNone`. StakingProgress: type: object properties: at: $ref: '#/components/schemas/BlockIdentifiers' activeEra: type: string 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 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 Transaction: type: object properties: tx: type: string format: hex 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 in hex 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 TransactionSuccess: type: object properties: hash: type: string description: The hash of the encoded transaction. 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: type: string 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' TransactionFeeEstimateFailure: type: object properties: code: type: number at: type: object properties: hash: type: string error: type: string 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 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). TransactionPool: type: object properties: pool: type: array items: type: object properties: hash: type: string format: hex description: H256 hash of the extrinsic. encodedExtrinsic: type: string format: hex description: Scale encoded extrinsic. RuntimeCode: type: object properties: at: $ref: '#/components/schemas/BlockIdentifiers' code: type: string format: hex Error: type: object properties: code: type: number message: type: string stack: type: string PalletStorageType: type: object description: Info about the data structure used for storage. example: Map: hasher: "Twox64Concat" key: example: "ReferendumIndex" value: "ReferendumInfo" linked: false PalletStorageItemMetadata: type: object properties: name: type: string example: "ReferendumInfoOf" modifier: type: string example: "Optional" type: $ref: '#/components/schemas/PalletStorageType' fallback: type: string example: "0x00" documentation: 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. 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' requestBodies: Transaction: content: application/json: schema: $ref: '#/components/schemas/Transaction' required: true