@helios-lang/contract-utils 0.2.64 → 0.2.66
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 +3 -3
- package/src/cast/UserFunc.js +9 -2
- package/src/context/ContractContextBuilder.js +8 -8
- package/src/context/DagCompiler.js +1 -0
- package/types/cast/UserFunc.d.ts.map +1 -1
- package/types/context/ContractContextBuilder.d.ts +4 -0
- package/types/context/ContractContextBuilder.d.ts.map +1 -1
- package/types/context/DagCompiler.d.ts +4 -0
- package/types/context/DagCompiler.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helios-lang/contract-utils",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.66",
|
|
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.
|
|
31
|
+
"@helios-lang/ledger": "^0.5.2",
|
|
32
32
|
"@helios-lang/type-utils": "^0.1.21",
|
|
33
|
-
"@helios-lang/uplc": "^0.3.
|
|
33
|
+
"@helios-lang/uplc": "^0.3.10"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
36
|
"build": "pnpm run prettify && pnpm run build:types && pnpm run test:suite",
|
package/src/cast/UserFunc.js
CHANGED
|
@@ -126,7 +126,15 @@ export class UserFunc {
|
|
|
126
126
|
const result = this.profile(namedArgs, logOptions).result
|
|
127
127
|
|
|
128
128
|
if (isLeft(result)) {
|
|
129
|
-
|
|
129
|
+
const stackTrace = result.left.callSites.map((s) => s.toString())
|
|
130
|
+
|
|
131
|
+
let msg = result.left.error
|
|
132
|
+
|
|
133
|
+
if (stackTrace.length > 0) {
|
|
134
|
+
msg = `Stack trace:\n ${stackTrace.join("\n ")}\n${msg}`
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
throw new Error(msg)
|
|
130
138
|
} else if (!isString(result.right) && result.right.kind == "data") {
|
|
131
139
|
return /** @type {any} */ (result.right.value)
|
|
132
140
|
} else if (this.props.returns) {
|
|
@@ -247,7 +255,6 @@ export class UserFunc {
|
|
|
247
255
|
*/
|
|
248
256
|
function evalResultToString(result) {
|
|
249
257
|
if (isLeft(result)) {
|
|
250
|
-
console.error(result.left.error)
|
|
251
258
|
return "error"
|
|
252
259
|
} else {
|
|
253
260
|
if (isString(result.right)) {
|
|
@@ -24,6 +24,7 @@ import { contractContextCache } from "./ContractContextCache.js"
|
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
|
+
* if `debug` is true, the ir is included where possible
|
|
27
28
|
* @typedef {{
|
|
28
29
|
* isMainnet: boolean
|
|
29
30
|
* expectedHashes?: {[name: string]: string}
|
|
@@ -125,14 +126,13 @@ export class ContractContextBuilder {
|
|
|
125
126
|
const cached = contractContextCache.shift()
|
|
126
127
|
|
|
127
128
|
const compiled =
|
|
128
|
-
cached
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
)
|
|
129
|
+
cached ||
|
|
130
|
+
dagCompiler.build(
|
|
131
|
+
Object.values(this.validators),
|
|
132
|
+
props.parameters ?? {},
|
|
133
|
+
!props.isMainnet,
|
|
134
|
+
props.expectedHashes
|
|
135
|
+
)
|
|
136
136
|
|
|
137
137
|
// TODO: adapt to use generic cache interface
|
|
138
138
|
contractContextCache.push(compiled)
|
|
@@ -24,6 +24,7 @@ import { configureCast } from "../cast/index.js"
|
|
|
24
24
|
* }} DagCompilerConfig
|
|
25
25
|
*/
|
|
26
26
|
/**
|
|
27
|
+
* if `debug` is true, the ir is included in the user functions where possible
|
|
27
28
|
* @typedef {{
|
|
28
29
|
* debug?: boolean
|
|
29
30
|
* validators: {[name: string]: AnyContractValidatorContext}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserFunc.d.ts","sourceRoot":"","sources":["../../src/cast/UserFunc.js"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;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;;OAEG;IACH,mBAEC;IAED;;;;OAIG;IACH,gBAJW,KAAK,oGAEH,IAAI,CA0ChB;IAED;;;;OAIG;IACH,sBAJW,WAAW,CAAC,KAAK,CAAC,oGAEhB,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"UserFunc.d.ts","sourceRoot":"","sources":["../../src/cast/UserFunc.js"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;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;;OAEG;IACH,mBAEC;IAED;;;;OAIG;IACH,gBAJW,KAAK,oGAEH,IAAI,CA0ChB;IAED;;;;OAIG;IACH,sBAJW,WAAW,CAAC,KAAK,CAAC,oGAEhB,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,QAAQ,CAsB/C;IAED;;;;OAIG;IACH,mBAJW,WAAW,CAAC,KAAK,CAAC,oGAEhB,SAAS,CAmGrB;CACJ;yBAlPY,OAAO,yBAAyB,EAAE,UAAU;wBAC5C,OAAO,mBAAmB,EAAE,SAAS;uBACrC,OAAO,mBAAmB,EAAE,QAAQ;2BACpC,OAAO,mBAAmB,EAAE,YAAY;0BACxC,OAAO,mBAAmB,EAAE,WAAW;wBACvC,OAAO,mBAAmB,EAAE,SAAS;yBACrC,OAAO,WAAW,EAAE,UAAU;;;;4BAK9B;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,CAAC,EAAE,UAAU,CAAA;IACxB,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"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* @typedef {import("./ContractContext.js").ContractContext<Vs, Ms>} ContractContext
|
|
16
16
|
*/
|
|
17
17
|
/**
|
|
18
|
+
* if `debug` is true, the ir is included where possible
|
|
18
19
|
* @typedef {{
|
|
19
20
|
* isMainnet: boolean
|
|
20
21
|
* expectedHashes?: {[name: string]: string}
|
|
@@ -88,6 +89,9 @@ export type ContractContext<Vs extends {
|
|
|
88
89
|
}, Ms extends {
|
|
89
90
|
[name: string]: LoadedModule;
|
|
90
91
|
}> = import("./ContractContext.js").ContractContext<Vs, Ms>;
|
|
92
|
+
/**
|
|
93
|
+
* if `debug` is true, the ir is included where possible
|
|
94
|
+
*/
|
|
91
95
|
export type ContractContextBuildProps = {
|
|
92
96
|
isMainnet: boolean;
|
|
93
97
|
expectedHashes?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractContextBuilder.d.ts","sourceRoot":"","sources":["../../src/context/ContractContextBuilder.js"],"names":[],"mappings":"AAMA;;;;;;GAMG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"ContractContextBuilder.d.ts","sourceRoot":"","sources":["../../src/context/ContractContextBuilder.js"],"names":[],"mappings":"AAMA;;;;;;GAMG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;;;;;;;GASG;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,CA6GnC;CACJ;uBAzNY,OAAO,mBAAmB,EAAE,QAAQ;yBACpC,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;;;;wCAKtD;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,QAAQ,CAAC,CAAA;IACzC,UAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAS,CAAC,EAAE,OAAO,CAAA;CAChB"}
|
|
@@ -17,6 +17,7 @@ export function getModuleDependencies(validator: LoadedValidator): string[];
|
|
|
17
17
|
* }} DagCompilerConfig
|
|
18
18
|
*/
|
|
19
19
|
/**
|
|
20
|
+
* if `debug` is true, the ir is included in the user functions where possible
|
|
20
21
|
* @typedef {{
|
|
21
22
|
* debug?: boolean
|
|
22
23
|
* validators: {[name: string]: AnyContractValidatorContext}
|
|
@@ -104,6 +105,9 @@ export type AnyContractValidatorContext = import("./ContractContext.js").AnyCont
|
|
|
104
105
|
export type DagCompilerConfig = CastConfig & {
|
|
105
106
|
debug?: boolean;
|
|
106
107
|
};
|
|
108
|
+
/**
|
|
109
|
+
* if `debug` is true, the ir is included in the user functions where possible
|
|
110
|
+
*/
|
|
107
111
|
export type DagCompilerOutput = {
|
|
108
112
|
debug?: boolean;
|
|
109
113
|
validators: {
|
|
@@ -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":"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"}
|