@helios-lang/contract-utils 0.2.66 → 0.2.68

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helios-lang/contract-utils",
3
- "version": "0.2.66",
3
+ "version": "0.2.68",
4
4
  "description": "Convenience and type-safety utilities for using Helios validators from within Typescript",
5
5
  "main": "src/index.js",
6
6
  "types": "types/index.d.ts",
@@ -28,9 +28,9 @@
28
28
  "@helios-lang/cli-utils": "^0.1.6",
29
29
  "@helios-lang/codec-utils": "^0.1.35",
30
30
  "@helios-lang/compiler-utils": "^0.1.25",
31
- "@helios-lang/ledger": "^0.5.2",
31
+ "@helios-lang/ledger": "^0.5.3",
32
32
  "@helios-lang/type-utils": "^0.1.21",
33
- "@helios-lang/uplc": "^0.3.10"
33
+ "@helios-lang/uplc": "^0.3.11"
34
34
  },
35
35
  "scripts": {
36
36
  "build": "pnpm run prettify && pnpm run build:types && pnpm run test:suite",
@@ -5,6 +5,7 @@ export {}
5
5
  /**
6
6
  * @typedef {import("@helios-lang/uplc").PlutusVersion} PlutusVersion
7
7
  * @typedef {import("@helios-lang/uplc").UplcData} UplcData
8
+ * @typedef {import("@helios-lang/uplc").UplcSourceMapJsonSafe} UplcSourceMapJsonSafe
8
9
  * @typedef {import("../codegen/index.js").TypeSchema} InternalTypeDetails
9
10
  * @typedef {import("../codegen/index.js").TypeCheckedModule} TypeCheckedModule
10
11
  * @typedef {import("../codegen/index.js").TypeCheckedValidator} TypeCheckedValidator
@@ -28,13 +29,15 @@ export {}
28
29
  * debug?: boolean
29
30
  * excludeUserFuncs?: Set<string>
30
31
  * onCompileUserFunc?: (props: {
31
- * name: string,
32
- * cborHex: string,
33
- * plutusVersion: PlutusVersion,
34
- * ir?: string,
32
+ * name: string
33
+ * cborHex: string
34
+ * plutusVersion: PlutusVersion
35
+ * ir?: string
36
+ * sourceMap?: UplcSourceMapJsonSafe
35
37
  * alt?: {
36
- * cborHex: string,
38
+ * cborHex: string
37
39
  * ir?: string
40
+ * sourceMap?: UplcSourceMapJsonSafe
38
41
  * }
39
42
  * }) => void
40
43
  * }} CompileOptions
@@ -45,6 +48,7 @@ export {}
45
48
  * cborHex: string
46
49
  * plutusVersion: PlutusVersion
47
50
  * ir?: string
51
+ * sourceMap?: import("@helios-lang/uplc").UplcSourceMapJsonSafe
48
52
  * }} CompileOutput
49
53
  */
50
54
 
@@ -1,6 +1,6 @@
1
1
  import { bytesToHex } from "@helios-lang/codec-utils"
2
2
  import { None } from "@helios-lang/type-utils"
3
- import { UplcProgramV2 } from "@helios-lang/uplc"
3
+ import { UplcProgramV2, UplcSourceMap } from "@helios-lang/uplc"
4
4
 
5
5
  /**
6
6
  * @typedef {import("@helios-lang/uplc").UplcData} UplcData
@@ -111,11 +111,20 @@ export class CompilerLib_v0_17 {
111
111
  const alt = uplc.alt
112
112
  const ir = options.debug ? uplc.ir : None
113
113
  const altIr = options.debug ? alt?.ir : None
114
+ const sourceMap = UplcSourceMap.fromUplcTerm(
115
+ uplc.root
116
+ ).toJsonSafe()
117
+ const altSourceMap = alt
118
+ ? UplcSourceMap.fromUplcTerm(
119
+ alt.root
120
+ ).toJsonSafe()
121
+ : None
114
122
 
115
123
  onCompileUserFunc({
116
124
  name: name,
117
125
  cborHex: bytesToHex(uplc.toCbor()),
118
126
  plutusVersion: "PlutusScriptV2",
127
+ sourceMap,
119
128
  ...(ir
120
129
  ? {
121
130
  ir
@@ -129,6 +138,11 @@ export class CompilerLib_v0_17 {
129
138
  ? {
130
139
  ir: altIr
131
140
  }
141
+ : {}),
142
+ ...(altSourceMap
143
+ ? {
144
+ sourceMap: altSourceMap
145
+ }
132
146
  : {})
133
147
  }
134
148
  }
@@ -139,9 +153,12 @@ export class CompilerLib_v0_17 {
139
153
  : {})
140
154
  })
141
155
 
156
+ const sourceMap = UplcSourceMap.fromUplcTerm(uplc.root)
157
+
142
158
  return {
143
159
  cborHex: bytesToHex(uplc.toCbor()),
144
160
  plutusVersion: uplc.plutusVersion,
161
+ sourceMap: sourceMap.toJsonSafe(),
145
162
  ir: uplc.ir ?? undefined
146
163
  }
147
164
  }
@@ -7,12 +7,12 @@ import {
7
7
  } from "@helios-lang/ledger"
8
8
  import { Cast } from "../cast/Cast.js"
9
9
  import { None, expectSome } from "@helios-lang/type-utils"
10
- import { UplcProgramV1 } from "@helios-lang/uplc"
11
- import { UplcProgramV2 } from "@helios-lang/uplc"
10
+ import { UplcProgramV1, UplcProgramV2, UplcSourceMap } from "@helios-lang/uplc"
12
11
 
13
12
  /**
14
13
  * @typedef {import("@helios-lang/uplc").PlutusVersion} PlutusVersion
15
14
  * @typedef {import("@helios-lang/uplc").UplcProgram} UplcProgram
15
+ * @typedef {import("@helios-lang/uplc").UplcSourceMapJsonSafe} UplcSourceMapJsonSafe
16
16
  * @typedef {import("../cast/index.js").CastConfig} CastConfig
17
17
  * @typedef {import("../codegen/index.js").TypeSchema} TypeSchema
18
18
  * @typedef {import("./ContractContext.js").AnyContractValidatorContext} AnyContractValidatorContext
@@ -32,8 +32,10 @@ import { UplcProgramV2 } from "@helios-lang/uplc"
32
32
  * bytes: number[]
33
33
  * unoptimizedCborHex?: string
34
34
  * unoptimizedIr?: string
35
+ * unoptimizedSourceMap?: UplcSourceMapJsonSafe
35
36
  * optimizedCborHex: string
36
37
  * optimizedIr?: string
38
+ * optimizedSourceMap?: UplcSourceMapJsonSafe
37
39
  * plutusVersion: PlutusVersion
38
40
  * castConfig: CastConfig
39
41
  * datum?: TypeSchema
@@ -45,8 +47,10 @@ import { UplcProgramV2 } from "@helios-lang/uplc"
45
47
  * @typedef {{[name: string]: {
46
48
  * unoptimizedCborHex?: string
47
49
  * unoptimizedIr?: string
50
+ * unoptimizedSourceMap?: UplcSourceMapJsonSafe
48
51
  * optimizedCborHex: string
49
52
  * optimizedIr?: string
53
+ * optimizedSourceMap?: UplcSourceMapJsonSafe
50
54
  * plutusVersion: PlutusVersion
51
55
  * }}} CacheEntryUserFuncsJson
52
56
  */
@@ -109,23 +113,27 @@ class ContractContextCache {
109
113
  let program =
110
114
  props.plutusVersion == "PlutusScriptV1"
111
115
  ? UplcProgramV1.fromCbor(props.optimizedCborHex, {
112
- ir: props.optimizedIr
116
+ ir: props.optimizedIr,
117
+ sourceMap: props.optimizedSourceMap
113
118
  })
114
119
  : UplcProgramV2.fromCbor(props.optimizedCborHex, {
115
- ir: props.optimizedIr
120
+ ir: props.optimizedIr,
121
+ sourceMap: props.optimizedSourceMap
116
122
  })
117
123
 
118
124
  if (props.unoptimizedCborHex) {
119
125
  if (program.plutusVersion == "PlutusScriptV1") {
120
126
  program = program.withAlt(
121
127
  UplcProgramV1.fromCbor(props.unoptimizedCborHex, {
122
- ir: props.unoptimizedIr
128
+ ir: props.unoptimizedIr,
129
+ sourceMap: props.unoptimizedSourceMap
123
130
  })
124
131
  )
125
132
  } else if (program.plutusVersion == "PlutusScriptV2") {
126
133
  program = program.withAlt(
127
134
  UplcProgramV2.fromCbor(props.unoptimizedCborHex, {
128
- ir: props.unoptimizedIr
135
+ ir: props.unoptimizedIr,
136
+ sourceMap: props.unoptimizedSourceMap
129
137
  })
130
138
  )
131
139
  } else {
@@ -192,23 +200,27 @@ class ContractContextCache {
192
200
  let program =
193
201
  props.plutusVersion == "PlutusScriptV1"
194
202
  ? UplcProgramV1.fromCbor(props.optimizedCborHex, {
195
- ir: props.optimizedIr
203
+ ir: props.optimizedIr,
204
+ sourceMap: props.optimizedSourceMap
196
205
  })
197
206
  : UplcProgramV2.fromCbor(props.optimizedCborHex, {
198
- ir: props.optimizedIr
207
+ ir: props.optimizedIr,
208
+ sourceMap: props.optimizedSourceMap
199
209
  })
200
210
 
201
211
  if (props.unoptimizedCborHex) {
202
212
  if (program.plutusVersion == "PlutusScriptV1") {
203
213
  program = program.withAlt(
204
214
  UplcProgramV1.fromCbor(props.unoptimizedCborHex, {
205
- ir: props.unoptimizedIr
215
+ ir: props.unoptimizedIr,
216
+ sourceMap: props.unoptimizedSourceMap
206
217
  })
207
218
  )
208
219
  } else if (program.plutusVersion == "PlutusScriptV2") {
209
220
  program = program.withAlt(
210
221
  UplcProgramV2.fromCbor(props.unoptimizedCborHex, {
211
- ir: props.unoptimizedIr
222
+ ir: props.unoptimizedIr,
223
+ sourceMap: props.unoptimizedSourceMap
212
224
  })
213
225
  )
214
226
  } else {
@@ -300,19 +312,31 @@ class ContractContextCache {
300
312
  throw new Error("Datum is not a Cast type")
301
313
  }
302
314
 
315
+ /**
316
+ * @type {UplcProgramV1 | UplcProgramV2}
317
+ */
318
+ const program = hash.context.program
319
+
303
320
  resValidators[name] = {
304
321
  purpose: purpose,
305
322
  bytes: hash.bytes,
306
- optimizedCborHex: bytesToHex(hash.context.program.toCbor()),
307
- unoptimizedCborHex: hash.context.program.alt
308
- ? bytesToHex(hash.context.program.alt.toCbor())
323
+ optimizedCborHex: bytesToHex(program.toCbor()),
324
+ unoptimizedCborHex: program.alt
325
+ ? bytesToHex(program.alt.toCbor())
309
326
  : undefined,
310
327
  optimizedIr:
311
- /** @type {UplcProgramV2} */ (hash.context.program)
312
- .ir ?? undefined,
328
+ /** @type {UplcProgramV2} */ (program).ir ?? undefined,
313
329
  unoptimizedIr:
314
- /** @type {UplcProgramV2} */ (hash.context.program).alt
315
- ?.ir ?? undefined,
330
+ /** @type {UplcProgramV2} */ (program).alt?.ir ??
331
+ undefined,
332
+ optimizedSourceMap: UplcSourceMap.fromUplcTerm(
333
+ program.root
334
+ ).toJsonSafe(),
335
+ unoptimizedSourceMap: program.alt
336
+ ? UplcSourceMap.fromUplcTerm(
337
+ program.alt.root
338
+ ).toJsonSafe()
339
+ : undefined,
316
340
  plutusVersion: hash.context.program.plutusVersion,
317
341
  castConfig: redeemer.config,
318
342
  redeemer: redeemer.schema,
@@ -325,7 +349,6 @@ class ContractContextCache {
325
349
 
326
350
  resUserFuncs[name] = {
327
351
  optimizedCborHex: bytesToHex(userFunc.toCbor()),
328
- optimizedIr: userFunc.ir ?? undefined,
329
352
  unoptimizedCborHex: /** @type {UplcProgramV2} */ (userFunc)
330
353
  .alt
331
354
  ? bytesToHex(
@@ -334,7 +357,16 @@ class ContractContextCache {
334
357
  ).alt.toCbor()
335
358
  )
336
359
  : undefined,
337
- unoptimizedIr: userFunc?.alt?.ir ?? undefined,
360
+ optimizedIr: userFunc.ir ?? undefined,
361
+ unoptimizedIr: userFunc.alt?.ir ?? undefined,
362
+ optimizedSourceMap: UplcSourceMap.fromUplcTerm(
363
+ userFunc.root
364
+ ).toJsonSafe(),
365
+ unoptimizedSourceMap: userFunc.alt
366
+ ? UplcSourceMap.fromUplcTerm(
367
+ userFunc.alt.root
368
+ ).toJsonSafe()
369
+ : undefined,
338
370
  plutusVersion: userFunc.plutusVersion
339
371
  }
340
372
  }
@@ -116,7 +116,8 @@ export class DagCompiler {
116
116
  const {
117
117
  cborHex: optimizedCborHex,
118
118
  plutusVersion: optimPlutusVersion,
119
- ir: optimIr
119
+ ir: optimIr,
120
+ sourceMap: optimSourceMap
120
121
  } = this.lib.compile(sourceCode, moduleDeps, {
121
122
  optimize: true,
122
123
  hashDependencies: hashDepHashes,
@@ -134,7 +135,7 @@ export class DagCompiler {
134
135
  const optimizedProgram = restoreUplcProgram(
135
136
  optimPlutusVersion,
136
137
  optimizedCborHex,
137
- { ir: optimIr }
138
+ { ir: optimIr, sourceMap: optimSourceMap }
138
139
  )
139
140
 
140
141
  // calculate the hash
@@ -173,7 +174,8 @@ export class DagCompiler {
173
174
  const {
174
175
  cborHex: unoptimizedCborHex,
175
176
  plutusVersion: unoptimPlutusVersion,
176
- ir: unoptimIr
177
+ ir: unoptimIr,
178
+ sourceMap: unoptimSourceMap
177
179
  } = this.lib.compile(
178
180
  validator.$sourceCode,
179
181
  Array.from(moduleDeps.values()),
@@ -201,13 +203,16 @@ export class DagCompiler {
201
203
  }) => {
202
204
  console.log(`Compiled user function ${name}`)
203
205
  const ir = props.ir
206
+ const sourceMap = props.sourceMap
204
207
  let uplc = restoreUplcProgram(plutusVersion, cborHex, {
205
- ...(ir ? { ir: () => ir } : {})
208
+ ...(ir ? { ir: () => ir } : {}),
209
+ ...(sourceMap ? { sourceMap } : {})
206
210
  })
207
211
 
208
212
  if (props?.alt) {
209
213
  const alt = props.alt
210
214
  const altIr = alt.ir
215
+ const altSourceMap = alt.sourceMap
211
216
 
212
217
  uplc = uplc.withAlt(
213
218
  /** @type {any} */ (
@@ -217,6 +222,9 @@ export class DagCompiler {
217
222
  {
218
223
  ...(altIr
219
224
  ? { ir: () => altIr }
225
+ : {}),
226
+ ...(altSourceMap
227
+ ? { sourceMap: altSourceMap }
220
228
  : {})
221
229
  }
222
230
  )
@@ -235,7 +243,7 @@ export class DagCompiler {
235
243
  const unoptimizedProgram = restoreUplcProgram(
236
244
  unoptimPlutusVersion,
237
245
  unoptimizedCborHex,
238
- { ir: unoptimIr }
246
+ { ir: unoptimIr, sourceMap: unoptimSourceMap }
239
247
  )
240
248
 
241
249
  const completeProgram = optimizedProgram.withAlt(
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @typedef {import("@helios-lang/uplc").PlutusVersion} PlutusVersion
3
3
  * @typedef {import("@helios-lang/uplc").UplcData} UplcData
4
+ * @typedef {import("@helios-lang/uplc").UplcSourceMapJsonSafe} UplcSourceMapJsonSafe
4
5
  * @typedef {import("../codegen/index.js").TypeSchema} InternalTypeDetails
5
6
  * @typedef {import("../codegen/index.js").TypeCheckedModule} TypeCheckedModule
6
7
  * @typedef {import("../codegen/index.js").TypeCheckedValidator} TypeCheckedValidator
@@ -22,13 +23,15 @@
22
23
  * debug?: boolean
23
24
  * excludeUserFuncs?: Set<string>
24
25
  * onCompileUserFunc?: (props: {
25
- * name: string,
26
- * cborHex: string,
27
- * plutusVersion: PlutusVersion,
28
- * ir?: string,
26
+ * name: string
27
+ * cborHex: string
28
+ * plutusVersion: PlutusVersion
29
+ * ir?: string
30
+ * sourceMap?: UplcSourceMapJsonSafe
29
31
  * alt?: {
30
- * cborHex: string,
32
+ * cborHex: string
31
33
  * ir?: string
34
+ * sourceMap?: UplcSourceMapJsonSafe
32
35
  * }
33
36
  * }) => void
34
37
  * }} CompileOptions
@@ -38,6 +41,7 @@
38
41
  * cborHex: string
39
42
  * plutusVersion: PlutusVersion
40
43
  * ir?: string
44
+ * sourceMap?: import("@helios-lang/uplc").UplcSourceMapJsonSafe
41
45
  * }} CompileOutput
42
46
  */
43
47
  /**
@@ -77,6 +81,7 @@ export function getValidatorTypes(lib: CompilerLib, validators: string[]): {
77
81
  };
78
82
  export type PlutusVersion = import("@helios-lang/uplc").PlutusVersion;
79
83
  export type UplcData = import("@helios-lang/uplc").UplcData;
84
+ export type UplcSourceMapJsonSafe = import("@helios-lang/uplc").UplcSourceMapJsonSafe;
80
85
  export type InternalTypeDetails = import("../codegen/index.js").TypeSchema;
81
86
  export type TypeCheckedModule = import("../codegen/index.js").TypeCheckedModule;
82
87
  export type TypeCheckedValidator = import("../codegen/index.js").TypeCheckedValidator;
@@ -100,9 +105,11 @@ export type CompileOptions = {
100
105
  cborHex: string;
101
106
  plutusVersion: PlutusVersion;
102
107
  ir?: string;
108
+ sourceMap?: UplcSourceMapJsonSafe;
103
109
  alt?: {
104
110
  cborHex: string;
105
111
  ir?: string;
112
+ sourceMap?: UplcSourceMapJsonSafe;
106
113
  };
107
114
  }) => void;
108
115
  };
@@ -110,6 +117,7 @@ export type CompileOutput = {
110
117
  cborHex: string;
111
118
  plutusVersion: PlutusVersion;
112
119
  ir?: string;
120
+ sourceMap?: import("@helios-lang/uplc").UplcSourceMapJsonSafe;
113
121
  };
114
122
  export type TypeCheckOutput = {
115
123
  modules: {
@@ -1 +1 @@
1
- {"version":3,"file":"CompilerLib.d.ts","sourceRoot":"","sources":["../../src/compiler/CompilerLib.js"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;GAMG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AAEH;;GAEG;AAEH;;;;GAIG;AACH,uCAJW,WAAW,cACX,MAAM,EAAE,GACN;IAAC,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;CAAC,CAS5C;4BAxFY,OAAO,mBAAmB,EAAE,aAAa;uBACzC,OAAO,mBAAmB,EAAE,QAAQ;kCACpC,OAAO,qBAAqB,EAAE,UAAU;gCACxC,OAAO,qBAAqB,EAAE,iBAAiB;mCAC/C,OAAO,qBAAqB,EAAE,oBAAoB;6BAIlD,GAAG;;;;6BAKH;IACZ,qBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACzD,mBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChD,gBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5C,gBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,OAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACzC,SAAa,EAAE,OAAO,CAAA;IACtB,QAAY,EAAE,OAAO,CAAA;IACrB,KAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAClC,iBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAChC,IAAU,EAAE,MAAM,CAAC;QACnB,OAAa,EAAE,MAAM,CAAC;QACtB,aAAmB,EAAE,aAAa,CAAC;QACnC,EAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAS,CAAC,EAAE;YACZ,OAAe,EAAE,MAAM,CAAC;YACxB,EAAU,CAAC,EAAE,MAAM,CAAA;SACZ,CAAA;KACF,KAAK,IAAI,CAAA;CACX;4BAIS;IACZ,OAAW,EAAE,MAAM,CAAA;IACnB,aAAiB,EAAE,aAAa,CAAA;IAChC,EAAM,CAAC,EAAE,MAAM,CAAA;CACZ;8BAIS;IACZ,OAAW,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAA;KAAC,CAAA;IAChD,UAAc,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAC,CAAA;CACnD;4BAIS;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,OAAW,EAAE,MAAM,CAAA;IACnB,UAAc,EAAE,MAAM,CAAA;CACnB;0BAIS;IACZ,OAAW,EAAE,MAAM,CAAA;IACnB,iBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,cAAc,CAAA;IAC1D,SAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;QAC7D,OAAa,EAAE;YAAC,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAA;SAAC,CAAC;QACnD,UAAgB,EAAE;YAAC,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAA;SAAC,CAAA;KACnD,CAAC,CAAA;IACN,OAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,KAAK,aAAa,CAAA;CACrF;8BAIS,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"CompilerLib.d.ts","sourceRoot":"","sources":["../../src/compiler/CompilerLib.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CompilerLib_v0_17.d.ts","sourceRoot":"","sources":["../../src/compiler/CompilerLib_v0_17.js"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,0CAFgB,WAAW;IASvB;;OAEG;IACH,iBAFW,GAAG,EAIb;IAXD;;;OAGG;IACH,YAAG;IASH;;OAEG;IACH,sBAEC;IAED;;;OAGG;IACH,2BAHW,MAAM,GACJ,cAAc,CAM1B;IAED;;;;;OAKG;IACH,oBALW,MAAM,iBACN,MAAM,EAAE,WACR,cAAc,GACZ,aAAa,CA8EzB;IAED;;;;OAIG;IACH,4BAJW,MAAM,EAAE,iBACR,MAAM,EAAE,GACN,eAAe,CAM3B;CACJ;uBAzJY,OAAO,mBAAmB,EAAE,QAAQ;6BACpC,OAAO,mBAAmB,EAAE,cAAc;0BAC1C,OAAO,kBAAkB,EAAE,WAAW;6BACtC,OAAO,kBAAkB,EAAE,cAAc;4BACzC,OAAO,kBAAkB,EAAE,aAAa;6BACxC,OAAO,kBAAkB,EAAE,cAAc;8BACzC,OAAO,kBAAkB,EAAE,eAAe;sBAI1C;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,kBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACtC,WAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAA;IACnD,OAAW,CAAC,OAAO,EAAE;QACrB,QAAc,CAAC,EAAE,OAAO,CAAC;QACzB,gBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,gBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/C,gBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/C,gBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,iBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;KACjE,GAAG,aAAa,CAAA;CAClB;8BAzB0B,mBAAmB"}
1
+ {"version":3,"file":"CompilerLib_v0_17.d.ts","sourceRoot":"","sources":["../../src/compiler/CompilerLib_v0_17.js"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,0CAFgB,WAAW;IASvB;;OAEG;IACH,iBAFW,GAAG,EAIb;IAXD;;;OAGG;IACH,YAAG;IASH;;OAEG;IACH,sBAEC;IAED;;;OAGG;IACH,2BAHW,MAAM,GACJ,cAAc,CAM1B;IAED;;;;;OAKG;IACH,oBALW,MAAM,iBACN,MAAM,EAAE,WACR,cAAc,GACZ,aAAa,CA+FzB;IAED;;;;OAIG;IACH,4BAJW,MAAM,EAAE,iBACR,MAAM,EAAE,GACN,eAAe,CAM3B;CACJ;uBA1KY,OAAO,mBAAmB,EAAE,QAAQ;6BACpC,OAAO,mBAAmB,EAAE,cAAc;0BAC1C,OAAO,kBAAkB,EAAE,WAAW;6BACtC,OAAO,kBAAkB,EAAE,cAAc;4BACzC,OAAO,kBAAkB,EAAE,aAAa;6BACxC,OAAO,kBAAkB,EAAE,cAAc;8BACzC,OAAO,kBAAkB,EAAE,eAAe;sBAI1C;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,kBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACtC,WAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAA;IACnD,OAAW,CAAC,OAAO,EAAE;QACrB,QAAc,CAAC,EAAE,OAAO,CAAC;QACzB,gBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,gBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/C,gBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/C,gBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,iBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;KACjE,GAAG,aAAa,CAAA;CAClB;8BAzByC,mBAAmB"}
@@ -1,6 +1,7 @@
1
1
  export const contractContextCache: ContractContextCache;
2
2
  export type PlutusVersion = import("@helios-lang/uplc").PlutusVersion;
3
3
  export type UplcProgram = import("@helios-lang/uplc").UplcProgram;
4
+ export type UplcSourceMapJsonSafe = import("@helios-lang/uplc").UplcSourceMapJsonSafe;
4
5
  export type CastConfig = import("../cast/index.js").CastConfig;
5
6
  export type TypeSchema = import("../codegen/index.js").TypeSchema;
6
7
  export type AnyContractValidatorContext = import("./ContractContext.js").AnyContractValidatorContext;
@@ -19,8 +20,10 @@ export type CacheEntryValidatorsJson = {
19
20
  bytes: number[];
20
21
  unoptimizedCborHex?: string;
21
22
  unoptimizedIr?: string;
23
+ unoptimizedSourceMap?: UplcSourceMapJsonSafe;
22
24
  optimizedCborHex: string;
23
25
  optimizedIr?: string;
26
+ optimizedSourceMap?: UplcSourceMapJsonSafe;
24
27
  plutusVersion: PlutusVersion;
25
28
  castConfig: CastConfig;
26
29
  datum?: TypeSchema;
@@ -31,8 +34,10 @@ export type CacheEntryUserFuncsJson = {
31
34
  [name: string]: {
32
35
  unoptimizedCborHex?: string;
33
36
  unoptimizedIr?: string;
37
+ unoptimizedSourceMap?: UplcSourceMapJsonSafe;
34
38
  optimizedCborHex: string;
35
39
  optimizedIr?: string;
40
+ optimizedSourceMap?: UplcSourceMapJsonSafe;
36
41
  plutusVersion: PlutusVersion;
37
42
  };
38
43
  };
@@ -44,6 +49,7 @@ export type CacheEntryJson = {
44
49
  /**
45
50
  * @typedef {import("@helios-lang/uplc").PlutusVersion} PlutusVersion
46
51
  * @typedef {import("@helios-lang/uplc").UplcProgram} UplcProgram
52
+ * @typedef {import("@helios-lang/uplc").UplcSourceMapJsonSafe} UplcSourceMapJsonSafe
47
53
  * @typedef {import("../cast/index.js").CastConfig} CastConfig
48
54
  * @typedef {import("../codegen/index.js").TypeSchema} TypeSchema
49
55
  * @typedef {import("./ContractContext.js").AnyContractValidatorContext} AnyContractValidatorContext
@@ -61,8 +67,10 @@ export type CacheEntryJson = {
61
67
  * bytes: number[]
62
68
  * unoptimizedCborHex?: string
63
69
  * unoptimizedIr?: string
70
+ * unoptimizedSourceMap?: UplcSourceMapJsonSafe
64
71
  * optimizedCborHex: string
65
72
  * optimizedIr?: string
73
+ * optimizedSourceMap?: UplcSourceMapJsonSafe
66
74
  * plutusVersion: PlutusVersion
67
75
  * castConfig: CastConfig
68
76
  * datum?: TypeSchema
@@ -73,8 +81,10 @@ export type CacheEntryJson = {
73
81
  * @typedef {{[name: string]: {
74
82
  * unoptimizedCborHex?: string
75
83
  * unoptimizedIr?: string
84
+ * unoptimizedSourceMap?: UplcSourceMapJsonSafe
76
85
  * optimizedCborHex: string
77
86
  * optimizedIr?: string
87
+ * optimizedSourceMap?: UplcSourceMapJsonSafe
78
88
  * plutusVersion: PlutusVersion
79
89
  * }}} CacheEntryUserFuncsJson
80
90
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ContractContextCache.d.ts","sourceRoot":"","sources":["../../src/context/ContractContextCache.js"],"names":[],"mappings":"AA8VA,wDAA8D;4BAjVjD,OAAO,mBAAmB,EAAE,aAAa;0BACzC,OAAO,mBAAmB,EAAE,WAAW;yBACvC,OAAO,kBAAkB,EAAE,UAAU;yBACrC,OAAO,qBAAqB,EAAE,UAAU;0CACxC,OAAO,sBAAsB,EAAE,2BAA2B;yBAI1D;IACZ,KAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAc,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B,CAAA;KAAC,CAAA;IAC7D,SAAa,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;KAAC,CAAA;CACzC;uCAIS;IAAC,CAAC,IAAI,EAAE,MAAM,GAAG;QAC7B,OAAa,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAA;QAC3D,KAAW,EAAE,MAAM,EAAE,CAAA;QACrB,kBAAwB,CAAC,EAAE,MAAM,CAAA;QACjC,aAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,gBAAsB,EAAE,MAAM,CAAA;QAC9B,WAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,aAAmB,EAAE,aAAa,CAAA;QAClC,UAAgB,EAAE,UAAU,CAAA;QAC5B,KAAW,CAAC,EAAE,UAAU,CAAA;QACxB,QAAc,EAAE,UAAU,CAAA;KACrB,CAAA;CAAC;sCAIM;IAAC,CAAC,IAAI,EAAE,MAAM,GAAG;QAC7B,kBAAsB,CAAC,EAAE,MAAM,CAAA;QAC/B,aAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,gBAAoB,EAAE,MAAM,CAAA;QAC5B,WAAe,CAAC,EAAE,MAAM,CAAA;QACxB,aAAiB,EAAE,aAAa,CAAA;KAC7B,CAAA;CAAC;6BAIQ;IACZ,KAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAc,EAAE,wBAAwB,CAAA;IACxC,SAAa,EAAE,uBAAuB,CAAA;CACnC;AA9CJ;;;;;;GAMG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;GAQG;AAEH;;;;;;GAMG;AAEH;IACI;;OAEG;IACH,OAFU,UAAU,EAAE,CAEjB;IAEL;;;OAGG;IACH,GAFU,MAAM,CAEf;IAED;;OAEG;IACH,SAFU,OAAO,CAEV;IAQP,eAEC;IAED;;OAEG;IACH,WAFW,cAAc,EAAE,QAqI1B;IAED;;OAEG;IACH,aAFW,UAAU,QAMpB;IAED;;OAEG;IACH,SAFa,MAAM,CAAC,UAAU,CAAC,CAY9B;IAED;;OAEG;IACH,UAFY,cAAc,EAAE,CAkG3B;CACJ"}
1
+ {"version":3,"file":"ContractContextCache.d.ts","sourceRoot":"","sources":["../../src/context/ContractContextCache.js"],"names":[],"mappings":"AA8XA,wDAA8D;4BAlXjD,OAAO,mBAAmB,EAAE,aAAa;0BACzC,OAAO,mBAAmB,EAAE,WAAW;oCACvC,OAAO,mBAAmB,EAAE,qBAAqB;yBACjD,OAAO,kBAAkB,EAAE,UAAU;yBACrC,OAAO,qBAAqB,EAAE,UAAU;0CACxC,OAAO,sBAAsB,EAAE,2BAA2B;yBAI1D;IACZ,KAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAc,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B,CAAA;KAAC,CAAA;IAC7D,SAAa,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;KAAC,CAAA;CACzC;uCAIS;IAAC,CAAC,IAAI,EAAE,MAAM,GAAG;QAC7B,OAAa,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAA;QAC3D,KAAW,EAAE,MAAM,EAAE,CAAA;QACrB,kBAAwB,CAAC,EAAE,MAAM,CAAA;QACjC,aAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,oBAA0B,CAAC,EAAE,qBAAqB,CAAA;QAClD,gBAAsB,EAAE,MAAM,CAAA;QAC9B,WAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,kBAAwB,CAAC,EAAE,qBAAqB,CAAA;QAChD,aAAmB,EAAE,aAAa,CAAA;QAClC,UAAgB,EAAE,UAAU,CAAA;QAC5B,KAAW,CAAC,EAAE,UAAU,CAAA;QACxB,QAAc,EAAE,UAAU,CAAA;KACrB,CAAA;CAAC;sCAIM;IAAC,CAAC,IAAI,EAAE,MAAM,GAAG;QAC7B,kBAAsB,CAAC,EAAE,MAAM,CAAA;QAC/B,aAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,oBAAwB,CAAC,EAAE,qBAAqB,CAAA;QAChD,gBAAoB,EAAE,MAAM,CAAA;QAC5B,WAAe,CAAC,EAAE,MAAM,CAAA;QACxB,kBAAsB,CAAC,EAAE,qBAAqB,CAAA;QAC9C,aAAiB,EAAE,aAAa,CAAA;KAC7B,CAAA;CAAC;6BAIQ;IACZ,KAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAc,EAAE,wBAAwB,CAAA;IACxC,SAAa,EAAE,uBAAuB,CAAA;CACnC;AAnDJ;;;;;;;GAOG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;GAUG;AAEH;;;;;;GAMG;AAEH;IACI;;OAEG;IACH,OAFU,UAAU,EAAE,CAEjB;IAEL;;;OAGG;IACH,GAFU,MAAM,CAEf;IAED;;OAEG;IACH,SAFU,OAAO,CAEV;IAQP,eAEC;IAED;;OAEG;IACH,WAFW,cAAc,EAAE,QA6I1B;IAED;;OAEG;IACH,aAFW,UAAU,QAMpB;IAED;;OAEG;IACH,SAFa,MAAM,CAAC,UAAU,CAAC,CAY9B;IAED;;OAEG;IACH,UAFY,cAAc,EAAE,CAsH3B;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"DagCompiler.d.ts","sourceRoot":"","sources":["../../src/context/DagCompiler.js"],"names":[],"mappings":"AA8YA;;;GAGG;AACH,iDAHW,eAAe,GACb,MAAM,EAAE,CAsBpB;AA3ZD;;;;;;;GAOG;AAEH;;;;GAIG;AACH;;;;;;;GAOG;AAEH;;GAEG;AACH;IA6BI;;;OAGG;IACH,iBAHW,WAAW,UACX,iBAAiB,EAO3B;IArCD;;;;OAIG;IACH,qBAAG;IAEH;;;;OAIG;IACH,wBAAM;IAEN;;;;OAIG;IACH,kCAAgB;IAEhB;;;;OAIG;IACH,iCAAe;IAaf;;;;;;OAMG;IACH,kBANW,eAAe,EAAE,cACjB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,aACxB,OAAO,mBACP,MAAM,CAAC;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC,GAC9B,iBAAiB,CAkL7B;IAED;;;;;OAKG;IACH,4BAsCC;IAED;;;;;OAKG;IACH,yBA8BC;IAED;;;;;OAKG;IACH,qBAoBC;IAED;;;;;OAKG;IACH,4BAeC;CACJ;uBAhYY,OAAO,mBAAmB,EAAE,QAAQ;0BACpC,OAAO,mBAAmB,EAAE,WAAW;yBACvC,OAAO,kBAAkB,EAAE,UAAU;8BACrC,OAAO,+BAA+B,EAAE,eAAe;0BACvD,OAAO,sBAAsB,EAAE,WAAW;0CAC1C,OAAO,sBAAsB,EAAE,2BAA2B;gCAI1D,UAAU,GAAG;IACzB,KAAS,CAAC,EAAE,OAAO,CAAA;CAChB;;;;gCAIS;IACZ,KAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAc,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B,CAAA;KAAC,CAAA;IAC7D,SAAa,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;KAAC,CAAA;CACzC"}
1
+ {"version":3,"file":"DagCompiler.d.ts","sourceRoot":"","sources":["../../src/context/DagCompiler.js"],"names":[],"mappings":"AAsZA;;;GAGG;AACH,iDAHW,eAAe,GACb,MAAM,EAAE,CAsBpB;AAnaD;;;;;;;GAOG;AAEH;;;;GAIG;AACH;;;;;;;GAOG;AAEH;;GAEG;AACH;IA6BI;;;OAGG;IACH,iBAHW,WAAW,UACX,iBAAiB,EAO3B;IArCD;;;;OAIG;IACH,qBAAG;IAEH;;;;OAIG;IACH,wBAAM;IAEN;;;;OAIG;IACH,kCAAgB;IAEhB;;;;OAIG;IACH,iCAAe;IAaf;;;;;;OAMG;IACH,kBANW,eAAe,EAAE,cACjB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,aACxB,OAAO,mBACP,MAAM,CAAC;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC,GAC9B,iBAAiB,CA0L7B;IAED;;;;;OAKG;IACH,4BAsCC;IAED;;;;;OAKG;IACH,yBA8BC;IAED;;;;;OAKG;IACH,qBAoBC;IAED;;;;;OAKG;IACH,4BAeC;CACJ;uBAxYY,OAAO,mBAAmB,EAAE,QAAQ;0BACpC,OAAO,mBAAmB,EAAE,WAAW;yBACvC,OAAO,kBAAkB,EAAE,UAAU;8BACrC,OAAO,+BAA+B,EAAE,eAAe;0BACvD,OAAO,sBAAsB,EAAE,WAAW;0CAC1C,OAAO,sBAAsB,EAAE,2BAA2B;gCAI1D,UAAU,GAAG;IACzB,KAAS,CAAC,EAAE,OAAO,CAAA;CAChB;;;;gCAIS;IACZ,KAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAc,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B,CAAA;KAAC,CAAA;IAC7D,SAAa,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;KAAC,CAAA;CACzC"}