{ "$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)" } } }