Pocket Network · Arazzo Workflow

Pocket Network Shannon Application Session

Version 1.0.0

Resolve an application, confirm the target service exists, then fetch its active session.

1 workflow 1 source API 1 provider
View Spec View on GitHub Web3BlockchainRPCDecentralized InfrastructurePocket NetworkGrovePATHShannonCosmosPOKTArazzoWorkflows

Provider

pocket-network

Workflows

shannon-application-session
Chain application, service, and session lookups for a Shannon app.
Reads the application, confirms the service, then resolves the active session for the application/service pair, optionally pinned to a height.
3 steps inputs: applicationAddress, blockHeight, serviceId outputs: application, service, session
1
getApplication
getShannonApplication
Read the Application module entry for the supplied Shannon address to confirm the application is staked.
2
getService
getShannonService
Confirm the requested service is registered on Shannon before resolving a session against it.
3
getSession
getShannonSession
Resolve the active session for the application/service pair, pinned to the supplied block height when one was provided.

Source API Descriptions

Arazzo Workflow Specification

pocket-network-shannon-application-session-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Pocket Network Shannon Application Session
  summary: Resolve an application, confirm the target service exists, then fetch its active session.
  description: >-
    Walks the Shannon relay-economics chain from an application down to its
    active session. It reads the Application module entry for the supplied
    address, confirms the requested service is registered on the network, and
    then fetches the active session that groups that application and the
    suppliers serving the service for the current block window. The flow
    branches on whether a block height was supplied, requesting a
    height-pinned session when one is given and the current session otherwise.
    Each step spells out its request inline so the flow can be read and executed
    without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: shannonRpcApi
  url: ../openapi/pocket-network-shannon-rpc-api-openapi.yml
  type: openapi
workflows:
- workflowId: shannon-application-session
  summary: Chain application, service, and session lookups for a Shannon app.
  description: >-
    Reads the application, confirms the service, then resolves the active
    session for the application/service pair, optionally pinned to a height.
  inputs:
    type: object
    required:
    - applicationAddress
    - serviceId
    properties:
      applicationAddress:
        type: string
        description: Bech32 Shannon address of the application (pokt1...).
      serviceId:
        type: string
        description: Service identifier to session against (e.g. "eth", "solana").
      blockHeight:
        type: integer
        description: Optional block height to pin the session lookup to.
  steps:
  - stepId: getApplication
    description: >-
      Read the Application module entry for the supplied Shannon address to
      confirm the application is staked.
    operationId: getShannonApplication
    parameters:
    - name: address
      in: path
      value: $inputs.applicationAddress
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      application: $response.body#/application
  - stepId: getService
    description: >-
      Confirm the requested service is registered on Shannon before resolving a
      session against it.
    operationId: getShannonService
    parameters:
    - name: serviceId
      in: path
      value: $inputs.serviceId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      service: $response.body#/service
  - stepId: getSession
    description: >-
      Resolve the active session for the application/service pair, pinned to the
      supplied block height when one was provided.
    operationId: getShannonSession
    parameters:
    - name: application_address
      in: query
      value: $inputs.applicationAddress
    - name: service_id
      in: query
      value: $inputs.serviceId
    - name: block_height
      in: query
      value: $inputs.blockHeight
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      session: $response.body#/session
  outputs:
    application: $steps.getApplication.outputs.application
    service: $steps.getService.outputs.service
    session: $steps.getSession.outputs.session