Skip to content

Instantly share code, notes, and snippets.

@shumkov
Created October 22, 2020 05:32
Show Gist options
  • Save shumkov/c7addfc7674d12685605504c4c37a4e0 to your computer and use it in GitHub Desktop.
Save shumkov/c7addfc7674d12685605504c4c37a4e0 to your computer and use it in GitHub Desktop.
Block 48th output from masternode-1 during processing
[2020-10-22 03:34:57.501 +0000] INFO (18 on ca9cf9afdff7): Block begin #48
[2020-10-22 03:34:57.502 +0000] INFO (18 on ca9cf9afdff7): Deliver state transition 01651bc26434d85458bdc8d544070ff7bf9bfd5f51e4c953edf17abe6b27e47e from block #48
[2020-10-22 03:34:57.510 +0000] TRACE (18 on ca9cf9afdff7): StateRepository#fetchDataContract
method: "fetchDataContract"
parameters: {
"id": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE"
}
response: {
"protocolVersion": 0,
"$id": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE",
"$schema": "https://schema.dash.org/dpp-0-4-0/meta/data-contract",
"ownerId": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu",
"documents": {
"domain": {
"indices": [
{
"unique": true,
"properties": [
{
"normalizedParentDomainName": "asc"
},
{
"normalizedLabel": "asc"
}
]
},
{
"unique": true,
"properties": [
{
"records.dashUniqueIdentityId": "asc"
}
]
},
{
"properties": [
{
"records.dashAliasIdentityId": "asc"
}
]
}
],
"$comment": "In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted",
"required": [
"label",
"normalizedLabel",
"normalizedParentDomainName",
"preorderSalt",
"records",
"subdomainRules"
],
"properties": {
"label": {
"type": "string",
"pattern": "^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$",
"maxLength": 63,
"minLength": 3,
"description": "Domain label. e.g. 'Bob'."
},
"records": {
"type": "object",
"$comment": "Constraint with max and min properties ensure that only one identity record is used - either a `dashUniqueIdentityId` or a `dashAliasIdentityId`",
"properties": {
"dashAliasIdentityId": {
"type": "array",
"$comment": "Must be equal to the document owner",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Identity ID to be used to create alias names for the Identity",
"contentMediaType": "application/x.dash.dpp.identifier"
},
"dashUniqueIdentityId": {
"type": "array",
"$comment": "Must be equal to the document owner",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Identity ID to be used to create the primary name the Identity",
"contentMediaType": "application/x.dash.dpp.identifier"
}
},
"maxProperties": 1,
"minProperties": 1,
"additionalProperties": false
},
"preorderSalt": {
"type": "array",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Salt used in the preorder document"
},
"subdomainRules": {
"type": "object",
"required": [
"allowSubdomains"
],
"properties": {
"allowSubdomains": {
"type": "boolean",
"$comment": "Only the domain owner is allowed to create subdomains for non top-level domains",
"description": "This option defines who can create subdomains: true - anyone; false - only the domain owner"
}
},
"description": "Subdomain rules allow domain owners to define rules for subdomains",
"additionalProperties": false
},
"normalizedLabel": {
"type": "string",
"pattern": "^((?!-)[a-z0-9-]{0,62}[a-z0-9])$",
"$comment": "Must be equal to the label in lowercase. This property will be deprecated due to case insensitive indices",
"maxLength": 63,
"description": "Domain label in lowercase for case-insensitive uniqueness validation. e.g. 'bob'"
},
"normalizedParentDomainName": {
"type": "string",
"pattern": "^$|^((?!-)[a-z0-9-\\.]{0,189}[a-z0-9])$",
"$comment": "Must either be equal to an existing domain or empty to create a top level domain. Only the data contract owner can create top level domains.",
"maxLength": 190,
"minLength": 0,
"description": "A full parent domain name in lowercase for case-insensitive uniqueness validation. e.g. 'dash'"
}
},
"additionalProperties": false
},
"preorder": {
"indices": [
{
"unique": true,
"properties": [
{
"saltedDomainHash": "asc"
}
]
}
],
"$comment": "Preorder documents are immutable: modification and deletion are restricted",
"required": [
"saltedDomainHash"
],
"properties": {
"saltedDomainHash": {
"type": "array",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"
}
},
"additionalProperties": false
}
}
}
[2020-10-22 03:34:57.514 +0000] TRACE (18 on ca9cf9afdff7): StateRepository#fetchIdentity
method: "fetchIdentity"
parameters: {
"id": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu"
}
response: {
"protocolVersion": 0,
"id": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu",
"publicKeys": [
{
"id": 0,
"type": 0,
"data": "A0ZnczdnN8K25f72whRqpgepYBQPJ5hYLodG+1Kxd57D"
}
],
"balance": 4979,
"revision": 0
}
[2020-10-22 03:34:57.514 +0000] TRACE (18 on ca9cf9afdff7): StateRepository#fetchIdentity
method: "fetchIdentity"
parameters: {
"id": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu"
}
response: {
"protocolVersion": 0,
"id": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu",
"publicKeys": [
{
"id": 0,
"type": 0,
"data": "A0ZnczdnN8K25f72whRqpgepYBQPJ5hYLodG+1Kxd57D"
}
],
"balance": 4979,
"revision": 0
}
[2020-10-22 03:34:57.523 +0000] TRACE (18 on ca9cf9afdff7): StateRepository#fetchDataContract
method: "fetchDataContract"
parameters: {
"id": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE"
}
response: {
"protocolVersion": 0,
"$id": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE",
"$schema": "https://schema.dash.org/dpp-0-4-0/meta/data-contract",
"ownerId": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu",
"documents": {
"domain": {
"indices": [
{
"unique": true,
"properties": [
{
"normalizedParentDomainName": "asc"
},
{
"normalizedLabel": "asc"
}
]
},
{
"unique": true,
"properties": [
{
"records.dashUniqueIdentityId": "asc"
}
]
},
{
"properties": [
{
"records.dashAliasIdentityId": "asc"
}
]
}
],
"$comment": "In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted",
"required": [
"label",
"normalizedLabel",
"normalizedParentDomainName",
"preorderSalt",
"records",
"subdomainRules"
],
"properties": {
"label": {
"type": "string",
"pattern": "^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$",
"maxLength": 63,
"minLength": 3,
"description": "Domain label. e.g. 'Bob'."
},
"records": {
"type": "object",
"$comment": "Constraint with max and min properties ensure that only one identity record is used - either a `dashUniqueIdentityId` or a `dashAliasIdentityId`",
"properties": {
"dashAliasIdentityId": {
"type": "array",
"$comment": "Must be equal to the document owner",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Identity ID to be used to create alias names for the Identity",
"contentMediaType": "application/x.dash.dpp.identifier"
},
"dashUniqueIdentityId": {
"type": "array",
"$comment": "Must be equal to the document owner",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Identity ID to be used to create the primary name the Identity",
"contentMediaType": "application/x.dash.dpp.identifier"
}
},
"maxProperties": 1,
"minProperties": 1,
"additionalProperties": false
},
"preorderSalt": {
"type": "array",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Salt used in the preorder document"
},
"subdomainRules": {
"type": "object",
"required": [
"allowSubdomains"
],
"properties": {
"allowSubdomains": {
"type": "boolean",
"$comment": "Only the domain owner is allowed to create subdomains for non top-level domains",
"description": "This option defines who can create subdomains: true - anyone; false - only the domain owner"
}
},
"description": "Subdomain rules allow domain owners to define rules for subdomains",
"additionalProperties": false
},
"normalizedLabel": {
"type": "string",
"pattern": "^((?!-)[a-z0-9-]{0,62}[a-z0-9])$",
"$comment": "Must be equal to the label in lowercase. This property will be deprecated due to case insensitive indices",
"maxLength": 63,
"description": "Domain label in lowercase for case-insensitive uniqueness validation. e.g. 'bob'"
},
"normalizedParentDomainName": {
"type": "string",
"pattern": "^$|^((?!-)[a-z0-9-\\.]{0,189}[a-z0-9])$",
"$comment": "Must either be equal to an existing domain or empty to create a top level domain. Only the data contract owner can create top level domains.",
"maxLength": 190,
"minLength": 0,
"description": "A full parent domain name in lowercase for case-insensitive uniqueness validation. e.g. 'dash'"
}
},
"additionalProperties": false
},
"preorder": {
"indices": [
{
"unique": true,
"properties": [
{
"saltedDomainHash": "asc"
}
]
}
],
"$comment": "Preorder documents are immutable: modification and deletion are restricted",
"required": [
"saltedDomainHash"
],
"properties": {
"saltedDomainHash": {
"type": "array",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"
}
},
"additionalProperties": false
}
}
}
[2020-10-22 03:34:57.525 +0000] TRACE (18 on ca9cf9afdff7): StateRepository#fetchDataContract
method: "fetchDataContract"
parameters: {
"id": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE"
}
response: {
"protocolVersion": 0,
"$id": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE",
"$schema": "https://schema.dash.org/dpp-0-4-0/meta/data-contract",
"ownerId": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu",
"documents": {
"domain": {
"indices": [
{
"unique": true,
"properties": [
{
"normalizedParentDomainName": "asc"
},
{
"normalizedLabel": "asc"
}
]
},
{
"unique": true,
"properties": [
{
"records.dashUniqueIdentityId": "asc"
}
]
},
{
"properties": [
{
"records.dashAliasIdentityId": "asc"
}
]
}
],
"$comment": "In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted",
"required": [
"label",
"normalizedLabel",
"normalizedParentDomainName",
"preorderSalt",
"records",
"subdomainRules"
],
"properties": {
"label": {
"type": "string",
"pattern": "^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$",
"maxLength": 63,
"minLength": 3,
"description": "Domain label. e.g. 'Bob'."
},
"records": {
"type": "object",
"$comment": "Constraint with max and min properties ensure that only one identity record is used - either a `dashUniqueIdentityId` or a `dashAliasIdentityId`",
"properties": {
"dashAliasIdentityId": {
"type": "array",
"$comment": "Must be equal to the document owner",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Identity ID to be used to create alias names for the Identity",
"contentMediaType": "application/x.dash.dpp.identifier"
},
"dashUniqueIdentityId": {
"type": "array",
"$comment": "Must be equal to the document owner",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Identity ID to be used to create the primary name the Identity",
"contentMediaType": "application/x.dash.dpp.identifier"
}
},
"maxProperties": 1,
"minProperties": 1,
"additionalProperties": false
},
"preorderSalt": {
"type": "array",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Salt used in the preorder document"
},
"subdomainRules": {
"type": "object",
"required": [
"allowSubdomains"
],
"properties": {
"allowSubdomains": {
"type": "boolean",
"$comment": "Only the domain owner is allowed to create subdomains for non top-level domains",
"description": "This option defines who can create subdomains: true - anyone; false - only the domain owner"
}
},
"description": "Subdomain rules allow domain owners to define rules for subdomains",
"additionalProperties": false
},
"normalizedLabel": {
"type": "string",
"pattern": "^((?!-)[a-z0-9-]{0,62}[a-z0-9])$",
"$comment": "Must be equal to the label in lowercase. This property will be deprecated due to case insensitive indices",
"maxLength": 63,
"description": "Domain label in lowercase for case-insensitive uniqueness validation. e.g. 'bob'"
},
"normalizedParentDomainName": {
"type": "string",
"pattern": "^$|^((?!-)[a-z0-9-\\.]{0,189}[a-z0-9])$",
"$comment": "Must either be equal to an existing domain or empty to create a top level domain. Only the data contract owner can create top level domains.",
"maxLength": 190,
"minLength": 0,
"description": "A full parent domain name in lowercase for case-insensitive uniqueness validation. e.g. 'dash'"
}
},
"additionalProperties": false
},
"preorder": {
"indices": [
{
"unique": true,
"properties": [
{
"saltedDomainHash": "asc"
}
]
}
],
"$comment": "Preorder documents are immutable: modification and deletion are restricted",
"required": [
"saltedDomainHash"
],
"properties": {
"saltedDomainHash": {
"type": "array",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"
}
},
"additionalProperties": false
}
}
}
[2020-10-22 03:34:57.529 +0000] TRACE (18 on ca9cf9afdff7): StateRepository#fetchIdentity
method: "fetchIdentity"
parameters: {
"id": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu"
}
response: {
"protocolVersion": 0,
"id": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu",
"publicKeys": [
{
"id": 0,
"type": 0,
"data": "A0ZnczdnN8K25f72whRqpgepYBQPJ5hYLodG+1Kxd57D"
}
],
"balance": 4979,
"revision": 0
}
[2020-10-22 03:34:57.529 +0000] TRACE (18 on ca9cf9afdff7): StateRepository#fetchDataContract
method: "fetchDataContract"
parameters: {
"id": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE"
}
response: {
"protocolVersion": 0,
"$id": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE",
"$schema": "https://schema.dash.org/dpp-0-4-0/meta/data-contract",
"ownerId": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu",
"documents": {
"domain": {
"indices": [
{
"unique": true,
"properties": [
{
"normalizedParentDomainName": "asc"
},
{
"normalizedLabel": "asc"
}
]
},
{
"unique": true,
"properties": [
{
"records.dashUniqueIdentityId": "asc"
}
]
},
{
"properties": [
{
"records.dashAliasIdentityId": "asc"
}
]
}
],
"$comment": "In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted",
"required": [
"label",
"normalizedLabel",
"normalizedParentDomainName",
"preorderSalt",
"records",
"subdomainRules"
],
"properties": {
"label": {
"type": "string",
"pattern": "^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$",
"maxLength": 63,
"minLength": 3,
"description": "Domain label. e.g. 'Bob'."
},
"records": {
"type": "object",
"$comment": "Constraint with max and min properties ensure that only one identity record is used - either a `dashUniqueIdentityId` or a `dashAliasIdentityId`",
"properties": {
"dashAliasIdentityId": {
"type": "array",
"$comment": "Must be equal to the document owner",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Identity ID to be used to create alias names for the Identity",
"contentMediaType": "application/x.dash.dpp.identifier"
},
"dashUniqueIdentityId": {
"type": "array",
"$comment": "Must be equal to the document owner",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Identity ID to be used to create the primary name the Identity",
"contentMediaType": "application/x.dash.dpp.identifier"
}
},
"maxProperties": 1,
"minProperties": 1,
"additionalProperties": false
},
"preorderSalt": {
"type": "array",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Salt used in the preorder document"
},
"subdomainRules": {
"type": "object",
"required": [
"allowSubdomains"
],
"properties": {
"allowSubdomains": {
"type": "boolean",
"$comment": "Only the domain owner is allowed to create subdomains for non top-level domains",
"description": "This option defines who can create subdomains: true - anyone; false - only the domain owner"
}
},
"description": "Subdomain rules allow domain owners to define rules for subdomains",
"additionalProperties": false
},
"normalizedLabel": {
"type": "string",
"pattern": "^((?!-)[a-z0-9-]{0,62}[a-z0-9])$",
"$comment": "Must be equal to the label in lowercase. This property will be deprecated due to case insensitive indices",
"maxLength": 63,
"description": "Domain label in lowercase for case-insensitive uniqueness validation. e.g. 'bob'"
},
"normalizedParentDomainName": {
"type": "string",
"pattern": "^$|^((?!-)[a-z0-9-\\.]{0,189}[a-z0-9])$",
"$comment": "Must either be equal to an existing domain or empty to create a top level domain. Only the data contract owner can create top level domains.",
"maxLength": 190,
"minLength": 0,
"description": "A full parent domain name in lowercase for case-insensitive uniqueness validation. e.g. 'dash'"
}
},
"additionalProperties": false
},
"preorder": {
"indices": [
{
"unique": true,
"properties": [
{
"saltedDomainHash": "asc"
}
]
}
],
"$comment": "Preorder documents are immutable: modification and deletion are restricted",
"required": [
"saltedDomainHash"
],
"properties": {
"saltedDomainHash": {
"type": "array",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"
}
},
"additionalProperties": false
}
}
}
[2020-10-22 03:34:57.535 +0000] TRACE (18 on ca9cf9afdff7): StateRepository#fetchDocuments
method: "fetchDocuments"
parameters: {
"contractId": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE",
"type": "domain",
"options": {
"where": [
[
"$id",
"in",
[
"AveM2oq7Nr62obipUNh9wRG8nx1x9EyjzPD6vXeXgYNY"
]
]
]
}
}
response: [
{
"$protocolVersion": 0,
"$id": "AveM2oq7Nr62obipUNh9wRG8nx1x9EyjzPD6vXeXgYNY",
"$type": "domain",
"$dataContractId": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE",
"$ownerId": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu",
"$revision": 1,
"label": "e183d3463bf559f48b6e",
"records": {
"dashAliasIdentityId": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu"
},
"preorderSalt": "BQBQ2EOoZti+uvyG2Q+CBUnRONahOFKOEDgIbOm0I3o=",
"subdomainRules": {
"allowSubdomains": true
},
"normalizedLabel": "e183d3463bf559f48b6e",
"normalizedParentDomainName": ""
}
]
[2020-10-22 03:34:57.536 +0000] TRACE (18 on ca9cf9afdff7): StateRepository#fetchLatestPlatformBlockHeader
method: "fetchLatestPlatformBlockHeader"
parameters: {}
response: {
"version": {
"Block": "10"
},
"chainId": "dash-devnet-palinka",
"height": "48",
"time": {
"seconds": "1603337692",
"nanos": 70776197
},
"numTxs": "1",
"totalTxs": "18",
"lastBlockId": {
"hash": "RSKEgjUUZPcecZ5CsJm7t2DwoVWimLlJjl48R7UR4oM=",
"partsHeader": {
"total": 1,
"hash": "d/tI6z2d8XpdgkxO91FB3JxERLIRfGb3318H1rHFSVc="
}
},
"lastCommitHash": "UuxWHG6i5bh4XrRWhKsoNiK9Jc6YSqzSLQp4ugQuI8Q=",
"dataHash": "+4FTiAr53Tp6hd7k3NHUgNYSeA72ms3b8mtbW2unEN0=",
"validatorsHash": "u+ZNyIjKC9A4gJx+9mZor/Oy18wxneb7kU0oKmvT0x4=",
"nextValidatorsHash": "u+ZNyIjKC9A4gJx+9mZor/Oy18wxneb7kU0oKmvT0x4=",
"consensusHash": "BICRvH3cKD93v7+R1zxE2ljD34qcvIZ0Bdi389qtoi8=",
"lastResultsHash": "aXrA2mN6TWOXXu7E0BFMqRgRHIG3ssDdf5vmP57EC0A=",
"proposerAddress": "fVXbqNyk/gjWVJ+abPdgf9GRJdA="
}
[2020-10-22 03:34:57.536 +0000] INFO (18 on ca9cf9afdff7): State transition data is invalid
[2020-10-22 03:34:57.536 +0000] DEBUG (18 on ca9cf9afdff7):
errors: [
{
"name": "DataTriggerConditionError",
"message": "Action is not allowed",
"dataContract": {
"protocolVersion": 0,
"$id": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE",
"$schema": "https://schema.dash.org/dpp-0-4-0/meta/data-contract",
"ownerId": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu",
"documents": {
"domain": {
"indices": [
{
"unique": true,
"properties": [
{
"normalizedParentDomainName": "asc"
},
{
"normalizedLabel": "asc"
}
]
},
{
"unique": true,
"properties": [
{
"records.dashUniqueIdentityId": "asc"
}
]
},
{
"properties": [
{
"records.dashAliasIdentityId": "asc"
}
]
}
],
"$comment": "In order to register a domain you need to create a preorder. The preorder step is needed to prevent man-in-the-middle attacks. normalizedLabel + '.' + normalizedParentDomain must not be longer than 253 chars length as defined by RFC 1035. Domain documents are immutable: modification and deletion are restricted",
"required": [
"label",
"normalizedLabel",
"normalizedParentDomainName",
"preorderSalt",
"records",
"subdomainRules"
],
"properties": {
"label": {
"type": "string",
"pattern": "^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$",
"maxLength": 63,
"minLength": 3,
"description": "Domain label. e.g. 'Bob'."
},
"records": {
"type": "object",
"$comment": "Constraint with max and min properties ensure that only one identity record is used - either a `dashUniqueIdentityId` or a `dashAliasIdentityId`",
"properties": {
"dashAliasIdentityId": {
"type": "array",
"$comment": "Must be equal to the document owner",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Identity ID to be used to create alias names for the Identity",
"contentMediaType": "application/x.dash.dpp.identifier"
},
"dashUniqueIdentityId": {
"type": "array",
"$comment": "Must be equal to the document owner",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Identity ID to be used to create the primary name the Identity",
"contentMediaType": "application/x.dash.dpp.identifier"
}
},
"maxProperties": 1,
"minProperties": 1,
"additionalProperties": false
},
"preorderSalt": {
"type": "array",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Salt used in the preorder document"
},
"subdomainRules": {
"type": "object",
"required": [
"allowSubdomains"
],
"properties": {
"allowSubdomains": {
"type": "boolean",
"$comment": "Only the domain owner is allowed to create subdomains for non top-level domains",
"description": "This option defines who can create subdomains: true - anyone; false - only the domain owner"
}
},
"description": "Subdomain rules allow domain owners to define rules for subdomains",
"additionalProperties": false
},
"normalizedLabel": {
"type": "string",
"pattern": "^((?!-)[a-z0-9-]{0,62}[a-z0-9])$",
"$comment": "Must be equal to the label in lowercase. This property will be deprecated due to case insensitive indices",
"maxLength": 63,
"description": "Domain label in lowercase for case-insensitive uniqueness validation. e.g. 'bob'"
},
"normalizedParentDomainName": {
"type": "string",
"pattern": "^$|^((?!-)[a-z0-9-\\.]{0,189}[a-z0-9])$",
"$comment": "Must either be equal to an existing domain or empty to create a top level domain. Only the data contract owner can create top level domains.",
"maxLength": 190,
"minLength": 0,
"description": "A full parent domain name in lowercase for case-insensitive uniqueness validation. e.g. 'dash'"
}
},
"additionalProperties": false
},
"preorder": {
"indices": [
{
"unique": true,
"properties": [
{
"saltedDomainHash": "asc"
}
]
}
],
"$comment": "Preorder documents are immutable: modification and deletion are restricted",
"required": [
"saltedDomainHash"
],
"properties": {
"saltedDomainHash": {
"type": "array",
"maxItems": 32,
"minItems": 32,
"byteArray": true,
"description": "Double sha-256 of the concatenation of a 32 byte random salt and a normalized domain name"
}
},
"additionalProperties": false
}
}
},
"ownerId": "4jjwnJr2ufABdWqKKonoA9uBCRXF8jQ929KnHKEgZRJu",
"documentTransition": {
"$id": "AveM2oq7Nr62obipUNh9wRG8nx1x9EyjzPD6vXeXgYNY",
"$type": "domain",
"$action": 3,
"$dataContractId": "H9AxLAvgxEpq72pDg41nsqR3bY5Cv9hTT6yZdKzY3PaE"
}
}
]
[2020-10-22 03:34:57.540 +0000] INFO (18 on ca9cf9afdff7): Block commit #48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment