{ "$schema": "<https://json-schema.org/draft-07/schema>" , "title": "Phase-1 Monetary Scripts" , "oneOf": [ { "$ref": "#/definitions/Script@keyHash" } , { "$ref": "#/definitions/Script@after" } , { "$ref": "#/definitions/Script@before" } , { "$ref": "#/definitions/Script@any" } , { "$ref": "#/definitions/Script@all" } , { "$ref": "#/definitions/Script@atLeast" } ] , "definitions": { "Script@keyHash": { "type": "object" , "additionalProperties": false , "required": [ "type", "keyHash" ] , "properties": { "type": { "type": "string" , "enum": [ "sig" ] } , "keyHash": { "type": "string" , "encoding": "base16" , "minLength": 56 , "maxLength": 56 } } } , "Script@before": { "type": "object" , "additionalProperties": false , "required": [ "type", "slot" ] , "properties": { "type": { "type": "string" , "enum": [ "before" ] } , "slot": { "type": "integer" , "minimum": 1 } } } , "Script@after": { "type": "object" , "additionalProperties": false , "required": [ "type", "slot" ] , "properties": { "type": { "type": "string" , "enum": [ "after" ] } , "slot": { "type": "integer" , "minimum": 1 } } } , "Script@any": { "type": "object" , "additionalProperties": false , "required": [ "type", "scripts" ] , "properties": { "type": { "type": "string" , "enum": [ "any" ] } , "scripts": { "type": "array" , "items": { "$ref": "#" } } } } , "Script@all": { "type": "object" , "additionalProperties": false , "required": [ "type", "scripts" ] , "properties": { "type": { "type": "string" , "enum": [ "all" ] } , "scripts": { "type": "array" , "items": { "$ref": "#" } } } } , "Script@atLeast": { "type": "object" , "additionalProperties": false , "required": [ "type", "required", "scripts" ] , "properties": { "type": { "type": "string" , "enum": [ "atLeast" ] } , "required": { "type": "integer" , "minimum": 0 } , "scripts": { "type": "array" , "items": { "$ref": "#" } } } } } }