@helios-lang/contract-utils 0.2.56 → 0.2.58
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/cast/UserFunc.js +16 -25
- package/src/codegen/LoadedScriptsWriter.js +2 -6
- package/src/codegen/TypeCheckedModule.js +0 -1
- package/src/context/ContractContextBuilder.js +2 -1
- package/src/context/DagCompiler.js +2 -1
- package/types/cast/UserFunc.d.ts +0 -2
- package/types/cast/UserFunc.d.ts.map +1 -1
- package/types/codegen/TypeCheckedModule.d.ts +0 -1
- package/types/codegen/TypeCheckedModule.d.ts.map +1 -1
- package/types/context/ContractContextBuilder.d.ts +4 -2
- package/types/context/ContractContextBuilder.d.ts.map +1 -1
- package/types/context/DagCompiler.d.ts +4 -2
- package/types/context/DagCompiler.d.ts.map +1 -1
package/package.json
CHANGED
package/src/cast/UserFunc.js
CHANGED
|
@@ -22,7 +22,6 @@ import { Cast } from "./Cast.js"
|
|
|
22
22
|
* name: string
|
|
23
23
|
* type: TypeSchema
|
|
24
24
|
* isOptional: boolean
|
|
25
|
-
* isIgnored?: boolean
|
|
26
25
|
* }[]
|
|
27
26
|
* returns?: TypeSchema
|
|
28
27
|
* validatorIndices?: Record<string, number>
|
|
@@ -144,36 +143,28 @@ export class UserFunc {
|
|
|
144
143
|
*/
|
|
145
144
|
const args = []
|
|
146
145
|
|
|
147
|
-
this.props.arguments.forEach(
|
|
148
|
-
(
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
args.push(namedArgs[name])
|
|
154
|
-
}
|
|
155
|
-
} else if (isIgnored) {
|
|
156
|
-
if (name in namedArgs && namedArgs[name]) {
|
|
157
|
-
args.push(namedArgs[name])
|
|
158
|
-
} else {
|
|
159
|
-
args.push(new IntData(0))
|
|
160
|
-
}
|
|
161
|
-
} else {
|
|
162
|
-
args.push(expectSome(namedArgs[name]))
|
|
146
|
+
this.props.arguments.forEach(({ name, type, isOptional }) => {
|
|
147
|
+
if (isMain) {
|
|
148
|
+
if (isOptional) {
|
|
149
|
+
// used for $datum in mixed script
|
|
150
|
+
if (name in namedArgs && namedArgs[name]) {
|
|
151
|
+
args.push(namedArgs[name])
|
|
163
152
|
}
|
|
164
153
|
} else {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
154
|
+
args.push(expectSome(namedArgs[name]))
|
|
155
|
+
}
|
|
156
|
+
} else {
|
|
157
|
+
if (isOptional) {
|
|
158
|
+
if (name in namedArgs && namedArgs[name]) {
|
|
159
|
+
args.push(new ConstrData(0, [namedArgs[name]]))
|
|
171
160
|
} else {
|
|
172
|
-
args.push(
|
|
161
|
+
args.push(new ConstrData(1, []))
|
|
173
162
|
}
|
|
163
|
+
} else {
|
|
164
|
+
args.push(expectSome(namedArgs[name]))
|
|
174
165
|
}
|
|
175
166
|
}
|
|
176
|
-
)
|
|
167
|
+
})
|
|
177
168
|
|
|
178
169
|
if (this.props.requiresScriptContext) {
|
|
179
170
|
args.push(expectSome(namedArgs["$scriptContext"]))
|
|
@@ -406,12 +406,8 @@ function genFuncType(fn) {
|
|
|
406
406
|
fields.push("$currentScript: string")
|
|
407
407
|
}
|
|
408
408
|
|
|
409
|
-
fn.arguments.forEach(({ name, type, isOptional
|
|
410
|
-
|
|
411
|
-
fields.push(`${name}?: UplcData`)
|
|
412
|
-
} else {
|
|
413
|
-
fields.push(`${name}${isOptional ? "?" : ""}: ${genTypes(type)[1]}`)
|
|
414
|
-
}
|
|
409
|
+
fn.arguments.forEach(({ name, type, isOptional }, i) => {
|
|
410
|
+
fields.push(`${name}${isOptional ? "?" : ""}: ${genTypes(type)[1]}`)
|
|
415
411
|
})
|
|
416
412
|
|
|
417
413
|
const argsTypeStr = `{${fields.join(", ")}}`
|
|
@@ -5,6 +5,7 @@ import { DagCompiler } from "./DagCompiler.js"
|
|
|
5
5
|
import { contractContextCache } from "./ContractContextCache.js"
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
+
* @typedef {import("@helios-lang/uplc").UplcData} UplcData
|
|
8
9
|
* @typedef {import("../cast/index.js").CastConfig} CastConfig
|
|
9
10
|
* @typedef {import("../codegen/LoadedModule.js").LoadedModule} LoadedModule
|
|
10
11
|
* @typedef {import("../codegen/LoadedValidator.js").LoadedValidator} LoadedValidator
|
|
@@ -26,7 +27,7 @@ import { contractContextCache } from "./ContractContextCache.js"
|
|
|
26
27
|
* @typedef {{
|
|
27
28
|
* isMainnet: boolean
|
|
28
29
|
* expectedHashes?: {[name: string]: string}
|
|
29
|
-
* parameters?: Record<string,
|
|
30
|
+
* parameters?: Record<string, UplcData>
|
|
30
31
|
* dumpHashes?: boolean
|
|
31
32
|
* debug?: boolean
|
|
32
33
|
* }} ContractContextBuildProps
|
|
@@ -10,6 +10,7 @@ import { restoreUplcProgram } from "@helios-lang/uplc"
|
|
|
10
10
|
import { configureCast } from "../cast/index.js"
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
+
* @typedef {import("@helios-lang/uplc").UplcData} UplcData
|
|
13
14
|
* @typedef {import("@helios-lang/uplc").UplcProgram} UplcProgram
|
|
14
15
|
* @typedef {import("../cast/index.js").CastConfig} CastConfig
|
|
15
16
|
* @typedef {import("../codegen/LoadedValidator.js").LoadedValidator} LoadedValidator
|
|
@@ -75,7 +76,7 @@ export class DagCompiler {
|
|
|
75
76
|
|
|
76
77
|
/**
|
|
77
78
|
* @param {LoadedValidator[]} validators
|
|
78
|
-
* @param {Record<string,
|
|
79
|
+
* @param {Record<string, UplcData>} parameters
|
|
79
80
|
* @param {boolean} isTestnet
|
|
80
81
|
* @param {Option<{[name: string]: string}>} expectedHashes
|
|
81
82
|
* @returns {DagCompilerOutput}
|
package/types/cast/UserFunc.d.ts
CHANGED
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
* name: string
|
|
17
17
|
* type: TypeSchema
|
|
18
18
|
* isOptional: boolean
|
|
19
|
-
* isIgnored?: boolean
|
|
20
19
|
* }[]
|
|
21
20
|
* returns?: TypeSchema
|
|
22
21
|
* validatorIndices?: Record<string, number>
|
|
@@ -87,7 +86,6 @@ export type UserFuncProps = {
|
|
|
87
86
|
name: string;
|
|
88
87
|
type: TypeSchema;
|
|
89
88
|
isOptional: boolean;
|
|
90
|
-
isIgnored?: boolean;
|
|
91
89
|
}[];
|
|
92
90
|
returns?: TypeSchema;
|
|
93
91
|
validatorIndices?: Record<string, number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserFunc.d.ts","sourceRoot":"","sources":["../../src/cast/UserFunc.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AAEH
|
|
1
|
+
{"version":3,"file":"UserFunc.d.ts","sourceRoot":"","sources":["../../src/cast/UserFunc.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;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;;;OAGG;IACH,gBAHW,KAAK,GACH,IAAI,CAyChB;IAED;;;OAGG;IACH,sBAHW,WAAW,CAAC,KAAK,CAAC,GAChB,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,QAAQ,CAc/C;IAED;;;OAGG;IACH,mBAHW,WAAW,CAAC,KAAK,CAAC,GAChB,SAAS,CAiGrB;CACJ;yBAnOY,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;;;;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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeCheckedModule.d.ts","sourceRoot":"","sources":["../../src/codegen/TypeCheckedModule.js"],"names":[],"mappings":"yBAGa,OAAO,iBAAiB,EAAE,UAAU;;;;kCAKpC;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;
|
|
1
|
+
{"version":3,"file":"TypeCheckedModule.d.ts","sourceRoot":"","sources":["../../src/codegen/TypeCheckedModule.js"],"names":[],"mappings":"yBAGa,OAAO,iBAAiB,EAAE,UAAU;;;;kCAKpC;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;CACrB;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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @typedef {import("@helios-lang/uplc").UplcData} UplcData
|
|
2
3
|
* @typedef {import("../cast/index.js").CastConfig} CastConfig
|
|
3
4
|
* @typedef {import("../codegen/LoadedModule.js").LoadedModule} LoadedModule
|
|
4
5
|
* @typedef {import("../codegen/LoadedValidator.js").LoadedValidator} LoadedValidator
|
|
@@ -17,7 +18,7 @@
|
|
|
17
18
|
* @typedef {{
|
|
18
19
|
* isMainnet: boolean
|
|
19
20
|
* expectedHashes?: {[name: string]: string}
|
|
20
|
-
* parameters?: Record<string,
|
|
21
|
+
* parameters?: Record<string, UplcData>
|
|
21
22
|
* dumpHashes?: boolean
|
|
22
23
|
* debug?: boolean
|
|
23
24
|
* }} ContractContextBuildProps
|
|
@@ -76,6 +77,7 @@ export class ContractContextBuilder<Vs extends {
|
|
|
76
77
|
*/
|
|
77
78
|
build(props: ContractContextBuildProps): ContractContext<Vs, Ms>;
|
|
78
79
|
}
|
|
80
|
+
export type UplcData = import("@helios-lang/uplc").UplcData;
|
|
79
81
|
export type CastConfig = import("../cast/index.js").CastConfig;
|
|
80
82
|
export type LoadedModule = import("../codegen/LoadedModule.js").LoadedModule;
|
|
81
83
|
export type LoadedValidator = import("../codegen/LoadedValidator.js").LoadedValidator;
|
|
@@ -91,7 +93,7 @@ export type ContractContextBuildProps = {
|
|
|
91
93
|
expectedHashes?: {
|
|
92
94
|
[name: string]: string;
|
|
93
95
|
};
|
|
94
|
-
parameters?: Record<string,
|
|
96
|
+
parameters?: Record<string, UplcData>;
|
|
95
97
|
dumpHashes?: boolean;
|
|
96
98
|
debug?: boolean;
|
|
97
99
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractContextBuilder.d.ts","sourceRoot":"","sources":["../../src/context/ContractContextBuilder.js"],"names":[],"mappings":"AAMA
|
|
1
|
+
{"version":3,"file":"ContractContextBuilder.d.ts","sourceRoot":"","sources":["../../src/context/ContractContextBuilder.js"],"names":[],"mappings":"AAMA;;;;;;GAMG;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,CA8GnC;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;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,QAAQ,CAAC,CAAA;IACzC,UAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAS,CAAC,EAAE,OAAO,CAAA;CAChB"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export function getModuleDependencies(validator: LoadedValidator): string[];
|
|
6
6
|
/**
|
|
7
|
+
* @typedef {import("@helios-lang/uplc").UplcData} UplcData
|
|
7
8
|
* @typedef {import("@helios-lang/uplc").UplcProgram} UplcProgram
|
|
8
9
|
* @typedef {import("../cast/index.js").CastConfig} CastConfig
|
|
9
10
|
* @typedef {import("../codegen/LoadedValidator.js").LoadedValidator} LoadedValidator
|
|
@@ -57,12 +58,12 @@ export class DagCompiler {
|
|
|
57
58
|
private readonly cachedUserFuncs;
|
|
58
59
|
/**
|
|
59
60
|
* @param {LoadedValidator[]} validators
|
|
60
|
-
* @param {Record<string,
|
|
61
|
+
* @param {Record<string, UplcData>} parameters
|
|
61
62
|
* @param {boolean} isTestnet
|
|
62
63
|
* @param {Option<{[name: string]: string}>} expectedHashes
|
|
63
64
|
* @returns {DagCompilerOutput}
|
|
64
65
|
*/
|
|
65
|
-
build(validators: LoadedValidator[], parameters: Record<string,
|
|
66
|
+
build(validators: LoadedValidator[], parameters: Record<string, UplcData>, isTestnet: boolean, expectedHashes?: Option<{
|
|
66
67
|
[name: string]: string;
|
|
67
68
|
}>): DagCompilerOutput;
|
|
68
69
|
/**
|
|
@@ -94,6 +95,7 @@ export class DagCompiler {
|
|
|
94
95
|
*/
|
|
95
96
|
private getValidatorIndices;
|
|
96
97
|
}
|
|
98
|
+
export type UplcData = import("@helios-lang/uplc").UplcData;
|
|
97
99
|
export type UplcProgram = import("@helios-lang/uplc").UplcProgram;
|
|
98
100
|
export type CastConfig = import("../cast/index.js").CastConfig;
|
|
99
101
|
export type LoadedValidator = import("../codegen/LoadedValidator.js").LoadedValidator;
|
|
@@ -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":"AAqYA;;;GAGG;AACH,iDAHW,eAAe,GACb,MAAM,EAAE,CAsBpB;AAlZD;;;;;;;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,CA0K7B;IAED;;;;;OAKG;IACH,4BAsCC;IAED;;;;;OAKG;IACH,yBA8BC;IAED;;;;;OAKG;IACH,qBAoBC;IAED;;;;;OAKG;IACH,4BAeC;CACJ;uBAvXY,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"}
|