changedOutput schema / anyOf
Previous value: -[
- {
- "properties": {
- "about_ms": {
- "anyOf": [
- {
- "description": "about how many milliseconds the rest of the scan needs, at the pace of recent scans; absent when it is done or no scan of this kind has run",
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "channels": {
- "anyOf": [
- {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "channels opened in the blocks scanned; null before anything is scanned"
- },
- {
- "type": "null"
- }
- ]
- },
- "contract": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "detail": {
- "anyOf": [
- {
- "description": "one entry per payer",
- "items": {},
- "type": "array"
- },
- {
- "type": "null"
- }
- ]
- },
- "error": {
- "anyOf": [
- {
- "description": "present when ok is false",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "evidence": {
- "anyOf": [
- {
- "description": "how to reproduce this on any archive node",
- "properties": {
- "at_block": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "decode": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "method": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "note": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "params": {
- "anyOf": [
- {
- "items": {},
- "type": "array"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "ok": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ]
- },
- "partial": {
- "anyOf": [
- {
- "description": "true while the scan has not reached range.from; a cut line returns the last partial",
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ]
- },
- "payers": {
- "anyOf": [
- {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "distinct payers in the blocks scanned; null before anything is scanned"
- },
- {
- "type": "null"
- }
- ]
- },
- "range": {
- "anyOf": [
- {
- "properties": {
- "from": {
- "anyOf": [
- {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "string"
- }
- ]
- },
- {
- "type": "null"
- }
- ]
- },
- "to": {
- "anyOf": [
- {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "string"
- }
- ]
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "receiver": {
- "anyOf": [
- {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- {
- "type": "null"
- }
- ]
- },
- "scanned": {
- "anyOf": [
- {
- "description": "the blocks actually covered so far, newest first",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "windows": {
- "anyOf": [
- {
- "description": "how far the scan has got",
- "properties": {
- "about_ms": {
- "anyOf": [
- {
- "description": "on the first answer: about how long the whole scan takes at the pace of recent scans of this kind; absent until one has run",
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "blocks": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "done": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "of": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- {
- "required": [
- "error"
- ],
- "type": "object"
- },
- {
- "required": [
- "accepts"
- ],
- "type": "object"
- },
- {
- "required": [
- "receipt"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "properties": {
+ "about_ms": {
+ "anyOf": [
+ {
+ "description": "ms the rest needs at most; absent when done or untimed",
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "channels": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "channels opened in the blocks scanned; null in the plan"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "code": {},
+ "contract": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "detail": {
+ "anyOf": [
+ {
+ "description": "one entry per payer",
+ "items": {},
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "error": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "evidence": {
+ "anyOf": [
+ {
+ "description": "the call to repeat on any archive node: at_block, method, params and how to decode it, with a warning",
+ "properties": {},
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "likely_ms": {
+ "anyOf": [
+ {
+ "description": "ms the rest likely takes, at recent pace",
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "note": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "ok": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "partial": {
+ "anyOf": [
+ {
+ "description": "true until the scan reaches range.from",
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "payers": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "distinct payers in the blocks scanned; null in the plan"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "range": {
+ "anyOf": [
+ {
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "reading": {
+ "anyOf": [
+ {
+ "description": "the count in words",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "receiver": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "scanned": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "the blocks covered so far, newest first; null in the plan"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {},
+ "windows": {
+ "anyOf": [
+ {
+ "description": "how far the scan has got",
+ "properties": {
+ "about_ms": {
+ "anyOf": [
+ {
+ "description": "on the plan: for the whole scan",
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "blocks": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "done": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "of": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ {
+ "required": [
+ "error"
+ ],
+ "type": "object"
+ },
+ {
+ "required": [
+ "accepts"
+ ],
+ "type": "object"
+ },
+ {
+ "required": [
+ "receipt"
+ ],
+ "type": "object"
+ }
+]