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