@helios-lang/contract-utils 0.1.14 → 0.1.15
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 +8 -0
- package/src/lib/Libg_v0_16.js +11 -5
- package/src/lib/index.js +1 -0
- package/src/lib/load.js +4 -2
- package/src/runtime/ContractContextBuilder.js +4 -3
- package/types/lib/Lib.d.ts +10 -0
- package/types/lib/Lib.d.ts.map +1 -1
- package/types/lib/Libg_v0_16.d.ts +13 -1
- package/types/lib/Libg_v0_16.d.ts.map +1 -1
- package/types/lib/index.d.ts +1 -0
- package/types/lib/index.d.ts.map +1 -1
- package/types/lib/load.d.ts +4 -1
- package/types/lib/load.d.ts.map +1 -1
- package/types/runtime/ContractContextBuilder.d.ts +4 -2
- 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
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { bytesToHex } from "@helios-lang/compiler"
|
|
2
|
+
import { readHeader } from "@helios-lang/compiler-utils"
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* @typedef {import("../codegen/index.js").Module} ModuleDetails
|
|
3
6
|
* @typedef {import("../codegen/index.js").Validator} ValidatorDetails
|
|
@@ -5,13 +8,10 @@
|
|
|
5
8
|
* @typedef {import("./Lib.js").CompileOptions} CompileOptions
|
|
6
9
|
* @typedef {import("./Lib.js").CompileOutput} CompileOutput
|
|
7
10
|
* @typedef {import("./Lib.js").Lib} Lib
|
|
11
|
+
* @typedef {import("./Lib.js").LibOptions} LibOptions
|
|
8
12
|
* @typedef {import("./Lib.js").SourceDetails} SourceDetails
|
|
9
13
|
*/
|
|
10
14
|
|
|
11
|
-
import { bytesToHex } from "@helios-lang/compiler"
|
|
12
|
-
import { readHeader } from "@helios-lang/compiler-utils"
|
|
13
|
-
import { UplcProgramV1 } from "@helios-lang/uplc"
|
|
14
|
-
|
|
15
15
|
/**
|
|
16
16
|
* @typedef {{
|
|
17
17
|
* [name: string]: string[]
|
|
@@ -116,9 +116,15 @@ import { UplcProgramV1 } from "@helios-lang/uplc"
|
|
|
116
116
|
export class Lib_v0_16 {
|
|
117
117
|
/**
|
|
118
118
|
* @param {any} lib
|
|
119
|
+
* @param {LibOptions} options
|
|
119
120
|
*/
|
|
120
|
-
constructor(lib) {
|
|
121
|
+
constructor(lib, { isMainnet, checkCasts }) {
|
|
121
122
|
this.lib = lib
|
|
123
|
+
|
|
124
|
+
this.lib.config.set({
|
|
125
|
+
IS_TESTNET: !(isMainnet ?? false),
|
|
126
|
+
CHECK_CASTS: checkCasts ?? false
|
|
127
|
+
})
|
|
122
128
|
}
|
|
123
129
|
|
|
124
130
|
/**
|
package/src/lib/index.js
CHANGED
package/src/lib/load.js
CHANGED
|
@@ -4,19 +4,21 @@ import { Lib_v0_16 } from "./Libg_v0_16.js"
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @typedef {import("./Lib.js").Lib} Lib
|
|
7
|
+
* @typedef {import("./Lib.js").LibOptions} LibOptions
|
|
7
8
|
*/
|
|
8
9
|
|
|
9
10
|
/**
|
|
11
|
+
* @param {LibOptions} options
|
|
10
12
|
* @returns {Lib}
|
|
11
13
|
*/
|
|
12
|
-
export function loadLibrary() {
|
|
14
|
+
export function loadLibrary(options = {}) {
|
|
13
15
|
const [major, minor] = getVersion(lib)
|
|
14
16
|
|
|
15
17
|
switch (major) {
|
|
16
18
|
case 0:
|
|
17
19
|
switch (minor) {
|
|
18
20
|
case 16:
|
|
19
|
-
return new Lib_v0_16(lib)
|
|
21
|
+
return new Lib_v0_16(lib, options)
|
|
20
22
|
}
|
|
21
23
|
default:
|
|
22
24
|
throw new Error(`compiler version ${lib.VERSION} not supported`)
|
|
@@ -13,6 +13,7 @@ import { ContractContext } from "./ContractContext.js"
|
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @typedef {import("../lib/index.js").Lib} Lib
|
|
16
|
+
* @typedef {import("../lib/index.js").LibOptions} LibOptions
|
|
16
17
|
* @typedef {import("./ContractContext.js").Validator} CompiledValidator
|
|
17
18
|
*/
|
|
18
19
|
|
|
@@ -121,8 +122,8 @@ export class ContractContextBuilder {
|
|
|
121
122
|
}
|
|
122
123
|
|
|
123
124
|
/**
|
|
124
|
-
*
|
|
125
125
|
* @param {Option<{[name: string]: string}>} expectedHashes
|
|
126
|
+
* @param {LibOptions} options
|
|
126
127
|
* @returns {{
|
|
127
128
|
* [K in keyof T]:
|
|
128
129
|
* T[K]["$purpose"] extends "spending" ? ValidatorHash<
|
|
@@ -147,8 +148,8 @@ export class ContractContextBuilder {
|
|
|
147
148
|
* > : never
|
|
148
149
|
* }}
|
|
149
150
|
*/
|
|
150
|
-
build(expectedHashes = None) {
|
|
151
|
-
const lib = loadLibrary()
|
|
151
|
+
build(expectedHashes = None, options = {}) {
|
|
152
|
+
const lib = loadLibrary(options)
|
|
152
153
|
|
|
153
154
|
const allValidatorTypes = this.getValidatorTypes(lib)
|
|
154
155
|
|
package/types/lib/Lib.d.ts
CHANGED
|
@@ -13,6 +13,12 @@
|
|
|
13
13
|
* prettyIR: string
|
|
14
14
|
* }} CompileOutput
|
|
15
15
|
*/
|
|
16
|
+
/**
|
|
17
|
+
* @typedef {{
|
|
18
|
+
* isMainnet?: boolean
|
|
19
|
+
* checkCasts?: boolean
|
|
20
|
+
* }} LibOptions
|
|
21
|
+
*/
|
|
16
22
|
/**
|
|
17
23
|
* @typedef {{
|
|
18
24
|
* version: string
|
|
@@ -59,6 +65,10 @@ export type CompileOutput = {
|
|
|
59
65
|
cborHex: string;
|
|
60
66
|
prettyIR: string;
|
|
61
67
|
};
|
|
68
|
+
export type LibOptions = {
|
|
69
|
+
isMainnet?: boolean;
|
|
70
|
+
checkCasts?: boolean;
|
|
71
|
+
};
|
|
62
72
|
export type Lib = {
|
|
63
73
|
version: string;
|
|
64
74
|
getValidatorType: (purpose: string) => any;
|
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;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"Lib.d.ts","sourceRoot":"","sources":["../../src/lib/Lib.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AAEH;;;;;GAKG;AAEH;;;;;;;;GAQG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AACH,gCAHW;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GACf,MAAM,EAAE,CAIpB;;;;;;;qBAnDgD,MAAM;kBAAQ,MAAM;;;;;cAGtD,OAAO;;4BAKT;IACZ,OAAW,EAAE,MAAM,CAAA;IACnB,QAAY,EAAE,MAAM,CAAA;CACjB;yBAIS;IACZ,SAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAc,CAAC,EAAE,OAAO,CAAA;CACrB;;aAKU,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,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import("../codegen/index.js").Module} ModuleDetails
|
|
3
|
+
* @typedef {import("../codegen/index.js").Validator} ValidatorDetails
|
|
4
|
+
* @typedef {import("../codegen/index.js").TypeSchema} InternalTypeDetails
|
|
5
|
+
* @typedef {import("./Lib.js").CompileOptions} CompileOptions
|
|
6
|
+
* @typedef {import("./Lib.js").CompileOutput} CompileOutput
|
|
7
|
+
* @typedef {import("./Lib.js").Lib} Lib
|
|
8
|
+
* @typedef {import("./Lib.js").LibOptions} LibOptions
|
|
9
|
+
* @typedef {import("./Lib.js").SourceDetails} SourceDetails
|
|
10
|
+
*/
|
|
1
11
|
/**
|
|
2
12
|
* @typedef {{
|
|
3
13
|
* [name: string]: string[]
|
|
@@ -90,8 +100,9 @@
|
|
|
90
100
|
export class Lib_v0_16 implements Lib {
|
|
91
101
|
/**
|
|
92
102
|
* @param {any} lib
|
|
103
|
+
* @param {LibOptions} options
|
|
93
104
|
*/
|
|
94
|
-
constructor(lib: any);
|
|
105
|
+
constructor(lib: any, { isMainnet, checkCasts }: LibOptions);
|
|
95
106
|
lib: any;
|
|
96
107
|
/**
|
|
97
108
|
* @type {string}
|
|
@@ -165,6 +176,7 @@ export type InternalTypeDetails = import("../codegen/index.js").TypeSchema;
|
|
|
165
176
|
export type CompileOptions = import("./Lib.js").CompileOptions;
|
|
166
177
|
export type CompileOutput = import("./Lib.js").CompileOutput;
|
|
167
178
|
export type Lib = import("./Lib.js").Lib;
|
|
179
|
+
export type LibOptions = import("./Lib.js").LibOptions;
|
|
168
180
|
export type SourceDetails = import("./Lib.js").SourceDetails;
|
|
169
181
|
export type DagDependencies = {
|
|
170
182
|
[name: string]: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Libg_v0_16.d.ts","sourceRoot":"","sources":["../../src/lib/Libg_v0_16.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Libg_v0_16.d.ts","sourceRoot":"","sources":["../../src/lib/Libg_v0_16.js"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AAEH;;;;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;;;OAGG;IACH,iBAHW,GAAG,6BACH,UAAU,EASpB;IANG,SAAc;IAQlB;;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;4BAzbY,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;yBACtB,OAAO,UAAU,EAAE,UAAU;4BAC7B,OAAO,UAAU,EAAE,aAAa;;;;uBAUhC,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"}
|
package/types/lib/index.d.ts
CHANGED
package/types/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.js"],"names":[],"mappings":";kBAGa,OAAO,UAAU,EAAE,GAAG"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.js"],"names":[],"mappings":";kBAGa,OAAO,UAAU,EAAE,GAAG;yBACtB,OAAO,UAAU,EAAE,UAAU"}
|
package/types/lib/load.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @typedef {import("./Lib.js").Lib} Lib
|
|
3
|
+
* @typedef {import("./Lib.js").LibOptions} LibOptions
|
|
3
4
|
*/
|
|
4
5
|
/**
|
|
6
|
+
* @param {LibOptions} options
|
|
5
7
|
* @returns {Lib}
|
|
6
8
|
*/
|
|
7
|
-
export function loadLibrary(): Lib;
|
|
9
|
+
export function loadLibrary(options?: LibOptions): Lib;
|
|
8
10
|
export type Lib = import("./Lib.js").Lib;
|
|
11
|
+
export type LibOptions = import("./Lib.js").LibOptions;
|
|
9
12
|
//# sourceMappingURL=load.d.ts.map
|
package/types/lib/load.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/lib/load.js"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/lib/load.js"],"names":[],"mappings":"AAIA;;;GAGG;AAEH;;;GAGG;AACH,sCAHW,UAAU,GACR,GAAG,CAcf;kBApBY,OAAO,UAAU,EAAE,GAAG;yBACtB,OAAO,UAAU,EAAE,UAAU"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @typedef {import("../lib/index.js").Lib} Lib
|
|
3
|
+
* @typedef {import("../lib/index.js").LibOptions} LibOptions
|
|
3
4
|
* @typedef {import("./ContractContext.js").Validator} CompiledValidator
|
|
4
5
|
*/
|
|
5
6
|
/**
|
|
@@ -82,8 +83,8 @@ export class ContractContextBuilder<T extends {
|
|
|
82
83
|
*/
|
|
83
84
|
private getValidatorTypes;
|
|
84
85
|
/**
|
|
85
|
-
*
|
|
86
86
|
* @param {Option<{[name: string]: string}>} expectedHashes
|
|
87
|
+
* @param {LibOptions} options
|
|
87
88
|
* @returns {{
|
|
88
89
|
* [K in keyof T]:
|
|
89
90
|
* T[K]["$purpose"] extends "spending" ? ValidatorHash<
|
|
@@ -110,9 +111,10 @@ export class ContractContextBuilder<T extends {
|
|
|
110
111
|
*/
|
|
111
112
|
build(expectedHashes?: Option<{
|
|
112
113
|
[name: string]: string;
|
|
113
|
-
}
|
|
114
|
+
}>, options?: LibOptions): { [K_1 in keyof T]: T[K_1]["$purpose"] extends "spending" ? ValidatorHash<SpendingContext<import("./StrictType.js").StrictType<T[K_1]["$Datum"]>, import("./PermissiveType.js").PermissiveType<T[K_1]["$Datum"]>, import("./StrictType.js").StrictType<T[K_1]["$Redeemer"]>, import("./PermissiveType.js").PermissiveType<T[K_1]["$Redeemer"]>>> : T[K_1]["$purpose"] extends "minting" ? MintingPolicyHash<MintingContext<import("./StrictType.js").StrictType<T[K_1]["$Redeemer"]>, import("./PermissiveType.js").PermissiveType<T[K_1]["$Redeemer"]>>> : T[K_1]["$purpose"] extends "certifying" | "rewarding" ? StakingValidatorHash<StakingContext<import("./StrictType.js").StrictType<T[K_1]["$Redeemer"]>, import("./PermissiveType.js").PermissiveType<T[K_1]["$Redeemer"]>>> : never; };
|
|
114
115
|
}
|
|
115
116
|
export type Lib = import("../lib/index.js").Lib;
|
|
117
|
+
export type LibOptions = import("../lib/index.js").LibOptions;
|
|
116
118
|
export type CompiledValidator = import("./ContractContext.js").Validator;
|
|
117
119
|
export type MintingContext<TRedeemerStrict, TRedeemerPermissive> = import("@helios-lang/ledger").MintingContext<TRedeemerStrict, TRedeemerPermissive>;
|
|
118
120
|
export type SpendingContext<TDatumStrict, TDatumPermissive, TRedeemerStrict, TRedeemerPermissive> = import("@helios-lang/ledger").SpendingContext<TDatumStrict, TDatumPermissive, TRedeemerStrict, TRedeemerPermissive>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractContextBuilder.d.ts","sourceRoot":"","sources":["../../src/runtime/ContractContextBuilder.js"],"names":[],"mappings":"AAaA
|
|
1
|
+
{"version":3,"file":"ContractContextBuilder.d.ts","sourceRoot":"","sources":["../../src/runtime/ContractContextBuilder.js"],"names":[],"mappings":"AAaA;;;;GAIG;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;;kBAzBW,UAAU,qwBAiNpB;CACJ;kBAjUY,OAAO,iBAAiB,EAAE,GAAG;yBAC7B,OAAO,iBAAiB,EAAE,UAAU;gCACpC,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;8BA7DG,qBAAqB;kCAArB,qBAAqB;qCAArB,qBAAqB;qBAIP,WAAW"}
|