Pocket Network · Schema

Application represents the onchain definition and state of an application

BlockchainRPCDecentralizedWeb3EthereumEVMInfrastructure

Properties

Name Type Description
address string
delegatee_gateway_addresses array TODO_MAINNET_MIGRATION(@bryanchriswhite): Rename `delegatee_gateway_addresses` to `gateway_addresses_delegated_to` for better clarity and consistency. - Update all related configs, comments, variables
pending_transfer object
pending_undelegations object Mapping of session end heights to gateways being undelegated from - Key: Height of the last block of the session when the undelegation transaction was committed - Value: List of gateways being undeleg
service_configs array
stake object
unstake_session_end_height string
View JSON Schema on GitHub

JSON Schema

pocket_application_Application.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/pokt/main/json-schema/pocket_application_Application.json",
  "title": "Application represents the onchain definition and state of an application",
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "title": "Bech32 address of the application"
    },
    "delegatee_gateway_addresses": {
      "description": "TODO_MAINNET_MIGRATION(@bryanchriswhite): Rename `delegatee_gateway_addresses` to `gateway_addresses_delegated_to` for better clarity and consistency.\n- Update all related configs, comments, variables, and function names throughout the codebase to reflect this change.\n- This field is a non-nullable list of Bech32-encoded delegatee Gateway addresses.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "pending_transfer": {
      "title": "Information about pending application transfers",
      "$ref": "#/definitions/pocket.application.PendingApplicationTransfer"
    },
    "pending_undelegations": {
      "description": "Mapping of session end heights to gateways being undelegated from\n- Key: Height of the last block of the session when the undelegation transaction was committed\n- Value: List of gateways being undelegated from at that session end height\nTODO_DOCUMENT(@red-0ne): Document the complete flow and rationale behind this mapping.\n- Ensure the documentation explains why tracking pending undelegations by session end height is necessary.\n- See: https://github.com/pokt-network/poktroll/issues/476#issuecomment-2052639906 for context and examples.",
      "type": "object",
      "additionalProperties": {
        "$ref": "#/definitions/pocket.application.UndelegatingGatewayList"
      }
    },
    "service_configs": {
      "type": "array",
      "title": "CRITICAL: Must contain EXACTLY ONE service config\n- Enforces a single service configuration per application to prevent over-servicing.\n- Field is repeated for legacy reasons and potential future compatibility.\n- References for rationale:\n  - https://github.com/pokt-network/poktroll/pull/750#discussion_r1735025033\n  - https://www.notion.so/buildwithgrove/Off-chain-Application-Stake-Tracking-6a8bebb107db4f7f9dc62cbe7ba555f7",
      "items": {
        "type": "object",
        "$ref": "#/definitions/pocket.shared.ApplicationServiceConfig"
      }
    },
    "stake": {
      "title": "Total amount of staked uPOKT",
      "$ref": "#/definitions/cosmos.base.v1beta1.Coin"
    },
    "unstake_session_end_height": {
      "type": "string",
      "format": "uint64",
      "title": "Session end height when application initiated unstaking (0 if not unstaking)"
    }
  }
}