@helios-lang/contract-utils 0.2.59 → 0.2.61
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 +1 -1
- package/src/compiler/CompilerLib.js +1 -0
- package/src/compiler/CompilerLib_v0_17.js +2 -1
- package/src/context/DagCompiler.js +12 -4
- package/types/compiler/CompilerLib.d.ts +2 -0
- package/types/compiler/CompilerLib.d.ts.map +1 -1
- package/types/compiler/CompilerLib_v0_17.d.ts.map +1 -1
- package/types/context/DagCompiler.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -114,7 +114,8 @@ export class DagCompiler {
|
|
|
114
114
|
// optimized compilation
|
|
115
115
|
const {
|
|
116
116
|
cborHex: optimizedCborHex,
|
|
117
|
-
plutusVersion: optimPlutusVersion
|
|
117
|
+
plutusVersion: optimPlutusVersion,
|
|
118
|
+
ir: optimIr
|
|
118
119
|
} = this.lib.compile(sourceCode, moduleDeps, {
|
|
119
120
|
optimize: true,
|
|
120
121
|
hashDependencies: hashDepHashes,
|
|
@@ -131,7 +132,8 @@ export class DagCompiler {
|
|
|
131
132
|
|
|
132
133
|
const optimizedProgram = restoreUplcProgram(
|
|
133
134
|
optimPlutusVersion,
|
|
134
|
-
optimizedCborHex
|
|
135
|
+
optimizedCborHex,
|
|
136
|
+
{ ir: optimIr }
|
|
135
137
|
)
|
|
136
138
|
|
|
137
139
|
// calculate the hash
|
|
@@ -169,7 +171,8 @@ export class DagCompiler {
|
|
|
169
171
|
// unoptimized compilation (so traces are untouched)
|
|
170
172
|
const {
|
|
171
173
|
cborHex: unoptimizedCborHex,
|
|
172
|
-
plutusVersion: unoptimPlutusVersion
|
|
174
|
+
plutusVersion: unoptimPlutusVersion,
|
|
175
|
+
ir: unoptimIr
|
|
173
176
|
} = this.lib.compile(
|
|
174
177
|
validator.$sourceCode,
|
|
175
178
|
Array.from(moduleDeps.values()),
|
|
@@ -179,6 +182,10 @@ export class DagCompiler {
|
|
|
179
182
|
hashDependencies: hashDepHashes,
|
|
180
183
|
allValidatorHashTypes: hashTypes,
|
|
181
184
|
allValidatorIndices: validatorIndices ?? undefined,
|
|
185
|
+
// Even though the ownHash is available at this point (taken from the optimized script),
|
|
186
|
+
// fetching the ownHash in the optimized script has some logic that can fail, which must be emulated in the unoptimized script.
|
|
187
|
+
// Setting dependsOnOwnHash==true, whilst also specifying the ownHash, tells the internal compilation to inject such an emulation
|
|
188
|
+
dependsOnOwnHash: validator.$dependsOnOwnHash,
|
|
182
189
|
ownHash: validator.$dependsOnOwnHash
|
|
183
190
|
? optimizedHashHex
|
|
184
191
|
: undefined,
|
|
@@ -226,7 +233,8 @@ export class DagCompiler {
|
|
|
226
233
|
// TODO: with source mapping
|
|
227
234
|
const unoptimizedProgram = restoreUplcProgram(
|
|
228
235
|
unoptimPlutusVersion,
|
|
229
|
-
unoptimizedCborHex
|
|
236
|
+
unoptimizedCborHex,
|
|
237
|
+
{ ir: unoptimIr }
|
|
230
238
|
)
|
|
231
239
|
|
|
232
240
|
const completeProgram = optimizedProgram.withAlt(
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
* @typedef {{
|
|
38
38
|
* cborHex: string
|
|
39
39
|
* plutusVersion: PlutusVersion
|
|
40
|
+
* ir?: string
|
|
40
41
|
* }} CompileOutput
|
|
41
42
|
*/
|
|
42
43
|
/**
|
|
@@ -108,6 +109,7 @@ export type CompileOptions = {
|
|
|
108
109
|
export type CompileOutput = {
|
|
109
110
|
cborHex: string;
|
|
110
111
|
plutusVersion: PlutusVersion;
|
|
112
|
+
ir?: string;
|
|
111
113
|
};
|
|
112
114
|
export type TypeCheckOutput = {
|
|
113
115
|
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
|
|
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 +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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DagCompiler.d.ts","sourceRoot":"","sources":["../../src/context/DagCompiler.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DagCompiler.d.ts","sourceRoot":"","sources":["../../src/context/DagCompiler.js"],"names":[],"mappings":"AA6YA;;;GAGG;AACH,iDAHW,eAAe,GACb,MAAM,EAAE,CAsBpB;AA1ZD;;;;;;;GAOG;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,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;uBA/XY,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;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"}
|