Cosmos · Schema

Cosmos SDK cosmos.epochs.v1beta1 Schemas

JSON Schema definitions for the cosmos.epochs.v1beta1 module of the Cosmos SDK gRPC-gateway REST API.

BlockchainCosmosIBCStakingGovernanceDeFiWeb3
View JSON Schema on GitHub

JSON Schema

cosmos-epochs-v1beta1.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Cosmos SDK cosmos.epochs.v1beta1 Schemas",
  "description": "JSON Schema definitions for the cosmos.epochs.v1beta1 module of the Cosmos SDK gRPC-gateway REST API.",
  "definitions": {
    "cosmos.epochs.v1beta1.EpochInfo": {
      "type": "object",
      "properties": {
        "identifier": {
          "type": "string",
          "description": "identifier is a unique reference to this particular timer."
        },
        "startTime": {
          "type": "string",
          "format": "date-time",
          "description": "start_time is the time at which the timer first ever ticks.\nIf start_time is in the future, the epoch will not begin until the start\ntime."
        },
        "duration": {
          "type": "string",
          "description": "duration is the time in between epoch ticks.\nIn order for intended behavior to be met, duration should\nbe greater than the chains expected block time.\nDuration must be non-zero."
        },
        "currentEpoch": {
          "type": "string",
          "format": "int64",
          "description": "current_epoch is the current epoch number, or in other words,\nhow many times has the timer 'ticked'.\nThe first tick (current_epoch=1) is defined as\nthe first block whose blocktime is greater than the EpochInfo start_time."
        },
        "currentEpochStartTime": {
          "type": "string",
          "format": "date-time",
          "description": "current_epoch_start_time describes the start time of the current timer\ninterval. The interval is (current_epoch_start_time,\ncurrent_epoch_start_time + duration] When the timer ticks, this is set to\ncurrent_epoch_start_time = last_epoch_start_time + duration only one timer\ntick for a given identifier can occur per block.\n\nNOTE! The current_epoch_start_time may diverge significantly from the\nwall-clock time the epoch began at. Wall-clock time of epoch start may be\n>> current_epoch_start_time. Suppose current_epoch_start_time = 10,\nduration = 5. Suppose the chain goes offline at t=14, and comes back online\nat t=30, and produces blocks at every successive time. (t=31, 32, etc.)\n* The t=30 block will start the epoch for (10, 15]\n* The t=31 block will start the epoch for (15, 20]\n* The t=32 block will start the epoch for (20, 25]\n* The t=33 block will start the epoch for (25, 30]\n* The t=34 block will start the epoch for (30, 35]\n* The **t=36** block will start the epoch for (35, 40]"
        },
        "epochCountingStarted": {
          "type": "boolean",
          "description": "epoch_counting_started is a boolean, that indicates whether this\nepoch timer has began yet."
        },
        "currentEpochStartHeight": {
          "type": "string",
          "format": "int64",
          "title": "current_epoch_start_height is the block height at which the current epoch\nstarted. (The block height at which the timer last ticked)"
        }
      },
      "description": "EpochInfo is a struct that describes the data going into\na timer defined by the x/epochs module."
    },
    "cosmos.epochs.v1beta1.QueryCurrentEpochResponse": {
      "type": "object",
      "properties": {
        "currentEpoch": {
          "type": "string",
          "format": "int64"
        }
      },
      "description": "QueryCurrentEpochResponse defines the gRPC response structure for\nquerying an epoch by its identifier."
    },
    "cosmos.epochs.v1beta1.QueryEpochInfosResponse": {
      "type": "object",
      "properties": {
        "epochs": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "identifier": {
                "type": "string",
                "description": "identifier is a unique reference to this particular timer."
              },
              "startTime": {
                "type": "string",
                "format": "date-time",
                "description": "start_time is the time at which the timer first ever ticks.\nIf start_time is in the future, the epoch will not begin until the start\ntime."
              },
              "duration": {
                "type": "string",
                "description": "duration is the time in between epoch ticks.\nIn order for intended behavior to be met, duration should\nbe greater than the chains expected block time.\nDuration must be non-zero."
              },
              "currentEpoch": {
                "type": "string",
                "format": "int64",
                "description": "current_epoch is the current epoch number, or in other words,\nhow many times has the timer 'ticked'.\nThe first tick (current_epoch=1) is defined as\nthe first block whose blocktime is greater than the EpochInfo start_time."
              },
              "currentEpochStartTime": {
                "type": "string",
                "format": "date-time",
                "description": "current_epoch_start_time describes the start time of the current timer\ninterval. The interval is (current_epoch_start_time,\ncurrent_epoch_start_time + duration] When the timer ticks, this is set to\ncurrent_epoch_start_time = last_epoch_start_time + duration only one timer\ntick for a given identifier can occur per block.\n\nNOTE! The current_epoch_start_time may diverge significantly from the\nwall-clock time the epoch began at. Wall-clock time of epoch start may be\n>> current_epoch_start_time. Suppose current_epoch_start_time = 10,\nduration = 5. Suppose the chain goes offline at t=14, and comes back online\nat t=30, and produces blocks at every successive time. (t=31, 32, etc.)\n* The t=30 block will start the epoch for (10, 15]\n* The t=31 block will start the epoch for (15, 20]\n* The t=32 block will start the epoch for (20, 25]\n* The t=33 block will start the epoch for (25, 30]\n* The t=34 block will start the epoch for (30, 35]\n* The **t=36** block will start the epoch for (35, 40]"
              },
              "epochCountingStarted": {
                "type": "boolean",
                "description": "epoch_counting_started is a boolean, that indicates whether this\nepoch timer has began yet."
              },
              "currentEpochStartHeight": {
                "type": "string",
                "format": "int64",
                "title": "current_epoch_start_height is the block height at which the current epoch\nstarted. (The block height at which the timer last ticked)"
              }
            },
            "description": "EpochInfo is a struct that describes the data going into\na timer defined by the x/epochs module."
          }
        }
      },
      "description": "QueryEpochInfosRequest defines the gRPC response structure for\nquerying all epoch info."
    }
  }
}