forked from cardano-foundation/CIPs
-
Notifications
You must be signed in to change notification settings - Fork 2
/
phase-1-monetary-scripts.json
109 lines (109 loc) · 2.97 KB
/
phase-1-monetary-scripts.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
{ "$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": "#" }
}
}
}
}
}