@helios-lang/contract-utils 0.3.20 → 0.3.21

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helios-lang/contract-utils",
3
- "version": "0.3.20",
3
+ "version": "0.3.21",
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",
@@ -38,11 +38,11 @@
38
38
  "dependencies": {
39
39
  "@helios-lang/cli-utils": "^0.1.10",
40
40
  "@helios-lang/codec-utils": "^0.3.4",
41
- "@helios-lang/compiler-utils": "^0.5.13",
41
+ "@helios-lang/compiler-utils": "^0.5.15",
42
42
  "@helios-lang/crypto": "0.2.3",
43
- "@helios-lang/ledger": "^0.7.4",
44
- "@helios-lang/type-utils": "^0.2.9",
45
- "@helios-lang/uplc": "^0.7.14"
43
+ "@helios-lang/ledger": "^0.7.8",
44
+ "@helios-lang/type-utils": "^0.3.0",
45
+ "@helios-lang/uplc": "^0.7.15"
46
46
  },
47
47
  "scripts": {
48
48
  "build": "pnpm run prettify && pnpm run build:types && pnpm run test:suite",
package/src/cast/Cast.js CHANGED
@@ -475,15 +475,17 @@ function convertSchemaDataToUplcData(schema, x, context) {
475
475
  defs[schema.id] = schema
476
476
  const variantName = Object.keys(x)[0]
477
477
  const variantFields = Object.values(x)[0]
478
- const tag = schema.variantTypes.findIndex(
478
+ const foundVariant = schema.variantTypes.find(
479
479
  (v) => v.name == variantName
480
480
  )
481
-
482
- if (tag == -1) {
481
+ if (!foundVariant) {
483
482
  throw new Error(
484
- `invalid variant ${variantName} (expected: ${schema.variantTypes.map((v) => v.name).join(", ")})`
483
+ `invalid enum variant '${variantName}' (expected one of: ${schema.variantTypes
484
+ .map((v) => v.name)
485
+ .join(", ")})`
485
486
  )
486
487
  }
488
+ const tag = foundVariant.tag
487
489
 
488
490
  return convertEnumVariantDataToConstrData(
489
491
  schema,
@@ -523,7 +525,14 @@ function convertSchemaDataToUplcData(schema, x, context) {
523
525
  * @returns {ConstrData}
524
526
  */
525
527
  function convertEnumVariantDataToConstrData(schema, tag, data, context) {
526
- const variantSchema = schema.variantTypes[tag]
528
+ const variantSchema = schema.variantTypes.find((v) => v.tag == tag)
529
+ if (!variantSchema) {
530
+ throw new Error(
531
+ `invalid enum variant tag ${tag} (expected one of: ${schema.variantTypes
532
+ .map((v) => v.tag)
533
+ .join(", ")})`
534
+ )
535
+ }
527
536
  const variantName = variantSchema.name
528
537
 
529
538
  if (
@@ -867,10 +876,14 @@ function uplcToSchema(schema, data, context) {
867
876
  function convertConstrDataFieldsToEnumVariantFields(schema, data, context) {
868
877
  const { tag, fields } = data
869
878
 
870
- const variantSchema = schema.variantTypes[tag]
879
+ const variantSchema = schema.variantTypes.find((v) => v.tag == tag)
871
880
 
872
881
  if (!variantSchema) {
873
- throw new Error(`tag ${tag} out of range`)
882
+ throw new Error(
883
+ `invalid enum variant tag ${tag} (expected one of: ${schema.variantTypes
884
+ .map((v) => v.tag)
885
+ .join(", ")})`
886
+ )
874
887
  }
875
888
 
876
889
  const nExpected = variantSchema.fieldTypes.length
@@ -1 +1 @@
1
- {"version":3,"file":"Cast.d.ts","sourceRoot":"","sources":["../../src/cast/Cast.js"],"names":[],"mappings":"AAsDA;;;;;GAKG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,yBANa,OAAO,EACP,WAAW,UACb,UAAU,UACV,UAAU,GACR,KAAK,OAAO,EAAE,WAAW,CAAC,CAItC;AAsED;;;;;;;;;;GAUG;AACH,oCAVa,CAAC,UACH,UAAU,QACV,QAAQ,WACR;IACN,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B,CAAC,EAAE,OAAO,CAAA;CACxC,GACS,CAAC,CASb;AAED;;;;;;;;;GASG;AACH,kCATa,CAAC,UACH,UAAU,KACV,CAAC,YACD;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B,CAAC,EAAE,OAAO,CAAA;CACxC,GACS,QAAQ,CAUpB;AA6sBD;;;;;;GAMG;AACH,8BANa,OAAO,EACP,WAAW,QACb,SAAS,OAAO,EAAE,WAAW,CAAC,UAC9B,UAAU,GACR,KAAK,OAAO,EAAE,WAAW,CAAC,CAQtC;;;;;UA51BS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;;;;cAC1B,MAAM;;;;mCACN,OAAO;;;;;;UAKP,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;;;;cAC1B,MAAM;;;;mCACN,OAAO;eACP,OAAO;;gCAjB8B,yBAAyB;gCAEzB,aAAa;0BAAb,aAAa;8BADnB,mBAAmB;8BACb,aAAa;gDAFb,yBAAyB"}
1
+ {"version":3,"file":"Cast.d.ts","sourceRoot":"","sources":["../../src/cast/Cast.js"],"names":[],"mappings":"AAsDA;;;;;GAKG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,yBANa,OAAO,EACP,WAAW,UACb,UAAU,UACV,UAAU,GACR,KAAK,OAAO,EAAE,WAAW,CAAC,CAItC;AAsED;;;;;;;;;;GAUG;AACH,oCAVa,CAAC,UACH,UAAU,QACV,QAAQ,WACR;IACN,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B,CAAC,EAAE,OAAO,CAAA;CACxC,GACS,CAAC,CASb;AAED;;;;;;;;;GASG;AACH,kCATa,CAAC,UACH,UAAU,KACV,CAAC,YACD;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B,CAAC,EAAE,OAAO,CAAA;CACxC,GACS,QAAQ,CAUpB;AA0tBD;;;;;;GAMG;AACH,8BANa,OAAO,EACP,WAAW,QACb,SAAS,OAAO,EAAE,WAAW,CAAC,UAC9B,UAAU,GACR,KAAK,OAAO,EAAE,WAAW,CAAC,CAQtC;;;;;UAz2BS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;;;;cAC1B,MAAM;;;;mCACN,OAAO;;;;;;UAKP,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;;;;cAC1B,MAAM;;;;mCACN,OAAO;eACP,OAAO;;gCAjB8B,yBAAyB;gCAEzB,aAAa;0BAAb,aAAa;8BADnB,mBAAmB;8BACb,aAAa;gDAFb,yBAAyB"}