@helios-lang/contract-utils 0.2.49 → 0.2.51

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.
Files changed (38) hide show
  1. package/package.json +43 -44
  2. package/src/cast/Cast.js +2 -2
  3. package/src/cast/UserFunc.js +11 -2
  4. package/src/compiler/CompilerLib.js +12 -1
  5. package/src/compiler/CompilerLib_v0_17.js +25 -7
  6. package/src/context/ContractContextBuilder.js +10 -8
  7. package/src/context/ContractContextCache.js +35 -4
  8. package/src/context/DagCompiler.js +33 -14
  9. package/types/cast/Cast.d.ts.map +1 -1
  10. package/types/cast/PermissiveType.d.ts.map +1 -1
  11. package/types/cast/StrictType.d.ts.map +1 -1
  12. package/types/cast/UserFunc.d.ts +1 -1
  13. package/types/cast/UserFunc.d.ts.map +1 -1
  14. package/types/cast/index.d.ts.map +1 -1
  15. package/types/codegen/LoadedModule.d.ts.map +1 -1
  16. package/types/codegen/LoadedScriptsWriter.d.ts +2 -2
  17. package/types/codegen/LoadedScriptsWriter.d.ts.map +1 -1
  18. package/types/codegen/LoadedValidator.d.ts +4 -6
  19. package/types/codegen/LoadedValidator.d.ts.map +1 -1
  20. package/types/codegen/TypeCheckedModule.d.ts.map +1 -1
  21. package/types/compiler/CompilerLib.d.ts +38 -14
  22. package/types/compiler/CompilerLib.d.ts.map +1 -1
  23. package/types/compiler/CompilerLib_v0_16.d.ts +1 -1
  24. package/types/compiler/CompilerLib_v0_16.d.ts.map +1 -1
  25. package/types/compiler/CompilerLib_v0_17.d.ts +6 -6
  26. package/types/compiler/CompilerLib_v0_17.d.ts.map +1 -1
  27. package/types/compiler/ops.d.ts.map +1 -1
  28. package/types/context/ContractContext.d.ts +6 -6
  29. package/types/context/ContractContext.d.ts.map +1 -1
  30. package/types/context/ContractContextBuilder.d.ts +12 -10
  31. package/types/context/ContractContextBuilder.d.ts.map +1 -1
  32. package/types/context/ContractContextCache.d.ts +13 -5
  33. package/types/context/ContractContextCache.d.ts.map +1 -1
  34. package/types/context/DagCompiler.d.ts +15 -6
  35. package/types/context/DagCompiler.d.ts.map +1 -1
  36. package/types/context/index.d.ts +2 -2
  37. package/types/context/index.d.ts.map +1 -1
  38. package/types/hl2ts.d.ts.map +1 -1
package/package.json CHANGED
@@ -1,45 +1,44 @@
1
1
  {
2
- "name": "@helios-lang/contract-utils",
3
- "version": "0.2.49",
4
- "description": "Convenience and type-safety utilities for using Helios validators from within Typescript",
5
- "main": "src/index.js",
6
- "types": "types/index.d.ts",
7
- "type": "module",
8
- "bin": {
9
- "hl2ts": "src/hl2ts.js"
10
- },
11
- "scripts": {
12
- "build": "npm run prettify && npm run build:types && npm run test:suite",
13
- "build:types": "npx tsc -p jsconfig.json --noEmit false --emitDeclarationOnly",
14
- "prepack": "npm run build",
15
- "prettify": "npx prettier . --write",
16
- "test": "npm run test:pretty && npm run test:types && npm run test:suite",
17
- "test:pretty": "npx prettier . --check",
18
- "test:suite": "node --test",
19
- "test:types": "npm run build:types"
20
- },
21
- "author": "Christian Schmitz",
22
- "license": "BSD-3-Clause",
23
- "devDependencies": {
24
- "@types/node": "^20.11.24",
25
- "prettier": "^3.1.0",
26
- "typescript": "^5.3.2"
27
- },
28
- "prettier": {
29
- "trailingComma": "none",
30
- "tabWidth": 4,
31
- "semi": false,
32
- "singleQuote": false
33
- },
34
- "peerDependencies": {
35
- "@helios-lang/compiler": "*"
36
- },
37
- "dependencies": {
38
- "@helios-lang/cli-utils": "^0.1.6",
39
- "@helios-lang/codec-utils": "^0.1.34",
40
- "@helios-lang/compiler-utils": "^0.1.25",
41
- "@helios-lang/ledger": "^0.4.8",
42
- "@helios-lang/type-utils": "^0.1.21",
43
- "@helios-lang/uplc": "^0.3.0"
44
- }
45
- }
2
+ "name": "@helios-lang/contract-utils",
3
+ "version": "0.2.51",
4
+ "description": "Convenience and type-safety utilities for using Helios validators from within Typescript",
5
+ "main": "src/index.js",
6
+ "types": "types/index.d.ts",
7
+ "type": "module",
8
+ "bin": {
9
+ "hl2ts": "src/hl2ts.js"
10
+ },
11
+ "author": "Christian Schmitz",
12
+ "license": "BSD-3-Clause",
13
+ "devDependencies": {
14
+ "@types/node": "^20.11.24",
15
+ "prettier": "^3.1.0",
16
+ "typescript": "^5.3.2"
17
+ },
18
+ "prettier": {
19
+ "trailingComma": "none",
20
+ "tabWidth": 4,
21
+ "semi": false,
22
+ "singleQuote": false
23
+ },
24
+ "peerDependencies": {
25
+ "@helios-lang/compiler": "*"
26
+ },
27
+ "dependencies": {
28
+ "@helios-lang/cli-utils": "^0.1.6",
29
+ "@helios-lang/codec-utils": "^0.1.34",
30
+ "@helios-lang/compiler-utils": "^0.1.25",
31
+ "@helios-lang/ledger": "^0.4.9",
32
+ "@helios-lang/type-utils": "^0.1.21",
33
+ "@helios-lang/uplc": "^0.3.5"
34
+ },
35
+ "scripts": {
36
+ "build": "pnpm run prettify && pnpm run build:types && pnpm run test:suite",
37
+ "build:types": "tsc -p jsconfig.json --noEmit false --emitDeclarationOnly",
38
+ "prettify": "prettier . --write",
39
+ "test": "pnpm run test:pretty && pnpm run test:types && pnpm run test:suite",
40
+ "test:pretty": "prettier . --check",
41
+ "test:suite": "node --test",
42
+ "test:types": "pnpm run build:types"
43
+ }
44
+ }
package/src/cast/Cast.js CHANGED
@@ -171,8 +171,8 @@ function schemaToUplc(schema, x, defs = {}) {
171
171
  return /** @type {TxOutput} */ (x).toUplcData()
172
172
  case "TxOutputDatum":
173
173
  return x
174
- ? TxOutputDatum.new(x)?.toUplcData() ??
175
- new ConstrData(0, [])
174
+ ? (TxOutputDatum.new(x)?.toUplcData() ??
175
+ new ConstrData(0, []))
176
176
  : new ConstrData(0, [])
177
177
  case "TxOutputId":
178
178
  return TxOutputId.new(x).toUplcData()
@@ -1,5 +1,6 @@
1
+ import { bytesToHex } from "@helios-lang/codec-utils"
1
2
  import { expectSome, isLeft, isString } from "@helios-lang/type-utils"
2
- import { ConstrData, UplcDataValue, UplcProgramV2 } from "@helios-lang/uplc"
3
+ import { ConstrData, UplcDataValue } from "@helios-lang/uplc"
3
4
  import { Cast } from "./Cast.js"
4
5
 
5
6
  /**
@@ -162,8 +163,16 @@ export class UserFunc {
162
163
  const resultStr = evalResultToString(cekResult.result)
163
164
 
164
165
  if (resultStr != resultUnoptimStr) {
166
+ console.error(
167
+ `## Unoptimized IR:\n${this.uplc.alt.ir ?? "not available"}`
168
+ )
169
+
170
+ args.forEach((a, i) => {
171
+ console.error(`## Arg ${i}: ${bytesToHex(a.toCbor())}`)
172
+ })
173
+
165
174
  throw new Error(
166
- `Critical error: contact Helios maintainers, expected ${resultUnoptimStr}, got ${resultStr}`
175
+ `Critical error: expected ${resultUnoptimStr}, but got ${resultStr}. Contact Helios maintainers and share this console output`
167
176
  )
168
177
  }
169
178
 
@@ -15,6 +15,7 @@ export {}
15
15
  */
16
16
 
17
17
  /**
18
+ * if `debug` is true, the ir is included in the user functions where possible
18
19
  * @typedef {{
19
20
  * allValidatorHashTypes: Record<string, ScriptHashType>
20
21
  * allValidatorIndices?: Record<string, number>
@@ -24,8 +25,18 @@ export {}
24
25
  * parameters?: Record<string, UplcData>
25
26
  * isTestnet: boolean
26
27
  * optimize: boolean
28
+ * debug?: boolean
27
29
  * excludeUserFuncs?: Set<string>
28
- * onCompileUserFunc?: (name: string, cborHex: string, altCborHex: Option<string>, plutusVersion: PlutusVersion) => void
30
+ * onCompileUserFunc?: (props: {
31
+ * name: string,
32
+ * cborHex: string,
33
+ * plutusVersion: PlutusVersion,
34
+ * ir?: string,
35
+ * alt?: {
36
+ * cborHex: string,
37
+ * ir?: string
38
+ * }
39
+ * }) => void
29
40
  * }} CompileOptions
30
41
  */
31
42
 
@@ -109,13 +109,31 @@ export class CompilerLib_v0_17 {
109
109
  ? {
110
110
  onCompileUserFunc: (name, uplc) => {
111
111
  const alt = uplc.alt
112
-
113
- onCompileUserFunc(
114
- name,
115
- bytesToHex(uplc.toCbor()),
116
- alt ? bytesToHex(alt.toCbor()) : None,
117
- "PlutusScriptV2"
118
- )
112
+ const ir = options.debug ? uplc.ir : None
113
+ const altIr = options.debug ? alt?.ir : None
114
+
115
+ onCompileUserFunc({
116
+ name: name,
117
+ cborHex: bytesToHex(uplc.toCbor()),
118
+ plutusVersion: "PlutusScriptV2",
119
+ ...(ir
120
+ ? {
121
+ ir
122
+ }
123
+ : {}),
124
+ ...(alt
125
+ ? {
126
+ alt: {
127
+ cborHex: bytesToHex(alt.toCbor()),
128
+ ...(altIr
129
+ ? {
130
+ ir: altIr
131
+ }
132
+ : {})
133
+ }
134
+ }
135
+ : {})
136
+ })
119
137
  }
120
138
  }
121
139
  : {})
@@ -28,6 +28,7 @@ import { contractContextCache } from "./ContractContextCache.js"
28
28
  * expectedHashes?: {[name: string]: string}
29
29
  * parameters?: Record<string, any>
30
30
  * dumpHashes?: boolean
31
+ * debug?: boolean
31
32
  * }} ContractContextBuildProps
