openapi: "3.1.1"
info:
# The protocol version is embedded in the code as constant in the
# `mithril-common/src/lib.rs` file. If you plan to update it
# here to reflect changes in the API, please also update the constant in the
# Rust file.
version: 0.1.57
title: Mithril Aggregator Server
description: |
The REST API provided by a Mithril Aggregator Node in a Mithril network.
You can play with it [here](https://mithril.network/openapi-ui/).
termsOfService: http://swagger.io/terms/
contact:
name: Mithril Team
url: https://github.com/input-output-hk/mithril
license:
name: BSD 3-Clause License
url: https://github.com/input-output-hk/mithril/blob/main/LICENSE
servers:
- url: https://aggregator.release-preprod.api.mithril.network/aggregator
- url: https://aggregator.pre-release-preview.api.mithril.network/aggregator
- url: https://aggregator.testing-preview.api.mithril.network/aggregator
- url: http://localhost:8080/aggregator
paths:
/:
get:
summary: Get public specifications about the aggregator
description: |
Returns the specifications related to the aggregator:
* Open API version
* URL of Mithril documentation
* Capabilities of the aggregator
* Cardano transactions prover capabilities
responses:
"200":
description: root found
content:
application/json:
schema:
$ref: "#/components/schemas/AggregatorFeaturesMessage"
default:
description: root error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/status:
get:
summary: Get information about the aggregator status
description: |
Returns the aggregator status information:
* Current epoch
* Current Cardano era
* Current Mithril era
* Cardano node version
* Aggregator node version
* Protocol parameters for current epoch
* Protocol parameters for next epoch
* Total number of signers for current epoch
* Total number of signers for next epoch
* Total stakes of signers for current epoch
* Total stakes of signers for next epoch
* Total of Cardano SPOs
* Total stakes in Cardano
responses:
"200":
description: aggregator status found
content:
application/json:
schema:
$ref: "#/components/schemas/AggregatorStatusMessage"
default:
description: root error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/epoch-settings:
get:
summary: Get current epoch settings
description: |
Returns the information related to the current epoch:
* protocol parameters for next epoch (to setup cryptography, allowing signers to register)
* signers for current epoch
* signers for next epoch
* cardano transactions signing configuration for current epoch
responses:
"200":
description: epoch settings found
content:
application/json:
schema:
$ref: "#/components/schemas/EpochSettingsMessage"
default:
description: epoch settings error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/protocol-configuration/{epoch}:
get:
summary: Get protocol configuration for a specific epoch
description: |
Returns the information related to the protocol configuration at a given epoch:
* epoch
* protocol parameters
* cardano transactions signing configuration
* enabled signed entity types
parameters:
- name: epoch
in: path
description: Epoch of the protocol configuration to list
required: true
schema:
type: integer
format: int64
examples:
- 419
responses:
"200":
description: protocol configuration found
content:
application/json:
schema:
$ref: "#/components/schemas/ProtocolConfigurationMessage"
"404":
description: protocol configuration not found
default:
description: protocol configuration error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/certificates:
get:
summary: Get most recent certificates
description: |
Returns the list of the most recent certificates
responses:
"200":
description: certificates found
content:
application/json:
schema:
$ref: "#/components/schemas/CertificateListMessage"
default:
description: certificates retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/certificate/genesis:
get:
summary: Get latest genesis certificate
description: |
Returns the latest genesis certificate
responses:
"200":
description: genesis certificate found
content:
application/json:
schema:
$ref: "#/components/schemas/CertificateMessage"
"404":
description: genesis certificate not found
default:
description: get genesis certificate error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/certificate/{certificate_hash}:
get:
summary: Get certificate by hash
description: |
Returns the certificate identified by its hash
parameters:
- name: certificate_hash
in: path
description: Hash of the certificate to retrieve
required: true
schema:
type: string
format: bytes
examples:
- "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572"
responses:
"200":
description: certificate found
content:
application/json:
schema:
$ref: "#/components/schemas/CertificateMessage"
"404":
description: certificate not found
default:
description: get certificate error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/snapshots:
get:
summary: Get most recent snapshots
description: |
Returns the list of the most recent snapshots
responses:
"200":
description: snapshots found
content:
application/json:
schema:
$ref: "#/components/schemas/SnapshotListMessage"
default:
description: snapshots retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/snapshot/{digest}:
get:
summary: Get snapshot information
description: |
Returns the information of a snapshot and where to retrieve its binary content
parameters:
- name: digest
in: path
description: Digest of the snapshot to retrieve
required: true
schema:
type: string
format: bytes
examples:
- "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732"
responses:
"200":
description: snapshot found
content:
application/json:
schema:
$ref: "#/components/schemas/SnapshotMessage"
"404":
description: snapshot not found
default:
description: snapshot retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/snapshot/{digest}/download:
get:
summary: Download the snapshot
description: |
Returns the snapshot archive binary content
parameters:
- name: digest
in: path
description: Digest of the snapshot to download
required: true
schema:
type: string
format: bytes
examples:
- "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732"
responses:
"200":
description: snapshot found
content:
application/gzip:
schema:
type: string
format: binary
"404":
description: snapshot not found
default:
description: snapshot retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/cardano-database:
get:
summary: Get most recent Cardano database snapshots
description: |
Returns the list of the most recent Cardano database snapshots
responses:
"200":
description: Cardano database snapshots found
content:
application/json:
schema:
$ref: "#/components/schemas/CardanoDatabaseSnapshotListMessage"
default:
description: Cardano database snapshots retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/cardano-database/epoch/{epoch}:
get:
summary: Get most recent Cardano database snapshots for a specific epoch
description: |
Returns the list of the most recent Cardano database snapshots for a specific epoch
parameters:
- name: epoch
in: path
description: Epoch of the Cardano database snapshots to list
required: true
schema:
$ref: "#/components/schemas/EpochOrLatestParameter"
responses:
"200":
description: Cardano database snapshots found
content:
application/json:
schema:
$ref: "#/components/schemas/CardanoDatabaseSnapshotListMessage"
default:
description: Cardano database snapshots retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/cardano-database/digests:
get:
summary: Get Cardano database immutable file digests
description: |
Returns the mapping of a Cardano database immutable files with their digests
responses:
"200":
description: Cardano database immutable file digests found
content:
application/json:
schema:
$ref: "#/components/schemas/CardanoDatabaseDigestListMessage"
default:
description: Cardano database immutable files digest retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/cardano-database/{hash}:
get:
summary: Get Cardano database snapshot information
description: |
Returns the information of a Cardano database snapshot and where to retrieve its binary contents
parameters:
- name: hash
in: path
description: Hash of the Cardano database snapshot
required: true
schema:
type: string
format: bytes
examples:
- "c8224920b9f5ad7377594eb8a15f34f08eb3103cc5241d57cafc5638403ec7c6"
responses:
"200":
description: Cardano database snapshot found
content:
application/json:
schema:
$ref: "#/components/schemas/CardanoDatabaseSnapshotMessage"
"404":
description: Cardano database snapshot not found
default:
description: Cardano database snapshot retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/mithril-stake-distributions:
get:
summary: Get most recent Mithril stake distributions
description: |
Returns the list of the most recent Mithril stake distributions
responses:
"200":
description: Mithril stake distribution found
content:
application/json:
schema:
$ref: "#/components/schemas/MithrilStakeDistributionListMessage"
default:
description: Mithril stake distribution retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/mithril-stake-distribution/{hash}:
get:
summary: Get Mithril stake distribution information
description: |
Returns the information of a Mithril stake distribution
parameters:
- name: hash
in: path
description: Hash of the Mithril stake distribution to retrieve
required: true
schema:
type: string
format: bytes
examples:
- "6da2b104ed68481ef829d72d72c2f6a20142916d17985e01774b14ed49f0fea1"
responses:
"200":
description: Mithril stake distribution found
content:
application/json:
schema:
$ref: "#/components/schemas/MithrilStakeDistributionMessage"
"404":
description: Mithril stake distribution not found
default:
description: Mithril stake distribution retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/cardano-stake-distributions:
get:
summary: Get most recent Cardano stake distributions
description: |
Returns the list of the most recent Cardano stake distributions
responses:
"200":
description: Cardano stake distribution found
content:
application/json:
schema:
$ref: "#/components/schemas/CardanoStakeDistributionListMessage"
default:
description: Cardano stake distribution retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/cardano-stake-distribution/{hash}:
get:
summary: Get Cardano stake distribution information
description: |
Returns the information of a Cardano stake distribution
parameters:
- name: hash
in: path
description: Hash of the Cardano stake distribution to retrieve
required: true
schema:
type: string
format: bytes
examples:
- "6da2b104ed68481ef829d72d72c2f6a20142916d17985e01774b14ed49f0fea1"
responses:
"200":
description: Cardano stake distribution found
content:
application/json:
schema:
$ref: "#/components/schemas/CardanoStakeDistributionMessage"
"404":
description: Cardano stake distribution not found
default:
description: Cardano stake distribution retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/cardano-stake-distribution/epoch/{epoch}:
get:
summary: Get Cardano stake distribution information for a specific epoch
description: |
Returns the information of a Cardano stake distribution at a given epoch
parameters:
- name: epoch
in: path
description: Epoch of the Cardano stake distribution to retrieve
required: true
schema:
$ref: "#/components/schemas/EpochOrLatestParameter"
responses:
"200":
description: Cardano stake distribution found
content:
application/json:
schema:
$ref: "#/components/schemas/CardanoStakeDistributionMessage"
"404":
description: Cardano stake distribution not found
default:
description: Cardano stake distribution retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/cardano-transactions:
get:
summary: Get most recent Cardano transactions set snapshots
description: |
Returns the list of the most recent Cardano transactions set snapshots
responses:
"200":
description: Cardano transactions set snapshots found
content:
application/json:
schema:
$ref: "#/components/schemas/CardanoTransactionSnapshotListMessage"
default:
description: Cardano transactions set snapshots retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/artifact/cardano-transaction/{hash}:
get:
summary: Get Cardano transactions set snapshot information
description: |
Returns the information of a Cardano transactions set snapshot
parameters:
- name: hash
in: path
description: Hash of the Cardano transactions set snapshot to retrieve
required: true
schema:
type: string
format: bytes
examples:
- "6da2b104ed68481ef829d72d72c2f6a20142916d17985e01774b14ed49f0fea1"
responses:
"200":
description: Cardano transactions set snapshot found
content:
application/json:
schema:
$ref: "#/components/schemas/CardanoTransactionSnapshotMessage"
"404":
description: Cardano transactions set snapshot not found
default:
description: Cardano transactions set snapshot retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/proof/cardano-transaction:
get:
summary: Get the proofs of a Cardano transaction list
description: |
Returns the transaction hashes and the corresponding proofs
parameters:
- name: transaction_hashes
in: query
description: Hashes of the Cardano transactions to retrieve proofs for
required: true
schema:
type: array
items:
type: string
format: bytes
examples:
- "6dbb104ed68481ef829a26a20142916d17985e01774d72d72c2f"
explode: false
responses:
"200":
description: Cardano transaction proofs found
content:
application/json:
schema:
$ref: "#/components/schemas/CardanoTransactionProofMessage"
"404":
description: No Cardano transactions were ever signed
default:
description: Cardano transaction proofs retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/signers/registered/{epoch}:
get:
summary: Get registered signers for an epoch
description: |
Returns the signers that registered at a given Epoch
parameters:
- name: epoch
in: path
description: Cardano Epoch at which the signer registrations are registered
required: true
schema:
$ref: "#/components/schemas/EpochOrLatestParameter"
responses:
"200":
description: Registered Signers found
content:
application/json:
schema:
$ref: "#/components/schemas/SignerRegistrationsMessage"
"404":
description: Registered Signers not found
default:
description: Registered Signers retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/signers/tickers:
get:
summary: Get the signers known by the aggregator
description: |
Returns the signers party id and, if available, their pool ticker
responses:
"200":
description: Signers found
content:
application/json:
schema:
$ref: "#/components/schemas/SignersTickersMessage"
default:
description: Signers retrieval error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/register-signer:
post:
summary: Registers signer
description: |
Registers a signer for the next certificate production
requestBody:
description: Signer information to register
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/RegisterSignerMessage"
responses:
"201":
description: signer registration succeeded
"400":
description: signer registration bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
"550":
description: signer registration is unavailable
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
default:
description: signer registration error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/register-signatures:
post:
summary: Registers signatures
description: |
Registers the single signatures from a signer participant for an upcoming certificate
requestBody:
description: List of signatures
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/RegisterSingleSignatureMessage"
responses:
"201":
description: signatures registration succeeded
"202":
description: signatures registration received and queued for later processing
"400":
description: signatures registration bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
"404":
description: open message not found
"410":
description: signatures registration done too late
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
default:
description: signatures registration error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/statistics/snapshot:
post:
summary: Records snapshot download event
description: Records snapshot download event
requestBody:
description: Downloaded snapshot message
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/SnapshotDownloadMessage"
responses:
"201":
description: Event successfully recorded
"400":
description: Record event bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
default:
description: Record event error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/statistics/cardano-database/immutable-files-restored:
post:
summary: Records Cardano database immutable files restored event
description: Records Cardano database immutable files restored event
requestBody:
description: Immutable files restored message
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/CardanoDatabaseImmutableFilesRestoredMessage"
responses:
"201":
description: Event successfully recorded
default:
description: Record event bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/statistics/cardano-database/ancillary-files-restored:
post:
summary: Records Cardano database ancillary files restored event
description: Records Cardano database ancillary files restored event
responses:
"201":
description: Event successfully recorded
default:
description: Record event bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/statistics/cardano-database/complete-restoration:
post:
summary: Records Cardano database complete restoration event
description: Records Cardano database complete restoration event
responses:
"201":
description: Event successfully recorded
default:
description: Record event bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/statistics/cardano-database/partial-restoration:
post:
summary: Records Cardano database partial restoration event
description: Records Cardano database partial restoration event
responses:
"201":
description: Event successfully recorded
default:
description: Record event bad request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
components:
schemas:
AggregatorStatusMessage:
description: Represents the information related to the aggregator status
type: object
additionalProperties: false
required:
- epoch
- cardano_era
- cardano_network
- mithril_era
- cardano_node_version
- aggregator_node_version
- protocol
- next_protocol
- total_signers
- total_next_signers
- total_stakes_signers
- total_next_stakes_signers
- total_cardano_spo
- total_cardano_stake
properties:
epoch:
$ref: "#/components/schemas/Epoch"
cardano_era:
description: Cardano era
type: string
cardano_network:
description: Cardano network of the aggregator
type: string
mithril_era:
description: Mithril era
type: string
cardano_node_version:
description: Version of the Cardano node
type: string
aggregator_node_version:
description: Version of the Aggregator node
type: string
protocol:
$ref: "#/components/schemas/ProtocolParameters"
next_protocol:
$ref: "#/components/schemas/ProtocolParameters"
total_signers:
description: The number of signers for the current epoch
type: integer
format: int64
total_next_signers:
description: The number of signers that will be able to sign on the next epoch
type: integer
format: int64
total_stakes_signers:
description: The total stakes of signers for the current epoch
type: integer
format: int64
total_next_stakes_signers:
description: The total stakes of signers for the next epoch
type: integer
format: int64
total_cardano_spo:
description: The number of Cardano SPOs
type: integer
format: int64
total_cardano_stake:
description: The total stakes in Cardano
type: integer
format: int64
examples:
- {
"epoch": 329,
"cardano_era": "Conway",
"cardano_network": "mainnet",
"mithril_era": "pythagoras",
"cardano_node_version": "1.2.3",
"aggregator_node_version": "4.5.6",
"protocol": { "k": 857, "m": 6172, "phi_f": 0.2 },
"next_protocol": { "k": 2422, "m": 20973, "phi_f": 0.2 },
"total_signers": 3,
"total_next_signers": 72,
"total_stakes_signers": 123456789,
"total_next_stakes_signers": 987654321,
"total_cardano_spo": 5738,
"total_cardano_stake": 999999999
}
AggregatorFeaturesMessage:
description: Represents general information about Aggregator public information and signing capabilities
type: object
additionalProperties: false
required:
- open_api_version
- documentation_url
- capabilities
properties:
open_api_version:
description: Open API version
type: string
format: byte
documentation_url:
description: Mithril documentation
type: string
format: byte
capabilities:
description: Capabilities of the aggregator
type: object
additionalProperties: false
required:
- signed_entity_types
- aggregate_signature_type
properties:
signed_entity_types:
description: Signed entity types that are signed by the aggregator
type: array
minItems: 1
items:
$ref: "#/components/schemas/SignedEntityTypes"
aggregate_signature_type:
description: Aggregate signature type used by the aggregator to create certificates
type: string
enum:
- Concatenation
cardano_transactions_prover:
description: Cardano transactions prover capabilities
type: object
additionalProperties: false
required:
- max_hashes_allowed_by_request
properties:
max_hashes_allowed_by_request:
description: Maximum number of hashes allowed for a single request
type: integer
format: int64
examples:
- {
"open_api_version": "0.1.17",
"documentation_url": "https://mithril.network",
"capabilities":
{
"signed_entity_types":
[
"MithrilStakeDistribution",
"CardanoImmutableFilesFull",
"CardanoTransactions"
],
"aggregate_signature_type": "Concatenation",
"cardano_transactions_prover":
{ "max_hashes_allowed_by_request": 100 }
}
}
Epoch:
description: Cardano chain epoch number
type: integer
format: int64
examples:
- 419
EpochOrLatestParameter:
description: |
Specifies which epoch to target for the request. Can be either:
- A specific epoch number (e.g., 419)
- 'latest' for the most recent epoch
- 'latest' with a negative offset (e.g., 'latest-5') to target an epoch relative to the latest one
oneOf:
- $ref: "#/components/schemas/Epoch"
- description: Use the latest epoch with an optional offset
type: string
pattern: '^latest(-\d+)?$'
examples:
- "latest"
- "latest-5"
SignedEntityTypes:
description: Signed entity types that can be signed
type: string
enum:
- MithrilStakeDistribution
- CardanoStakeDistribution
- CardanoImmutableFilesFull
- CardanoTransactions
- CardanoDatabase
EpochSettingsMessage:
description: Epoch settings
type: object
additionalProperties: false
required:
- epoch
- current_signers
- next_signers
properties:
epoch:
$ref: "#/components/schemas/Epoch"
signer_registration_protocol:
deprecated: true
$ref: "#/components/schemas/ProtocolParameters"
current_signers:
type: array
items:
$ref: "#/components/schemas/Signer"
next_signers:
type: array
items:
$ref: "#/components/schemas/Signer"
cardano_transactions_signing_config:
deprecated: true
$ref: "#/components/schemas/CardanoTransactionsSigningConfig"
examples:
- {
"epoch": 329,
"signer_registration_protocol": { "k": 9, "m": 77, "phi_f": 0.5 },
"current_signers":
[
{
"party_id": "1234567890",
"verification_key": "7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353",
"verification_key_signature": "7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a",
"operational_certificate": "5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537",
"kes_period": 123
},
{
"party_id": "2345678900",
"verification_key": "7b392c39392c13131312766b223a5c39382c313342b39302c252c32352c31353328342c32",
"verification_key_signature": "2c33302c3133312c3138322c34362c3133352c372c3139302c3235322c35352c32322c39",
"operational_certificate": "3231342c3137372c37312c3232352c3233332c3135335d2c322c3139322c5b3133352c34312c3230332c3131332c3c33352c3234302c3230392c312c32392c3233332c33342c3138382c3134312c3130342c3234382c3231392c3",
"kes_period": 456
}
],
"next_signers":
[
{
"party_id": "3456789000",
"verification_key": "7b22766b223a5b3133382c32392c3137332c3134342c36332c3233352c39372c3138302c3",
"verification_key_signature": "7b227369676d61223a7b227369676d61223a7b227369676d61223a7b227369676d612239",
"operational_certificate": "5b5b5b3232352c3230332c3235352c3130302c3136372c38302c37342c3136362c3135362c38322c39382c3232312c36332c3137372c3232332c3232332c31392c35372c39332c312c35302c3133392c3233342c3137332c32352",
"kes_period": 789
},
{
"party_id": "4567890000",
"verification_key": "34302c3132332c3139302c3134352c3132342c35342c3133302c37302c3136332c3139332",
"verification_key_signature": "302c3230312c38362c3139312c36302c3234352c3138332c3134342c3139392c3130335f",
"operational_certificate": "2c38382c3138372c3233332c34302c37322c31362c36365d2c312c3132332c5b31362c3136392c3134312c3138332c32322c3137342c3131312c33322c36342c35322c2c3232382c37392c3137352c32395312c3838282c323030",
"kes_period": 876
}
],
"cardano_transactions_signing_config":
{ "security_parameter": 100, "step": 10 }
}
ProtocolConfigurationMessage:
description: Protocol configuration
type: object
additionalProperties: false
required:
- protocol_parameters
- available_signed_entity_types
properties:
protocol_parameters:
$ref: "#/components/schemas/ProtocolParameters"
cardano_transactions_signing_config:
$ref: "#/components/schemas/CardanoTransactionsSigningConfig"
available_signed_entity_types:
description: Available signed entity types that are signed by the aggregator
type: array
minItems: 1
items:
$ref: "#/components/schemas/SignedEntityTypes"
examples:
- {
"protocol_parameters": { "k": 9, "m": 77, "phi_f": 0.5 },
"cardano_transactions_signing_config":
{ "security_parameter": 100, "step": 10 },
"available_signed_entity_types":
[
"MithrilStakeDistribution",
"CardanoImmutableFilesFull",
"CardanoTransactions"
]
}
ProtocolParameters:
description: Protocol cryptographic parameters
type: object
additionalProperties: true
required:
- k
- m
- phi_f
properties:
k:
description: Quorum parameter
type: integer
format: int64
m:
description: Security parameter (number of lotteries)
type: integer
format: int64
phi_f:
description: f in phi(w) = 1 - (1 - f)^w, where w is the stake of a participant
type: number
format: double
examples:
- { "k": 857, "m": 6172, "phi_f": 0.2 }
CardanoTransactionsSigningConfig:
description: Cardano transactions signing configuration
type: object
additionalProperties: false
required:
- security_parameter
- step
properties:
security_parameter:
description: Number of blocks to discard from the tip of the chain when importing Cardano transactions
type: integer
format: int64
step:
description: Number of blocks between signature of Cardano transactions
type: integer
format: int64
examples:
- { "security_parameter": 100, "step": 10 }
CardanoDbBeacon:
description: A point in the Cardano chain at which a Mithril certificate of the Cardano Database should be produced
type: object
additionalProperties: true
required:
- epoch
- immutable_file_number
properties:
epoch:
$ref: "#/components/schemas/Epoch"
immutable_file_number:
description: Number of the last immutable file that should be included the snapshot
type: integer
format: int64
examples:
- { "epoch": 329, "immutable_file_number": 7060000 }
SignedEntityType:
description: Entity type of the message that is signed
type: object
additionalProperties: true
examples:
- { "MithrilStakeDistribution": 246 }
Stake:
description: Stake represents the stakes of a participant in the Cardano chain
type: object
additionalProperties: true
required:
- stake
properties:
stake:
description: Stake share as computed in the 'stake distribution' by the Cardano Node, multiplied by a billion (1.0e9)
type: integer
format: int64
examples:
- { "stake": 1234 }
Signer:
description: Signer represents a signing participant in the network
type: object
additionalProperties: true
required:
- party_id
- verification_key
properties:
party_id:
description: The unique identifier of the signer
type: string
verification_key:
description: The public key used to authenticate signer signature
type: string
format: byte
verification_key_signature:
description: The signature of the verification_key (signed by the Cardano node KES secret key)
type: string
format: byte
operational_certificate:
description: The operational certificate of the stake pool operator attached to the signer node
type: string
format: byte
kes_period:
description: The number of updates of the KES secret key that signed the verification key
type: integer
format: int64
examples:
- {
"party_id": "1234567890",
"verification_key": "7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353",
"verification_key_signature": "7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a",
"operational_certificate": "5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537",
"kes_period": 123
}
RegisterSignerMessage:
description: This message represents a signing participant in the network.
additionalProperties: true
properties:
epoch:
$ref: "#/components/schemas/Epoch"
allOf:
- $ref: "#/components/schemas/Signer"
examples:
- {
"epoch": 329,
"party_id": "1234567890",
"verification_key": "7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353",
"verification_key_signature": "7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a",
"operational_certificate": "5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537",
"kes_period": 123
}
SignerWithStake:
description: Signer represents a signing party in the network (including its stakes)
additionalProperties: true
allOf:
- $ref: "#/components/schemas/Signer"
- $ref: "#/components/schemas/Stake"
examples:
- {
"party_id": "1234567890",
"verification_key": "7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353",
"verification_key_signature": "7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a",
"operational_certificate": "5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537",
"kes_period": 123,
"stake": 1234
}
StakeDistributionParty:
description: |
Signer registered to a signature round.
type: object
additionalProperties: true
properties:
party_id:
description: The unique identifier of the signer
type: string
stake:
description: Stake share as computed in the 'stake distribution' by the Cardano Node, multiplied by a billion (1.0e9)
type: integer
format: int64
examples:
- { "party_id": "1234567890", "stake": 1234 }
SignerRegistrationsMessage:
description: |
This message holds the registered signers at a given epoch.
type: object
additionalProperties: false
properties:
registered_at:
$ref: "#/components/schemas/Epoch"
signing_at:
$ref: "#/components/schemas/Epoch"
registrations:
type: array
items:
$ref: "#/components/schemas/SignerRegistrationsListItemMessage"
examples:
- {
"registered_at": 420,
"signing_at": 422,
"registrations": [{ "party_id": "1234567890", "stake": 1234 }]
}
SignerRegistrationsListItemMessage:
description: represents an item of a SignerRegistrationsMessage registration
type: object
additionalProperties: true
allOf:
- $ref: "#/components/schemas/Stake"
properties:
party_id:
description: The unique identifier of the signer
type: string
SignersTickersMessage:
description: represents the list of signers known by the aggregator
type: object
required:
- network
- signers
properties:
network:
description: Cardano network of the aggregator
type: string
format: bytes
signers:
description: Known signers
items:
$ref: "#/components/schemas/SignerTickerListItemMessage"
examples:
- {
"network": "mainnet",
"signers":
[
{
"party_id": "pool1234567890",
"pool_ticker": "[Pool_Name]",
"has_registered": true
},
{ "party_id": "pool0987654321", "has_registered": false }
]
}
SignerTickerListItemMessage:
description: represents a known signer with its pool ticker
type: object
additionalProperties: true
required:
- party_id
- has_registered
properties:
party_id:
description: The unique identifier of the signer
type: string
pool_ticker:
description: The signer pool ticker
type: string
has_registered:
description: The signer has registered at least once
type: boolean
examples:
- {
"party_id": "pool1234567890",
"pool_ticker": "[Pool_Name]",
"has_registered": true
}
RegisterSingleSignatureMessage:
description: |
This message holds a Signer Single Signature with the
list of won indexes in the lottery.
type: object
additionalProperties: false
required:
- entity_type
- party_id
- signature
- indexes
- signed_message
properties:
entity_type:
$ref: "#/components/schemas/SignedEntityType"
party_id:
description: The unique identifier of the signer
type: string
signature:
description: The single signature of the digest
type: string
format: byte
indexes:
description: The indexes of the lottery won that lead to the single signature
type: array
items:
type: integer
format: int64
signed_message:
description: |
Hash of the protocol message that is signed by the signer
Optional, allows the aggregator to store this signature for later if it has yet to start aggregating
signatures for the message.
type: string
format: bytes
examples:
- {
"entity_type": { "MithrilStakeDistribution": 246 },
"party_id": "1234567890",
"signature": "7b2c36322c3130352c3232322c31302c3131302c33312c37312c39372c22766b223a5b3136342c2c31393137352c313834",
"indexes": [25, 35],
"signed_message": "07ed7c9e128744c1a4797b7eb34c54823cc7a21fc95c19876122ab4bb0fe796d6bba2bc"
}
ProtocolMessageParts:
description: ProtocolMessage represents a message that is signed (or verified) by the Mithril protocol
type: object
additionalProperties: true
required:
- next_aggregate_verification_key
properties:
snapshot_digest:
description: Digest of the snapshot archive
type: string
format: bytes
next_aggregate_verification_key:
description: Aggregate verification key (AVK) that will be used to create the next multi signature
type: string
format: bytes
latest_block_number:
description: The latest signed block number
type: string
examples:
- {
"snapshot_digest": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"next_aggregate_verification_key": "b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363",
"latest_block_number": "123456"
}
ProtocolMessage:
description: ProtocolMessage represents a message that is signed (or verified) by the Mithril protocol
type: object
additionalProperties: false
required:
- message_parts
properties:
message_parts:
$ref: "#/components/schemas/ProtocolMessageParts"
examples:
- {
"message_parts":
{
"snapshot_digest": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"next_aggregate_verification_key": "b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363"
}
}
CertificateListItemMessageMetadata:
description: CertificateListItemMessageMetadata represents the metadata associated to a CertificateListItemMessage
type: object
additionalProperties: false
required:
- network
- version
- parameters
- initiated_at
- sealed_at
- total_signers
properties:
network:
description: Cardano network
type: string
version:
description: Version of the protocol
type: string
format: bytes
parameters:
$ref: "#/components/schemas/ProtocolParameters"
initiated_at:
description: Date and time at which the certificate was initialized and ready to accept single signatures from signers
type: string
format: date-time
sealed_at:
description: Date and time at which the certificate was sealed (when the quorum of single signatures was reached so that a multi signature could be aggregated from them)
type: string
format: date-time
total_signers:
description: The number of the signers with their stakes and verification keys
type: integer
format: int64
examples:
- {
"network": "mainnet",
"version": "0.1.0",
"parameters": { "k": 5, "m": 100, "phi_f": 0.65 },
"initiated_at": "2022-07-17T18:51:23.192811338Z",
"sealed_at": "2022-07-17T18:51:35.830832580Z",
"total_signers": 3
}
CertificateListMessage:
description: CertificateListMessage represents a list of Mithril certificates
type: array
items:
$ref: "#/components/schemas/CertificateListItemMessage"
examples:
- [
{
"hash": "9dc998101590f733f7a50e7c03b5b336e69a751cc02d811395d49618db3ba3d7",
"previous_hash": "aa2ddfb87a17103bdf15bfb21a2941b3f3223a3c8d710910496c392b14f8c403",
"epoch": 329,
"signed_entity_type": { "MithrilStakeDistribution": 246 },
"metadata":
{
"network": "mainnet",
"version": "0.1.0",
"parameters": { "k": 5, "m": 100, "phi_f": 0.65 },
"initiated_at": "2022-07-17T18:51:23.192811338Z",
"sealed_at": "2022-07-17T18:51:35.830832580Z",
"total_signers": 3
},
"protocol_message":
{
"message_parts":
{
"snapshot_digest": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"next_aggregate_verification_key": "b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363"
}
},
"signed_message": "07ed7c9e128744c1a4797b7eb34c54823cc7a21fc95c19876122ab4bb0fe796d6bba2bc",
"aggregate_verification_key": "7b232392c3130342c34392c35312c3130332c3136352c37364223a7b22726f6f74223a5b3137392c3135312c3135382c37332c37372c2c3135392c3226d745f636f6d6d69746d656e7"
}
]
CertificateListItemMessage:
description: CertificateListItemMessage represents an item of a list of Mithril certificates
type: object
additionalProperties: false
required:
- hash
- previous_hash
- epoch
- signed_entity_type
- metadata
- protocol_message
- signed_message
- aggregate_verification_key
properties:
hash:
description: Hash of the current certificate
type: string
format: bytes
previous_hash:
description: Hash of the previous certificate
type: string
format: bytes
epoch:
$ref: "#/components/schemas/Epoch"
signed_entity_type:
$ref: "#/components/schemas/SignedEntityType"
metadata:
$ref: "#/components/schemas/CertificateListItemMessageMetadata"
protocol_message:
$ref: "#/components/schemas/ProtocolMessage"
signed_message:
description: Hash of the protocol message that is signed by the signer participants
type: string
format: bytes
aggregate_verification_key:
description: Aggregate verification key used to verify the multi signature
type: string
format: bytes
examples:
- {
"hash": "9dc998101590f733f7a50e7c03b5b336e69a751cc02d811395d49618db3ba3d7",
"previous_hash": "aa2ddfb87a17103bdf15bfb21a2941b3f3223a3c8d710910496c392b14f8c403",
"epoch": 32,
"signed_entity_type": { "MithrilStakeDistribution": 246 },
"metadata":
{
"network": "mainnet",
"version": "0.1.0",
"parameters": { "k": 5, "m": 100, "phi_f": 0.65 },
"initiated_at": "2022-07-17T18:51:23.192811338Z",
"sealed_at": "2022-07-17T18:51:35.830832580Z",
"total_signers": 3
},
"protocol_message":
{
"message_parts":
{
"snapshot_digest": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"next_aggregate_verification_key": "b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363"
}
},
"signed_message": "07ed7c9e128744c1a4797b7eb34c54823cc7a21fc95c19876122ab4bb0fe796d6bba2bc",
"aggregate_verification_key": "7b232392c3130342c34392c35312c3130332c3136352c37364223a7b22726f6f74223a5b3137392c3135312c3135382c37332c37372c2c3135392c3226d745f636f6d6d69746d656e7"
}
CertificateMetadata:
description: CertificateMetadata represents the metadata associated to a Certificate
type: object
additionalProperties: false
required:
- network
- version
- parameters
- initiated_at
- sealed_at
- signers
properties:
network:
description: Cardano network
type: string
version:
description: Version of the protocol
type: string
format: bytes
parameters:
$ref: "#/components/schemas/ProtocolParameters"
initiated_at:
description: Date and time at which the certificate was initialized and ready to accept single signatures from signers
type: string
format: date-time
sealed_at:
description: Date and time at which the certificate was sealed (when the quorum of single signatures was reached so that a multi signature could be aggregated from them)
type: string
format: date-time
signers:
description: The list of the signers identifiers with their stakes and verification keys
type: array
items:
$ref: "#/components/schemas/StakeDistributionParty"
examples:
- {
"network": "mainnet",
"version": "0.1.0",
"parameters": { "k": 5, "m": 100, "phi_f": 0.65 },
"initiated_at": "2022-07-17T18:51:23.192811338Z",
"sealed_at": "2022-07-17T18:51:35.830832580Z",
"signers":
[
{ "party_id": "1234567890", "stake": 1234 },
{ "party_id": "2345678900", "stake": 2345 }
]
}
CertificateMessage:
description: Certificate represents a Mithril certificate embedding a Mithril STM multi signature
type: object
additionalProperties: false
required:
- hash
- previous_hash
- epoch
- signed_entity_type
- metadata
- protocol_message
- signed_message
- aggregate_verification_key
- multi_signature
- genesis_signature
properties:
hash:
description: Hash of the current certificate
type: string
format: bytes
previous_hash:
description: Hash of the previous certificate
type: string
format: bytes
epoch:
$ref: "#/components/schemas/Epoch"
signed_entity_type:
$ref: "#/components/schemas/SignedEntityType"
metadata:
$ref: "#/components/schemas/CertificateMetadata"
protocol_message:
$ref: "#/components/schemas/ProtocolMessage"
signed_message:
description: Hash of the protocol message that is signed by the signer participants
type: string
format: bytes
aggregate_verification_key:
description: Aggregate verification key used to verify the multi signature
type: string
format: bytes
multi_signature:
description: STM multi signature created from a quorum of single signatures from the signers
type: string
format: bytes
genesis_signature:
description: Genesis signature created to bootstrap the certificate chain with the Cardano Genesis Keys
type: string
format: bytes
examples:
- {
"hash": "1324",
"previous_hash": "aa2ddfb87a17103bdf15bfb21a2941b3f3223a3c8d710910496c392b14f8c403",
"epoch": 329,
"signed_entity_type": { "MithrilStakeDistribution": 246 },
"metadata":
{
"network": "mainnet",
"version": "0.1.0",
"parameters": { "k": 5, "m": 100, "phi_f": 0.65 },
"initiated_at": "2022-07-17T18:51:23.192811338Z",
"sealed_at": "2022-07-17T18:51:35.830832580Z",
"signers":
[
{
"party_id": "1234567890",
"verification_key": "7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353",
"verification_key_signature": "7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a",
"operational_certificate": "5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537",
"kes_period": 123,
"stake": 1234
},
{
"party_id": "2345678900",
"verification_key": "7b392c39392c13131312766b223a5c39382c313342b39302c252c32352c31353328342c32",
"verification_key_signature": "2c33302c3133312c3138322c34362c3133352c372c3139302c3235322c35352c32322c39",
"operational_certificate": "3231342c3137372c37312c3232352c3233332c3135335d2c322c3139322c5b3133352c34312c3230332c3131332c3c33352c3234302c3230392c312c32392c3233332c33342c3138382c3134312c3130342c3234382c3231392c3",
"kes_period": 456,
"stake": 2345
}
]
},
"protocol_message":
{
"message_parts":
{
"snapshot_digest": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"next_aggregate_verification_key": "b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363"
}
},
"signed_message": "07ed7c9e128744c1a4797b7eb34c54823cc7a21fc95c19876122ab4bb0fe796d6bba2bc",
"aggregate_verification_key": "7b232392c3130342c34392c35312c3130332c3136352c37364223a7b22726f6f74223a5b3137392c3135312c3135382c37332c37372c2c3135392c3226d745f636f6d6d69746d656e7",
"multi_signature": "7bc3139392c3135392c3235342c3231392c3133362c3132392c38342c353227369676e617475726573223a5b5b7b227369676d61223a5b3135312c362c3131222c33382c3135382c3137312c3137312c3234392c32342c3232382c3133302c38352c32362c38382c3135382c32303c323337322c323339362c32342c313530342c313532302c3135323737302c323830372c323831392c323834302c323834342c323836302c323837322c323838362c323839312c323839382c3239333533332c343538352c343632342c343634322c343634372c343636362c334312c31343636382c31343637352c31343639352c31343639392c31343730312c31343730352c31343733302c31343733382c31343733392c31343734362c31343735342c31343736312c31343738362c31343739352c31343739362c31343832362c31343835392c31343836302c31343836322c31343837312c31343837322c31343837392c31343838392c31343839332c31343839372c31343839392c31343932362c31343937372c31343939312c31353032332c31353033382c31353034342c31353036332c31353039312c31353039322c31353039382c31353131392c31353132312c31353136362c31353139362c31353230322c31353231302c31353231392c31353233392c31353234362c31353235322c31353237352c31353238312c31353334372c31353335372c31353338372c31353431372c31353434352c31353434382c31353435332c31353435342c31353530382c31353534352c31353536302c31353537302c31353538392c31353631302c31353631312c31353631322c31353632382c31353633302c31353633392c31353636302c31353636312c31353637392c31353731372c31353731392c31353732362c31353733382c31353734382c31353735392c31353736312c31353739312c31353830312c31353830332c31353831342c31353831392c31353832372c31353832392c31353834392c31353835332c31353835372c31353835392c31353836372c31353839362c31353930312c31353930372c31353931302c31353931332c31353931352c31353935352c31353937362c31353938372c31363031372c31363036332c31363131382c31363132382c31363135352c31363136372c31363230312c31363230362c31363231392c31363232312c31363232392c31363233342c31363234362c31363333302c31363335302c31363336362c31353739312c31353830312c31353830332c31353831342c31353831392c31353832372c31353832392c31353834392c31353835332c31353835372c31353835392c31353836372c31353839362c31353930312c31353930372c31353931302c31353931332c31353931352c31353935352c31353937362c31353938372c31363031372c31363036332c31363131382c31363132382c31363135352c31363136372c31363230312c31363230362c31363231392c31363232312c31363232392c31363233342c31363234362c31363333302c31363335302c31363336362c31363339302c31363430342c31363435342c31363437392c31363533302c31363533382c31363534372c31363535322c31363630382c31363631312c31363631382c31363633312c31363635382c31363637312c31363639352c31363730302c31363731332c31363732372c31363733312c31363733322c31363734322c31363736302c31363737342c31363739322c31363739362c31363739382c31363830342c31363831302c31363834302c31363834382c31363835392c31363836332c31363838362c31363838382c31363930302c31363932372c31363932382c31363932392c31363933372c31363934302c31363934362c31363935302c31363936312c31363938312c31373033302c31373035332c31373036322c31373038322c31373130312c31373130332c31373130352c31373130362c31373132302c31373132312c31373133322c31373133332c31373135312c31373135392c31373138332c31373232302c31373239322c31373331312c31373331332c31373332362c31373333362c31373334352c31373334392c31373335372c31373337352c31373338332c31373338352c31373430302c31373430362c31373431342c31373432322c31373434362c31373435312c31373436362c31373530322c31373531392c31373535382c31373536352c31373537332c31373538302c31373630362c31373632332c31373636382c31373639352c31373732392c31373733312c31373733352c31373733372c31373734342c31373734352c31373734372c31373736382c31373737302c31373737332c31373737352c31373739362c31373830342c31373831302c31373831332c31373832332c31373834352c31373834362c31373838382c31373839342c31373930352c31373931302c31373935372c31373936372c31373938372c31373939342c31383030322c31383030332c31383031312c31383032302c31383032392c31383034362c31383036382c31383037322c31383131372c31383133372c31383134302c31383134332c31383136322c31383137302c31383137342c31383138342c31383138392c31383139392c31383230382c31383232302c31383235312c31383235332c31383237392c31383238312c31383239312c31383239382c31383330312c31383331362c31383332382c31383334312c31383336332c31383337342c31383338352c31383338372c31383434392c31383437362c31383438322c31383439382c31383530352c31383530362c31383531342c31383532362c31383532382c31383533382c31383535322c31383535382c31383537342c31383538342c31383539322c31383631392c32c3832392c3834382c3835312c3835342c3836352c3838332c3838342c3839332c3839372c3930392c3937312c3938362c3939352c313032312c313032362c313035312c313036322c313036382c313038322c313038332c313038352c313133312c313134392c313135392c313136342c313137322c313137332c313231372c313231382c313234372c313239332c313330382c313331352c313333302c313335302c313336342c313337392c313430302c313430362c313432372c313434392c313436342c313436362c313436372c313437362c313530312c313530342c313532302c313532352c313533322c313534322c313536372c313537362c313538322c313538332c313632362c313633322c313633332c313634312c313635322c313730302c313732392c313831322c313832302c313834322c313835392c313837312c313930352c313930372c313931322c313931332c313935362c313936302c313937342c323030302c323031302c323033322c323033372c323037372c323038372c323039382c323130372c323131382c323133322c323133382c323135312c323230332c323230392c323231312c323233372c323234382c323235332c323237372c323238302c323330382c323331342c323333322c323334332c323334382c373535362c373535382c373537372c373630392c373631382c373633392c373635342c373635352c373731392c373732322c373732332c373830342c373832372c373833362c373833372c373835302c373835332c373835362c373837382c373839362c373931392c373933312c373933332c373934332c373934362c373935342c383030302c383031302c383031342c383033302c383034332c383035352c383036342c383036382c383037362c383132322c383134332c383134382c383136362c383139302c383234372c383235312c383236302c383237352c383238312c383238352c383330362c383332352c383337332c383337372c383338372c383339372c383339382c383431362c383433312c383436362c383436372c383437372c383438332c383438392c383439322c383439382c383531372c383533302c383533352c383534302c383536392c383539392c383631322c383634322c383635322c383637302c383730312c383733342c383738382c383739312c383832372c383834352c383835312c383836312c383837362c383932392c383933372c383935322c383937362c393031362c393032302c393032372c393032392c393034382c393036302c393038392c393130332c393130362c393131312c393131322c393131382c393133342c393134392c393137372c393137382c393231312c393231322c393232392c393234332c393236312c393236322c393238362c393239372c393331382c393333392c393338312c393339352c393339362c393431372c393433302c393436332c393439322c393532342c393633332c393633352c393634322c393639322c393731382c393732342c393732362c393733352c393735362c393738302c393738322c393739332c393831332c393837312c393839382c393931382c393932332c393932362c393934312c393934392c393935322c393935382c393936312c393936342c393937352c31303030362c31303032362c31303032392c31303035382c31303037342c31303037392c31303131302c31303132332c31303133392c31303134382c31303135362c31303136392c31303230362c31303235352c31303235372c31303235382c31303237332c31303237342c31303239312c31303239332c31303239342c31303330352c31303334312c31303334332c31303338322c31303338332c31303430342c31303431312c31303431332c31303432302c31303434322c31303434342c31303435372c31303436302c31303437322c31303438372c31303532322c31303535312c31303536342c31303636352c31303638352c31303730302c31303730362c31303733322c31303734332c31303737322c31303831352c31303833332c31303834332c31303836362c31303839322c31303930382c31303938382c31313033362c31313034312c31313037312c31313038322c31313039322c31313039392c31313130392c31313131352c31313134362c31313139332c31313230302c31313232382c31313232392c31313235342c31313236372c31313238302c31313239332c31313239352c31313331312c31313331382c31313332322c31313334302c31313334342c31313335322c31313335342c31313335352c31313335362c31313338352c31313430322c31313431332c31313433342c31313434322c31313436382c31313437322c31313437372c31313439362c31313439392c31313530362c31313531302c31313532342c31313532372c31313534342c31313538312c31313539322c31313630342c31313633352c31313635382c31313733332c31313733362c31313735342c31313739342c31313831332c31313831392c31313832342c31313832372c31313836392c31313837312c31313931342c31313937302c31313937342c31323031362c31323031392c31323034302c31323034342c31323035342c31323036382c31323037302c31323037372c31323039392c31323130342c31323133302c31323133392c31323135302c31323135392c31323136302c31323137352c31323230302c31323230322c31323232382c31323233392c31323330352c31323336382c31323337352c31323337392c31323338392c31323430372c31323431302c31323433322c31323434302c31323434312c31323437352c31323530362c31323531322c31323531332c31323531372c31323532312c31323533302c31323538302c31323633362c31323636392c31323637322c31323637362c31323637372c31323638332c31323638372c31323730352c31323732342c31323734362c31323734382c31323737362c31323739392c31323838352c31323839392c31323930372c31323933302c31323933322c31323935382c31323939332c31333030332c31333033302c31333036312c31333038302c31333038332c31333130352c31333132372c31333133312c31333136392c31333138312c31333138322c31333138352c3133323231231333236352c31333238362c31333234322cc31333239342c3131333438362c1e233332362c31333333392c31333336352c31333337332c31333338352c31333339392c31333433332c31333435312c31333437382c3",
"genesis_signature": ""
}
SnapshotListMessage:
description: SnapshotListMessage represents a list of snapshots
type: array
items:
$ref: "#/components/schemas/Snapshot"
examples:
- [
{
"digest": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"network": "mainnet",
"beacon": { "epoch": 329, "immutable_file_number": 7060000 },
"certificate_hash": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572",
"size": 26058531636,
"ancillary_size": 123456789,
"created_at": "2022-07-21T17:32:28Z",
"locations":
[
"https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"https://mithril-cdn-eu.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C",
"ipfs:QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT"
],
"ancillary_locations":
[
"https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732.ancillary.tar.zst"
]
}
]
Snapshot:
description: Snapshot represents a snapshot file and its metadata
type: object
additionalProperties: false
required:
- digest
- network
- beacon
- certificate_hash
- size
- created_at
- locations
properties:
digest:
description: Digest that is signed by the signer participants
type: string
format: bytes
network:
description: Cardano network
type: string
beacon:
$ref: "#/components/schemas/CardanoDbBeacon"
certificate_hash:
description: Hash of the associated certificate
type: string
format: bytes
size:
description: Size of the immutables snapshot file in Bytes
type: integer
format: int64
ancillary_size:
description: Size of the ancillary snapshot file in Bytes
type: integer
format: int64
created_at:
description: Date and time at which the snapshot was created
type: string
format: date-time
locations:
description: Locations where the snapshot of the immutable files can be retrieved
type: array
items:
type: string
ancillary_locations:
description: Locations where the snapshot of the ancillary files can be retrieved
type: array
items:
type: string
compression_algorithm:
description: Compression algorithm for the snapshot archive
type: string
cardano_node_version:
description: Version of the Cardano node which is used to create snapshot archives.
type: string
examples:
- {
"digest": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"network": "mainnet",
"beacon": { "epoch": 329, "immutable_file_number": 7060000 },
"certificate_hash": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572",
"size": 26058531636,
"ancillary_size": 123456789,
"created_at": "2022-07-21T17:32:28Z",
"locations":
[
"https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"https://mithril-cdn-eu.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C",
"ipfs:QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT"
],
"ancillary_locations":
[
"https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732.ancillary.tar.zst"
],
"compression_algorithm": "zstandard",
"cardano_node_version": "1.0.0"
}
SnapshotMessage:
description: This message represents a snapshot file and its metadata.
allOf:
- $ref: "#/components/schemas/Snapshot"
examples:
- {
"digest": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"network": "mainnet",
"beacon": { "epoch": 329, "immutable_file_number": 7060000 },
"certificate_hash": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572",
"size": 26058531636,
"ancillary_size": 123456789,
"created_at": "2022-07-21T17:32:28Z",
"locations":
[
"https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"https://mithril-cdn-eu.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C",
"ipfs:QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT"
],
"ancillary_locations":
[
"https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732.ancillary.tar.zst"
],
"compression_algorithm": "zstandard",
"cardano_node_version": "1.0.0"
}
SnapshotDownloadMessage:
description: SnapshotDownloadMessage represents a downloaded snapshot event
type: object
additionalProperties: false
required:
- digest
- network
- beacon
- size
- locations
- compression_algorithm
- cardano_node_version
properties:
digest:
description: Digest that is signed by the signer participants
type: string
format: bytes
network:
description: Cardano network
type: string
beacon:
$ref: "#/components/schemas/CardanoDbBeacon"
size:
description: Size of the immutables snapshot file in Bytes
type: integer
format: int64
ancillary_size:
description: Size of the ancillary snapshot file in Bytes
type: integer
format: int64
locations:
description: Locations where the snapshot of the immutable files can be retrieved
type: array
items:
type: string
ancillary_locations:
description: Locations where the snapshot of the ancillary files can be retrieved
type: array
items:
type: string
compression_algorithm:
description: Compression algorithm for the snapshot archive
type: string
cardano_node_version:
description: Version of the Cardano node which is used to create snapshot archives.
type: string
examples:
- {
"digest": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"network": "mainnet",
"beacon": { "epoch": 329, "immutable_file_number": 7060000 },
"size": 26058531636,
"ancillary_size": 123456789,
"locations":
[
"https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"https://mithril-cdn-eu.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C",
"ipfs:QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT"
],
"ancillary_locations":
[
"https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732.ancillary.tar.zst"
],
"compression_algorithm": "zstandard",
"cardano_node_version": "1.0.0"
}
CardanoDatabaseImmutableFilesRestoredMessage:
description: CardanoDatabaseImmutableFilesRestoredMessage represents a Cardano database immutable files restored event
type: object
additionalProperties: false
required:
- nb_immutable_files
properties:
nb_immutable_files:
description: Number of immutable files restored
type: integer
examples:
- { "nb_immutable_files": 15 }
CardanoDatabaseDigestsLocationsMessagePart:
description: CardanoDatabaseDigestsLocationsMessagePart represents the locations of the map of file digests from the Cardano database
type: object
required:
- size_uncompressed
- locations
properties:
size_uncompressed:
description: Size of the uncompressed digests file in Bytes
type: integer
format: int64
locations:
type: array
items:
$ref: "#/components/schemas/CardanoDatabaseArtifactLocationMessagePart"
examples:
- {
"size_uncompressed": 1024,
"locations":
[
{
"type": "cloud_storage",
"uri": "https://aggregator-endpoint/artifact/cardano-database/digests"
}
]
}
CardanoDatabaseImmutablesLocationsMessagePart:
description: CardanoDatabaseImmutablesLocationsMessagePart represents the locations of the Cardano database immutable files
type: object
required:
- average_size_uncompressed
- locations
properties:
average_size_uncompressed:
description: Average size of the uncompressed immutable file in Bytes
type: integer
format: int64
locations:
type: array
items:
$ref: "#/components/schemas/CardanoDatabaseImmutableLocationMessagePart"
examples:
- {
"average_size_uncompressed": 1024,
"locations":
[
{
"type": "cloud_storage",
"uri":
{
"Template": "https://mithril-cdn-us.iohk.io/snapshot/{immutable-file_number}.tar.zst"
},
"compression_algorithm": "zstandard"
},
{
"type": "cloud_storage",
"uri":
{
"Template": "https://mithril-cdn-eu.iohk.io/snapshot/{immutable-file_number}.tar.zst"
},
"compression_algorithm": "zstandard"
}
]
}
CardanoDatabaseAncillaryLocationsMessagePart:
description: CardanoDatabaseAncillaryLocationsMessagePart represents the locations of the Cardano database ancillary files
type: object
required:
- size_uncompressed
- locations
properties:
size_uncompressed:
description: Size of the uncompressed ancillary file in Bytes
type: integer
format: int64
locations:
type: array
items:
$ref: "#/components/schemas/CardanoDatabaseArtifactLocationMessagePart"
examples:
- {
"size_uncompressed": 1024,
"locations":
[
{
"type": "cloud_storage",
"uri": "https://mithril-cdn-us.iohk.io/snapshot/ancillary-6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732.tar.zst",
"compression_algorithm": "zstandard"
}
]
}
CardanoDatabaseArtifactLocationMessagePart:
description: CardanoDatabaseArtifactLocationMessagePart represents the location of a single Cardano database artifact
type: object
required:
- type
- uri
properties:
type:
description: Type of the artifact location
type: string
uri:
description: URI of the artifact location
type: string
compression_algorithm:
description: Compression algorithm for the Cardano database artifact archive
type: string
examples:
- {
"type": "cloud_storage",
"uri": "https://mithril-cdn-us.iohk.io/snapshot/digests-6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732.txt",
"compression_algorithm": "gzip"
}
CardanoDatabaseImmutableLocationMessagePart:
description: CardanoDatabaseImmutableLocationMessagePart represents the location of a single Cardano database immutable archive
type: object
required:
- type
- uri
properties:
type:
description: Type of the artifact location
type: string
uri:
$ref: "#/components/schemas/MultiFilesUri"
compression_algorithm:
description: Compression algorithm for the Cardano database immutable archive
type: string
examples:
- {
"type": "cloud_storage",
"uri":
{
"Template": "https://aggregator/{immutable_file_number}.tar.gz"
},
"compression_algorithm": "gzip"
}
MultiFilesUri:
description: MultiFilesUri represents information to retrieve multiple files
oneOf:
- $ref: "#/components/schemas/TemplateUri"
examples:
- { "Template": "https://aggregator/{immutable_file_number}.tar.gz" }
TemplateUri:
description: TemplateUri represents a URI template for multiple files
type: object
additionalProperties: false
required:
- Template
properties:
Template:
description: URI template
type: string
examples:
- { "Template": "https://aggregator/{immutable_file_number}.tar.gz" }
CardanoDatabaseSnapshotListMessage:
description: CardanoDatabaseSnapshotListMessage represents a list of Cardano database snapshots
type: array
items:
$ref: "#/components/schemas/CardanoDatabaseSnapshotListItemMessage"
examples:
- [
{
"hash": "d4071d518a3ace0f6c04a9c0745b9e9560e3e2af1b373bafc4e0398423e9abfb",
"merkle_root": "c8224920b9f5ad7377594eb8a15f34f08eb3103cc5241d57cafc5638403ec7c6",
"beacon": { "epoch": 123, "immutable_file_number": 2345 },
"certificate_hash": "f6c01b373bafc4e039844071d5da3ace4a9c0745b9e9560e3e2af01823e9abfb",
"total_db_size_uncompressed": 800796318,
"cardano_node_version": "0.0.1",
"created_at": "2023-01-19T13:43:05.618857482Z"
}
]
CardanoDatabaseSnapshotListItemMessage:
description: CardanoDatabaseSnapshotListItemMessage represents a list item of Cardano database snapshots
type: object
additionalProperties: false
required:
- hash
- merkle_root
- beacon
- certificate_hash
- total_db_size_uncompressed
- created_at
properties:
hash:
description: Hash of the Cardano database snapshot
type: string
format: bytes
merkle_root:
description: Merkle root of the Cardano database snapshot
type: string
format: bytes
beacon:
$ref: "#/components/schemas/CardanoDbBeacon"
certificate_hash:
description: Hash of the associated certificate
type: string
format: bytes
total_db_size_uncompressed:
description: Size of the uncompressed Cardano database files in Bytes
type: integer
format: int64
created_at:
description: Date and time at which the snapshot was created
type: string
format: date-time
cardano_node_version:
description: Version of the Cardano node which is used to create snapshot archives.
type: string
examples:
- {
"hash": "d4071d518a3ace0f6c04a9c0745b9e9560e3e2af1b373bafc4e0398423e9abfb",
"merkle_root": "c8224920b9f5ad7377594eb8a15f34f08eb3103cc5241d57cafc5638403ec7c6",
"beacon": { "epoch": 123, "immutable_file_number": 2345 },
"certificate_hash": "f6c01b373bafc4e039844071d5da3ace4a9c0745b9e9560e3e2af01823e9abfb",
"total_db_size_uncompressed": 800796318,
"cardano_node_version": "0.0.1",
"created_at": "2023-01-19T13:43:05.618857482Z"
}
CardanoDatabaseSnapshotMessage:
description: CardanoDatabaseSnapshot represents a Cardano database snapshot and its metadata
type: object
additionalProperties: false
required:
- hash
- merkle_root
- network
- beacon
- certificate_hash
- total_db_size_uncompressed
- created_at
- digests
- immutables
- ancillary
properties:
hash:
description: Hash of the Cardano database snapshot
type: string
format: bytes
merkle_root:
description: Merkle root of the Cardano database snapshot
type: string
format: bytes
network:
description: Cardano network
type: string
format: bytes
beacon:
$ref: "#/components/schemas/CardanoDbBeacon"
certificate_hash:
description: Hash of the associated certificate
type: string
format: bytes
total_db_size_uncompressed:
description: Size of the uncompressed Cardano database files in Bytes
type: integer
format: int64
created_at:
description: Date and time at which the snapshot was created
type: string
format: date-time
digests:
$ref: "#/components/schemas/CardanoDatabaseDigestsLocationsMessagePart"
immutables:
$ref: "#/components/schemas/CardanoDatabaseImmutablesLocationsMessagePart"
ancillary:
$ref: "#/components/schemas/CardanoDatabaseAncillaryLocationsMessagePart"
compression_algorithm:
description: Compression algorithm of the Cardano database artifacts
type: string
cardano_node_version:
description: Version of the Cardano node which is used to create snapshot archives.
type: string
examples:
- {
"hash": "d4071d518a3ace0f6c04a9c0745b9e9560e3e2af1b373bafc4e0398423e9abfb",
"merkle_root": "c8224920b9f5ad7377594eb8a15f34f08eb3103cc5241d57cafc5638403ec7c6",
"network": "preview",
"beacon": { "epoch": 123, "immutable_file_number": 2345 },
"certificate_hash": "f6c01b373bafc4e039844071d5da3ace4a9c0745b9e9560e3e2af01823e9abfb",
"total_db_size_uncompressed": 800796318,
"digests":
{
"size_uncompressed": 1024,
"locations":
[
{
"type": "cloud_storage",
"uri": "https://aggregator-endpoint/artifact/cardano-database/digests"
}
]
},
"immutables":
{
"average_size_uncompressed": 1024,
"locations":
[
{
"type": "cloud_storage",
"uri":
{
"Template": "https://mithril-cdn-us.iohk.io/snapshot/{immutable-file_number}.tar.zst"
},
"compression_algorithm": "zstandard"
},
{
"type": "cloud_storage",
"uri":
{
"Template": "https://mithril-cdn-eu.iohk.io/snapshot/{immutable-file_number}.tar.zst"
},
"compression_algorithm": "zstandard"
}
]
},
"ancillary":
{
"size_uncompressed": 1024,
"locations":
[
{
"type": "cloud_storage",
"uri": "https://mithril-cdn-us.iohk.io/snapshot/ancillary-6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732.tar.zst",
"compression_algorithm": "zstandard"
}
]
},
"cardano_node_version": "0.0.1",
"created_at": "2023-01-19T13:43:05.618857482Z"
}
CardanoDatabaseDigestListMessage:
description: CardanoDatabaseDigestListMessage represents a list of Cardano database immutable files and their digests
type: array
items:
$ref: "#/components/schemas/CardanoDatabaseDigestListItemMessage"
examples:
- [
{
"immutable_file_name": "06685.chunk",
"digest": "0af556ab2620dd9363bf76963a231abe8948a500ea6be31b131d87907ab09b1e"
},
{
"immutable_file_name": "06685.primary",
"digest": "32dfd6b722d87f253e78eb8b478fb94f1e13463826e674d6ec7b6bf0892b2e39"
},
{
"immutable_file_name": "06685.secondary",
"digest": "f37e751c1d7866f9c2bf88e870e5a9c9351f8521b41f259601fb208d5641a5ec"
}
]
CardanoDatabaseDigestListItemMessage:
description: CardanoDatabaseSnapshotListItemMessage represents a list item of Cardano database immutable file and digest
type: object
additionalProperties: false
required:
- immutable_file_name
- digest
properties:
immutable_file_name:
description: Immutable file name
type: string
format: bytes
digest:
description: Digest of an immutable file
type: string
format: bytes
examples:
- {
"immutable_file_name": "06685.chunk",
"digest": "0af556ab2620dd9363bf76963a231abe8948a500ea6be31b131d87907ab09b1e"
}
MithrilStakeDistributionListMessage:
description: MithrilStakeDistributionListMessage represents a list of Mithril stake distribution
type: array
items:
type: object
additionalProperties: false
required:
- epoch
- hash
- created_at
properties:
epoch:
$ref: "#/components/schemas/Epoch"
hash:
description: Hash of the Mithril stake distribution
type: string
format: bytes
certificate_hash:
description: Hash of the associated certificate
type: string
format: bytes
created_at:
description: Date and time at which the Mithril stake distribution was created
type: string
format: date-time,
examples:
- {
"epoch": 123,
"hash": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"certificate_hash": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572",
"created_at": "2022-06-14T10:52:31Z"
}
MithrilStakeDistributionMessage:
description: This message represents a Mithril stake distribution.
type: object
additionalProperties: false
required:
- epoch
- hash
- signers
- created_at
- protocol_parameters
properties:
epoch:
$ref: "#/components/schemas/Epoch"
hash:
description: Hash of the Mithril stake distribution
type: string
format: bytes
certificate_hash:
description: Hash of the associated certificate
type: string
format: bytes
signers:
description: The list of the signers with their stakes and verification keys
type: array
items:
$ref: "#/components/schemas/SignerWithStake"
created_at:
description: Date and time of the entity creation
type: string
format: date-time,
protocol_parameters:
$ref: "#/components/schemas/ProtocolParameters"
examples:
- {
"epoch": 123,
"hash": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"certificate_hash": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572",
"signers":
[
{
"party_id": "1234567890",
"verification_key": "7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353",
"verification_key_signature": "7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a",
"operational_certificate": "5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537",
"kes_period": 123,
"stake": 1234
},
{
"party_id": "2345678900",
"verification_key": "7b392c39392c13131312766b223a5c39382c313342b39302c252c32352c31353328342c32",
"verification_key_signature": "2c33302c3133312c3138322c34362c3133352c372c3139302c3235322c35352c32322c39",
"operational_certificate": "3231342c3137372c37312c3232352c3233332c3135335d2c322c3139322c5b3133352c34312c3230332c3131332c3c33352c3234302c3230392c312c32392c3233332c33342c3138382c3134312c3130342c3234382c3231392c3",
"kes_period": 456,
"stake": 2345
}
],
"created_at": "2022-06-14T10:52:31Z",
"protocol_parameters": { "k": 5, "m": 100, "phi_f": 0.65 }
}
StakeDistribution:
description: The list of Stake Pool Operator pool identifiers with their associated stake in the Cardano chain
properties:
code:
type: string
text:
type: integer
examples:
- {
"pool15ka28a4a3qxgcgh60wavkylku4vqjg385jezsrqxlafyrhahf02": 1192520901428,
"pool1aymf474uv528zafxlpfg3yr55zp267wj5mpu4qt557z5k5frn9p": 1009503382720
}
CardanoStakeDistributionListMessage:
description: CardanoStakeDistributionListMessage represents a list of Cardano stake distribution
type: array
items:
type: object
additionalProperties: false
required:
- epoch
- hash
- certificate_hash
- created_at
properties:
epoch:
description: Epoch at the end of which the Cardano stake distribution is computed by the Cardano node
$ref: "#/components/schemas/Epoch"
hash:
description: Hash of the Cardano stake distribution
type: string
format: bytes
certificate_hash:
description: Hash of the associated certificate
type: string
format: bytes
created_at:
description: Date and time at which the Cardano stake distribution was created
type: string
format: date-time,
examples:
- {
"epoch": 123,
"hash": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"certificate_hash": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572",
"created_at": "2022-06-14T10:52:31Z"
}
CardanoStakeDistributionMessage:
description: This message represents a Cardano stake distribution.
type: object
additionalProperties: false
required:
- epoch
- hash
- certificate_hash
- stake_distribution
- created_at
properties:
epoch:
description: Epoch at the end of which the Cardano stake distribution is computed by the Cardano node
$ref: "#/components/schemas/Epoch"
hash:
description: Hash of the Cardano stake distribution
type: string
format: bytes
certificate_hash:
description: Hash of the associated certificate
type: string
format: bytes
stake_distribution:
description: The list of Stake Pool Operator pool identifiers with their associated stake in the Cardano chain
type: object
additionalProperties:
$ref: "#/components/schemas/StakeDistribution"
created_at:
description: Date and time of the entity creation
type: string
format: date-time,
examples:
- {
"epoch": 123,
"hash": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"certificate_hash": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572",
"stake_distribution":
{
"pool15ka28a4a3qxgcgh60wavkylku4vqjg385jezsrqxlafyrhahf02": 1192520901428,
"pool1aymf474uv528zafxlpfg3yr55zp267wj5mpu4qt557z5k5frn9p": 1009503382720
},
"created_at": "2022-06-14T10:52:31Z"
}
CardanoTransactionSnapshotListMessage:
description: CardanoTransactionSnapshotListMessage represents a list of Cardano transactions set snapshots
type: array
items:
type: object
additionalProperties: false
required:
- hash
- certificate_hash
- merkle_root
- epoch
- block_number
- created_at
properties:
hash:
description: Hash of the Cardano transactions set
type: string
format: bytes
certificate_hash:
description: Hash of the associated certificate
type: string
format: bytes
merkle_root:
description: Merkle root of the Cardano transactions set
type: string
format: bytes
epoch:
$ref: "#/components/schemas/Epoch"
block_number:
description: Cardano block number
type: integer
format: int64
created_at:
description: Date and time at which the Cardano transactions set was created
type: string
format: date-time,
examples:
- {
"hash": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"certificate_hash": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572",
"merkle_root": "33bfd17bc082ab5dd1fc0788241c70aa5325241c70aa532530d190809c5391bbc307905e8372",
"epoch": 123,
"block_number": 1234,
"created_at": "2022-06-14T10:52:31Z"
}
CardanoTransactionSnapshotMessage:
description: This message represents a Cardano transactions set snapshot.
type: object
additionalProperties: false
required:
- hash
- certificate_hash
- merkle_root
- epoch
- block_number
- created_at
properties:
hash:
description: Hash of the Cardano transactions set
type: string
format: bytes
certificate_hash:
description: Hash of the associated certificate
type: string
format: bytes
merkle_root:
description: Merkle root of the Cardano transactions set
type: string
format: bytes
epoch:
$ref: "#/components/schemas/Epoch"
block_number:
description: Cardano block number
type: integer
format: int64
created_at:
description: Date and time at which the Cardano transactions set was created
type: string
format: date-time,
examples:
- {
"hash": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"certificate_hash": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572",
"merkle_root": "33bfd17bc082ab5dd1fc0788241c70aa5325241c70aa532530d190809c5391bbc307905e8372",
"epoch": 123,
"block_number": 1234,
"created_at": "2022-06-14T10:52:31Z"
}
CardanoTransactionProofMessage:
description: This message represents proofs for Cardano Transactions.
type: object
additionalProperties: false
required:
- certificate_hash
- certified_transactions
- non_certified_transactions
- latest_block_number
properties:
certificate_hash:
description: Hash of the certificate that validate the merkle root of this proof
type: string
format: bytes
certified_transactions:
description: Proofs for certified Cardano transactions
type: array
items:
type: object
required:
- transactions_hashes
- proof
properties:
transactions_hashes:
type: array
items:
description: Hash of the Cardano transactions
type: string
format: bytes
proof:
description: Proof for the Cardano transactions
type: string
format: bytes
non_certified_transactions:
type: array
items:
description: Hash of the non certified Cardano transactions
type: string
format: bytes
latest_block_number:
description: Last block number
type: integer
format: int64
examples:
- {
"certificate_hash": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572",
"certified_transactions":
[
{
"transactions_hashes":
[
"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
"5d0d1272e6e70736a1ea2cae34015876367ee64517f6328364f6b73930966732"
],
"proof": "5b73136372c38302c37342c3136362c313535b5b323136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c313532352c3230332c3235352c313030262c33136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c31358322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537"
}
],
"non_certified_transactions":
[
"732d0d1272e6e70736367ee6f6328364f6b739309666a1ea2cae34015874517"
],
"latest_block_number": 7060000
}
Error:
description: Internal error representation
type: object
additionalProperties: false
required:
- message
properties:
label:
description: optional label
type: string
message:
description: error message
type: string
examples:
- "An error occurred, the operation could not be completed"
examples:
- {
"label": "Internal error",
"message": "An error occurred, the operation could not be completed"
}