-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathopenapi.yml
More file actions
1 lines (1 loc) · 80.2 KB
/
openapi.yml
File metadata and controls
1 lines (1 loc) · 80.2 KB
1
{"id":"github.com/LumeraProtocol/lumera","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/LumeraProtocol/lumera REST API","title":"HTTP API Console","contact":{"name":"github.com/LumeraProtocol/lumera"},"version":"version not set"},"paths":{"/LumeraProtocol/lumera/action/v1/get_action/{actionID}":{"get":{"tags":["Query"],"summary":"GetAction queries a single action by ID.","operationId":"GithubComLumeraProtocollumeraQuery_GetAction","parameters":[{"type":"string","description":"The ID of the action to query","name":"actionID","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.QueryGetActionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/action/v1/get_action_fee/{dataSize}":{"get":{"tags":["Query"],"summary":"Queries a list of GetActionFee items.","operationId":"GithubComLumeraProtocollumeraQuery_GetActionFee","parameters":[{"type":"string","name":"dataSize","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.QueryGetActionFeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/action/v1/list_actions":{"get":{"tags":["Query"],"summary":"List actions with optional type and state filters.","operationId":"GithubComLumeraProtocollumeraQuery_ListActions","parameters":[{"enum":["ACTION_TYPE_UNSPECIFIED","ACTION_TYPE_SENSE","ACTION_TYPE_CASCADE"],"type":"string","default":"ACTION_TYPE_UNSPECIFIED","description":" - ACTION_TYPE_UNSPECIFIED: The default action type, used when the type is not specified.\n - ACTION_TYPE_SENSE: The action type for sense operations.\n - ACTION_TYPE_CASCADE: The action type for cascade operations.","name":"actionType","in":"query"},{"enum":["ACTION_STATE_UNSPECIFIED","ACTION_STATE_PENDING","ACTION_STATE_PROCESSING","ACTION_STATE_DONE","ACTION_STATE_APPROVED","ACTION_STATE_REJECTED","ACTION_STATE_FAILED","ACTION_STATE_EXPIRED"],"type":"string","default":"ACTION_STATE_UNSPECIFIED","description":" - ACTION_STATE_UNSPECIFIED: The default state, used when the state is not specified.\n - ACTION_STATE_PENDING: The action is pending and has not yet been processed.\n - ACTION_STATE_PROCESSING: The action is currently being processed.\n - ACTION_STATE_DONE: The action has been completed successfully.\n - ACTION_STATE_APPROVED: The action has been approved.\n - ACTION_STATE_REJECTED: The action has been rejected.\n - ACTION_STATE_FAILED: The action has failed.\n - ACTION_STATE_EXPIRED: The action has expired and is no longer valid.","name":"actionState","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.QueryListActionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/action/v1/list_actions_by_block_height/{blockHeight}":{"get":{"tags":["Query"],"summary":"List actions created at a specific block height.","operationId":"GithubComLumeraProtocollumeraQuery_ListActionsByBlockHeight","parameters":[{"type":"string","format":"int64","name":"blockHeight","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.QueryListActionsByBlockHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/action/v1/list_actions_by_creator/{creator}":{"get":{"tags":["Query"],"summary":"List actions created by a specific address.","operationId":"GithubComLumeraProtocollumeraQuery_ListActionsByCreator","parameters":[{"type":"string","name":"creator","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.QueryListActionsByCreatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/action/v1/list_actions_by_supernode/{superNodeAddress}":{"get":{"tags":["Query"],"summary":"List actions for a specific supernode.","operationId":"GithubComLumeraProtocollumeraQuery_ListActionsBySuperNode","parameters":[{"type":"string","name":"superNodeAddress","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.QueryListActionsBySuperNodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/action/v1/list_expired_actions":{"get":{"tags":["Query"],"summary":"List expired actions.","operationId":"GithubComLumeraProtocollumeraQuery_ListExpiredActions","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.QueryListExpiredActionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/action/v1/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComLumeraProtocollumeraQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/action/v1/query_action_by_metadata":{"get":{"tags":["Query"],"summary":"Query actions based on metadata.","operationId":"GithubComLumeraProtocollumeraQuery_QueryActionByMetadata","parameters":[{"enum":["ACTION_TYPE_UNSPECIFIED","ACTION_TYPE_SENSE","ACTION_TYPE_CASCADE"],"type":"string","default":"ACTION_TYPE_UNSPECIFIED","description":" - ACTION_TYPE_UNSPECIFIED: The default action type, used when the type is not specified.\n - ACTION_TYPE_SENSE: The action type for sense operations.\n - ACTION_TYPE_CASCADE: The action type for cascade operations.","name":"actionType","in":"query"},{"type":"string","description":"e.g., \"field=value\"","name":"metadataQuery","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.QueryActionByMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/assigned_targets/{supernode_account}":{"get":{"tags":["Query"],"summary":"AssignedTargets returns the prober -\u003e targets assignment for a given supernode_account.\nIf filter_by_epoch_id is false, it returns the assignments for the current epoch.","operationId":"GithubComLumeraProtocollumeraQuery_AssignedTargets","parameters":[{"type":"string","name":"supernode_account","in":"path","required":true},{"type":"string","format":"uint64","name":"epoch_id","in":"query"},{"type":"boolean","name":"filter_by_epoch_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryAssignedTargetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/current_epoch":{"get":{"tags":["Query"],"summary":"CurrentEpoch returns the current derived epoch boundaries at the current chain height.","operationId":"GithubComLumeraProtocollumeraQuery_CurrentEpoch","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryCurrentEpochResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/current_epoch_anchor":{"get":{"tags":["Query"],"summary":"CurrentEpochAnchor returns the persisted epoch anchor for the current epoch.","operationId":"GithubComLumeraProtocollumeraQuery_CurrentEpochAnchor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryCurrentEpochAnchorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/epoch_anchor/{epoch_id}":{"get":{"tags":["Query"],"summary":"EpochAnchor returns the persisted epoch anchor for the given epoch_id.","operationId":"GithubComLumeraProtocollumeraQuery_EpochAnchor","parameters":[{"type":"string","format":"uint64","name":"epoch_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryEpochAnchorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/epoch_report/{epoch_id}/{supernode_account}":{"get":{"tags":["Query"],"summary":"EpochReport returns the submitted epoch report for (epoch_id, supernode_account).","operationId":"GithubComLumeraProtocollumeraQuery_EpochReport","parameters":[{"type":"string","format":"uint64","name":"epoch_id","in":"path","required":true},{"type":"string","name":"supernode_account","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryEpochReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/epoch_reports_by_reporter/{supernode_account}":{"get":{"tags":["Query"],"summary":"EpochReportsByReporter returns epoch reports submitted by the given reporter across epochs.","operationId":"GithubComLumeraProtocollumeraQuery_EpochReportsByReporter","parameters":[{"type":"string","name":"supernode_account","in":"path","required":true},{"type":"string","format":"uint64","name":"epoch_id","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"},{"type":"boolean","name":"filter_by_epoch_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryEpochReportsByReporterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/evidence/by_action/{action_id}":{"get":{"tags":["Query"],"summary":"EvidenceByAction queries evidence records by action id.","operationId":"GithubComLumeraProtocollumeraQuery_EvidenceByAction","parameters":[{"type":"string","name":"action_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryEvidenceByActionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/evidence/by_subject/{subject_address}":{"get":{"tags":["Query"],"summary":"EvidenceBySubject queries evidence records by subject address.","operationId":"GithubComLumeraProtocollumeraQuery_EvidenceBySubject","parameters":[{"type":"string","name":"subject_address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryEvidenceBySubjectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/evidence/{evidence_id}":{"get":{"tags":["Query"],"summary":"EvidenceById queries a single evidence record by id.","operationId":"GithubComLumeraProtocollumeraQuery_EvidenceById","parameters":[{"type":"string","format":"uint64","name":"evidence_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryEvidenceByIdResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/host_reports/{supernode_account}":{"get":{"tags":["Query"],"summary":"HostReports returns host reports submitted by the given supernode_account across epochs.","operationId":"GithubComLumeraProtocollumeraQuery_HostReports","parameters":[{"type":"string","name":"supernode_account","in":"path","required":true},{"type":"string","format":"uint64","name":"epoch_id","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"},{"type":"boolean","name":"filter_by_epoch_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryHostReportsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComLumeraProtocollumeraQuery_ParamsMixin14","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/audit/v1/storage_challenge_reports/{supernode_account}":{"get":{"tags":["Query"],"summary":"StorageChallengeReports returns all reports that include storage-challenge observations about the given supernode_account.","operationId":"GithubComLumeraProtocollumeraQuery_StorageChallengeReports","parameters":[{"type":"string","name":"supernode_account","in":"path","required":true},{"type":"string","format":"uint64","name":"epoch_id","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"},{"type":"boolean","name":"filter_by_epoch_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.QueryStorageChallengeReportsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/claim/claim_record/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of ClaimRecord items.","operationId":"GithubComLumeraProtocollumeraQuery_ClaimRecord","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.claim.QueryClaimRecordResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/claim/list_claimed/{vestedTerm}":{"get":{"tags":["Query"],"summary":"Queries a list of ListClaimed items.","operationId":"GithubComLumeraProtocollumeraQuery_ListClaimed","parameters":[{"type":"integer","format":"int64","name":"vestedTerm","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.claim.QueryListClaimedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/claim/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComLumeraProtocollumeraQuery_ParamsMixin19","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.claim.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/lumeraid/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComLumeraProtocollumeraQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.lumeraid.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/supernode/v1/get_super_node/{validatorAddress}":{"get":{"tags":["Query"],"summary":"Queries a SuperNode by validatorAddress.","operationId":"GithubComLumeraProtocollumeraQuery_GetSuperNode","parameters":[{"type":"string","name":"validatorAddress","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.QueryGetSuperNodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/supernode/v1/get_super_node_by_address/{supernodeAddress}":{"get":{"tags":["Query"],"summary":"Queries a SuperNode by supernodeAddress.","operationId":"GithubComLumeraProtocollumeraQuery_GetSuperNodeBySuperNodeAddress","parameters":[{"type":"string","name":"supernodeAddress","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.QueryGetSuperNodeBySuperNodeAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/supernode/v1/get_top_super_nodes_for_block/{blockHeight}":{"get":{"tags":["Query"],"summary":"Queries a list of GetTopSuperNodesForBlock items.","operationId":"GithubComLumeraProtocollumeraQuery_GetTopSuperNodesForBlock","parameters":[{"type":"integer","format":"int32","name":"blockHeight","in":"path","required":true},{"type":"integer","format":"int32","name":"limit","in":"query"},{"type":"string","name":"state","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.QueryGetTopSuperNodesForBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/supernode/v1/list_super_nodes":{"get":{"tags":["Query"],"summary":"Queries a list of SuperNodes.","operationId":"GithubComLumeraProtocollumeraQuery_ListSuperNodes","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.QueryListSuperNodesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/supernode/v1/metrics/{validatorAddress}":{"get":{"tags":["Query"],"summary":"Queries the latest metrics state for a validator.","operationId":"GithubComLumeraProtocollumeraQuery_GetMetrics","parameters":[{"type":"string","name":"validatorAddress","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.QueryGetMetricsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/LumeraProtocol/lumera/supernode/v1/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComLumeraProtocollumeraQuery_ParamsMixin32","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.action.v1.Msg/ApproveAction":{"post":{"tags":["Msg"],"summary":"ApproveAction defines a message for approving an action.","operationId":"GithubComLumeraProtocollumeraMsg_ApproveAction","parameters":[{"description":"MsgApproveAction is the Msg/ApproveAction request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.action.v1.MsgApproveAction"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.MsgApproveActionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.action.v1.Msg/FinalizeAction":{"post":{"tags":["Msg"],"summary":"FinalizeAction defines a message for finalizing an action.","operationId":"GithubComLumeraProtocollumeraMsg_FinalizeAction","parameters":[{"description":"MsgFinalizeAction is the Msg/FinalizeAction request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.action.v1.MsgFinalizeAction"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.MsgFinalizeActionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.action.v1.Msg/RequestAction":{"post":{"tags":["Msg"],"summary":"RequestAction defines a message for requesting an action.","operationId":"GithubComLumeraProtocollumeraMsg_RequestAction","parameters":[{"description":"MsgRequestAction is the Msg/RequestAction request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.action.v1.MsgRequestAction"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.MsgRequestActionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.action.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComLumeraProtocollumeraMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.action.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.action.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.audit.v1.Msg/SubmitEpochReport":{"post":{"tags":["Msg"],"operationId":"GithubComLumeraProtocollumeraMsg_SubmitEpochReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.audit.v1.MsgSubmitEpochReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.MsgSubmitEpochReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.audit.v1.Msg/SubmitEvidence":{"post":{"tags":["Msg"],"summary":"SubmitEvidence defines the SubmitEvidence RPC.","operationId":"GithubComLumeraProtocollumeraMsg_SubmitEvidence","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.audit.v1.MsgSubmitEvidence"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.MsgSubmitEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.audit.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComLumeraProtocollumeraMsg_UpdateParamsMixin15","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.audit.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.audit.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.claim.Msg/Claim":{"post":{"tags":["Msg"],"summary":"Claim defines a message for claiming tokens.","operationId":"GithubComLumeraProtocollumeraMsg_Claim","parameters":[{"description":"MsgClaim is the Msg/Claim request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.claim.MsgClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.claim.MsgClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.claim.Msg/DelayedClaim":{"post":{"tags":["Msg"],"operationId":"GithubComLumeraProtocollumeraMsg_DelayedClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.claim.MsgDelayedClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.claim.MsgDelayedClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.claim.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComLumeraProtocollumeraMsg_UpdateParamsMixin20","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\nMsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.claim.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.claim.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.lumeraid.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComLumeraProtocollumeraMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.lumeraid.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.lumeraid.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.supernode.v1.Msg/DeregisterSupernode":{"post":{"tags":["Msg"],"operationId":"GithubComLumeraProtocollumeraMsg_DeregisterSupernode","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgDeregisterSupernode"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgDeregisterSupernodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.supernode.v1.Msg/RegisterSupernode":{"post":{"tags":["Msg"],"operationId":"GithubComLumeraProtocollumeraMsg_RegisterSupernode","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgRegisterSupernode"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgRegisterSupernodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.supernode.v1.Msg/ReportSupernodeMetrics":{"post":{"tags":["Msg"],"operationId":"GithubComLumeraProtocollumeraMsg_ReportSupernodeMetrics","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgReportSupernodeMetrics"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgReportSupernodeMetricsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.supernode.v1.Msg/StartSupernode":{"post":{"tags":["Msg"],"operationId":"GithubComLumeraProtocollumeraMsg_StartSupernode","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgStartSupernode"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgStartSupernodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.supernode.v1.Msg/StopSupernode":{"post":{"tags":["Msg"],"operationId":"GithubComLumeraProtocollumeraMsg_StopSupernode","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgStopSupernode"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgStopSupernodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.supernode.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComLumeraProtocollumeraMsg_UpdateParamsMixin36","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/lumera.supernode.v1.Msg/UpdateSupernode":{"post":{"tags":["Msg"],"operationId":"GithubComLumeraProtocollumeraMsg_UpdateSupernode","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgUpdateSupernode"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/lumera.supernode.v1.MsgUpdateSupernodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"lumera.action.v1.Action":{"description":"Action represents a specific action within the Lumera protocol.","type":"object","properties":{"actionID":{"type":"string"},"actionType":{"$ref":"#/definitions/lumera.action.v1.ActionType"},"app_pubkey":{"type":"string","format":"byte"},"blockHeight":{"type":"string","format":"int64"},"creator":{"type":"string"},"expirationTime":{"type":"string","format":"int64"},"fileSizeKbs":{"type":"string","format":"int64"},"metadata":{"type":"string","format":"byte"},"price":{"type":"string"},"state":{"$ref":"#/definitions/lumera.action.v1.ActionState"},"superNodes":{"type":"array","items":{"type":"string"}}}},"lumera.action.v1.ActionState":{"description":"ActionState enum represents the various states an action can be in.\n\n - ACTION_STATE_UNSPECIFIED: The default state, used when the state is not specified.\n - ACTION_STATE_PENDING: The action is pending and has not yet been processed.\n - ACTION_STATE_PROCESSING: The action is currently being processed.\n - ACTION_STATE_DONE: The action has been completed successfully.\n - ACTION_STATE_APPROVED: The action has been approved.\n - ACTION_STATE_REJECTED: The action has been rejected.\n - ACTION_STATE_FAILED: The action has failed.\n - ACTION_STATE_EXPIRED: The action has expired and is no longer valid.","type":"string","default":"ACTION_STATE_UNSPECIFIED","enum":["ACTION_STATE_UNSPECIFIED","ACTION_STATE_PENDING","ACTION_STATE_PROCESSING","ACTION_STATE_DONE","ACTION_STATE_APPROVED","ACTION_STATE_REJECTED","ACTION_STATE_FAILED","ACTION_STATE_EXPIRED"]},"lumera.action.v1.ActionType":{"description":"ActionType enum represents the various types of actions that can be performed.\n\n - ACTION_TYPE_UNSPECIFIED: The default action type, used when the type is not specified.\n - ACTION_TYPE_SENSE: The action type for sense operations.\n - ACTION_TYPE_CASCADE: The action type for cascade operations.","type":"string","default":"ACTION_TYPE_UNSPECIFIED","enum":["ACTION_TYPE_UNSPECIFIED","ACTION_TYPE_SENSE","ACTION_TYPE_CASCADE"]},"lumera.action.v1.MsgApproveAction":{"description":"MsgApproveAction is the Msg/ApproveAction request type.","type":"object","properties":{"actionId":{"type":"string"},"creator":{"type":"string"}}},"lumera.action.v1.MsgApproveActionResponse":{"type":"object","title":"MsgApproveActionResponse defines the response structure for executing a MsgApproveAction","properties":{"actionId":{"type":"string"},"status":{"type":"string"}}},"lumera.action.v1.MsgFinalizeAction":{"description":"MsgFinalizeAction is the Msg/FinalizeAction request type.","type":"object","properties":{"actionId":{"type":"string"},"actionType":{"type":"string"},"creator":{"type":"string","title":"must be supernode address"},"metadata":{"type":"string"}}},"lumera.action.v1.MsgFinalizeActionResponse":{"type":"object","title":"MsgFinalizeActionResponse defines the response structure for executing a MsgFinalizeAction"},"lumera.action.v1.MsgRequestAction":{"description":"MsgRequestAction is the Msg/RequestAction request type.","type":"object","properties":{"actionType":{"type":"string"},"app_pubkey":{"type":"string","format":"byte"},"creator":{"type":"string"},"expirationTime":{"type":"string"},"fileSizeKbs":{"type":"string"},"metadata":{"type":"string"},"price":{"type":"string"}}},"lumera.action.v1.MsgRequestActionResponse":{"type":"object","title":"MsgRequestActionResponse defines the response structure for executing a MsgRequestAction","properties":{"actionId":{"type":"string"},"status":{"type":"string"}}},"lumera.action.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/lumera.action.v1.Params"}}},"lumera.action.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"lumera.action.v1.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"base_action_fee":{"title":"Fees","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"expiration_duration":{"type":"string","title":"Time Constraints"},"fee_per_kbyte":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"foundation_fee_share":{"type":"string"},"max_actions_per_block":{"type":"string","format":"uint64","title":"Limits"},"max_dd_and_fingerprints":{"type":"string","format":"uint64"},"max_processing_time":{"type":"string"},"max_raptor_q_symbols":{"type":"string","format":"uint64"},"min_processing_time":{"type":"string"},"min_super_nodes":{"type":"string","format":"uint64"},"super_node_fee_share":{"type":"string","title":"Reward Distribution"}}},"lumera.action.v1.QueryActionByMetadataResponse":{"type":"object","title":"QueryActionByMetadataResponse is a response type to query actions by metadata","properties":{"actions":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.action.v1.Action"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64"}}},"lumera.action.v1.QueryGetActionFeeResponse":{"type":"object","title":"QueryGetActionFeeResponse is a response type to get action fee","properties":{"amount":{"type":"string"}}},"lumera.action.v1.QueryGetActionResponse":{"type":"object","title":"Response type for GetAction","properties":{"action":{"$ref":"#/definitions/lumera.action.v1.Action"}}},"lumera.action.v1.QueryListActionsByBlockHeightResponse":{"type":"object","title":"QueryListActionsByBlockHeightResponse is a response type to list actions by block height","properties":{"actions":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.action.v1.Action"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64"}}},"lumera.action.v1.QueryListActionsByCreatorResponse":{"type":"object","title":"QueryListActionsByCreatorResponse is a response type to list actions for a specific creator","properties":{"actions":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.action.v1.Action"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64"}}},"lumera.action.v1.QueryListActionsBySuperNodeResponse":{"type":"object","title":"QueryListActionsBySuperNodeResponse is a response type to list actions for a specific supernode","properties":{"actions":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.action.v1.Action"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64"}}},"lumera.action.v1.QueryListActionsResponse":{"type":"object","title":"QueryListActionsResponse is a response type to list actions","properties":{"actions":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.action.v1.Action"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64"}}},"lumera.action.v1.QueryListExpiredActionsResponse":{"type":"object","title":"QueryListExpiredActionsResponse is a response type to list expired actions","properties":{"actions":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.action.v1.Action"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64"}}},"lumera.action.v1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/lumera.action.v1.Params"}}},"lumera.audit.v1.EpochAnchor":{"description":"EpochAnchor is a minimal per-epoch on-chain anchor that freezes the deterministic seed\nand the eligible supernode sets used for deterministic selection off-chain.","type":"object","properties":{"active_set_commitment":{"type":"string","format":"byte"},"active_supernode_accounts":{"description":"active_supernode_accounts is the sorted list of ACTIVE supernodes at epoch start.","type":"array","items":{"type":"string"}},"epoch_end_height":{"type":"string","format":"int64"},"epoch_id":{"type":"string","format":"uint64"},"epoch_length_blocks":{"type":"string","format":"uint64"},"epoch_start_height":{"type":"string","format":"int64"},"params_commitment":{"description":"params_commitment is a hash commitment to Params (with defaults) at epoch start.","type":"string","format":"byte"},"seed":{"description":"seed is a fixed 32-byte value derived at epoch start (domain-separated).","type":"string","format":"byte"},"target_supernode_accounts":{"description":"target_supernode_accounts is the sorted list of eligible targets at epoch start:\nACTIVE + POSTPONED supernodes.","type":"array","items":{"type":"string"}},"targets_set_commitment":{"type":"string","format":"byte"}}},"lumera.audit.v1.EpochReport":{"description":"EpochReport is a single per-epoch report submitted by a Supernode.","type":"object","properties":{"epoch_id":{"type":"string","format":"uint64"},"host_report":{"$ref":"#/definitions/lumera.audit.v1.HostReport"},"report_height":{"type":"string","format":"int64"},"storage_challenge_observations":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.audit.v1.StorageChallengeObservation"}},"supernode_account":{"type":"string"}}},"lumera.audit.v1.Evidence":{"description":"Evidence is a stable outer record that stores evidence about an audited subject.\nType-specific fields are encoded into the `metadata` bytes field.","type":"object","properties":{"action_id":{"description":"action_id optionally links this evidence to a specific action.","type":"string"},"evidence_id":{"description":"evidence_id is a chain-assigned unique identifier.","type":"string","format":"uint64"},"evidence_type":{"description":"evidence_type is a stable discriminator used to interpret metadata.","$ref":"#/definitions/lumera.audit.v1.EvidenceType"},"metadata":{"description":"metadata is protobuf-binary bytes of a type-specific Evidence metadata message.","type":"string","format":"byte"},"reported_height":{"description":"reported_height is the block height when the evidence was submitted.","type":"string","format":"uint64"},"reporter_address":{"description":"reporter_address is the submitter of the evidence.","type":"string"},"subject_address":{"description":"subject_address is the audited subject (e.g. supernode-related actor).","type":"string"}}},"lumera.audit.v1.EvidenceType":{"description":" - EVIDENCE_TYPE_ACTION_FINALIZATION_SIGNATURE_FAILURE: action finalization rejected due to an invalid signature / signature-derived data.\n - EVIDENCE_TYPE_ACTION_FINALIZATION_NOT_IN_TOP_10: action finalization rejected because the attempted finalizer is not in the top-10 supernodes.\n - EVIDENCE_TYPE_STORAGE_CHALLENGE_FAILURE: storage challenge failure evidence submitted by the deterministic challenger.\n - EVIDENCE_TYPE_CASCADE_CLIENT_FAILURE: client-observed cascade flow failure (upload/download).","type":"string","default":"EVIDENCE_TYPE_UNSPECIFIED","enum":["EVIDENCE_TYPE_UNSPECIFIED","EVIDENCE_TYPE_ACTION_FINALIZATION_SIGNATURE_FAILURE","EVIDENCE_TYPE_ACTION_FINALIZATION_NOT_IN_TOP_10","EVIDENCE_TYPE_ACTION_EXPIRED","EVIDENCE_TYPE_STORAGE_CHALLENGE_FAILURE","EVIDENCE_TYPE_CASCADE_CLIENT_FAILURE"]},"lumera.audit.v1.HostReport":{"description":"HostReport is the Supernode's self-reported host metrics and counters for an epoch.","type":"object","properties":{"cpu_usage_percent":{"type":"number","format":"double"},"disk_usage_percent":{"type":"number","format":"double"},"failed_actions_count":{"type":"integer","format":"int64"},"inbound_port_states":{"type":"array","items":{"$ref":"#/definitions/lumera.audit.v1.PortState"}},"mem_usage_percent":{"type":"number","format":"double"}}},"lumera.audit.v1.HostReportEntry":{"type":"object","properties":{"epoch_id":{"type":"string","format":"uint64"},"host_report":{"$ref":"#/definitions/lumera.audit.v1.HostReport"},"report_height":{"type":"string","format":"int64"}}},"lumera.audit.v1.MsgSubmitEpochReport":{"type":"object","properties":{"creator":{"description":"creator is the transaction signer.","type":"string"},"epoch_id":{"type":"string","format":"uint64"},"host_report":{"$ref":"#/definitions/lumera.audit.v1.HostReport"},"storage_challenge_observations":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.audit.v1.StorageChallengeObservation"}}}},"lumera.audit.v1.MsgSubmitEpochReportResponse":{"type":"object"},"lumera.audit.v1.MsgSubmitEvidence":{"type":"object","properties":{"action_id":{"type":"string"},"creator":{"type":"string"},"evidence_type":{"$ref":"#/definitions/lumera.audit.v1.EvidenceType"},"metadata":{"description":"metadata is JSON for the type-specific Evidence metadata message.\nThe chain stores protobuf-binary bytes derived from this JSON.","type":"string"},"subject_address":{"type":"string"}}},"lumera.audit.v1.MsgSubmitEvidenceResponse":{"type":"object","properties":{"evidence_id":{"type":"string","format":"uint64"}}},"lumera.audit.v1.MsgUpdateParams":{"type":"object","properties":{"authority":{"type":"string"},"params":{"$ref":"#/definitions/lumera.audit.v1.Params"}}},"lumera.audit.v1.MsgUpdateParamsResponse":{"type":"object"},"lumera.audit.v1.Params":{"description":"Params defines the parameters for the audit module.","type":"object","properties":{"action_finalization_not_in_top10_consecutive_epochs":{"description":"action_finalization_not_in_top10_consecutive_epochs is the consecutive epochs threshold\nfor EVIDENCE_TYPE_ACTION_FINALIZATION_NOT_IN_TOP_10.","type":"integer","format":"int64"},"action_finalization_not_in_top10_evidences_per_epoch":{"description":"action_finalization_not_in_top10_evidences_per_epoch is the per-epoch count threshold\nfor EVIDENCE_TYPE_ACTION_FINALIZATION_NOT_IN_TOP_10.","type":"integer","format":"int64"},"action_finalization_recovery_epochs":{"description":"action_finalization_recovery_epochs is the number of epochs to wait before considering recovery.","type":"integer","format":"int64"},"action_finalization_recovery_max_total_bad_evidences":{"description":"action_finalization_recovery_max_total_bad_evidences is the maximum allowed total count of bad\naction-finalization evidences in the recovery epoch-span for auto-recovery to occur.\nRecovery happens ONLY IF total_bad \u003c this value.","type":"integer","format":"int64"},"action_finalization_signature_failure_consecutive_epochs":{"description":"action_finalization_signature_failure_consecutive_epochs is the consecutive epochs threshold\nfor EVIDENCE_TYPE_ACTION_FINALIZATION_SIGNATURE_FAILURE.","type":"integer","format":"int64"},"action_finalization_signature_failure_evidences_per_epoch":{"description":"action_finalization_signature_failure_evidences_per_epoch is the per-epoch count threshold\nfor EVIDENCE_TYPE_ACTION_FINALIZATION_SIGNATURE_FAILURE.","type":"integer","format":"int64"},"consecutive_epochs_to_postpone":{"description":"Number of consecutive epochs a required port must be reported CLOSED by peers\nat or above peer_port_postpone_threshold_percent before postponing the supernode.","type":"integer","format":"int64"},"epoch_length_blocks":{"type":"string","format":"uint64"},"epoch_zero_height":{"description":"epoch_zero_height defines the reference chain height at which epoch_id = 0 starts.\nThis makes epoch boundaries deterministic from genesis without needing to query state.","type":"string","format":"uint64"},"keep_last_epoch_entries":{"description":"How many completed epochs to keep in state for epoch-scoped data like EpochReport\nand related indices. Pruning runs at epoch end.","type":"string","format":"uint64"},"max_probe_targets_per_epoch":{"type":"integer","format":"int64"},"min_cpu_free_percent":{"description":"Minimum required host free capacity (self reported).\nfree% = 100 - usage%\nA usage% of 0 is treated as \"unknown\" (no action).","type":"integer","format":"int64"},"min_disk_free_percent":{"type":"integer","format":"int64"},"min_mem_free_percent":{"type":"integer","format":"int64"},"min_probe_targets_per_epoch":{"type":"integer","format":"int64"},"peer_port_postpone_threshold_percent":{"description":"Minimum percent (1-100) of peer reports that must report a required port as CLOSED\nfor the port to be treated as CLOSED for postponement purposes.\n\n100 means unanimous.\nExample: to approximate a 2/3 threshold, use 66 (since 2/3 ≈ 66.6%).","type":"integer","format":"int64"},"peer_quorum_reports":{"type":"integer","format":"int64"},"required_open_ports":{"type":"array","items":{"type":"integer","format":"int64"}},"sc_challengers_per_epoch":{"type":"integer","format":"int64"},"sc_enabled":{"description":"Storage Challenge (SC) params.","type":"boolean"}}},"lumera.audit.v1.PortState":{"type":"string","default":"PORT_STATE_UNKNOWN","enum":["PORT_STATE_UNKNOWN","PORT_STATE_OPEN","PORT_STATE_CLOSED"]},"lumera.audit.v1.QueryAssignedTargetsResponse":{"type":"object","properties":{"epoch_id":{"type":"string","format":"uint64"},"epoch_start_height":{"type":"string","format":"int64"},"required_open_ports":{"type":"array","items":{"type":"integer","format":"int64"}},"target_supernode_accounts":{"type":"array","items":{"type":"string"}}}},"lumera.audit.v1.QueryCurrentEpochAnchorResponse":{"type":"object","properties":{"anchor":{"$ref":"#/definitions/lumera.audit.v1.EpochAnchor"}}},"lumera.audit.v1.QueryCurrentEpochResponse":{"type":"object","properties":{"epoch_end_height":{"type":"string","format":"int64"},"epoch_id":{"type":"string","format":"uint64"},"epoch_start_height":{"type":"string","format":"int64"}}},"lumera.audit.v1.QueryEpochAnchorResponse":{"type":"object","properties":{"anchor":{"$ref":"#/definitions/lumera.audit.v1.EpochAnchor"}}},"lumera.audit.v1.QueryEpochReportResponse":{"type":"object","properties":{"report":{"$ref":"#/definitions/lumera.audit.v1.EpochReport"}}},"lumera.audit.v1.QueryEpochReportsByReporterResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"reports":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.audit.v1.EpochReport"}}}},"lumera.audit.v1.QueryEvidenceByActionResponse":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.audit.v1.Evidence"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"lumera.audit.v1.QueryEvidenceByIdResponse":{"type":"object","properties":{"evidence":{"$ref":"#/definitions/lumera.audit.v1.Evidence"}}},"lumera.audit.v1.QueryEvidenceBySubjectResponse":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.audit.v1.Evidence"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"lumera.audit.v1.QueryHostReportsResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"reports":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.audit.v1.HostReportEntry"}}}},"lumera.audit.v1.QueryParamsResponse":{"type":"object","properties":{"params":{"$ref":"#/definitions/lumera.audit.v1.Params"}}},"lumera.audit.v1.QueryStorageChallengeReportsResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"reports":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.audit.v1.StorageChallengeReport"}}}},"lumera.audit.v1.StorageChallengeObservation":{"description":"StorageChallengeObservation is a prober's reachability observation about an assigned target.","type":"object","properties":{"port_states":{"description":"port_states[i] refers to required_open_ports[i] for the epoch.","type":"array","items":{"$ref":"#/definitions/lumera.audit.v1.PortState"}},"target_supernode_account":{"type":"string"}}},"lumera.audit.v1.StorageChallengeReport":{"type":"object","properties":{"epoch_id":{"type":"string","format":"uint64"},"port_states":{"type":"array","items":{"$ref":"#/definitions/lumera.audit.v1.PortState"}},"report_height":{"type":"string","format":"int64"},"reporter_supernode_account":{"type":"string"}}},"lumera.claim.ClaimRecord":{"description":"ClaimRecord represents a record of a claim made by a user.","type":"object","properties":{"balance":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"claimTime":{"type":"string","format":"int64"},"claimed":{"type":"boolean"},"destAddress":{"type":"string"},"oldAddress":{"type":"string"},"vestedTier":{"type":"integer","format":"int64"}}},"lumera.claim.MsgClaim":{"description":"MsgClaim is the Msg/Claim request type.","type":"object","properties":{"creator":{"type":"string"},"newAddress":{"type":"string"},"oldAddress":{"type":"string"},"pubKey":{"type":"string"},"signature":{"type":"string"}}},"lumera.claim.MsgClaimResponse":{"type":"object","title":"MsgClaimResponse defines the response structure for executing a"},"lumera.claim.MsgDelayedClaim":{"type":"object","properties":{"creator":{"type":"string"},"newAddress":{"type":"string"},"oldAddress":{"type":"string"},"pubKey":{"type":"string"},"signature":{"type":"string"},"tier":{"type":"integer","format":"int64"}}},"lumera.claim.MsgDelayedClaimResponse":{"type":"object"},"lumera.claim.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\nMsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/claim parameters to update.\nNOTE: All parameters must be supplied.","$ref":"#/definitions/lumera.claim.Params"}}},"lumera.claim.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"lumera.claim.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"claim_end_time":{"type":"string","format":"int64"},"enable_claims":{"type":"boolean"},"max_claims_per_block":{"type":"string","format":"uint64"}}},"lumera.claim.QueryClaimRecordResponse":{"description":"QueryClaimRecordResponse is response type for the Query/ClaimRecord RPC method.","type":"object","properties":{"record":{"$ref":"#/definitions/lumera.claim.ClaimRecord"}}},"lumera.claim.QueryListClaimedResponse":{"type":"object","properties":{"claims":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.claim.ClaimRecord"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"lumera.claim.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/lumera.claim.Params"}}},"lumera.lumeraid.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/lumera.lumeraid.Params"}}},"lumera.lumeraid.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"lumera.lumeraid.Params":{"description":"Params defines the parameters for the module.","type":"object"},"lumera.lumeraid.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/lumera.lumeraid.Params"}}},"lumera.supernode.v1.Evidence":{"description":"Evidence defines the evidence structure for the supernode module.","type":"object","properties":{"action_id":{"type":"string"},"description":{"type":"string"},"evidence_type":{"type":"string"},"height":{"type":"integer","format":"int32"},"reporter_address":{"type":"string"},"severity":{"type":"string","format":"uint64"},"validator_address":{"type":"string"}}},"lumera.supernode.v1.IPAddressHistory":{"type":"object","properties":{"address":{"type":"string"},"height":{"type":"string","format":"int64"}}},"lumera.supernode.v1.MetricsAggregate":{"type":"object","properties":{"height":{"type":"string","format":"int64"},"metrics":{"type":"object","additionalProperties":{"type":"number","format":"double"}},"report_count":{"type":"string","format":"uint64"}}},"lumera.supernode.v1.MsgDeregisterSupernode":{"type":"object","properties":{"creator":{"type":"string"},"validatorAddress":{"type":"string"}}},"lumera.supernode.v1.MsgDeregisterSupernodeResponse":{"type":"object"},"lumera.supernode.v1.MsgRegisterSupernode":{"type":"object","properties":{"creator":{"type":"string"},"ipAddress":{"type":"string"},"p2p_port":{"type":"string"},"supernodeAccount":{"type":"string"},"validatorAddress":{"type":"string"}}},"lumera.supernode.v1.MsgRegisterSupernodeResponse":{"type":"object"},"lumera.supernode.v1.MsgReportSupernodeMetrics":{"type":"object","properties":{"metrics":{"$ref":"#/definitions/lumera.supernode.v1.SupernodeMetrics"},"supernode_account":{"type":"string"},"validator_address":{"type":"string"}}},"lumera.supernode.v1.MsgReportSupernodeMetricsResponse":{"type":"object","properties":{"compliant":{"type":"boolean"},"issues":{"type":"array","items":{"type":"string"}}}},"lumera.supernode.v1.MsgStartSupernode":{"type":"object","properties":{"creator":{"type":"string"},"validatorAddress":{"type":"string"}}},"lumera.supernode.v1.MsgStartSupernodeResponse":{"type":"object"},"lumera.supernode.v1.MsgStopSupernode":{"type":"object","properties":{"creator":{"type":"string"},"reason":{"type":"string"},"validatorAddress":{"type":"string"}}},"lumera.supernode.v1.MsgStopSupernodeResponse":{"type":"object"},"lumera.supernode.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/lumera.supernode.v1.Params"}}},"lumera.supernode.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"lumera.supernode.v1.MsgUpdateSupernode":{"type":"object","properties":{"creator":{"type":"string"},"ipAddress":{"type":"string"},"note":{"type":"string"},"p2p_port":{"type":"string"},"supernodeAccount":{"type":"string"},"validatorAddress":{"type":"string"}}},"lumera.supernode.v1.MsgUpdateSupernodeResponse":{"type":"object"},"lumera.supernode.v1.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"evidence_retention_period":{"type":"string"},"inactivity_penalty_period":{"type":"string"},"max_cpu_usage_percent":{"type":"string","format":"uint64"},"max_mem_usage_percent":{"type":"string","format":"uint64"},"max_storage_usage_percent":{"type":"string","format":"uint64"},"metrics_freshness_max_blocks":{"description":"Maximum acceptable staleness (in blocks) for a metrics report when\nvalidating freshness.","type":"string","format":"uint64"},"metrics_grace_period_blocks":{"description":"Additional grace (in blocks) before marking metrics overdue/stale.","type":"string","format":"uint64"},"metrics_thresholds":{"type":"string"},"metrics_update_interval_blocks":{"description":"Expected cadence (in blocks) between supernode metrics reports. The daemon\ncan run on a timer using expected block time, but the chain enforces\nheight-based staleness strictly in blocks.","type":"string","format":"uint64"},"min_cpu_cores":{"type":"string","format":"uint64"},"min_mem_gb":{"type":"string","format":"uint64"},"min_storage_gb":{"type":"string","format":"uint64"},"min_supernode_version":{"type":"string"},"minimum_stake_for_sn":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"reporting_threshold":{"type":"string","format":"uint64"},"required_open_ports":{"type":"array","items":{"type":"integer","format":"int64"}},"slashing_fraction":{"type":"string"},"slashing_threshold":{"type":"string","format":"uint64"}}},"lumera.supernode.v1.PortState":{"description":"PortState defines tri-state port reporting. UNKNOWN is the default for proto3\nand is treated as \"not reported / not measured\".","type":"string","default":"PORT_STATE_UNKNOWN","enum":["PORT_STATE_UNKNOWN","PORT_STATE_OPEN","PORT_STATE_CLOSED"]},"lumera.supernode.v1.PortStatus":{"description":"PortStatus reports the state of a specific TCP port.","type":"object","properties":{"port":{"type":"integer","format":"int64"},"state":{"$ref":"#/definitions/lumera.supernode.v1.PortState"}}},"lumera.supernode.v1.QueryGetMetricsResponse":{"description":"QueryGetMetricsResponse is response type for the Query/GetMetrics RPC method.","type":"object","properties":{"metrics_state":{"$ref":"#/definitions/lumera.supernode.v1.SupernodeMetricsState"}}},"lumera.supernode.v1.QueryGetSuperNodeBySuperNodeAddressResponse":{"description":"QueryGetSuperNodeBySuperNodeAddressResponse is response type for the Query/GetSuperNodeBySuperNodeAddress RPC method.","type":"object","properties":{"supernode":{"$ref":"#/definitions/lumera.supernode.v1.SuperNode"}}},"lumera.supernode.v1.QueryGetSuperNodeResponse":{"description":"QueryGetSuperNodeResponse is response type for the Query/GetSuperNode RPC method.","type":"object","properties":{"supernode":{"$ref":"#/definitions/lumera.supernode.v1.SuperNode"}}},"lumera.supernode.v1.QueryGetTopSuperNodesForBlockResponse":{"description":"QueryGetTopSuperNodesForBlockResponse is response type for the Query/GetTopSuperNodesForBlock RPC method.","type":"object","properties":{"supernodes":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.supernode.v1.SuperNode"}}}},"lumera.supernode.v1.QueryListSuperNodesResponse":{"description":"QueryListSuperNodesResponse is response type for the Query/ListSuperNodes RPC method.","type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"supernodes":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.supernode.v1.SuperNode"}}}},"lumera.supernode.v1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/lumera.supernode.v1.Params"}}},"lumera.supernode.v1.SuperNode":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.supernode.v1.Evidence"}},"metrics":{"$ref":"#/definitions/lumera.supernode.v1.MetricsAggregate"},"note":{"type":"string"},"p2p_port":{"type":"string"},"prev_ip_addresses":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.supernode.v1.IPAddressHistory"}},"prev_supernode_accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.supernode.v1.SupernodeAccountHistory"}},"states":{"type":"array","items":{"type":"object","$ref":"#/definitions/lumera.supernode.v1.SuperNodeStateRecord"}},"supernode_account":{"type":"string"},"validator_address":{"type":"string"}}},"lumera.supernode.v1.SuperNodeState":{"type":"string","default":"SUPERNODE_STATE_UNSPECIFIED","enum":["SUPERNODE_STATE_UNSPECIFIED","SUPERNODE_STATE_ACTIVE","SUPERNODE_STATE_DISABLED","SUPERNODE_STATE_STOPPED","SUPERNODE_STATE_PENALIZED","SUPERNODE_STATE_POSTPONED"]},"lumera.supernode.v1.SuperNodeStateRecord":{"type":"object","properties":{"height":{"type":"string","format":"int64"},"reason":{"description":"reason is an optional string describing why the state transition occurred.\nIt is currently set only for transitions into POSTPONED.","type":"string"},"state":{"$ref":"#/definitions/lumera.supernode.v1.SuperNodeState"}}},"lumera.supernode.v1.SupernodeAccountHistory":{"type":"object","properties":{"account":{"type":"string"},"height":{"type":"string","format":"int64"}}},"lumera.supernode.v1.SupernodeMetrics":{"description":"SupernodeMetrics defines the structured metrics reported by a supernode.","type":"object","properties":{"cpu_cores_total":{"description":"CPU metrics.","type":"number","format":"double"},"cpu_usage_percent":{"type":"number","format":"double"},"disk_free_gb":{"type":"number","format":"double"},"disk_total_gb":{"description":"Storage metrics (GB).","type":"number","format":"double"},"disk_usage_percent":{"type":"number","format":"double"},"mem_free_gb":{"type":"number","format":"double"},"mem_total_gb":{"description":"Memory metrics (GB).","type":"number","format":"double"},"mem_usage_percent":{"type":"number","format":"double"},"open_ports":{"description":"Tri-state port reporting for required ports.","type":"array","items":{"type":"object","$ref":"#/definitions/lumera.supernode.v1.PortStatus"}},"peers_count":{"type":"integer","format":"int64"},"uptime_seconds":{"description":"Uptime and connectivity.","type":"number","format":"double"},"version_major":{"description":"Semantic version of the supernode software.","type":"integer","format":"int64"},"version_minor":{"type":"integer","format":"int64"},"version_patch":{"type":"integer","format":"int64"}}},"lumera.supernode.v1.SupernodeMetricsState":{"description":"SupernodeMetricsState stores the latest metrics state for a validator.","type":"object","properties":{"height":{"type":"string","format":"int64"},"metrics":{"$ref":"#/definitions/lumera.supernode.v1.SupernodeMetrics"},"report_count":{"type":"string","format":"uint64"},"validator_address":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]}