@helios-lang/effect 0.6.13 → 0.6.14

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.
@@ -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,19 @@ 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
89
  export const evalWithCapture = (script, args, costParams = undefined, logger = undefined, capture = {}) => Effect.gen(function* () {
91
90
  const root = yield* entryPointWithArgs(script, args);
92
- const ctx = evalContext(script, costParams, logger);
91
+ const ctx = evalContext(script.version, costParams, logger);
93
92
  return Cek.evalWithCapture(root, {
94
93
  ...ctx,
95
94
  capture
96
95
  });
97
96
  });
98
- function evalContext(script, costParams, logger) {
99
- switch (script.version) {
97
+ function evalContext(version, costParams, logger) {
98
+ switch (version) {
100
99
  case 1:
101
100
  return {
102
101
  builtins: Builtins.V1,
@@ -119,7 +118,7 @@ function evalContext(script, costParams, logger) {
119
118
  }
120
119
  function entryPointWithArgs(script, args) {
121
120
  return Effect.gen(function* () {
122
- let root = yield* entryPoint(script);
121
+ let root = yield* Term.decodeRoot(script.root);
123
122
  if (args !== undefined) {
124
123
  if (args.length == 0) {
125
124
  root = { _tag: "Force", arg: root };
@@ -134,7 +133,7 @@ function entryPointWithArgs(script, args) {
134
133
  });
135
134
  }
136
135
  export const apply = (script, args) => Effect.gen(function* () {
137
- let rootTerm = yield* entryPoint(script);
136
+ let rootTerm = yield* Term.decodeRoot(script.root);
138
137
  for (const arg of args) {
139
138
  rootTerm = {
140
139
  _tag: "Apply",
@@ -147,10 +146,7 @@ export const apply = (script, args) => Effect.gen(function* () {
147
146
  root: Term.encodeRoot(script.version == 3 ? "1.1.0" : "1.0.0", rootTerm)
148
147
  };
149
148
  if (script.verbose) {
150
- let verboseRootTerm = yield* entryPoint({
151
- ...script,
152
- root: script.verbose
153
- });
149
+ let verboseRootTerm = yield* Term.decodeRoot(script.verbose);
154
150
  for (const arg of args) {
155
151
  verboseRootTerm = {
156
152
  _tag: "Apply",
@@ -166,7 +162,7 @@ export const apply = (script, args) => Effect.gen(function* () {
166
162
  return script;
167
163
  });
168
164
  export const extractParams = (script) => Effect.gen(function* () {
169
- let term = yield* entryPoint(script);
165
+ let term = yield* Term.decodeRoot(script.root);
170
166
  const params = [];
171
167
  while (term._tag == "Apply" && term.arg._tag == "Const") {
172
168
  params.unshift(term.arg.value);
@@ -1 +1 @@
1
- {"version":3,"file":"Script.js","sourceRoot":"","sources":["../../../src/Cardano/Uplc/Script.ts"],"names":[],"mappings":"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"}
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,CACxB,KAAsB,EACwC,EAAE,CAChE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,WAAW,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAEjD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,WAAW,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACtC,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAA;IAElE,OAAO;QACL,WAAW;QACX,IAAI,EAAE,IAAI,UAAU,CAAC,WAAW,CAAC;KAClC,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,MAAM,GACjB,CAAoB,OAAU,EAAE,EAAE,CAClC,CAAC,KAAsB,EAAgC,EAAE,CACvD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,CAAC;QACP,KAAK,CAAC;YACJ,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,IAAI,CAAC,WAAW,CAClB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EACvB,4BAA4B,WAAW,GAAG,CAC3C,CACF,CAAA;YACH,CAAC;YACD,MAAK;QACP,KAAK,CAAC;YACJ,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,IAAI,CAAC,WAAW,CAClB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EACvB,4BAA4B,WAAW,GAAG,CAC3C,CACF,CAAA;YACH,CAAC;YACD,MAAK;IACT,CAAC;IAED,OAAO;QACL,OAAO;QACP,IAAI;KACe,CAAA;AACvB,CAAC,CAAC,CAAA;AAEN,MAAM,UAAU,MAAM,CAAC,MAAc;IACnC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,KAAK,GAAG,CACZ,MAAc,EACd,IAAwC,EACxC,aAA4C,SAAS,EACrD,SAAiC,SAAS,EAC1C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACpD,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IAE3D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAc,EACd,IAAwC,EACxC,aAA4C,SAAS,EACrD,SAAiC,SAAS,EAC1C,UAA6B,EAAE,EAC/B,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACpD,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IAE3D,OAAO,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE;QAC/B,GAAG,GAAG;QACN,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEJ,SAAS,WAAW,CAClB,OAAgB,EAChB,UAAyC,EACzC,MAA8B;IAE9B,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC;YACJ,OAAO;gBACL,QAAQ,EAAE,QAAQ,CAAC,EAAE;gBACrB,UAAU,EAAE,UAAU,IAAI,IAAI,CAAC,gBAAgB;gBAC/C,MAAM;aACP,CAAA;QACH,KAAK,CAAC;YACJ,OAAO;gBACL,QAAQ,EAAE,QAAQ,CAAC,EAAE;gBACrB,UAAU,EAAE,UAAU,IAAI,IAAI,CAAC,gBAAgB;gBAC/C,MAAM;aACP,CAAA;QACH,KAAK,CAAC;YACJ,OAAO;gBACL,QAAQ,EAAE,QAAQ,CAAC,EAAE;gBACrB,UAAU,EAAE,UAAU,IAAI,IAAI,CAAC,gBAAgB;gBAC/C,MAAM;aACP,CAAA;IACL,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAc,EACd,IAAwC;IAExC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAE9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;YACrC,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAA;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,IAA4B,EAAE,EAAE,CACpE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAElD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,QAAQ,GAAG;YACT,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,QAAQ;YACZ,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;SACnC,CAAA;IACH,CAAC;IAED,MAAM,GAAG;QACP,GAAG,MAAM;QACT,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC;KACzE,CAAA;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,eAAe,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAE5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,eAAe,GAAG;gBAChB,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,eAAe;gBACnB,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;aACnC,CAAA;QACH,CAAC;QAED,MAAM,GAAG;YACP,GAAG,MAAM;YACT,OAAO,EAAE,IAAI,CAAC,UAAU,CACtB,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EACvC,eAAe,CAChB;SACF,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE,CAC9C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAE9C,MAAM,MAAM,GAAkB,EAAE,CAAA;IAEhC,OAAO,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;QACxD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAE9B,IAAI,GAAG,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAA;AAEJ,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,CAAA;AAExB,MAAM,UAAU,IAAI,CAAC,MAAc;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAE3C,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE7B,OAAO,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAkB,CAAA;AAChF,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GACpB,CAAoB,CAAI,EAAE,EAAE,CAC5B,CAAC,MAAc,EAAuB,EAAE,CACtC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAA"}
@@ -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
- export const decodeRoot = (bytes) => {
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
- export const encodeRoot = (uplcVersion, term) => {
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
- return Bytes.toUint8Array(w.finalize());
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helios-lang/effect",
3
- "version": "0.6.13",
3
+ "version": "0.6.14",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -3,7 +3,7 @@ import { Assets, PubKeyHash, ValidatorHash, UTxO, UTxORef } from "./Ledger/index
3
3
  import { Data, Script } from "./Uplc/index.js";
4
4
  import * as Network from "./Network/index.js";
5
5
  import * as TxBuilder from "./TxBuilder.js";
6
- export declare function make(seed: UTxORef.UTxORef): Effect.Effect<Script.Script<1 | 2 | 3>, Error, never>;
6
+ export declare function make(seed: UTxORef.UTxORef): Effect.Effect<Script.Script<2 | 1 | 3>, Error, never>;
7
7
  declare const Contract_base: Context.TagClass<Contract, "Cardano.Contract", Script.Script<3>>;
8
8
  export declare class Contract extends Contract_base {
9
9
  }
@@ -1160,6 +1160,7 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1160
1160
  } & {
1161
1161
  dcert: import("./Ledger/DCert.js").DCert;
1162
1162
  }), Data.Data, never>, Schema.SchemaClass<{
1163
+ readonly _tag: "Minting";
1163
1164
  readonly data: {
1164
1165
  readonly bytes: Uint8Array<ArrayBufferLike>;
1165
1166
  } | {
@@ -1175,13 +1176,13 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1175
1176
  readonly fields: readonly Data.Data[];
1176
1177
  readonly constructor: number;
1177
1178
  };
1178
- readonly _tag: "Minting";
1179
1179
  readonly policyIndex: number;
1180
1180
  readonly cost: {
1181
1181
  readonly cpu: bigint;
1182
1182
  readonly mem: bigint;
1183
1183
  };
1184
1184
  } | {
1185
+ readonly _tag: "Spending";
1185
1186
  readonly data: {
1186
1187
  readonly bytes: Uint8Array<ArrayBufferLike>;
1187
1188
  } | {
@@ -1197,13 +1198,13 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1197
1198
  readonly fields: readonly Data.Data[];
1198
1199
  readonly constructor: number;
1199
1200
  };
1200
- readonly _tag: "Spending";
1201
1201
  readonly cost: {
1202
1202
  readonly cpu: bigint;
1203
1203
  readonly mem: bigint;
1204
1204
  };
1205
1205
  readonly inputIndex: number;
1206
1206
  } | {
1207
+ readonly _tag: "Rewarding";
1207
1208
  readonly data: {
1208
1209
  readonly bytes: Uint8Array<ArrayBufferLike>;
1209
1210
  } | {
@@ -1219,13 +1220,13 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1219
1220
  readonly fields: readonly Data.Data[];
1220
1221
  readonly constructor: number;
1221
1222
  };
1222
- readonly _tag: "Rewarding";
1223
1223
  readonly cost: {
1224
1224
  readonly cpu: bigint;
1225
1225
  readonly mem: bigint;
1226
1226
  };
1227
1227
  readonly withdrawalIndex: number;
1228
1228
  } | {
1229
+ readonly _tag: "Certifying";
1229
1230
  readonly data: {
1230
1231
  readonly bytes: Uint8Array<ArrayBufferLike>;
1231
1232
  } | {
@@ -1241,13 +1242,13 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1241
1242
  readonly fields: readonly Data.Data[];
1242
1243
  readonly constructor: number;
1243
1244
  };
1244
- readonly _tag: "Certifying";
1245
1245
  readonly cost: {
1246
1246
  readonly cpu: bigint;
1247
1247
  readonly mem: bigint;
1248
1248
  };
1249
1249
  readonly dcertIndex: number;
1250
1250
  }, {
1251
+ readonly _tag: "Minting";
1251
1252
  readonly data: {
1252
1253
  readonly bytes: Uint8Array<ArrayBufferLike>;
1253
1254
  } | {
@@ -1263,13 +1264,13 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1263
1264
  readonly fields: readonly Data.Data[];
1264
1265
  readonly constructor: number;
1265
1266
  };
1266
- readonly _tag: "Minting";
1267
1267
  readonly policyIndex: number;
1268
1268
  readonly cost: {
1269
1269
  readonly cpu: bigint;
1270
1270
  readonly mem: bigint;
1271
1271
  };
1272
1272
  } | {
1273
+ readonly _tag: "Spending";
1273
1274
  readonly data: {
1274
1275
  readonly bytes: Uint8Array<ArrayBufferLike>;
1275
1276
  } | {
@@ -1285,13 +1286,13 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1285
1286
  readonly fields: readonly Data.Data[];
1286
1287
  readonly constructor: number;
1287
1288
  };
1288
- readonly _tag: "Spending";
1289
1289
  readonly cost: {
1290
1290
  readonly cpu: bigint;
1291
1291
  readonly mem: bigint;
1292
1292
  };
1293
1293
  readonly inputIndex: number;
1294
1294
  } | {
1295
+ readonly _tag: "Rewarding";
1295
1296
  readonly data: {
1296
1297
  readonly bytes: Uint8Array<ArrayBufferLike>;
1297
1298
  } | {
@@ -1307,13 +1308,13 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1307
1308
  readonly fields: readonly Data.Data[];
1308
1309
  readonly constructor: number;
1309
1310
  };
1310
- readonly _tag: "Rewarding";
1311
1311
  readonly cost: {
1312
1312
  readonly cpu: bigint;
1313
1313
  readonly mem: bigint;
1314
1314
  };
1315
1315
  readonly withdrawalIndex: number;
1316
1316
  } | {
1317
+ readonly _tag: "Certifying";
1317
1318
  readonly data: {
1318
1319
  readonly bytes: Uint8Array<ArrayBufferLike>;
1319
1320
  } | {
@@ -1329,7 +1330,6 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1329
1330
  readonly fields: readonly Data.Data[];
1330
1331
  readonly constructor: number;
1331
1332
  };
1332
- readonly _tag: "Certifying";
1333
1333
  readonly cost: {
1334
1334
  readonly cpu: bigint;
1335
1335
  readonly mem: bigint;
@@ -0,0 +1,31 @@
1
+ import * as Bytes from "../../Codecs/Bytes.js";
2
+ import * as Cbor from "../../Codecs/Cbor.js";
3
+ import type { Term } from "./Term.js";
4
+ export type Metadata = {
5
+ sourceNames: string[];
6
+ sourceSpans: number[];
7
+ argNames: [number, string][];
8
+ names: [number, string][];
9
+ descriptions: [number, string][];
10
+ captures: [number, string][];
11
+ };
12
+ export declare function traverseTerms(root: Term, callback: (term: Term, index: number) => void): void;
13
+ export declare function termByIndex(root: Term): Map<number, Term>;
14
+ export declare const decode: (bytes: Bytes.BytesLike) => Cbor.DecodeResult<Metadata>;
15
+ export declare const encode: (metadata: Metadata) => number[];
16
+ export declare const fromRootTerm: (root: Term) => Metadata;
17
+ export declare function isEmpty(metadata: Metadata): boolean;
18
+ /**
19
+ * Metadata is applied to the UPLC Ast in 5 loops:
20
+ * 1. source spans
21
+ * 2. lambda arg names
22
+ * 3. term names
23
+ * 4. term descriptions
24
+ * 5. capture ids
25
+ *
26
+ * The Ast fields are mutated
27
+ * @param root
28
+ * @param metadata
29
+ */
30
+ export declare function apply(root: Term, metadata: Metadata): void;
31
+ //# sourceMappingURL=Metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metadata.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Uplc/Metadata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IAC5B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACzB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAC7B,CAAA;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAC5C,IAAI,CAmCN;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAQzD;AAED,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,CAAC,SAAS,KACrB,IAAI,CAAC,YAAY,CAAC,QAAQ,CA0B1B,CAAA;AAEH,eAAO,MAAM,MAAM,GAAI,UAAU,QAAQ,KAAG,MAAM,EAO9C,CAAA;AAWJ,eAAO,MAAM,YAAY,GAAI,MAAM,IAAI,KAAG,QAsDzC,CAAA;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CASnD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CA8D1D"}
@@ -1,9 +1,8 @@
1
- import { Effect, Either, Schema } from "effect";
1
+ import { Effect, Schema } from "effect";
2
2
  import * as Bytes from "../../Codecs/Bytes.js";
3
3
  import * as Cbor from "../../Codecs/Cbor.js";
4
4
  import type { ValidatorHash } from "../Ledger/ValidatorHash.js";
5
5
  import * as Cek from "./Cek.js";
6
- import * as Term from "./Term.js";
7
6
  import * as Value from "./Value.js";
8
7
  export declare const Version: Schema.Union<[Schema.Literal<[1]>, Schema.Literal<[2]>, Schema.Literal<[3]>]>;
9
8
  export type Version = Schema.Schema.Type<typeof Version>;
@@ -54,7 +53,6 @@ export type Script<V extends Version = Version> = {
54
53
  root: Uint8Array;
55
54
  verbose?: Uint8Array | undefined;
56
55
  };
57
- export declare const entryPoint: (script: Script) => Either.Either<Term.Term, Error>;
58
56
  export declare const decodeRoot: (bytes: Bytes.BytesLike) => Cbor.DecodeResult<{
59
57
  uplcVersion: string;
60
58
  root: Uint8Array;
@@ -71,7 +69,7 @@ export declare function encode(script: Script): number[];
71
69
  */
72
70
  declare const eval$: (script: Script, args: readonly Value.Value[] | undefined, costParams?: readonly number[] | undefined, logger?: Cek.Logger | undefined) => Effect.Effect<Cek.Result, Error, never>;
73
71
  export declare const evalWithCapture: (script: Script, args: readonly Value.Value[] | undefined, costParams?: readonly number[] | undefined, logger?: Cek.Logger | undefined, capture?: Cek.CaptureConfig) => Effect.Effect<Cek.Result, Error, never>;
74
- export declare const apply: (script: Script, args: readonly Value.Value[]) => Effect.Effect<Script<1 | 2 | 3>, Error, never>;
72
+ export declare const apply: (script: Script, args: readonly Value.Value[]) => Effect.Effect<Script<2 | 1 | 3>, Error, never>;
75
73
  export declare const extractParams: (script: Script) => Effect.Effect<Value.Value[], Error, never>;
76
74
  export { eval$ as eval };
77
75
  export declare function hash(script: Script): ValidatorHash;
@@ -1 +1 @@
1
- {"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Uplc/Script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM,QAAQ,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAG5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,eAAO,MAAM,OAAO,+EAInB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,CAAA;AAUxD;;;;;GAKG;AACH,eAAO,MAAM,MAAM;IAbjB;;OAEG;;;;;GAgBJ,CAAA;AAED,eAAO,MAAM,QAAQ;IApBnB;;OAEG;;;;;GAuBJ,CAAA;AAED,eAAO,MAAM,QAAQ;IA3BnB;;OAEG;;;;;GA8BJ,CAAA;AAED,eAAO,MAAM,QAAQ;IAlCnB;;OAEG;;;;;GAqCJ,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI;IAChD,OAAO,EAAE,CAAC,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,oCAAiC,CAAA;AAE1E,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,CAAC,SAAS,KACrB,IAAI,CAAC,YAAY,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAqB1D,CAAA;AAEJ,eAAO,MAAM,MAAM,GAChB,CAAC,SAAS,OAAO,EAAE,SAAS,CAAC,MAC7B,OAAO,KAAK,CAAC,SAAS,KAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAgCjD,CAAA;AAEN,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/C;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,KAAK,GACT,QAAQ,MAAM,EACd,MAAM,SAAS,KAAK,CAAC,KAAK,EAAE,GAAG,SAAS,EACxC,aAAY,SAAS,MAAM,EAAE,GAAG,SAAqB,EACrD,SAAQ,GAAG,CAAC,MAAM,GAAG,SAAqB,4CAOxC,CAAA;AAEJ,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,MAAM,SAAS,KAAK,CAAC,KAAK,EAAE,GAAG,SAAS,EACxC,aAAY,SAAS,MAAM,EAAE,GAAG,SAAqB,EACrD,SAAQ,GAAG,CAAC,MAAM,GAAG,SAAqB,EAC1C,UAAS,GAAG,CAAC,aAAkB,4CAU7B,CAAA;AAkDJ,eAAO,MAAM,KAAK,GAAI,QAAQ,MAAM,EAAE,MAAM,SAAS,KAAK,CAAC,KAAK,EAAE,mDAyC9D,CAAA;AAEJ,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,+CAaxC,CAAA;AAEJ,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,CAAA;AAExB,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAMlD;AAED,eAAO,MAAM,SAAS,GACnB,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,MACvB,QAAQ,MAAM,KAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CACf,CAAA"}
1
+ {"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Uplc/Script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoB,MAAM,EAAE,MAAM,QAAQ,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAG5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAG/B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,eAAO,MAAM,OAAO,+EAInB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,CAAA;AAUxD;;;;;GAKG;AACH,eAAO,MAAM,MAAM;IAbjB;;OAEG;;;;;GAgBJ,CAAA;AAED,eAAO,MAAM,QAAQ;IApBnB;;OAEG;;;;;GAuBJ,CAAA;AAED,eAAO,MAAM,QAAQ;IA3BnB;;OAEG;;;;;GA8BJ,CAAA;AAED,eAAO,MAAM,QAAQ;IAlCnB;;OAEG;;;;;GAqCJ,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI;IAChD,OAAO,EAAE,CAAC,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,CAAC,SAAS,KACrB,IAAI,CAAC,YAAY,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAqB1D,CAAA;AAEJ,eAAO,MAAM,MAAM,GAChB,CAAC,SAAS,OAAO,EAAE,SAAS,CAAC,MAC7B,OAAO,KAAK,CAAC,SAAS,KAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAgCjD,CAAA;AAEN,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/C;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,KAAK,GACT,QAAQ,MAAM,EACd,MAAM,SAAS,KAAK,CAAC,KAAK,EAAE,GAAG,SAAS,EACxC,aAAY,SAAS,MAAM,EAAE,GAAG,SAAqB,EACrD,SAAQ,GAAG,CAAC,MAAM,GAAG,SAAqB,4CAOxC,CAAA;AAEJ,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,MAAM,SAAS,KAAK,CAAC,KAAK,EAAE,GAAG,SAAS,EACxC,aAAY,SAAS,MAAM,EAAE,GAAG,SAAqB,EACrD,SAAQ,GAAG,CAAC,MAAM,GAAG,SAAqB,EAC1C,UAAS,GAAG,CAAC,aAAkB,4CAU7B,CAAA;AAkDJ,eAAO,MAAM,KAAK,GAAI,QAAQ,MAAM,EAAE,MAAM,SAAS,KAAK,CAAC,KAAK,EAAE,mDAsC9D,CAAA;AAEJ,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,+CAaxC,CAAA;AAEJ,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,CAAA;AAExB,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAMlD;AAED,eAAO,MAAM,SAAS,GACnB,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,MACvB,QAAQ,MAAM,KAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CACf,CAAA"}
@@ -17,6 +17,8 @@ export type SourceSpan = Schema.Schema.Type<typeof SourceSpan>;
17
17
  export declare const Apply: Schema.TaggedStruct<"Apply", {
18
18
  fn: Schema.suspend<Term, Term, never>;
19
19
  arg: Schema.suspend<Term, Term, never>;
20
+ capture: Schema.optional<typeof Schema.String>;
21
+ description: Schema.optional<typeof Schema.String>;
20
22
  sourceSpan: Schema.optional<Schema.Struct<{
21
23
  file: typeof Schema.String;
22
24
  start: Schema.Struct<{
@@ -33,11 +35,15 @@ export type Apply = {
33
35
  _tag: "Apply";
34
36
  fn: Term;
35
37
  arg: Term;
38
+ capture?: string | undefined;
39
+ description?: string | undefined;
36
40
  sourceSpan?: SourceSpan | undefined;
37
41
  };
38
42
  declare const Builtin$: Schema.TaggedStruct<"Builtin", {
39
43
  id: typeof Schema.Int;
40
44
  name: Schema.optional<typeof Schema.String>;
45
+ capture: Schema.optional<typeof Schema.String>;
46
+ description: Schema.optional<typeof Schema.String>;
41
47
  sourceSpan: Schema.optional<Schema.Struct<{
42
48
  file: typeof Schema.String;
43
49
  start: Schema.Struct<{
@@ -50,11 +56,20 @@ declare const Builtin$: Schema.TaggedStruct<"Builtin", {
50
56
  }>>;
51
57
  }>>;
52
58
  }>;
53
- type Builtin$ = Schema.Schema.Type<typeof Builtin$>;
59
+ type Builtin$ = {
60
+ _tag: "Builtin";
61
+ id: number;
62
+ name?: string | undefined;
63
+ capture?: string | undefined;
64
+ description?: string | undefined;
65
+ sourceSpan?: SourceSpan | undefined;
66
+ };
54
67
  export { Builtin$ as Builtin };
55
68
  export declare const Case: Schema.TaggedStruct<"Case", {
56
69
  arg: Schema.suspend<Term, Term, never>;
57
70
  cases: Schema.Array$<Schema.suspend<Term, Term, never>>;
71
+ capture: Schema.optional<typeof Schema.String>;
72
+ description: Schema.optional<typeof Schema.String>;
58
73
  sourceSpan: Schema.optional<Schema.Struct<{
59
74
  file: typeof Schema.String;
60
75
  start: Schema.Struct<{
@@ -71,6 +86,8 @@ export type Case = {
71
86
  _tag: "Case";
72
87
  arg: Term;
73
88
  cases: readonly Term[];
89
+ capture?: string | undefined;
90
+ description?: string | undefined;
74
91
  sourceSpan?: SourceSpan | undefined;
75
92
  };
76
93
  export declare const Const: Schema.TaggedStruct<"Const", {
@@ -118,6 +135,8 @@ export declare const Const: Schema.TaggedStruct<"Const", {
118
135
  mlResult: Schema.Tuple2<Schema.Tuple<[Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>, Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>, Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>]>, Schema.Tuple<[Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>, Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>, Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>]>>;
119
136
  }>]>;
120
137
  name: Schema.optional<typeof Schema.String>;
138
+ capture: Schema.optional<typeof Schema.String>;
139
+ description: Schema.optional<typeof Schema.String>;
121
140
  sourceSpan: Schema.optional<Schema.Struct<{
122
141
  file: typeof Schema.String;
123
142
  start: Schema.Struct<{
@@ -130,10 +149,19 @@ export declare const Const: Schema.TaggedStruct<"Const", {
130
149
  }>>;
131
150
  }>>;
132
151
  }>;
133
- export type Const = Schema.Schema.Type<typeof Const>;
152
+ export type Const = {
153
+ _tag: "Const";
154
+ value: Value.Value;
155
+ name?: string | undefined;
156
+ capture?: string | undefined;
157
+ description?: string | undefined;
158
+ sourceSpan?: SourceSpan | undefined;
159
+ };
134
160
  export declare const Constr: Schema.TaggedStruct<"Constr", {
135
161
  tag: typeof Schema.Int;
136
162
  args: Schema.Array$<Schema.suspend<Term, Term, never>>;
163
+ capture: Schema.optional<typeof Schema.String>;
164
+ description: Schema.optional<typeof Schema.String>;
137
165
  sourceSpan: Schema.optional<Schema.Struct<{
138
166
  file: typeof Schema.String;
139
167
  start: Schema.Struct<{
@@ -150,10 +178,15 @@ export type Constr = {
150
178
  _tag: "Constr";
151
179
  tag: number;
152
180
  args: readonly Term[];
181
+ capture?: string | undefined;
182
+ description?: string | undefined;
153
183
  sourceSpan?: SourceSpan | undefined;
154
184
  };
155
185
  export declare const Delay: Schema.TaggedStruct<"Delay", {
156
186
  arg: Schema.suspend<Term, Term, never>;
187
+ capture: Schema.optional<typeof Schema.String>;
188
+ description: Schema.optional<typeof Schema.String>;
189
+ name: Schema.optional<typeof Schema.String>;
157
190
  sourceSpan: Schema.optional<Schema.Struct<{
158
191
  file: typeof Schema.String;
159
192
  start: Schema.Struct<{
@@ -169,10 +202,14 @@ export declare const Delay: Schema.TaggedStruct<"Delay", {
169
202
  export type Delay = {
170
203
  _tag: "Delay";
171
204
  arg: Term;
205
+ capture?: string | undefined;
206
+ description?: string | undefined;
172
207
  sourceSpan?: SourceSpan | undefined;
173
208
  name?: string | undefined;
174
209
  };
175
210
  declare const Error$: Schema.TaggedStruct<"Error", {
211
+ capture: Schema.optional<typeof Schema.String>;
212
+ description: Schema.optional<typeof Schema.String>;
176
213
  sourceSpan: Schema.optional<Schema.Struct<{
177
214
  file: typeof Schema.String;
178
215
  start: Schema.Struct<{
@@ -185,10 +222,17 @@ declare const Error$: Schema.TaggedStruct<"Error", {
185
222
  }>>;
186
223
  }>>;
187
224
  }>;
188
- type Error$ = Schema.Schema.Type<typeof Error$>;
225
+ type Error$ = {
226
+ _tag: "Error";
227
+ capture?: string | undefined;
228
+ description?: string | undefined;
229
+ sourceSpan?: SourceSpan | undefined;
230
+ };
189
231
  export { Error$ as Error };
190
232
  export declare const Force: Schema.TaggedStruct<"Force", {
191
233
  arg: Schema.suspend<Term, Term, never>;
234
+ capture: Schema.optional<typeof Schema.String>;
235
+ description: Schema.optional<typeof Schema.String>;
192
236
  sourceSpan: Schema.optional<Schema.Struct<{
193
237
  file: typeof Schema.String;
194
238
  start: Schema.Struct<{
@@ -204,11 +248,15 @@ export declare const Force: Schema.TaggedStruct<"Force", {
204
248
  export type Force = {
205
249
  _tag: "Force";
206
250
  arg: Term;
251
+ capture?: string | undefined;
252
+ description?: string | undefined;
207
253
  sourceSpan?: SourceSpan | undefined;
208
254
  };
209
255
  export declare const Lambda: Schema.TaggedStruct<"Lambda", {
210
256
  body: Schema.suspend<Term, Term, never>;
211
257
  argName: Schema.optional<typeof Schema.String>;
258
+ capture: Schema.optional<typeof Schema.String>;
259
+ description: Schema.optional<typeof Schema.String>;
212
260
  sourceSpan: Schema.optional<Schema.Struct<{
213
261
  file: typeof Schema.String;
214
262
  start: Schema.Struct<{
@@ -226,12 +274,16 @@ export type Lambda = {
226
274
  _tag: "Lambda";
227
275
  body: Term;
228
276
  argName?: string | undefined;
277
+ capture?: string | undefined;
278
+ description?: string | undefined;
229
279
  sourceSpan?: SourceSpan | undefined;
230
280
  name?: string | undefined;
231
281
  };
232
282
  export declare const Var: Schema.TaggedStruct<"Var", {
233
283
  index: typeof Schema.Int;
234
284
  name: Schema.optional<typeof Schema.String>;
285
+ capture: Schema.optional<typeof Schema.String>;
286
+ description: Schema.optional<typeof Schema.String>;
235
287
  sourceSpan: Schema.optional<Schema.Struct<{
236
288
  file: typeof Schema.String;
237
289
  start: Schema.Struct<{
@@ -244,10 +296,19 @@ export declare const Var: Schema.TaggedStruct<"Var", {
244
296
  }>>;
245
297
  }>>;
246
298
  }>;
247
- export type Var = Schema.Schema.Type<typeof Var>;
299
+ export type Var = {
300
+ _tag: "Var";
301
+ index: number;
302
+ name?: string | undefined;
303
+ capture?: string | undefined;
304
+ description?: string | undefined;
305
+ sourceSpan?: SourceSpan | undefined;
306
+ };
248
307
  export declare const Term: Schema.Union<[Schema.TaggedStruct<"Apply", {
249
308
  fn: Schema.suspend<Term, Term, never>;
250
309
  arg: Schema.suspend<Term, Term, never>;
310
+ capture: Schema.optional<typeof Schema.String>;
311
+ description: Schema.optional<typeof Schema.String>;
251
312
  sourceSpan: Schema.optional<Schema.Struct<{
252
313
  file: typeof Schema.String;
253
314
  start: Schema.Struct<{
@@ -262,6 +323,8 @@ export declare const Term: Schema.Union<[Schema.TaggedStruct<"Apply", {
262
323
  }>, Schema.TaggedStruct<"Builtin", {
263
324
  id: typeof Schema.Int;
264
325
  name: Schema.optional<typeof Schema.String>;
326
+ capture: Schema.optional<typeof Schema.String>;
327
+ description: Schema.optional<typeof Schema.String>;
265
328
  sourceSpan: Schema.optional<Schema.Struct<{
266
329
  file: typeof Schema.String;
267
330
  start: Schema.Struct<{
@@ -276,6 +339,8 @@ export declare const Term: Schema.Union<[Schema.TaggedStruct<"Apply", {
276
339
  }>, Schema.TaggedStruct<"Case", {
277
340
  arg: Schema.suspend<Term, Term, never>;
278
341
  cases: Schema.Array$<Schema.suspend<Term, Term, never>>;
342
+ capture: Schema.optional<typeof Schema.String>;
343
+ description: Schema.optional<typeof Schema.String>;
279
344
  sourceSpan: Schema.optional<Schema.Struct<{
280
345
  file: typeof Schema.String;
281
346
  start: Schema.Struct<{
@@ -332,6 +397,8 @@ export declare const Term: Schema.Union<[Schema.TaggedStruct<"Apply", {
332
397
  mlResult: Schema.Tuple2<Schema.Tuple<[Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>, Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>, Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>]>, Schema.Tuple<[Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>, Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>, Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>]>>;
333
398
  }>]>;
334
399
  name: Schema.optional<typeof Schema.String>;
400
+ capture: Schema.optional<typeof Schema.String>;
401
+ description: Schema.optional<typeof Schema.String>;
335
402
  sourceSpan: Schema.optional<Schema.Struct<{
336
403
  file: typeof Schema.String;
337
404
  start: Schema.Struct<{
@@ -346,6 +413,8 @@ export declare const Term: Schema.Union<[Schema.TaggedStruct<"Apply", {
346
413
  }>, Schema.TaggedStruct<"Constr", {
347
414
  tag: typeof Schema.Int;
348
415
  args: Schema.Array$<Schema.suspend<Term, Term, never>>;
416
+ capture: Schema.optional<typeof Schema.String>;
417
+ description: Schema.optional<typeof Schema.String>;
349
418
  sourceSpan: Schema.optional<Schema.Struct<{
350
419
  file: typeof Schema.String;
351
420
  start: Schema.Struct<{
@@ -359,6 +428,9 @@ export declare const Term: Schema.Union<[Schema.TaggedStruct<"Apply", {
359
428
  }>>;
360
429
  }>, Schema.TaggedStruct<"Delay", {
361
430
  arg: Schema.suspend<Term, Term, never>;
431
+ capture: Schema.optional<typeof Schema.String>;
432
+ description: Schema.optional<typeof Schema.String>;
433
+ name: Schema.optional<typeof Schema.String>;
362
434
  sourceSpan: Schema.optional<Schema.Struct<{
363
435
  file: typeof Schema.String;
364
436
  start: Schema.Struct<{
@@ -371,6 +443,8 @@ export declare const Term: Schema.Union<[Schema.TaggedStruct<"Apply", {
371
443
  }>>;
372
444
  }>>;
373
445
  }>, Schema.TaggedStruct<"Error", {
446
+ capture: Schema.optional<typeof Schema.String>;
447
+ description: Schema.optional<typeof Schema.String>;
374
448
  sourceSpan: Schema.optional<Schema.Struct<{
375
449
  file: typeof Schema.String;
376
450
  start: Schema.Struct<{
@@ -384,6 +458,8 @@ export declare const Term: Schema.Union<[Schema.TaggedStruct<"Apply", {
384
458
  }>>;
385
459
  }>, Schema.TaggedStruct<"Force", {
386
460
  arg: Schema.suspend<Term, Term, never>;
461
+ capture: Schema.optional<typeof Schema.String>;
462
+ description: Schema.optional<typeof Schema.String>;
387
463
  sourceSpan: Schema.optional<Schema.Struct<{
388
464
  file: typeof Schema.String;
389
465
  start: Schema.Struct<{
@@ -398,6 +474,8 @@ export declare const Term: Schema.Union<[Schema.TaggedStruct<"Apply", {
398
474
  }>, Schema.TaggedStruct<"Lambda", {
399
475
  body: Schema.suspend<Term, Term, never>;
400
476
  argName: Schema.optional<typeof Schema.String>;
477
+ capture: Schema.optional<typeof Schema.String>;
478
+ description: Schema.optional<typeof Schema.String>;
401
479
  sourceSpan: Schema.optional<Schema.Struct<{
402
480
  file: typeof Schema.String;
403
481
  start: Schema.Struct<{
@@ -413,6 +491,8 @@ export declare const Term: Schema.Union<[Schema.TaggedStruct<"Apply", {
413
491
  }>, Schema.TaggedStruct<"Var", {
414
492
  index: typeof Schema.Int;
415
493
  name: Schema.optional<typeof Schema.String>;
494
+ capture: Schema.optional<typeof Schema.String>;
495
+ description: Schema.optional<typeof Schema.String>;
416
496
  sourceSpan: Schema.optional<Schema.Struct<{
417
497
  file: typeof Schema.String;
418
498
  start: Schema.Struct<{
@@ -433,8 +513,33 @@ export type Term = Apply | Builtin$ | Case | Const | Constr | Delay | Error$ | F
433
513
  */
434
514
  export declare function flatSize(term: Term): number;
435
515
  export declare function flatTag(term: Term): number;
516
+ /**
517
+ * Verbose encoding format:
518
+ *
519
+ * {
520
+ * 0: CBORBytes(root flat bytes (i.e. what would be returned if verbose == false)),
521
+ * 1: {
522
+ * 0: CBORList<String> (source names list),
523
+ * 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),
524
+ * 2: CBORMap<Int, String> (lambda arg names, key is term index)
525
+ * 3: CBORMap<Int, String> (term names, key is term index)
526
+ * 4: CBORMap<Int, String> (term descriptions, key is termIndex)
527
+ * 5: CBORMap<Int, String> (capture names/ids, key is termIndex)
528
+ * }
529
+ * }
530
+ */
436
531
  export declare const decodeRoot: (bytes: Bytes.BytesLike) => Either.Either<Term, Error>;
437
- export declare const encodeRoot: (uplcVersion: "1.0.0" | "1.1.0", term: Term) => Uint8Array;
532
+ /**
533
+ * @param uplcVersion
534
+ * @param term
535
+ * @param verbose
536
+ * Optional, defaults to false.
537
+ * Note that if verbose==true but metadata is empty, the plain flat encoded program without metadata is still returned
538
+ *
539
+ * @returns
540
+ * The encoded program
541
+ */
542
+ export declare const encodeRoot: (uplcVersion: "1.0.0" | "1.1.0", term: Term, verbose?: boolean) => Uint8Array;
438
543
  /**
439
544
  * Reads a single Term using stack-based algorithm for its children
440
545
  * @param param0
@@ -1 +1 @@
1
- {"version":3,"file":"Term.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Uplc/Term.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Term.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Uplc/Term.ts"],"names":[],"mappings":"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"}