@helios-lang/effect 0.6.13 → 0.6.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Cardano/TxBuilder.js +11 -1
- package/dist/Cardano/TxBuilder.js.map +1 -1
- package/dist/Cardano/Uplc/Cek.js +53 -25
- package/dist/Cardano/Uplc/Cek.js.map +1 -1
- package/dist/Cardano/Uplc/Metadata.js +184 -0
- package/dist/Cardano/Uplc/Metadata.js.map +1 -0
- package/dist/Cardano/Uplc/Script.js +7 -19
- package/dist/Cardano/Uplc/Script.js.map +1 -1
- package/dist/Cardano/Uplc/Term.js +83 -4
- package/dist/Cardano/Uplc/Term.js.map +1 -1
- package/dist/Cardano/ZK.js +232 -0
- package/dist/Cardano/ZK.js.map +1 -0
- package/dist/Cardano/index.js +1 -0
- package/dist/Cardano/index.js.map +1 -1
- package/package.json +1 -1
- package/types/Cardano/Contract.d.ts +19 -19
- package/types/Cardano/ScriptContext.d.ts +8 -8
- package/types/Cardano/TxBuilder.d.ts +4 -4
- package/types/Cardano/Uplc/Cek.d.ts +1 -8
- package/types/Cardano/Uplc/Cek.d.ts.map +1 -1
- package/types/Cardano/Uplc/Metadata.d.ts +31 -0
- package/types/Cardano/Uplc/Metadata.d.ts.map +1 -0
- package/types/Cardano/Uplc/Script.d.ts +1 -4
- package/types/Cardano/Uplc/Script.d.ts.map +1 -1
- package/types/Cardano/Uplc/Term.d.ts +110 -5
- package/types/Cardano/Uplc/Term.d.ts.map +1 -1
- package/types/Cardano/ZK.d.ts +188 -0
- package/types/Cardano/ZK.d.ts.map +1 -0
- package/types/Cardano/index.d.ts +1 -0
- package/types/Cardano/index.d.ts.map +1 -1
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { Either } from "effect";
|
|
2
|
+
import * as Bytes from "../../Codecs/Bytes.js";
|
|
3
|
+
import * as Cbor from "../../Codecs/Cbor.js";
|
|
4
|
+
export function traverseTerms(root, callback) {
|
|
5
|
+
let terms = [root];
|
|
6
|
+
let term = terms.pop();
|
|
7
|
+
let index = 0;
|
|
8
|
+
while (term) {
|
|
9
|
+
callback(term, index);
|
|
10
|
+
switch (term._tag) {
|
|
11
|
+
case "Apply":
|
|
12
|
+
terms = terms.concat([term.arg, term.fn]);
|
|
13
|
+
break;
|
|
14
|
+
case "Case":
|
|
15
|
+
terms = terms.concat(term.cases.slice().reverse(), [term.arg]);
|
|
16
|
+
break;
|
|
17
|
+
case "Constr":
|
|
18
|
+
terms = terms.concat(term.args.slice().reverse());
|
|
19
|
+
break;
|
|
20
|
+
case "Delay":
|
|
21
|
+
case "Force":
|
|
22
|
+
terms.push(term.arg);
|
|
23
|
+
break;
|
|
24
|
+
case "Lambda":
|
|
25
|
+
terms.push(term.body);
|
|
26
|
+
break;
|
|
27
|
+
case "Builtin":
|
|
28
|
+
case "Const":
|
|
29
|
+
case "Error":
|
|
30
|
+
case "Var":
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
term = terms.pop();
|
|
34
|
+
index++;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export function termByIndex(root) {
|
|
38
|
+
const res = new Map();
|
|
39
|
+
traverseTerms(root, (term, index) => {
|
|
40
|
+
res.set(index, term);
|
|
41
|
+
});
|
|
42
|
+
return res;
|
|
43
|
+
}
|
|
44
|
+
export const decode = (bytes) => Cbor.decodeObjectIKey({
|
|
45
|
+
0: Cbor.decodeList(Cbor.decodeString),
|
|
46
|
+
1: Cbor.decodeList(Cbor.decodeIntAsNumber),
|
|
47
|
+
2: Cbor.decodeMap(Cbor.decodeIntAsNumber, Cbor.decodeString),
|
|
48
|
+
3: Cbor.decodeMap(Cbor.decodeIntAsNumber, Cbor.decodeString),
|
|
49
|
+
4: Cbor.decodeMap(Cbor.decodeIntAsNumber, Cbor.decodeString),
|
|
50
|
+
5: Cbor.decodeMap(Cbor.decodeIntAsNumber, Cbor.decodeString)
|
|
51
|
+
})(bytes).pipe(Either.map(({ 0: sourceNames, 1: sourceSpans, 2: argNames, 3: termNames, 4: termDescriptions, 5: captures }) => ({
|
|
52
|
+
sourceNames: sourceNames ?? [],
|
|
53
|
+
sourceSpans: sourceSpans ?? [],
|
|
54
|
+
argNames: argNames ?? [],
|
|
55
|
+
names: termNames ?? [],
|
|
56
|
+
descriptions: termDescriptions ?? [],
|
|
57
|
+
captures: captures ?? []
|
|
58
|
+
})));
|
|
59
|
+
export const encode = (metadata) => Cbor.encodeObjectIKey({
|
|
60
|
+
0: Cbor.encodeList(metadata.sourceNames.map((s) => Cbor.encodeString(s))),
|
|
61
|
+
1: Cbor.encodeList(metadata.sourceSpans.map(Cbor.encodeInt)),
|
|
62
|
+
2: encodeStringMap(metadata.argNames),
|
|
63
|
+
3: encodeStringMap(metadata.names),
|
|
64
|
+
4: encodeStringMap(metadata.descriptions),
|
|
65
|
+
5: encodeStringMap(metadata.captures)
|
|
66
|
+
});
|
|
67
|
+
function encodeStringMap(entries) {
|
|
68
|
+
return Cbor.encodeMap(entries.map(([key, value]) => [
|
|
69
|
+
Cbor.encodeInt(key),
|
|
70
|
+
Cbor.encodeString(value)
|
|
71
|
+
]));
|
|
72
|
+
}
|
|
73
|
+
export const fromRootTerm = (root) => {
|
|
74
|
+
const sourceNames = [];
|
|
75
|
+
const metadata = {
|
|
76
|
+
sourceNames,
|
|
77
|
+
sourceSpans: [],
|
|
78
|
+
argNames: [],
|
|
79
|
+
names: [],
|
|
80
|
+
descriptions: [],
|
|
81
|
+
captures: []
|
|
82
|
+
};
|
|
83
|
+
traverseTerms(root, (term, index) => {
|
|
84
|
+
if (term.sourceSpan) {
|
|
85
|
+
let sourceIndex = sourceNames.indexOf(term.sourceSpan.file);
|
|
86
|
+
if (sourceIndex == -1) {
|
|
87
|
+
sourceIndex = sourceNames.length;
|
|
88
|
+
sourceNames.push(term.sourceSpan.file);
|
|
89
|
+
}
|
|
90
|
+
metadata.sourceSpans.push(index, sourceIndex, term.sourceSpan.start.line, term.sourceSpan.start.column, term.sourceSpan.end?.line ?? -1, term.sourceSpan.end?.column ?? -1);
|
|
91
|
+
}
|
|
92
|
+
if (term._tag == "Lambda" && term.argName !== undefined) {
|
|
93
|
+
metadata.argNames.push([index, term.argName]);
|
|
94
|
+
}
|
|
95
|
+
if ((term._tag == "Builtin" ||
|
|
96
|
+
term._tag == "Const" ||
|
|
97
|
+
term._tag == "Delay" ||
|
|
98
|
+
term._tag == "Lambda" ||
|
|
99
|
+
term._tag == "Var") &&
|
|
100
|
+
term.name !== undefined) {
|
|
101
|
+
metadata.names.push([index, term.name]);
|
|
102
|
+
}
|
|
103
|
+
if (term.description !== undefined) {
|
|
104
|
+
metadata.descriptions.push([index, term.description]);
|
|
105
|
+
}
|
|
106
|
+
if (term.capture !== undefined) {
|
|
107
|
+
metadata.captures.push([index, term.capture]);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
return metadata;
|
|
111
|
+
};
|
|
112
|
+
export function isEmpty(metadata) {
|
|
113
|
+
return (metadata.sourceNames.length == 0 &&
|
|
114
|
+
metadata.sourceSpans.length == 0 &&
|
|
115
|
+
metadata.argNames.length == 0 &&
|
|
116
|
+
metadata.names.length == 0 &&
|
|
117
|
+
metadata.descriptions.length == 0 &&
|
|
118
|
+
metadata.captures.length == 0);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Metadata is applied to the UPLC Ast in 5 loops:
|
|
122
|
+
* 1. source spans
|
|
123
|
+
* 2. lambda arg names
|
|
124
|
+
* 3. term names
|
|
125
|
+
* 4. term descriptions
|
|
126
|
+
* 5. capture ids
|
|
127
|
+
*
|
|
128
|
+
* The Ast fields are mutated
|
|
129
|
+
* @param root
|
|
130
|
+
* @param metadata
|
|
131
|
+
*/
|
|
132
|
+
export function apply(root, metadata) {
|
|
133
|
+
const terms = termByIndex(root);
|
|
134
|
+
// apply source spans
|
|
135
|
+
for (let i = 0; i < metadata.sourceSpans.length; i += 6) {
|
|
136
|
+
const [termIndex, sourceIndex, startLine, startColumn, endLine, endColumn] = metadata.sourceSpans.slice(i, i + 6);
|
|
137
|
+
const term = terms.get(termIndex);
|
|
138
|
+
const file = metadata.sourceNames[sourceIndex];
|
|
139
|
+
if (term && file !== undefined) {
|
|
140
|
+
term.sourceSpan = {
|
|
141
|
+
file,
|
|
142
|
+
start: {
|
|
143
|
+
line: startLine,
|
|
144
|
+
column: startColumn
|
|
145
|
+
},
|
|
146
|
+
end: endLine == -1 || endColumn == -1
|
|
147
|
+
? undefined
|
|
148
|
+
: {
|
|
149
|
+
line: endLine,
|
|
150
|
+
column: endColumn
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
for (const [index, argName] of metadata.argNames) {
|
|
156
|
+
const term = terms.get(index);
|
|
157
|
+
if (term?._tag == "Lambda") {
|
|
158
|
+
term.argName = argName;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
for (const [index, name] of metadata.names) {
|
|
162
|
+
const term = terms.get(index);
|
|
163
|
+
if (term?._tag == "Builtin" ||
|
|
164
|
+
term?._tag == "Const" ||
|
|
165
|
+
term?._tag == "Delay" ||
|
|
166
|
+
term?._tag == "Lambda" ||
|
|
167
|
+
term?._tag == "Var") {
|
|
168
|
+
term.name = name;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
for (const [index, description] of metadata.descriptions) {
|
|
172
|
+
const term = terms.get(index);
|
|
173
|
+
if (term) {
|
|
174
|
+
term.description = description;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
for (const [index, capture] of metadata.captures) {
|
|
178
|
+
const term = terms.get(index);
|
|
179
|
+
if (term) {
|
|
180
|
+
term.capture = capture;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=Metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../src/Cardano/Uplc/Metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,6 @@ export const ScriptV2 = Schema.extend(ScriptWithoutVersion, Schema.Struct({
|
|
|
34
34
|
export const ScriptV3 = Schema.extend(ScriptWithoutVersion, Schema.Struct({
|
|
35
35
|
version: Schema.Literal(3)
|
|
36
36
|
}));
|
|
37
|
-
export const entryPoint = (script) => Term.decodeRoot(script.root);
|
|
38
37
|
export const decodeRoot = (bytes) => Either.gen(function* () {
|
|
39
38
|
const stream = Bytes.makeStream(bytes);
|
|
40
39
|
if (!Cbor.isBytes(stream)) {
|
|
@@ -84,19 +83,11 @@ export function encode(script) {
|
|
|
84
83
|
*/
|
|
85
84
|
const eval$ = (script, args, costParams = undefined, logger = undefined) => Effect.gen(function* () {
|
|
86
85
|
const root = yield* entryPointWithArgs(script, args);
|
|
87
|
-
const ctx = evalContext(script, costParams, logger);
|
|
86
|
+
const ctx = evalContext(script.version, costParams, logger);
|
|
88
87
|
return Cek.eval(root, ctx);
|
|
89
88
|
});
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const ctx = evalContext(script, costParams, logger);
|
|
93
|
-
return Cek.evalWithCapture(root, {
|
|
94
|
-
...ctx,
|
|
95
|
-
capture
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
function evalContext(script, costParams, logger) {
|
|
99
|
-
switch (script.version) {
|
|
89
|
+
function evalContext(version, costParams, logger) {
|
|
90
|
+
switch (version) {
|
|
100
91
|
case 1:
|
|
101
92
|
return {
|
|
102
93
|
builtins: Builtins.V1,
|
|
@@ -119,7 +110,7 @@ function evalContext(script, costParams, logger) {
|
|
|
119
110
|
}
|
|
120
111
|
function entryPointWithArgs(script, args) {
|
|
121
112
|
return Effect.gen(function* () {
|
|
122
|
-
let root = yield*
|
|
113
|
+
let root = yield* Term.decodeRoot(script.root);
|
|
123
114
|
if (args !== undefined) {
|
|
124
115
|
if (args.length == 0) {
|
|
125
116
|
root = { _tag: "Force", arg: root };
|
|
@@ -134,7 +125,7 @@ function entryPointWithArgs(script, args) {
|
|
|
134
125
|
});
|
|
135
126
|
}
|
|
136
127
|
export const apply = (script, args) => Effect.gen(function* () {
|
|
137
|
-
let rootTerm = yield*
|
|
128
|
+
let rootTerm = yield* Term.decodeRoot(script.root);
|
|
138
129
|
for (const arg of args) {
|
|
139
130
|
rootTerm = {
|
|
140
131
|
_tag: "Apply",
|
|
@@ -147,10 +138,7 @@ export const apply = (script, args) => Effect.gen(function* () {
|
|
|
147
138
|
root: Term.encodeRoot(script.version == 3 ? "1.1.0" : "1.0.0", rootTerm)
|
|
148
139
|
};
|
|
149
140
|
if (script.verbose) {
|
|
150
|
-
let verboseRootTerm = yield*
|
|
151
|
-
...script,
|
|
152
|
-
root: script.verbose
|
|
153
|
-
});
|
|
141
|
+
let verboseRootTerm = yield* Term.decodeRoot(script.verbose);
|
|
154
142
|
for (const arg of args) {
|
|
155
143
|
verboseRootTerm = {
|
|
156
144
|
_tag: "Apply",
|
|
@@ -166,7 +154,7 @@ export const apply = (script, args) => Effect.gen(function* () {
|
|
|
166
154
|
return script;
|
|
167
155
|
});
|
|
168
156
|
export const extractParams = (script) => Effect.gen(function* () {
|
|
169
|
-
let term = yield*
|
|
157
|
+
let term = yield* Term.decodeRoot(script.root);
|
|
170
158
|
const params = [];
|
|
171
159
|
while (term._tag == "Apply" && term.arg._tag == "Const") {
|
|
172
160
|
params.unshift(term.arg.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Script.js","sourceRoot":"","sources":["../../../src/Cardano/Uplc/Script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAC5C,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAE/C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CACjC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAClB,CAAA;AAID,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC;CACnD,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CACjC,oBAAoB,EACpB,MAAM,CAAC,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO;CACjB,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CACnC,oBAAoB,EACpB,MAAM,CAAC,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3B,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CACnC,oBAAoB,EACpB,MAAM,CAAC,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3B,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CACnC,oBAAoB,EACpB,MAAM,CAAC,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3B,CAAC,CACH,CAAA;AAQD,MAAM,CAAC,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"Script.js","sourceRoot":"","sources":["../../../src/Cardano/Uplc/Script.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Either, Schema } from "effect";
|
|
2
2
|
import * as Bytes from "../../Codecs/Bytes.js";
|
|
3
|
+
import * as Cbor from "../../Codecs/Cbor.js";
|
|
3
4
|
import * as Flat from "../../Codecs/Flat.js";
|
|
5
|
+
import * as Metadata from "./Metadata.js";
|
|
4
6
|
import * as Type from "./Type.js";
|
|
5
7
|
import * as Value from "./Value.js";
|
|
6
8
|
export const SourceSpan = Schema.Struct({
|
|
@@ -18,50 +20,71 @@ const SuspendedTerm = Schema.suspend(() => Term);
|
|
|
18
20
|
export const Apply = Schema.TaggedStruct("Apply", {
|
|
19
21
|
fn: SuspendedTerm,
|
|
20
22
|
arg: SuspendedTerm,
|
|
23
|
+
capture: Schema.optional(Schema.String),
|
|
24
|
+
description: Schema.optional(Schema.String),
|
|
21
25
|
sourceSpan: Schema.optional(SourceSpan)
|
|
22
26
|
});
|
|
23
27
|
const Builtin$ = Schema.TaggedStruct("Builtin", {
|
|
24
28
|
id: Schema.Int, // TODO: also constrain to be positive
|
|
25
29
|
name: Schema.optional(Schema.String), // though is redundant information, it is much easier to keep track of this here for debugging purposes
|
|
30
|
+
capture: Schema.optional(Schema.String),
|
|
31
|
+
description: Schema.optional(Schema.String),
|
|
26
32
|
sourceSpan: Schema.optional(SourceSpan)
|
|
27
33
|
});
|
|
28
34
|
export { Builtin$ as Builtin };
|
|
29
35
|
export const Case = Schema.TaggedStruct("Case", {
|
|
30
36
|
arg: SuspendedTerm,
|
|
31
37
|
cases: Schema.Array(SuspendedTerm),
|
|
38
|
+
capture: Schema.optional(Schema.String),
|
|
39
|
+
description: Schema.optional(Schema.String),
|
|
32
40
|
sourceSpan: Schema.optional(SourceSpan)
|
|
33
41
|
});
|
|
34
42
|
export const Const = Schema.TaggedStruct("Const", {
|
|
35
43
|
value: Value.Value,
|
|
36
44
|
name: Schema.optional(Schema.String),
|
|
45
|
+
capture: Schema.optional(Schema.String),
|
|
46
|
+
description: Schema.optional(Schema.String),
|
|
37
47
|
sourceSpan: Schema.optional(SourceSpan)
|
|
38
48
|
});
|
|
39
49
|
export const Constr = Schema.TaggedStruct("Constr", {
|
|
40
50
|
tag: Schema.Int,
|
|
41
51
|
args: Schema.Array(SuspendedTerm),
|
|
52
|
+
capture: Schema.optional(Schema.String),
|
|
53
|
+
description: Schema.optional(Schema.String),
|
|
42
54
|
sourceSpan: Schema.optional(SourceSpan)
|
|
43
55
|
});
|
|
44
56
|
export const Delay = Schema.TaggedStruct("Delay", {
|
|
45
57
|
arg: SuspendedTerm,
|
|
58
|
+
capture: Schema.optional(Schema.String),
|
|
59
|
+
description: Schema.optional(Schema.String),
|
|
60
|
+
name: Schema.optional(Schema.String),
|
|
46
61
|
sourceSpan: Schema.optional(SourceSpan)
|
|
47
62
|
});
|
|
48
63
|
const Error$ = Schema.TaggedStruct("Error", {
|
|
64
|
+
capture: Schema.optional(Schema.String),
|
|
65
|
+
description: Schema.optional(Schema.String),
|
|
49
66
|
sourceSpan: Schema.optional(SourceSpan)
|
|
50
67
|
});
|
|
51
68
|
export { Error$ as Error };
|
|
52
69
|
export const Force = Schema.TaggedStruct("Force", {
|
|
53
70
|
arg: SuspendedTerm,
|
|
71
|
+
capture: Schema.optional(Schema.String),
|
|
72
|
+
description: Schema.optional(Schema.String),
|
|
54
73
|
sourceSpan: Schema.optional(SourceSpan)
|
|
55
74
|
});
|
|
56
75
|
export const Lambda = Schema.TaggedStruct("Lambda", {
|
|
57
76
|
body: SuspendedTerm,
|
|
58
77
|
argName: Schema.optional(Schema.String),
|
|
78
|
+
capture: Schema.optional(Schema.String),
|
|
79
|
+
description: Schema.optional(Schema.String),
|
|
59
80
|
sourceSpan: Schema.optional(SourceSpan),
|
|
60
81
|
name: Schema.optional(Schema.String)
|
|
61
82
|
});
|
|
62
83
|
export const Var = Schema.TaggedStruct("Var", {
|
|
63
84
|
index: Schema.Int, // TODO: also constrain to be positive?
|
|
64
85
|
name: Schema.optional(Schema.String),
|
|
86
|
+
capture: Schema.optional(Schema.String),
|
|
87
|
+
description: Schema.optional(Schema.String),
|
|
65
88
|
sourceSpan: Schema.optional(SourceSpan)
|
|
66
89
|
});
|
|
67
90
|
export const Term = Schema.Union(Apply, Builtin$, Case, Const, Constr, Delay, Error$, Force, Lambda, Var);
|
|
@@ -128,18 +151,74 @@ export function flatTag(term) {
|
|
|
128
151
|
return VarTag;
|
|
129
152
|
}
|
|
130
153
|
}
|
|
131
|
-
|
|
154
|
+
const decodeFlatBytes = (bytes) => {
|
|
132
155
|
const r = Flat.makeReader(Bytes.toUint8Array(bytes));
|
|
133
156
|
void `${r.readInt()}.${r.readInt()}.${r.readInt()}`;
|
|
134
157
|
return decode({})(r);
|
|
135
158
|
};
|
|
136
|
-
|
|
159
|
+
/**
|
|
160
|
+
* Verbose encoding format:
|
|
161
|
+
*
|
|
162
|
+
* {
|
|
163
|
+
* 0: CBORBytes(root flat bytes (i.e. what would be returned if verbose == false)),
|
|
164
|
+
* 1: {
|
|
165
|
+
* 0: CBORList<String> (source names list),
|
|
166
|
+
* 1: CBORList<Int> (flattened source mapping tuples [termIndex, sourceIndex, startLine, startColumn, endLine, endColumn], endLine==-1 and endColumn==-1 means absence of end of sourceSpan, sourceIndex is the index in the source names list),
|
|
167
|
+
* 2: CBORMap<Int, String> (lambda arg names, key is term index)
|
|
168
|
+
* 3: CBORMap<Int, String> (term names, key is term index)
|
|
169
|
+
* 4: CBORMap<Int, String> (term descriptions, key is termIndex)
|
|
170
|
+
* 5: CBORMap<Int, String> (capture names/ids, key is termIndex)
|
|
171
|
+
* }
|
|
172
|
+
* }
|
|
173
|
+
*/
|
|
174
|
+
export const decodeRoot = (bytes) => {
|
|
175
|
+
if (!Cbor.isMap(bytes)) {
|
|
176
|
+
return decodeFlatBytes(bytes);
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
return Cbor.decodeObjectIKey({
|
|
180
|
+
0: Cbor.decodeBytes,
|
|
181
|
+
1: Metadata.decode
|
|
182
|
+
})(bytes).pipe(Either.flatMap(({ 0: rootFlatBytes, 1: metadata }) => {
|
|
183
|
+
if (!rootFlatBytes) {
|
|
184
|
+
return Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), "Entry 0 missing from verbose UPLC encoding"));
|
|
185
|
+
}
|
|
186
|
+
return decodeFlatBytes(rootFlatBytes).pipe(Either.map(ast => {
|
|
187
|
+
if (metadata) {
|
|
188
|
+
Metadata.apply(ast, metadata);
|
|
189
|
+
}
|
|
190
|
+
return ast;
|
|
191
|
+
}));
|
|
192
|
+
}));
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* @param uplcVersion
|
|
197
|
+
* @param term
|
|
198
|
+
* @param verbose
|
|
199
|
+
* Optional, defaults to false.
|
|
200
|
+
* Note that if verbose==true but metadata is empty, the plain flat encoded program without metadata is still returned
|
|
201
|
+
*
|
|
202
|
+
* @returns
|
|
203
|
+
* The encoded program
|
|
204
|
+
*/
|
|
205
|
+
export const encodeRoot = (uplcVersion, term, verbose = false) => {
|
|
137
206
|
const w = Flat.makeWriter();
|
|
138
207
|
uplcVersion.split(".").forEach((v) => {
|
|
139
208
|
w.writeInt(Number(v));
|
|
140
209
|
});
|
|
141
210
|
encode(w)(term);
|
|
142
|
-
|
|
211
|
+
const rootFlatBytes = Bytes.toUint8Array(w.finalize());
|
|
212
|
+
if (verbose) {
|
|
213
|
+
const metadata = Metadata.fromRootTerm(term);
|
|
214
|
+
if (!Metadata.isEmpty(metadata)) {
|
|
215
|
+
return Bytes.toUint8Array(Cbor.encodeObjectIKey({
|
|
216
|
+
0: Cbor.encodeBytes(rootFlatBytes),
|
|
217
|
+
1: Metadata.encode(metadata)
|
|
218
|
+
}));
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return rootFlatBytes;
|
|
143
222
|
};
|
|
144
223
|
/**
|
|
145
224
|
* Reads a single Term using stack-based algorithm for its children
|
|
@@ -374,7 +453,7 @@ export const encode = (w) => (term) => {
|
|
|
374
453
|
export function toString(term) {
|
|
375
454
|
switch (term._tag) {
|
|
376
455
|
case "Apply":
|
|
377
|
-
return `[${toString(term.fn)} ${toString(term.arg)}]`;
|
|
456
|
+
return `[${toString(term.fn)} ${toString(term.arg)}${term.capture !== undefined ? ` #capture=${term.capture}` : ""}]`;
|
|
378
457
|
case "Builtin":
|
|
379
458
|
return `(builtin ${term.id.toString()})`;
|
|
380
459
|
case "Case":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Term.js","sourceRoot":"","sources":["../../../src/Cardano/Uplc/Term.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Term.js","sourceRoot":"","sources":["../../../src/Cardano/Uplc/Term.ts"],"names":[],"mappings":"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"}
|