32
33
  */
33
34
 
@@ -119,14 +120,15 @@ export class ContractContextBuilder {
119
120
 
120
121
  const cached = contractContextCache.shift()
121
122
 
122
- const compiled = cached
123
- ? cached
124
- : dagCompiler.build(
125
- Object.values(this.validators),
126
- props.parameters ?? {},
127
- !props.isMainnet,
128
- props.expectedHashes
129
- )
123
+ const compiled =
124
+ cached && cached.debug === props.debug
125
+ ? cached
126
+ : dagCompiler.build(
127
+ Object.values(this.validators),
128
+ props.parameters ?? {},
129
+ !props.isMainnet,
130
+ props.expectedHashes
131
+ )
130
132
 
131
133
  // TODO: adapt to use generic cache interface
132
134
  contractContextCache.push(compiled)
@@ -20,6 +20,7 @@ import { UplcProgramV2 } from "@helios-lang/uplc"
20
20
 
21
21
  /**
22
22
  * @typedef {{
23
+ * debug?: boolean
23
24
  * validators: {[name: string]: AnyContractValidatorContext}
24
25
  * userFuncs: {[name: string]: UplcProgram}
25
26
  * }} CacheEntry
@@ -41,13 +42,16 @@ import { UplcProgramV2 } from "@helios-lang/uplc"
41
42
  /**
42
43
  * @typedef {{[name: string]: {
43
44
  * unoptimizedCborHex?: string
45
+ * unoptimizedIr?: string
44
46
  * optimizedCborHex: string
47
+ * optimizedIr?: string
45
48
  * plutusVersion: PlutusVersion
46
49
  * }}} CacheEntryUserFuncsJson
47
50
  */
48
51
 
49
52
  /**
50
53
  * @typedef {{
54
+ * debug?: boolean
51
55
  * validators: CacheEntryValidatorsJson
52
56
  * userFuncs: CacheEntryUserFuncsJson
53
57
  * }} CacheEntryJson
@@ -89,6 +93,7 @@ class ContractContextCache {
89
93
  * @type {CacheEntry}
90
94
  */
91
95
  const res = {
96
+ debug: entry.debug ?? false,
92
97
  validators: {},
93
98
  userFuncs: {}
94
99
  }
@@ -171,22 +176,44 @@ class ContractContextCache {
171
176
  for (let name in entry.userFuncs) {
172
177
  const props = entry.userFuncs[name]
173
178
 
179
+ const optimizedIr = props.optimizedIr
180
+ const optimizedProps = optimizedIr
181
+ ? { ir: () => optimizedIr }
182
+ : {}
183
+
174
184
  /**
175
185
  * @type {UplcProgram}
176
186
  */
177
187
  let program =
178
188
  props.plutusVersion == "PlutusScriptV1"
179
- ? UplcProgramV1.fromCbor(props.optimizedCborHex)
180
- : UplcProgramV2.fromCbor(props.optimizedCborHex)
189
+ ? UplcProgramV1.fromCbor(
190
+ props.optimizedCborHex,
191
+ optimizedProps
192
+ )
193
+ : UplcProgramV2.fromCbor(
194
+ props.optimizedCborHex,
195
+ optimizedProps
196
+ )
181
197
 
182
198
  if (props.unoptimizedCborHex) {
199
+ const unoptimizedIr = props.unoptimizedIr
200
+ const unoptimizedProps = unoptimizedIr
201
+ ? { ir: () => unoptimizedIr }
202
+ : {}
203
+
183
204
  if (program.plutusVersion == "PlutusScriptV1") {
184
205
  program = program.withAlt(
185
- UplcProgramV1.fromCbor(props.unoptimizedCborHex)
206
+ UplcProgramV1.fromCbor(
207
+ props.unoptimizedCborHex,
208
+ unoptimizedProps
209
+ )
186
210
  )
187
211
  } else if (program.plutusVersion == "PlutusScriptV2") {
188
212
  program = program.withAlt(
189
- UplcProgramV2.fromCbor(props.unoptimizedCborHex)
213
+ UplcProgramV2.fromCbor(
214
+ props.unoptimizedCborHex,
215
+ unoptimizedProps
216
+ )
190
217
  )
191
218
  } else {
192
219
  throw new Error("unhandled Plutus version")
@@ -293,9 +320,11 @@ class ContractContextCache {
293
320
 
294
321
  for (let name in entry.userFuncs) {
295
322
  const userFunc = entry.userFuncs[name]
323
+ const optimizedIr = userFunc.ir
296
324
 
297
325
  resUserFuncs[name] = {
298
326
  optimizedCborHex: bytesToHex(userFunc.toCbor()),
327
+ optimizedIr: optimizedIr ?? undefined,
299
328
  unoptimizedCborHex: /** @type {UplcProgramV2} */ (userFunc)
300
329
  .alt
301
330
  ? bytesToHex(
@@ -304,11 +333,13 @@ class ContractContextCache {
304
333
  ).alt.toCbor()
305
334
  )
306
335
  : undefined,
336
+ unoptimizedIr: userFunc?.alt?.ir ?? undefined,
307
337
  plutusVersion: userFunc.plutusVersion
308
338
  }
309
339
  }
310
340
 
311
341
  return {
342
+ debug: entry.debug ?? false,
312
343
  validators: resValidators,
313
344
  userFuncs: resUserFuncs
314
345
  }
@@ -17,8 +17,14 @@ import { configureCast } from "../cast/index.js"
17
17
  * @typedef {import("./ContractContext.js").AnyContractValidatorContext} AnyContractValidatorContext
18
18
  */
19
19
 
20
+ /**
21
+ * @typedef {CastConfig & {
22
+ * debug?: boolean
23
+ * }} DagCompilerConfig
24
+ */
20
25
  /**
21
26
  * @typedef {{
27
+ * debug?: boolean
22
28
  * validators: {[name: string]: AnyContractValidatorContext}
23
29
  * userFuncs: {[name: string]: UplcProgram}
24
30
  * }} DagCompilerOutput
@@ -38,7 +44,7 @@ export class DagCompiler {
38
44
  /**
39
45
  * @private
40
46
  * @readonly
41
- * @type {CastConfig}
47
+ * @type {DagCompilerConfig}
42
48
  */
43
49
  config
44
50
 
@@ -58,11 +64,11 @@ export class DagCompiler {
58
64
 
59
65
  /**
60
66
  * @param {CompilerLib} lib
61
- * @param {CastConfig} castConfig
67
+ * @param {DagCompilerConfig} config
62
68
  */
63
- constructor(lib, castConfig) {
69
+ constructor(lib, config) {
64
70
  this.lib = lib
65
- this.castConfig = castConfig
71
+ this.config = config
66
72
  this.cachedValidators = {}
67
73
  this.cachedUserFuncs = {}
68
74
  }
@@ -168,6 +174,7 @@ export class DagCompiler {
168
174
  Array.from(moduleDeps.values()),
169
175
  {
170
176
  optimize: false,
177
+ debug: this.config.debug,
171
178
  hashDependencies: hashDepHashes,
172
179
  allValidatorHashTypes: hashTypes,
173
180
  allValidatorIndices: validatorIndices ?? undefined,
@@ -177,21 +184,32 @@ export class DagCompiler {
177
184
  parameters: parameters,
178
185
  isTestnet: isTestnet,
179
186
  excludeUserFuncs: excludeUserFuncs,
180
- onCompileUserFunc: (
187
+ onCompileUserFunc: ({
181
188
  name,
182
189
  cborHex,
183
- cborHexAlt,
184
- plutusVersion
185
- ) => {
190
+ plutusVersion,
191
+ ...props
192
+ }) => {
186
193
  console.log(`Compiled user function ${name}`)
187
- let uplc = restoreUplcProgram(plutusVersion, cborHex)
194
+ const ir = props.ir
195
+ let uplc = restoreUplcProgram(plutusVersion, cborHex, {
196
+ ...(ir ? { ir: () => ir } : {})
197
+ })
198
+
199
+ if (props?.alt) {
200
+ const alt = props.alt
201
+ const altIr = alt.ir
188
202
 
189
- if (cborHexAlt) {
190
203
  uplc = uplc.withAlt(
191
204
  /** @type {any} */ (
192
205
  restoreUplcProgram(
193
206
  plutusVersion,
194
- cborHexAlt
207
+ props.alt.cborHex,
208
+ {
209
+ ...(altIr
210
+ ? { ir: () => altIr }
211
+ : {})
212
+ }
195
213
  )
196
214
  )
197
215
  )
@@ -226,6 +244,7 @@ export class DagCompiler {
226
244
  validators.forEach((v) => buildValidatorAltAndUserFuncs(v))
227
245
 
228
246
  return {
247
+ debug: this.config.debug ?? false,
229
248
  validators: this.cachedValidators,
230
249
  userFuncs: this.cachedUserFuncs
231
250
  }
@@ -239,21 +258,21 @@ export class DagCompiler {
239
258
  */
240
259
  addValidatorToCache(validator, program, hash) {
241
260
  const name = validator.$name
242
- const redeemer = configureCast(validator.$Redeemer, this.castConfig)
261
+ const redeemer = configureCast(validator.$Redeemer, this.config)
243
262
 
244
263
  switch (validator.$purpose) {
245
264
  case "spending":
246
265
  this.cachedValidators[name] = new ValidatorHash(hash, {
247
266
  program,
248
267
  redeemer,
249
- datum: configureCast(validator.$Datum, this.castConfig)
268
+ datum: configureCast(validator.$Datum, this.config)
250
269
  })
251
270
  break
252
271
  case "mixed":
253
272
  this.cachedValidators[name] = new ScriptHash(hash, {
254
273
  program,
255
274
  redeemer,
256
- datum: configureCast(validator.$Datum, this.castConfig)
275
+ datum: configureCast(validator.$Datum, this.config)
257
276
  })
258
277
  break
259
278
  case "minting":
@@ -1 +1 @@
1
- {"version":3,"file":"Cast.d.ts","sourceRoot":"","sources":["../../src/cast/Cast.js"],"names":[],"mappings":"AA4gBA;;;;;;GAMG;AACH,kGAHW,UAAU,8BASpB;AArfD;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;GAGG;AACH;IAaI;;;OAGG;IACH,oBAHW,UAAU,UACV,UAAU,EAKpB;IAnBD;;;OAGG;IACH,iBAFU,UAAU,CAEd;IAEN;;;OAGG;IACH,iBAFU,UAAU,CAEd;IAWN;;;OAGG;IACH,mBAHW,QAAQ,GACN,OAAO,CAInB;IAED;;;OAGG;IACH,cAHW,WAAW,GACT,QAAQ,CAIpB;CACJ;uBAhEY,OAAO,mBAAmB,EAAE,QAAQ;yBACpC,OAAO,qBAAqB,EAAE,UAAU;yBAIxC;IACZ,SAAa,EAAE,OAAO,CAAA;CACnB;8DAMkB,UAAU,KAAK,KAAK,OAAO,EAAE,WAAW,CAAC;;;;6CAOlD,KAAK,OAAO,EAAE,WAAW,CAAC,GAAG,iBAAiB,OAAO,EAAE,WAAW,CAAC"}
1
+ {"version":3,"file":"Cast.d.ts","sourceRoot":"","sources":["../../src/cast/Cast.js"],"names":[],"mappings":"AA4gBA;;;;;;GAMG;AACH,8BANa,OAAO,EACP,WAAW,QACb,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,UAC9B,UAAU,GACR,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAQtC;AArfD;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;GAGG;AACH,kBAHa,OAAO,EACP,WAAW;IAepB;;;OAGG;IACH,oBAHW,UAAU,UACV,UAAU,EAKpB;IAnBD;;;OAGG;IACH,iBAFU,UAAU,CAEd;IAEN;;;OAGG;IACH,iBAFU,UAAU,CAEd;IAWN;;;OAGG;IACH,mBAHW,QAAQ,GACN,OAAO,CAInB;IAED;;;OAGG;IACH,cAHW,WAAW,GACT,QAAQ,CAIpB;CACJ;uBAhEY,OAAO,mBAAmB,EAAE,QAAQ;yBACpC,OAAO,qBAAqB,EAAE,UAAU;yBAIxC;IACZ,SAAa,EAAE,OAAO,CAAA;CACnB;6BAIS,OAAO,EACP,WAAW,IACX,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;;;;qBAKlD,OAAO,EACP,WAAW,IACX,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PermissiveType.d.ts","sourceRoot":"","sources":["../../src/cast/PermissiveType.js"],"names":[],"mappings":"qDAKa,OAAO,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;6CAM1D,OAAO,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC"}
1
+ {"version":3,"file":"PermissiveType.d.ts","sourceRoot":"","sources":["../../src/cast/PermissiveType.js"],"names":[],"mappings":"6BAGa,OAAO,EACP,WAAW,IACX,OAAO,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;qBAI1D,OAAO,EACP,WAAW,IACX,OAAO,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;2BAI7B,CAAC,SAArB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAE,IACpB,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,WAAW,CAAC,GAAG,WAAW,GAAG,KAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"StrictType.d.ts","sourceRoot":"","sources":["../../src/cast/StrictType.js"],"names":[],"mappings":"qDAKa,OAAO,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;6CAM1D,OAAO,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC"}
1
+ {"version":3,"file":"StrictType.d.ts","sourceRoot":"","sources":["../../src/cast/StrictType.js"],"names":[],"mappings":"6BAGa,OAAO,EACP,WAAW,IACX,OAAO,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;qBAI1D,OAAO,EACP,WAAW,IACX,OAAO,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;uBAI7B,CAAC,SAArB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAE,IACpB,CAAC,SAAS,QAAQ,CAAC,MAAM,OAAO,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,KAAK"}
@@ -83,5 +83,5 @@ export type UserFuncProps = {
83
83
  validatorIndices?: Record<string, number>;
84
84
  castConfig: CastConfig;
85
85
  };
86
- export type UnsafeArgsT<ArgsT> = { [K in keyof ArgsT]: K extends "$currentScript" ? string : import("@helios-lang/uplc").UplcData; };
86
+ export type UnsafeArgsT<ArgsT> = { [K in keyof ArgsT]: K extends "$currentScript" ? string : UplcData; };
87
87
  //# sourceMappingURL=UserFunc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserFunc.d.ts","sourceRoot":"","sources":["../../src/cast/UserFunc.js"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AAEH;;;GAGG;AACH;;;IAcI;;;OAGG;IACH,kBAHW,WAAW,SACX,aAAa,EAKvB;IApBD;;;OAGG;IACH,eAFU,WAAW,CAEjB;IAEJ;;;;OAIG;IACH,uBAAK;IAWL;;;OAGG;IACH,gBAHW,KAAK,GACH,IAAI,CAoChB;IAED;;;OAGG;IACH,sBAHW,YAAY,KAAK,CAAC,GAChB,QAAQ,CAYpB;IAED;;;OAGG;IACH,mBAHW,YAAY,KAAK,CAAC,GAChB,SAAS,CA0ErB;CACJ;yBA7LY,OAAO,yBAAyB,EAAE,UAAU;wBAC5C,OAAO,mBAAmB,EAAE,SAAS;uBACrC,OAAO,mBAAmB,EAAE,QAAQ;0BACpC,OAAO,mBAAmB,EAAE,WAAW;wBACvC,OAAO,mBAAmB,EAAE,SAAS;yBACrC,OAAO,WAAW,EAAE,UAAU;4BAI9B;IACZ,MAAU,MAAM,CAAA;IAChB,qBAAyB,EAAE,OAAO,CAAA;IAClC,qBAAyB,EAAE,OAAO,CAAA;IAClC,SAAa,EAAE;QACf,MAAY,MAAM,CAAA;QAClB,IAAU,EAAE,UAAU,CAAA;QACtB,UAAgB,EAAE,OAAO,CAAA;KACpB,EAAE,CAAA;IACP,OAAW,EAAE,UAAU,CAAA;IACvB,gBAAoB,CAAC,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7C,UAAc,EAAE,UAAU,CAAA;CACvB"}
1
+ {"version":3,"file":"UserFunc.d.ts","sourceRoot":"","sources":["../../src/cast/UserFunc.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AAEH;;;GAGG;AACH,sBAHwC,KAAK,SAAhC;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1B,IAAI;IAgBb;;;OAGG;IACH,kBAHW,WAAW,SACX,aAAa,EAKvB;IApBD;;;OAGG;IACH,eAFU,WAAW,CAEjB;IAEJ;;;;OAIG;IACH,uBAAK;IAWL;;;OAGG;IACH,gBAHW,KAAK,GACH,IAAI,CAoChB;IAED;;;OAGG;IACH,sBAHW,WAAW,CAAC,KAAK,CAAC,GAChB,QAAQ,CAYpB;IAED;;;OAGG;IACH,mBAHW,WAAW,CAAC,KAAK,CAAC,GAChB,SAAS,CAkFrB;CACJ;yBArMY,OAAO,yBAAyB,EAAE,UAAU;wBAC5C,OAAO,mBAAmB,EAAE,SAAS;uBACrC,OAAO,mBAAmB,EAAE,QAAQ;0BACpC,OAAO,mBAAmB,EAAE,WAAW;wBACvC,OAAO,mBAAmB,EAAE,SAAS;yBACrC,OAAO,WAAW,EAAE,UAAU;4BAI9B;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,qBAAyB,EAAE,OAAO,CAAA;IAClC,qBAAyB,EAAE,OAAO,CAAA;IAClC,SAAa,EAAE;QACf,IAAU,EAAE,MAAM,CAAA;QAClB,IAAU,EAAE,UAAU,CAAA;QACtB,UAAgB,EAAE,OAAO,CAAA;KACpB,EAAE,CAAA;IACP,OAAW,EAAE,UAAU,CAAA;IACvB,gBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7C,UAAc,EAAE,UAAU,CAAA;CACvB;wBAIS,KAAK,IACL,GAAE,CAAgB,IAAX,MAAM,KAAK,GAAG,CAAC,SAAS,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cast/index.js"],"names":[],"mappings":";;;yBAMa,OAAO,WAAW,EAAE,UAAU;qDAM9B,OAAO,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;6CAM1D,OAAO,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;2DAKlD,OAAO,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC;uDAK/C,OAAO,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;qBA5B/B,WAAW"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cast/index.js"],"names":[],"mappings":";;;yBAMa,OAAO,WAAW,EAAE,UAAU;6BAI9B,OAAO,EACP,WAAW,IACX,OAAO,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;qBAI1D,OAAO,EACP,WAAW,IACX,OAAO,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;2BAI7B,CAAC,SAArB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAE,IACpB,OAAO,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC;uBAI1B,CAAC,SAArB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAE,IACpB,OAAO,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;qBA5B/B,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"LoadedModule.d.ts","sourceRoot":"","sources":["../../src/codegen/LoadedModule.js"],"names":[],"mappings":"0BAGa,OAAO,mBAAmB,EAAE,WAAW;yBACvC,OAAO,iBAAiB,EAAE,UAAU;6CAMpC,OAAO,iBAAiB,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;;WAKzD,MAAM;cACH,QAAQ;iBACL,MAAM;mBACJ,cAAc,YAAY,CAAC;;;;;+BAEN,WAAW,UAAU,UAAU;;;yBApB/C,qBAAqB"}
1
+ {"version":3,"file":"LoadedModule.d.ts","sourceRoot":"","sources":["../../src/codegen/LoadedModule.js"],"names":[],"mappings":"0BAGa,OAAO,mBAAmB,EAAE,WAAW;yBACvC,OAAO,iBAAiB,EAAE,UAAU;qBAIpC,OAAO,EACP,WAAW,IACX,OAAO,iBAAiB,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;2BAIxD;IACZ,KAAS,EAAE,MAAM,CAAA;IACjB,QAAY,EAAE,QAAQ,CAAA;IACtB,WAAe,EAAE,MAAM,CAAA;IACvB,aAAiB,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC9C,MAAU,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAAC,CAAA;IAChD,UAAc,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,uBAAkB,CAAA;KAAC,CAAA;CACvF;yBArBqB,qBAAqB"}
@@ -18,14 +18,14 @@ export class LoadedScriptsWriter {
18
18
  * @returns {LoadedScriptsWriter}
19
19
  */
20
20
  writeModules(ms: {
21
- [name: string]: import("./TypeCheckedModule.js").TypeCheckedModule;
21
+ [name: string]: TypeCheckedModule;
22
22
  }): LoadedScriptsWriter;
23
23
  /**
24
24
  * @param {{[name: string]: TypeCheckedValidator}} validators
25
25
  * @returns {LoadedScriptsWriter}
26
26
  */
27
27
  writeValidators(validators: {
28
- [name: string]: import("./TypeCheckedValidator.js").TypeCheckedValidator;
28
+ [name: string]: TypeCheckedValidator;
29
29
  }): LoadedScriptsWriter;
30
30
  /**
31
31
  * @returns {[string, string, string]}
@@ -1 +1 @@
1
- {"version":3,"file":"LoadedScriptsWriter.d.ts","sourceRoot":"","sources":["../../src/codegen/LoadedScriptsWriter.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH;IAUI;;;OAGG;IACH,gBAFa,mBAAmB,CAQ/B;IAfG,yBAAoC;IACpC,0BAAqC;IACrC,uBAAkC;IAetC;;;OAGG;IACH;;QAFa,mBAAmB,CAgC/B;IAED;;;OAGG;IACH;;QAFa,mBAAmB,CAoC/B;IAED;;OAEG;IACH,YAFa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQpC;IAED;;;;;OAKG;IACH,cAKC;IAED;;;;;OAKG;IACH,sBALW,MAAM,YACN,MAAM,eACN,MAAM,EAAE,GACN,mBAAmB,CAmB/B;IAED;;;;OAIG;IACH,kBAJW,MAAM,kBACN,MAAM,EAAE,GACN,mBAAmB,CAQ/B;IAED;;OAEG;IACH,qBAgCC;IAED;;OAEG;IACH,kBAFW,OAAO,MAAM,EAAE,UAAU,CAAC,QAyBpC;IAED;;OAEG;IACH,0BAFW,OAAO,MAAM,EAAE,mBAAmB,CAAC,QA2B7C;IAED;;;OAGG;IACH,oBA6BC;IAED;;;OAGG;IACH,uBAqDC;IAED;;OAEG;IACH,kCAFW,OAAO,MAAM,EAAE,oBAAoB,CAAC,QAuB9C;CACJ;gCA5XY,OAAO,wBAAwB,EAAE,iBAAiB;kCAClD,OAAO,wBAAwB,EAAE,mBAAmB;mCACpD,OAAO,2BAA2B,EAAE,oBAAoB;yBACxD,OAAO,iBAAiB,EAAE,UAAU;6BARpB,0BAA0B"}
1
+ {"version":3,"file":"LoadedScriptsWriter.d.ts","sourceRoot":"","sources":["../../src/codegen/LoadedScriptsWriter.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH;IAUI;;;OAGG;IACH,gBAFa,mBAAmB,CAQ/B;IAfG,yBAAoC;IACpC,0BAAqC;IACrC,uBAAkC;IAetC;;;OAGG;IACH,iBAHW;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAA;KAAC,GACjC,mBAAmB,CAgC/B;IAED;;;OAGG;IACH,4BAHW;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAC,GACpC,mBAAmB,CAoC/B;IAED;;OAEG;IACH,YAFa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQpC;IAED;;;;;OAKG;IACH,cAKC;IAED;;;;;OAKG;IACH,sBALW,MAAM,YACN,MAAM,eACN,MAAM,EAAE,GACN,mBAAmB,CAmB/B;IAED;;;;OAIG;IACH,kBAJW,MAAM,kBACN,MAAM,EAAE,GACN,mBAAmB,CAQ/B;IAED;;OAEG;IACH,qBAgCC;IAED;;OAEG;IACH,kBAFW,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,QAyBpC;IAED;;OAEG;IACH,0BAFW,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,QA2B7C;IAED;;;OAGG;IACH,oBA6BC;IAED;;;OAGG;IACH,uBAqDC;IAED;;OAEG;IACH,kCAFW,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAuB9C;CACJ;gCA5XY,OAAO,wBAAwB,EAAE,iBAAiB;kCAClD,OAAO,wBAAwB,EAAE,mBAAmB;mCACpD,OAAO,2BAA2B,EAAE,oBAAoB;yBACxD,OAAO,iBAAiB,EAAE,UAAU;6BARpB,0BAA0B"}
@@ -10,7 +10,7 @@ export type LoadedValidator = {
10
10
  $sourceCode: string;
11
11
  $dependencies: ReadonlyArray<LoadedModule>;
12
12
  $hashDependencies: ReadonlyArray<LoadedValidator>;
13
- $currentScriptIndex?: number | undefined;
13
+ $currentScriptIndex?: number;
14
14
  $dependsOnOwnHash: boolean;
15
15
  $types: {
16
16
  [name: string]: CastLike<any, any>;
@@ -28,13 +28,11 @@ export type LoadedValidator = {
28
28
  export type NamedDependencyToObject<N extends {
29
29
  $name: string;
30
30
  }> = { [name in N["$name"]]: Extract<N, {
31
- $name: name;
31
+ "$name": name;
32
32
  }>; };
33
- export type NamedDependenciesToObject<N extends readonly {
33
+ export type NamedDependenciesToObject<N extends ReadonlyArray<{
34
34
  $name: string;
35
- }[]> = { [name in (N extends readonly (infer M)[] ? M : never)["$name"]]: Extract<N extends readonly (infer M)[] ? M : never, {
36
- $name: name;
37
- }>; };
35
+ }>> = NamedDependencyToObject<N extends ReadonlyArray<infer M> ? M : never>;
38
36
  export type ExtractDependencies<V extends LoadedValidator> = NamedDependenciesToObject<V["$dependencies"]>;
39
37
  import { UserFunc } from "../cast/UserFunc.js";
40
38
  //# sourceMappingURL=LoadedValidator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadedValidator.d.ts","sourceRoot":"","sources":["../../src/codegen/LoadedValidator.js"],"names":[],"mappings":"6CAKa,OAAO,iBAAiB,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;0BAIxD,OAAO,mBAAmB,EAAE,WAAW;yBACvC,OAAO,iBAAiB,EAAE,UAAU;2BACpC,OAAO,mBAAmB,EAAE,YAAY;;;;;WAMzC,MAAM;iBACA,MAAM;mBACJ,cAAc,YAAY,CAAC;uBACvB,cAAc,eAAe,CAAC;;uBAE9B,OAAO;;;;;+BAEU,WAAW,UAAU,UAAU;;eACxD,SAAS,GAAG,EAAE,GAAG,CAAC;;cAGjB,UAAU,GAAG,OAAO;YACtB,SAAS,GAAG,EAAE,GAAG,CAAC;;cAEhB,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS;;;WAM7C,MAAM;;;;;WAOQ,MAAM;;;;6DAM7B,0BAA0B,CAAC,CAAC,eAAe,CAAC,CAAC;yBAlDjC,qBAAqB"}
1
+ {"version":3,"file":"LoadedValidator.d.ts","sourceRoot":"","sources":["../../src/codegen/LoadedValidator.js"],"names":[],"mappings":"qBAGa,OAAO,EACP,WAAW,IACX,OAAO,iBAAiB,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;0BAIxD,OAAO,mBAAmB,EAAE,WAAW;yBACvC,OAAO,iBAAiB,EAAE,UAAU;2BACpC,OAAO,mBAAmB,EAAE,YAAY;;;;8BAKxC;IACZ,KAAS,EAAE,MAAM,CAAA;IACjB,WAAe,EAAE,MAAM,CAAA;IACvB,aAAiB,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC9C,iBAAqB,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;IACrD,mBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,iBAAqB,EAAE,OAAO,CAAA;IAC9B,MAAU,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAAC,CAAA;IAChD,UAAc,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,uBAAkB,CAAA;KAAC,CAAA;IAC1F,SAAa,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAC9B,GAAG,CACN;IACA,QAAc,EAAE,UAAU,GAAG,OAAO,CAAA;IACpC,MAAY,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAC3B,GAAG;IACR,QAAc,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAA;CAC7D,CACF;oCAI2B,CAAC,SAAnB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,IACjB,GACP,IAAkB,IAAV,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE;IAAC,OAAO,EAAE,IAAI,CAAA;CAAC,CAAC,GAClD;sCAI0C,CAAC,SAAjC,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAE,IAChC,uBAAuB,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gCAInD,CAAC,SAAlB,eAAgB,IACjB,yBAAyB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;yBAlDjC,qBAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TypeCheckedModule.d.ts","sourceRoot":"","sources":["../../src/codegen/TypeCheckedModule.js"],"names":[],"mappings":"yBAGa,OAAO,iBAAiB,EAAE,UAAU;kCAIpC;IACZ,MAAU,MAAM,CAAA;IAChB,qBAAyB,EAAE,OAAO,CAAA;IAClC,qBAAyB,EAAE,OAAO,CAAA;IAClC,SAAa,EAAE;QACf,MAAY,MAAM,CAAA;QAClB,IAAU,EAAE,UAAU,CAAA;QACtB,UAAgB,EAAE,OAAO,CAAA;KACpB,EAAE,CAAA;IACP,OAAW,EAAE,UAAU,CAAA;CACpB;gCAIS;IACZ,MAAU,MAAM,CAAA;IAChB,OAAW,EAAE,MAAM,CAAA;IACnB,UAAc,EAAE,MAAM,CAAA;IACtB,iBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,KAAS,EAAE,OAAO,MAAM,EAAE,UAAU,CAAC,CAAA;IACrC,SAAa,CAAC,EAAE,OAAO,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAChD"}
1
+ {"version":3,"file":"TypeCheckedModule.d.ts","sourceRoot":"","sources":["../../src/codegen/TypeCheckedModule.js"],"names":[],"mappings":"yBAGa,OAAO,iBAAiB,EAAE,UAAU;kCAIpC;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,qBAAyB,EAAE,OAAO,CAAA;IAClC,qBAAyB,EAAE,OAAO,CAAA;IAClC,SAAa,EAAE;QACf,IAAU,EAAE,MAAM,CAAA;QAClB,IAAU,EAAE,UAAU,CAAA;QACtB,UAAgB,EAAE,OAAO,CAAA;KACpB,EAAE,CAAA;IACP,OAAW,EAAE,UAAU,CAAA;CACpB;gCAIS;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,OAAW,EAAE,MAAM,CAAA;IACnB,UAAc,EAAE,MAAM,CAAA;IACtB,iBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,KAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACrC,SAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAChD"}
@@ -9,6 +9,7 @@
9
9
  * @typedef {any} ScriptHashType
10
10
  */
11
11
  /**
12
+ * if `debug` is true, the ir is included in the user functions where possible
12
13
  * @typedef {{
13
14
  * allValidatorHashTypes: Record<string, ScriptHashType>
14
15
  * allValidatorIndices?: Record<string, number>
@@ -18,8 +19,18 @@
18
19
  * parameters?: Record<string, UplcData>
19
20
  * isTestnet: boolean
20
21
  * optimize: boolean
22
+ * debug?: boolean
21
23
  * excludeUserFuncs?: Set<string>
22
- * onCompileUserFunc?: (name: string, cborHex: string, altCborHex: Option<string>, plutusVersion: PlutusVersion) => void
24
+ * onCompileUserFunc?: (props: {
25
+ * name: string,
26
+ * cborHex: string,
27
+ * plutusVersion: PlutusVersion,
28
+ * ir?: string,
29
+ * alt?: {
30
+ * cborHex: string,
31
+ * ir?: string
32
+ * }
33
+ * }) => void
23
34
  * }} CompileOptions
24
35
  */
25
36
  /**
@@ -61,7 +72,7 @@
61
72
  * @returns {{[name: string]: ScriptHashType}}
62
73
  */
63
74
  export function getValidatorTypes(lib: CompilerLib, validators: string[]): {
64
- [name: string]: any;
75
+ [name: string]: ScriptHashType;
65
76
  };
66
77
  export type PlutusVersion = import("@helios-lang/uplc").PlutusVersion;
67
78
  export type UplcData = import("@helios-lang/uplc").UplcData;
@@ -69,17 +80,30 @@ export type InternalTypeDetails = import("../codegen/index.js").TypeSchema;
69
80
  export type TypeCheckedModule = import("../codegen/index.js").TypeCheckedModule;
70
81
  export type TypeCheckedValidator = import("../codegen/index.js").TypeCheckedValidator;
71
82
  export type ScriptHashType = any;
83
+ /**
84
+ * if `debug` is true, the ir is included in the user functions where possible
85
+ */
72
86
  export type CompileOptions = {
73
87
  allValidatorHashTypes: Record<string, ScriptHashType>;
74
- allValidatorIndices?: Record<string, number> | undefined;
88
+ allValidatorIndices?: Record<string, number>;
75
89
  hashDependencies: Record<string, string>;
76
- dependsOnOwnHash?: boolean | undefined;
77
- ownHash?: string | undefined;
78
- parameters?: Record<string, import("@helios-lang/uplc").UplcData> | undefined;
90
+ dependsOnOwnHash?: boolean;
91
+ ownHash?: string;
92
+ parameters?: Record<string, UplcData>;
79
93
  isTestnet: boolean;
80
94
  optimize: boolean;
81
- excludeUserFuncs?: Set<string> | undefined;
82
- onCompileUserFunc?: ((name: string, cborHex: string, altCborHex: Option<string>, plutusVersion: PlutusVersion) => void) | undefined;
95
+ debug?: boolean;
96
+ excludeUserFuncs?: Set<string>;
97
+ onCompileUserFunc?: (props: {
98
+ name: string;
99
+ cborHex: string;
100
+ plutusVersion: PlutusVersion;
101
+ ir?: string;
102
+ alt?: {
103
+ cborHex: string;
104
+ ir?: string;
105
+ };
106
+ }) => void;
83
107
  };
84
108
  export type CompileOutput = {
85
109
  cborHex: string;
@@ -87,10 +111,10 @@ export type CompileOutput = {
87
111
  };
88
112
  export type TypeCheckOutput = {
89
113
  modules: {
90
- [name: string]: import("../codegen/TypeCheckedModule.js").TypeCheckedModule;
114
+ [name: string]: TypeCheckedModule;
91
115
  };
92
116
  validators: {
93
- [name: string]: import("../codegen/TypeCheckedValidator.js").TypeCheckedValidator;
117
+ [name: string]: TypeCheckedValidator;
94
118
  };
95
119
  };
96
120
  export type SourceDetails = {
@@ -101,14 +125,14 @@ export type SourceDetails = {
101
125
  export type CompilerLib = {
102
126
  version: string;
103
127
  getScriptHashType: (purpose: string) => ScriptHashType;
104
- typeCheck: (validators: string[], modules: string[]) => {
128
+ typeCheck: (validators: string[], modules: string[]) => ({
105
129
  modules: {
106
- [name: string]: import("../codegen/TypeCheckedModule.js").TypeCheckedModule;
130
+ [name: string]: TypeCheckedModule;
107
131
  };
108
132
  validators: {
109
- [name: string]: import("../codegen/TypeCheckedValidator.js").TypeCheckedValidator;
133
+ [name: string]: TypeCheckedValidator;
110
134
  };
111
- };
135
+ });
112
136
  compile: (main: string, modules: string[], options: CompileOptions) => CompileOutput;
113
137
  };
114
138
  export type DagDependencies = Record<string, string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"CompilerLib.d.ts","sourceRoot":"","sources":["../../src/compiler/CompilerLib.js"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH;;GAEG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;GAKG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AAEH;;GAEG;AAEH;;;;GAIG;AACH,uCAJW,WAAW,cACX,MAAM,EAAE;;EAUlB;4BA5EY,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;;2BAKY,OAAO,MAAM,EAAE,cAAc,CAAC;;sBAEnC,OAAO,MAAM,EAAE,MAAM,CAAC;;;;eAI7B,OAAO;cACR,OAAO;;gCAEU,MAAM,WAAW,MAAM,cAAc,OAAO,MAAM,CAAC,iBAAiB,aAAa,KAAK,IAAI;;4BAK7G;IACZ,OAAW,EAAE,MAAM,CAAA;IACnB,aAAiB,EAAE,aAAa,CAAA;CAC7B;;;;;;;;;4BAWS;IACZ,MAAU,MAAM,CAAA;IAChB,OAAW,EAAE,MAAM,CAAA;IACnB,UAAc,EAAE,MAAM,CAAA;CACnB;;aAKU,MAAM;iCACc,MAAM,KAAK,cAAc;4BAC9B,MAAM,EAAE,WAAW,MAAM,EAAE;;;;;;;;oBAInC,MAAM,WAAW,MAAM,EAAE,WAAW,cAAc,KAAK,aAAa;;8BAK5E,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"CompilerLib.d.ts","sourceRoot":"","sources":["../../src/compiler/CompilerLib.js"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;GAKG;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;4BAvFY,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;CAC7B;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"}
@@ -250,7 +250,7 @@ export type Program = {
250
250
  mainArgTypes: DataType[];
251
251
  throwErrors(): any;
252
252
  evalTypes(validatorTypes: {
253
- [name: string]: any;
253
+ [name: string]: ScriptHashType;
254
254
  }): TopScope;
255
255
  };
256
256
  export type TopScope = {
@@ -1 +1 @@
1
- {"version":3,"file":"CompilerLib_v0_16.d.ts","sourceRoot":"","sources":["../../src/compiler/CompilerLib_v0_16.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CompilerLib_v0_16.d.ts","sourceRoot":"","sources":["../../src/compiler/CompilerLib_v0_16.js"],"names":[],"mappings":"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"}
@@ -70,12 +70,12 @@ export type Program = {
70
70
  currentScriptIndex: Option<number>;
71
71
  changeParam(key: string, value: UplcData): void;
72
72
  compile(options: {
73
- optimize?: boolean | undefined;
74
- dependsOnOwnHash?: boolean | undefined;
75
- hashDependencies?: Record<string, string> | undefined;
76
- validatorIndices?: Record<string, number> | undefined;
77
- excludeUserFuncs?: Set<string> | undefined;
78
- onCompileUserFunc?: ((name: string, uplc: UplcProgramV2I) => void) | undefined;
73
+ optimize?: boolean;
74
+ dependsOnOwnHash?: boolean;
75
+ hashDependencies?: Record<string, string>;
76
+ validatorIndices?: Record<string, number>;
77
+ excludeUserFuncs?: Set<string>;
78
+ onCompileUserFunc?: (name: string, uplc: UplcProgramV2I) => void;
79
79
  }): UplcProgramV2;
80
80
  };
81
81
  import { UplcProgramV2 } from "@helios-lang/uplc";
@@ -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;IAOI;;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,CA2DzB;IAED;;;;OAIG;IACH,4BAJW,MAAM,EAAE,iBACR,MAAM,EAAE,GACN,eAAe,CAM3B;CACJ;uBAtIY,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;;UAK5C,MAAM;wBACQ,OAAO,MAAM,CAAC;qBACjB,MAAM,SAAS,QAAQ,GAAG,IAAI;;;;;;;oCAOlB,MAAM,QAAQ,cAAc,KAAK,IAAI;QAC9D,aAAa;;8BAxBQ,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,CA6EzB;IAED;;;;OAIG;IACH,4BAJW,MAAM,EAAE,iBACR,MAAM,EAAE,GACN,eAAe,CAM3B;CACJ;uBAxJY,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 +1 @@
1
- {"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/compiler/ops.js"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,mCAFa,WAAW,CAkBvB;AAED;;;;;;GAMG;AACH,oCALW,WAAW;;uBAED,MAAM,OAAO,MAAM,KAAK,MAAM,GACtC,eAAe,CAM3B;AAED;;;;GAIG;AACH,sCAJW,WAAW,WACX,MAAM,EAAE,GACN,eAAe,CAM3B;0BAzDY,OAAO,kBAAkB,EAAE,WAAW;8BAEtC,OAAO,kBAAkB,EAAE,eAAe"}
1
+ {"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/compiler/ops.js"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,mCAFa,WAAW,CAkBvB;AAED;;;;;;GAMG;AACH,oCALW,WAAW,SACX;IAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,YACxB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,GACtC,eAAe,CAM3B;AAED;;;;GAIG;AACH,sCAJW,WAAW,WACX,MAAM,EAAE,GACN,eAAe,CAM3B;0BAzDY,OAAO,kBAAkB,EAAE,WAAW;8BAEtC,OAAO,kBAAkB,EAAE,eAAe"}
@@ -9,7 +9,7 @@ export type CastLike<TStrict, TPermissive> = import("../cast/index.js").CastLike
9
9
  export type PermissiveType<C extends CastLike<any, any>> = import("../cast/index.js").PermissiveType<C>;
10
10
  export type StrictType<C extends CastLike<any, any>> = import("../cast/index.js").StrictType<C>;
11
11
  export type AnyContractValidatorContext = (ValidatorHash<SpendingContext<any, any, any, any>> | MintingPolicyHash<MintingContext<any, any>> | StakingValidatorHash<StakingContext<any, any>> | ScriptHash);
12
- export type ContractValidatorContexts<V extends import("../codegen/LoadedValidator.js").LoadedValidator> = V extends {
12
+ export type ContractValidatorContexts<V extends LoadedValidator> = V extends {
13
13
  "$purpose": "spending";
14
14
  "$Datum": CastLike<any, any>;
15
15
  "$Redeemer": CastLike<any, any>;
@@ -32,18 +32,18 @@ export type ContractValidatorContexts<V extends import("../codegen/LoadedValidat
32
32
  } ? {
33
33
  $hash: ScriptHash<SpendingContext<StrictType<V["$Datum"]>, PermissiveType<V["$Datum"]>, StrictType<V["$Redeemer"]>, PermissiveType<V["$Redeemer"]>>>;
34
34
  } & ContractTypesContext<V["$types"]> & ContractUserFuncsContext<V["$functions"]> : never;
35
- export type ContractModuleContexts<V extends import("../codegen/LoadedModule.js").LoadedModule> = ContractTypesContext<V["$types"]> & ContractUserFuncsContext<V["$functions"]>;
35
+ export type ContractModuleContexts<V extends LoadedModule> = ContractTypesContext<V["$types"]> & ContractUserFuncsContext<V["$functions"]>;
36
36
  export type ContractTypesContext<T extends {
37
37
  [typeName: string]: CastLike<any, any>;
38
- }> = { [K in keyof T]: Cast<import("../cast/StrictType.js").StrictType<T[K]>, import("../cast/PermissiveType.js").PermissiveType<T[K]>>; };
38
+ }> = { [K in keyof T]: Cast<StrictType<T[K]>, PermissiveType<T[K]>>; };
39
39
  export type ContractUserFuncsContext<T extends {
40
40
  [funcName: string]: (uplc: UplcProgram, config: CastConfig) => UserFunc<any, any>;
41
41
  }> = { [K in keyof T]: ReturnType<T[K]>; };
42
42
  export type ContractContext<Vs extends {
43
- [name: string]: import("../codegen/LoadedValidator.js").LoadedValidator;
43
+ [name: string]: LoadedValidator;
44
44
  }, Ms extends {
45
- [name: string]: import("../codegen/LoadedModule.js").LoadedModule;
46
- }> = { [K in keyof Vs]: ContractValidatorContexts<Vs[K]>; } & { [K_1 in keyof Ms]: ContractModuleContexts<Ms[K_1]>; };
45
+ [name: string]: LoadedModule;
46
+ }> = { [K in keyof Vs]: ContractValidatorContexts<Vs[K]>; } & { [K in keyof Ms]: ContractModuleContexts<Ms[K]>; };
47
47
  import { ValidatorHash } from "@helios-lang/ledger";
48
48
  import { MintingPolicyHash } from "@helios-lang/ledger";
49
49
  import { StakingValidatorHash } from "@helios-lang/ledger";
@@ -1 +1 @@
1
- {"version":3,"file":"ContractContext.d.ts","sourceRoot":"","sources":["../../src/context/ContractContext.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContractContext.d.ts","sourceRoot":"","sources":["../../src/context/ContractContext.js"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@
19
19
  * expectedHashes?: {[name: string]: string}
20
20
  * parameters?: Record<string, any>
21
21
  * dumpHashes?: boolean
22
+ * debug?: boolean
22
23
  * }} ContractContextBuildProps
23
24
  */
24
25
  /**
@@ -26,9 +27,9 @@
26
27
  * @template {{[name: string]: LoadedModule}} Ms
27
28
  */
28
29
  export class ContractContextBuilder<Vs extends {
29
- [name: string]: import("./DagCompiler.js").LoadedValidator;
30
+ [name: string]: LoadedValidator;
30
31
  }, Ms extends {
31
- [name: string]: import("./ContractContext.js").LoadedModule;
32
+ [name: string]: LoadedModule;
32
33
  }> {
33
34
  /**
34
35
  * @returns {ContractContextBuilder<{}, {}>}
@@ -59,7 +60,7 @@ export class ContractContextBuilder<Vs extends {
59
60
  * Ms & ExtractDependencies<V>
60
61
  * >}
61
62
  */
62
- with<V extends import("./DagCompiler.js").LoadedValidator>(validator: V): ContractContextBuilder<Vs & { [K in V["$name"]]: V; }, Ms & ExtractDependencies<V>>;
63
+ with<V extends LoadedValidator>(validator: V): ContractContextBuilder<Vs & { [K in V["$name"]]: V; }, Ms & ExtractDependencies<V>>;
63
64
  /**
64
65
  * @template {LoadedModule} M
65
66
  * @param {M} m
@@ -68,7 +69,7 @@ export class ContractContextBuilder<Vs extends {
68
69
  * Ms & {[K in M["$name"]]: M}
69
70
  * >}
70
71
  */
71
- withModule<M extends import("./ContractContext.js").LoadedModule>(m: M): ContractContextBuilder<Vs, Ms & { [K_1 in M["$name"]]: M; }>;
72
+ withModule<M extends LoadedModule>(m: M): ContractContextBuilder<Vs, Ms & { [K in M["$name"]]: M; }>;
72
73
  /**
73
74
  * @param {ContractContextBuildProps} props
74
75
  * @returns {ContractContext<Vs, Ms>}
@@ -79,18 +80,19 @@ export type CastConfig = import("../cast/index.js").CastConfig;
79
80
  export type LoadedModule = import("../codegen/LoadedModule.js").LoadedModule;
80
81
  export type LoadedValidator = import("../codegen/LoadedValidator.js").LoadedValidator;
81
82
  export type CompilerLib = import("../compiler/index.js").CompilerLib;
82
- export type ExtractDependencies<V extends import("./DagCompiler.js").LoadedValidator> = import("../codegen/LoadedValidator.js").ExtractDependencies<V>;
83
+ export type ExtractDependencies<V extends LoadedValidator> = import("../codegen/LoadedValidator.js").ExtractDependencies<V>;
83
84
  export type ContractContext<Vs extends {
84
- [name: string]: import("./DagCompiler.js").LoadedValidator;
85
+ [name: string]: LoadedValidator;
85
86
  }, Ms extends {
86
- [name: string]: import("./ContractContext.js").LoadedModule;
87
+ [name: string]: LoadedModule;
87
88
  }> = import("./ContractContext.js").ContractContext<Vs, Ms>;
88
89
  export type ContractContextBuildProps = {
89
90
  isMainnet: boolean;
90
91
  expectedHashes?: {
91
92
  [name: string]: string;
92
- } | undefined;
93
- parameters?: Record<string, any> | undefined;
94
- dumpHashes?: boolean | undefined;
93
+ };
94
+ parameters?: Record<string, any>;
95
+ dumpHashes?: boolean;
96
+ debug?: boolean;
95
97
  };
96
98
  //# sourceMappingURL=ContractContextBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContractContextBuilder.d.ts","sourceRoot":"","sources":["../../src/context/ContractContextBuilder.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;;;;;GAOG;AAEH;;;GAGG;AACH;;;;;IAwBI;;OAEG;IACH,gBAFa,uBAAuB,EAAE,EAAE,EAAE,CAAC,CAI1C;IAfD;;;;OAIG;IACH,sBAGC;IArBD;;;;OAIG;IACH,4BAAU;IAEV;;;OAGG;IACH,kBAFU,EAAE,CAEL;IAmBP;;;;;;;OAOG;IACH,8JAaC;IAED;;;;;;;OAOG;IACH,sIAQC;IAED;;;OAGG;IACH,aAHW,yBAAyB,GACvB,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAyFnC;CACJ;yBAlMY,OAAO,kBAAkB,EAAE,UAAU;2BACrC,OAAO,4BAA4B,EAAE,YAAY;8BACjD,OAAO,+BAA+B,EAAE,eAAe;0BACvD,OAAO,sBAAsB,EAAE,WAAW;wFAK1C,OAAO,+BAA+B,EAAE,mBAAmB,CAAC,CAAC,CAAC;;;;;KAM9D,OAAO,sBAAsB,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC;;eAKnD,OAAO"}
1
+ {"version":3,"file":"ContractContextBuilder.d.ts","sourceRoot":"","sources":["../../src/context/ContractContextBuilder.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;;;;;;GAQG;AAEH;;;GAGG;AACH,oCAHiD,EAAE,SAAtC;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,EACF,EAAE,SAAnC;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE;IA0BzC;;OAEG;IACH,gBAFa,sBAAsB,CAAC,EAAE,EAAE,EAAE,CAAC,CAI1C;IAfD;;;;OAIG;IACH,sBAGC;IArBD;;;;OAIG;IACH,4BAAU;IAEV;;;OAGG;IACH,kBAFU,EAAE,CAEL;IAmBP;;;;;;;OAOG;IACH,KAP+B,CAAC,SAAlB,eAAgB,aACnB,CAAC,GACC,sBAAsB,CAC9B,EAAE,GAAG,GAAE,CAAe,IAAV,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAC,EAC3B,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAC5B,CAeH;IAED;;;;;;;OAOG;IACH,WAP4B,CAAC,SAAf,YAAa,KAChB,CAAC,GACC,sBAAsB,CAC9B,EAAE,EACF,EAAE,GAAG,GAAE,CAAe,IAAV,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAC,CAC5B,CAUH;IAED;;;OAGG;IACH,aAHW,yBAAyB,GACvB,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CA0FnC;CACJ;yBApMY,OAAO,kBAAkB,EAAE,UAAU;2BACrC,OAAO,4BAA4B,EAAE,YAAY;8BACjD,OAAO,+BAA+B,EAAE,eAAe;0BACvD,OAAO,sBAAsB,EAAE,WAAW;gCAIxB,CAAC,SAAlB,eAAgB,IACjB,OAAO,+BAA+B,EAAE,mBAAmB,CAAC,CAAC,CAAC;4BAI1B,EAAE,SAAtC;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,EACF,EAAE,SAAnC;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,IAChC,OAAO,sBAAsB,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC;wCAItD;IACZ,SAAa,EAAE,OAAO,CAAA;IACtB,cAAkB,CAAC,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAA;IAC7C,UAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpC,UAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAS,CAAC,EAAE,OAAO,CAAA;CAChB"}
@@ -5,33 +5,37 @@ export type CastConfig = import("../cast/index.js").CastConfig;
5
5
  export type TypeSchema = import("../codegen/index.js").TypeSchema;
6
6
  export type AnyContractValidatorContext = import("./ContractContext.js").AnyContractValidatorContext;
7
7
  export type CacheEntry = {
8
+ debug?: boolean;
8
9
  validators: {
9
- [name: string]: import("./ContractContext.js").AnyContractValidatorContext;
10
+ [name: string]: AnyContractValidatorContext;
10
11
  };
11
12
  userFuncs: {
12
- [name: string]: import("@helios-lang/uplc").UplcProgram;
13
+ [name: string]: UplcProgram;
13
14
  };
14
15
  };
15
16
  export type CacheEntryValidatorsJson = {
16
17
  [name: string]: {
17
18
  purpose: "minting" | "spending" | "staking" | "mixed";
18
19
  bytes: number[];
19
- unoptimizedCborHex?: string | undefined;
20
+ unoptimizedCborHex?: string;
20
21
  optimizedCborHex: string;
21
22
  plutusVersion: PlutusVersion;
22
23
  castConfig: CastConfig;
23
- datum?: import("@helios-lang/type-utils").TypeSchema | undefined;
24
+ datum?: TypeSchema;
24
25
  redeemer: TypeSchema;
25
26
  };
26
27
  };
27
28
  export type CacheEntryUserFuncsJson = {
28
29
  [name: string]: {
29
- unoptimizedCborHex?: string | undefined;
30
+ unoptimizedCborHex?: string;
31
+ unoptimizedIr?: string;
30
32
  optimizedCborHex: string;
33
+ optimizedIr?: string;
31
34
  plutusVersion: PlutusVersion;
32
35
  };
33
36
  };
34
37
  export type CacheEntryJson = {
38
+ debug?: boolean;
35
39
  validators: CacheEntryValidatorsJson;
36
40
  userFuncs: CacheEntryUserFuncsJson;
37
41
  };
@@ -44,6 +48,7 @@ export type CacheEntryJson = {
44
48
  */
45
49
  /**
46
50
  * @typedef {{
51
+ * debug?: boolean
47
52
  * validators: {[name: string]: AnyContractValidatorContext}
48
53
  * userFuncs: {[name: string]: UplcProgram}
49
54
  * }} CacheEntry
@@ -63,12 +68,15 @@ export type CacheEntryJson = {
63
68
  /**
64
69
  * @typedef {{[name: string]: {
65
70
  * unoptimizedCborHex?: string
71
+ * unoptimizedIr?: string
66
72
  * optimizedCborHex: string
73
+ * optimizedIr?: string
67
74
  * plutusVersion: PlutusVersion
68
75
  * }}} CacheEntryUserFuncsJson
69
76
  */
70
77
  /**
71
78
  * @typedef {{
79
+ * debug?: boolean
72
80
  * validators: CacheEntryValidatorsJson
73
81
  * userFuncs: CacheEntryUserFuncsJson
74
82
  * }} CacheEntryJson
@@ -1 +1 @@
1
- {"version":3,"file":"ContractContextCache.d.ts","sourceRoot":"","sources":["../../src/context/ContractContextCache.js"],"names":[],"mappings":"AA8TA,wDAA8D;4BAjTjD,OAAO,mBAAmB,EAAE,aAAa;0BACzC,OAAO,mBAAmB,EAAE,WAAW;yBACvC,OAAO,kBAAkB,EAAE,UAAU;yBACrC,OAAO,qBAAqB,EAAE,UAAU;0CACxC,OAAO,sBAAsB,EAAE,2BAA2B;;;;;;;;;;;iBAYvD,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO;eAC9C,MAAM,EAAE;;0BAEG,MAAM;uBACT,aAAa;oBAChB,UAAU;;kBAEZ,UAAU;;;;;;0BAOJ,MAAM;uBACT,aAAa;;;6BAKpB;IACZ,UAAc,EAAE,wBAAwB,CAAA;IACxC,SAAa,EAAE,uBAAuB,CAAA;CACnC;AAxCJ;;;;;;GAMG;AAEH;;;;;GAKG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;GAMG;AAEH;;;;;GAKG;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,QAoH1B;IAED;;OAEG;IACH,aAFW,UAAU,QAMpB;IAED;;OAEG;IACH,SAFa,OAAO,UAAU,CAAC,CAY9B;IAED;;OAEG;IACH,UAFY,cAAc,EAAE,CAyF3B;CACJ"}
1
+ {"version":3,"file":"ContractContextCache.d.ts","sourceRoot":"","sources":["../../src/context/ContractContextCache.js"],"names":[],"mappings":"AA6VA,wDAA8D;4BAhVjD,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,gBAAsB,EAAE,MAAM,CAAA;QAC9B,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;AA5CJ;;;;;;GAMG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;;GAWG;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,QA2I1B;IAED;;OAEG;IACH,aAFW,UAAU,QAMpB;IAED;;OAEG;IACH,SAFa,MAAM,CAAC,UAAU,CAAC,CAY9B;IAED;;OAEG;IACH,UAFY,cAAc,EAAE,CA6F3B;CACJ"}
@@ -10,8 +10,14 @@ export function getModuleDependencies(validator: LoadedValidator): string[];
10
10
  * @typedef {import("../compiler/index.js").CompilerLib} CompilerLib
11
11
  * @typedef {import("./ContractContext.js").AnyContractValidatorContext} AnyContractValidatorContext
12
12
  */
13
+ /**
14
+ * @typedef {CastConfig & {
15
+ * debug?: boolean
16
+ * }} DagCompilerConfig
17
+ */
13
18
  /**
14
19
  * @typedef {{
20
+ * debug?: boolean
15
21
  * validators: {[name: string]: AnyContractValidatorContext}
16
22
  * userFuncs: {[name: string]: UplcProgram}
17
23
  * }} DagCompilerOutput
@@ -22,9 +28,9 @@ export function getModuleDependencies(validator: LoadedValidator): string[];
22
28
  export class DagCompiler {
23
29
  /**
24
30
  * @param {CompilerLib} lib
25
- * @param {CastConfig} castConfig
31
+ * @param {DagCompilerConfig} config
26
32
  */
27
- constructor(lib: CompilerLib, castConfig: CastConfig);
33
+ constructor(lib: CompilerLib, config: DagCompilerConfig);
28
34
  /**
29
35
  * @private
30
36
  * @readonly
@@ -34,7 +40,7 @@ export class DagCompiler {
34
40
  /**
35
41
  * @private
36
42
  * @readonly
37
- * @type {CastConfig}
43
+ * @type {DagCompilerConfig}
38
44
  */
39
45
  private readonly config;
40
46
  /**
@@ -49,7 +55,6 @@ export class DagCompiler {
49
55
  * @type {{[name: string]: UplcProgram}}
50
56
  */
51
57
  private readonly cachedUserFuncs;
52
- castConfig: import("./ContractContext.js").CastConfig;
53
58
  /**
54
59
  * @param {LoadedValidator[]} validators
55
60
  * @param {Record<string, any>} parameters
@@ -94,12 +99,16 @@ export type CastConfig = import("../cast/index.js").CastConfig;
94
99
  export type LoadedValidator = import("../codegen/LoadedValidator.js").LoadedValidator;
95
100
  export type CompilerLib = import("../compiler/index.js").CompilerLib;
96
101
  export type AnyContractValidatorContext = import("./ContractContext.js").AnyContractValidatorContext;
102
+ export type DagCompilerConfig = CastConfig & {
103
+ debug?: boolean;
104
+ };
97
105
  export type DagCompilerOutput = {
106
+ debug?: boolean;
98
107
  validators: {
99
- [name: string]: import("./ContractContext.js").AnyContractValidatorContext;
108
+ [name: string]: AnyContractValidatorContext;
100
109
  };
101
110
  userFuncs: {
102
- [name: string]: import("@helios-lang/uplc").UplcProgram;
111
+ [name: string]: UplcProgram;
103
112
  };
104
113
  };
105
114
  //# sourceMappingURL=DagCompiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DagCompiler.d.ts","sourceRoot":"","sources":["../../src/context/DagCompiler.js"],"names":[],"mappings":"AAiXA;;;GAGG;AACH,iDAHW,eAAe,GACb,MAAM,EAAE,CAsBpB;AA9XD;;;;;;GAMG;AAEH;;;;;GAKG;AAEH;;GAEG;AACH;IA6BI;;;OAGG;IACH,iBAHW,WAAW,cACX,UAAU,EAOpB;IArCD;;;;OAIG;IACH,qBAAG;IAEH;;;;OAIG;IACH,wBAAM;IAEN;;;;OAIG;IACH,kCAAgB;IAEhB;;;;OAIG;IACH,iCAAe;IAQX,sDAA4B;IAKhC;;;;;;OAMG;IACH,kBANW,eAAe,EAAE,cACjB,OAAO,MAAM,EAAE,GAAG,CAAC,aACnB,OAAO;;SAEL,iBAAiB,CA6J7B;IAED;;;;;OAKG;IACH,4BAsCC;IAED;;;;;OAKG;IACH,yBA8BC;IAED;;;;;OAKG;IACH,qBAoBC;IAED;;;;;OAKG;IACH,4BAeC;CACJ;0BAnWY,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"}
1
+ {"version":3,"file":"DagCompiler.d.ts","sourceRoot":"","sources":["../../src/context/DagCompiler.js"],"names":[],"mappings":"AAoYA;;;GAGG;AACH,iDAHW,eAAe,GACb,MAAM,EAAE,CAsBpB;AAjZD;;;;;;GAMG;AAEH;;;;GAIG;AACH;;;;;;GAMG;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,GAAG,CAAC,aACnB,OAAO,mBACP,MAAM,CAAC;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC,GAC9B,iBAAiB,CA0K7B;IAED;;;;;OAKG;IACH,4BAsCC;IAED;;;;;OAKG;IACH,yBA8BC;IAED;;;;;OAKG;IACH,qBAoBC;IAED;;;;;OAKG;IACH,4BAeC;CACJ;0BAtXY,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;gCAGS;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,8 +1,8 @@
1
1
  export { ContractContextBuilder } from "./ContractContextBuilder.js";
2
2
  export { contractContextCache } from "./ContractContextCache.js";
3
3
  export type ContractContext<Vs extends {
4
- [name: string]: import("./ContractContextBuilder.js").LoadedValidator;
4
+ [name: string]: import("../codegen/index.js").LoadedValidator;
5
5
  }, Ms extends {
6
- [name: string]: import("./ContractContextBuilder.js").LoadedModule;
6
+ [name: string]: import("../codegen/index.js").LoadedModule;
7
7
  }> = import("./ContractContext.js").ContractContext<Vs, Ms>;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.js"],"names":[],"mappings":";;;;;;KAMa,OAAO,sBAAsB,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.js"],"names":[],"mappings":";;4BAI+E,EAAE,SAApE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,qBAAqB,EAAE,eAAe,CAAA;CAAE,EACF,EAAE,SAAjE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,qBAAqB,EAAE,YAAY,CAAA;CAAE,IAC9D,OAAO,sBAAsB,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hl2ts.d.ts","sourceRoot":"","sources":["../src/hl2ts.js"],"names":[],"mappings":";0BAiBa,OAAO,2BAA2B,EAAE,WAAW;4BAC/C,OAAO,2BAA2B,EAAE,iBAAiB;+BACrD,OAAO,2BAA2B,EAAE,oBAAoB;4BAIxD;IACZ,MAAU,MAAM,CAAA;IAChB,OAAW,EAAE,MAAM,CAAA;IACnB,UAAc,EAAE,MAAM,CAAA;CACnB;yBAIS,YAAY,GAAG,YAAY"}
1
+ {"version":3,"file":"hl2ts.d.ts","sourceRoot":"","sources":["../src/hl2ts.js"],"names":[],"mappings":";0BAiBa,OAAO,2BAA2B,EAAE,WAAW;4BAC/C,OAAO,2BAA2B,EAAE,iBAAiB;+BACrD,OAAO,2BAA2B,EAAE,oBAAoB;4BAIxD;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,OAAW,EAAE,MAAM,CAAA;IACnB,UAAc,EAAE,MAAM,CAAA;CACnB;yBAIS,YAAY,GAAG,YAAY"}