@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.
@@ -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
- export const evalWithCapture = (script, args, costParams = undefined, logger = undefined, capture = {}) => Effect.gen(function* () {
91
- const root = yield* entryPointWithArgs(script, args);
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* entryPoint(script);
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* entryPoint(script);
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* entryPoint({
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* entryPoint(script);
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":"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"}
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
- 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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"}