@helios-lang/contract-utils 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/lib/Lib.js +1 -0
- package/src/lib/Libg_v0_16.js +2 -0
- package/src/runtime/ContractContextBuilder.js +17 -24
- package/types/lib/Lib.d.ts +2 -0
- package/types/lib/Lib.d.ts.map +1 -1
- package/types/lib/Libg_v0_16.d.ts.map +1 -1
- package/types/runtime/ContractContextBuilder.d.ts.map +1 -1
package/package.json
CHANGED
package/src/lib/Lib.js
CHANGED
package/src/lib/Libg_v0_16.js
CHANGED
|
@@ -423,6 +423,7 @@ export class Lib_v0_16 {
|
|
|
423
423
|
const cborHex = bytesToHex(irProgram.toUplc().toCbor())
|
|
424
424
|
|
|
425
425
|
return {
|
|
426
|
+
prettyIR: irProgram.program.annotate(),
|
|
426
427
|
cborHex
|
|
427
428
|
}
|
|
428
429
|
} else {
|
|
@@ -431,6 +432,7 @@ export class Lib_v0_16 {
|
|
|
431
432
|
const cborHex = bytesToHex(irProgram.toUplc().toCbor())
|
|
432
433
|
|
|
433
434
|
return {
|
|
435
|
+
prettyIR: irProgram.program.annotate(),
|
|
434
436
|
cborHex
|
|
435
437
|
}
|
|
436
438
|
}
|
|
@@ -229,7 +229,7 @@ export class ContractContextBuilder {
|
|
|
229
229
|
function buildValidator(validator) {
|
|
230
230
|
const name = validator.$name
|
|
231
231
|
|
|
232
|
-
if (name in
|
|
232
|
+
if (name in validators) {
|
|
233
233
|
return
|
|
234
234
|
}
|
|
235
235
|
|
|
@@ -239,7 +239,7 @@ export class ContractContextBuilder {
|
|
|
239
239
|
|
|
240
240
|
const modules = collectModules(validator)
|
|
241
241
|
|
|
242
|
-
const { cborHex: optimizedCborHex } = lib.compile(
|
|
242
|
+
const { cborHex: optimizedCborHex, prettyIR } = lib.compile(
|
|
243
243
|
validator.$sourceCode,
|
|
244
244
|
Array.from(modules.values()),
|
|
245
245
|
{
|
|
@@ -256,6 +256,8 @@ export class ContractContextBuilder {
|
|
|
256
256
|
|
|
257
257
|
if (expectedHashes && name in expectedHashes) {
|
|
258
258
|
if (expectedHashes[name] != ownHash) {
|
|
259
|
+
console.log(prettyIR)
|
|
260
|
+
|
|
259
261
|
throw new Error(
|
|
260
262
|
`expected hash ${expectedHashes[name]} for validator ${name}, got ${ownHash}`
|
|
261
263
|
)
|
|
@@ -300,34 +302,25 @@ export class ContractContextBuilder {
|
|
|
300
302
|
UplcProgramV2.fromCbor(unoptimizedCborHex)
|
|
301
303
|
|
|
302
304
|
if (purpose == "spending") {
|
|
303
|
-
validators[
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
redeemer: validator.$Redeemer
|
|
309
|
-
}
|
|
310
|
-
)
|
|
305
|
+
validators[name] = new ValidatorHash(ownHash, {
|
|
306
|
+
program: optimizedProgram.withAlt(unoptimizedProgram),
|
|
307
|
+
datum: expectSome(validator.$Datum),
|
|
308
|
+
redeemer: validator.$Redeemer
|
|
309
|
+
})
|
|
311
310
|
} else if (purpose == "minting") {
|
|
312
|
-
validators[
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
redeemer: validator.$Redeemer
|
|
317
|
-
}
|
|
318
|
-
)
|
|
311
|
+
validators[name] = new MintingPolicyHash(ownHash, {
|
|
312
|
+
program: optimizedProgram.withAlt(unoptimizedProgram),
|
|
313
|
+
redeemer: validator.$Redeemer
|
|
314
|
+
})
|
|
319
315
|
} else if (
|
|
320
316
|
purpose == "staking" ||
|
|
321
317
|
purpose == "certifying" ||
|
|
322
318
|
purpose == "rewarding"
|
|
323
319
|
) {
|
|
324
|
-
validators[
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
redeemer: validator.$Redeemer
|
|
329
|
-
}
|
|
330
|
-
)
|
|
320
|
+
validators[name] = new StakingValidatorHash(ownHash, {
|
|
321
|
+
program: optimizedProgram.withAlt(unoptimizedProgram),
|
|
322
|
+
redeemer: validator.$Redeemer
|
|
323
|
+
})
|
|
331
324
|
} else {
|
|
332
325
|
throw new Error("unhandled purpose")
|
|
333
326
|
}
|
package/types/lib/Lib.d.ts
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
/**
|
|
11
11
|
* @typedef {{
|
|
12
12
|
* cborHex: string
|
|
13
|
+
* prettyIR: string
|
|
13
14
|
* }} CompileOutput
|
|
14
15
|
*/
|
|
15
16
|
/**
|
|
@@ -56,6 +57,7 @@ export type CompileOptions = {
|
|
|
56
57
|
};
|
|
57
58
|
export type CompileOutput = {
|
|
58
59
|
cborHex: string;
|
|
60
|
+
prettyIR: string;
|
|
59
61
|
};
|
|
60
62
|
export type Lib = {
|
|
61
63
|
version: string;
|
package/types/lib/Lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lib.d.ts","sourceRoot":"","sources":["../../src/lib/Lib.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH
|
|
1
|
+
{"version":3,"file":"Lib.d.ts","sourceRoot":"","sources":["../../src/lib/Lib.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH;;;;;;;;GAQG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AACH,gCAHW;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GACf,MAAM,EAAE,CAIpB;;;;;;;qBA3CgD,MAAM;kBAAQ,MAAM;;;;;cAGtD,OAAO;;4BAKT;IACZ,OAAW,EAAE,MAAM,CAAA;IACnB,QAAY,EAAE,MAAM,CAAA;CACjB;;aAIU,MAAM;gCACa,MAAM,KAAK,GAAG;;;;;;;;;;;;;oBAG1B,MAAM,WAAW,MAAM,EAAE,WAAW,cAAc,KAAK,aAAa;;kCAK5E,OAAO,qBAAqB,EAAE,UAAU;4BACxC,OAAO,qBAAqB,EAAE,MAAM;+BACpC,OAAO,qBAAqB,EAAE,SAAS;4BAIvC;IACZ,MAAU,MAAM,CAAA;IAChB,OAAW,EAAE,MAAM,CAAA;IACnB,UAAc,EAAE,MAAM,CAAA;CACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Libg_v0_16.d.ts","sourceRoot":"","sources":["../../src/lib/Libg_v0_16.js"],"names":[],"mappings":"AAcA;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;GAEG;AAEH;;;;;;GAMG;AACH;;;;;;;;;GASG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IACI;;OAEG;IACH,iBAFW,GAAG,EAIb;IADG,SAAc;IAGlB;;OAEG;IACH,sBAEC;IAED;;;OAGG;IACH,0BAHW,MAAM,GACJ,QAAQ,CAapB;IAED;;;;;;OAMG;IACH,uBAcC;IAED;;;;;OAKG;IACH,iBAWC;IAED;;;;;OAKG;IACH,6BAeC;IAED;;;;OAIG;IACH;;;;;;;;;;;MAuEC;IAED;;;OAGG;IACH,wBAHW,UAAU,GACR,mBAAmB,CAgC/B;IAED;;;OAGG;IACH,2BAHW,QAAQ,GACN,mBAAmB,CAc/B;IAED;;;;;OAKG;IACH,cALW,MAAM,WACN,MAAM,EAAE,WACR,cAAc,GACZ,aAAa,
|
|
1
|
+
{"version":3,"file":"Libg_v0_16.d.ts","sourceRoot":"","sources":["../../src/lib/Libg_v0_16.js"],"names":[],"mappings":"AAcA;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;GAEG;AAEH;;;;;;GAMG;AACH;;;;;;;;;GASG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IACI;;OAEG;IACH,iBAFW,GAAG,EAIb;IADG,SAAc;IAGlB;;OAEG;IACH,sBAEC;IAED;;;OAGG;IACH,0BAHW,MAAM,GACJ,QAAQ,CAapB;IAED;;;;;;OAMG;IACH,uBAcC;IAED;;;;;OAKG;IACH,iBAWC;IAED;;;;;OAKG;IACH,6BAeC;IAED;;;;OAIG;IACH;;;;;;;;;;;MAuEC;IAED;;;OAGG;IACH,wBAHW,UAAU,GACR,mBAAmB,CAgC/B;IAED;;;OAGG;IACH,2BAHW,QAAQ,GACN,mBAAmB,CAc/B;IAED;;;;;OAKG;IACH,cALW,MAAM,WACN,MAAM,EAAE,WACR,cAAc,GACZ,aAAa,CA0FzB;CACJ;4BAtbY,OAAO,qBAAqB,EAAE,MAAM;+BACpC,OAAO,qBAAqB,EAAE,SAAS;kCACvC,OAAO,qBAAqB,EAAE,UAAU;6BACxC,OAAO,UAAU,EAAE,cAAc;4BACjC,OAAO,UAAU,EAAE,aAAa;kBAChC,OAAO,UAAU,EAAE,GAAG;4BACtB,OAAO,UAAU,EAAE,aAAa;;;;uBAchC,EACT;;kBAKe,MAAM,KAAK,OAAO;;4BAKxB;IACZ,MAAU,MAAM,CAAA;CACb;8BAIS;IACZ,MAAU,MAAM,CAAA;CACb;wBAIS,eAAe,GAAG,aAAa,GAAG,GAAG;;UAKvC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC;8BACK,MAAM,EAAE,KAAK,MAAM,EAAE;gBACnC,SAAS,EAAE;;;UAKjB,MAAM;gBACA,GAAG,SAAS,IAAI,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE;WACvC,SAAS;yBACK,MAAM,EAAE;gBACjB,MAAM;kBACJ,QAAQ,EAAE;;uBAKhB;IACZ,WAAe,CAAC,EAAE,WAAW,CAAA;CAC1B;yBAIS;IACZ,IAAQ,EAAG,MAAM,CAAA;CACd,GAAG;IACN,IAAQ,EAAM,MAAM,CAAA;IACpB,QAAY,EAAE,UAAU,CAAA;CACrB,GAAG;IACN,IAAQ,EAAO,KAAK,CAAA;IACpB,OAAW,EAAI,UAAU,CAAA;IACzB,SAAa,EAAE,UAAU,CAAA;CACtB,GAAG;IACN,IAAQ,EAAM,QAAQ,CAAA;IACtB,QAAY,EAAE,UAAU,CAAA;CACrB,GAAG;IACN,IAAQ,EAAQ,QAAQ,CAAA;IACxB,UAAc,EAAE,eAAe,EAAE,CAAA;CAC9B,GAAG;IACN,IAAQ,EAAU,MAAM,CAAA;IACxB,YAAgB,EAAE;QAAC,MAAM,MAAM,CAAC;QAAC,UAAU,EAAE,eAAe,EAAE,CAAA;KAAC,EAAE,CAAA;CAC9D;8BAIS;IACZ,MAAU,MAAM,CAAA;CACb,GAAG,UAAU;0BAIJ;IACZ,SAAa,EAAE,MAAM,CAAA;IACrB,UAAc,EAAE,MAAM,CAAA;IACtB,YAAgB,EAAE,UAAU,CAAA;CACzB;wBAIS,EACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractContextBuilder.d.ts","sourceRoot":"","sources":["../../src/runtime/ContractContextBuilder.js"],"names":[],"mappings":"AAaA;;;GAGG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH;;;IAgBI;;OAEG;IACH,gBAFa,uBAAuB,EAAE,CAAC,CAItC;IAbD;;;OAGG;IACH,sBAEC;IAbD;;;;OAIG;IACH,4BAAU;IAiBV;;;;;;OAMG;IACH,+FAKC;IAED;;;;OAIG;IACH,0BAMC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH;;
|
|
1
|
+
{"version":3,"file":"ContractContextBuilder.d.ts","sourceRoot":"","sources":["../../src/runtime/ContractContextBuilder.js"],"names":[],"mappings":"AAaA;;;GAGG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH;;;IAgBI;;OAEG;IACH,gBAFa,uBAAuB,EAAE,CAAC,CAItC;IAbD;;;OAGG;IACH,sBAEC;IAbD;;;;OAIG;IACH,4BAAU;IAiBV;;;;;;OAMG;IACH,+FAKC;IAED;;;;OAIG;IACH,0BAMC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH;;2wBAwLC;CACJ;kBAhUY,OAAO,iBAAiB,EAAE,GAAG;gCAC7B,OAAO,sBAAsB,EAAE,SAAS;mEAMxC,OAAO,qBAAqB,EAAE,cAAc,CAAC,eAAe,EAAE,mBAAmB,CAAC;oGAQlF,OAAO,qBAAqB,EAAE,eAAe,CAAC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,CAAC;mEAMnH,OAAO,qBAAqB,EAAE,cAAc,CAAC,eAAe,EAAE,mBAAmB,CAAC;6HAKlF,OAAO,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC;yHAK/C,OAAO,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;qBAIvC;IACZ,KAAS,EAAE,MAAM,CAAA;IACjB,WAAe,EAAE,MAAM,CAAA;IACvB,aAAiB,EAAE,MAAM,EAAE,CAAA;CACxB;wBAIS;IACZ,KAAS,EAAE,MAAM,CAAA;IACjB,QAAY,EAAE,MAAM,CAAA;IACpB,WAAe,EAAE,MAAM,CAAA;IACvB,aAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,iBAAqB,EAAE,SAAS,EAAE,CAAA;IAClC,iBAAqB,EAAE,OAAO,CAAA;IAC9B,SAAa,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,CAAA;IAC7B,MAAU,CAAC,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,CAAA;CACxB;8BA5DG,qBAAqB;kCAArB,qBAAqB;qCAArB,qBAAqB;qBAIP,WAAW"}
|