@taquito/michelson-encoder 17.1.0-beta-RC.0 → 17.1.0

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.
Files changed (121) hide show
  1. package/dist/lib/michelson-map.js +56 -22
  2. package/dist/lib/michelson-map.js.map +1 -1
  3. package/dist/lib/schema/errors.js +128 -0
  4. package/dist/lib/schema/errors.js.map +1 -0
  5. package/dist/lib/schema/parameter.js +49 -9
  6. package/dist/lib/schema/parameter.js.map +1 -1
  7. package/dist/lib/schema/storage.js +52 -40
  8. package/dist/lib/schema/storage.js.map +1 -1
  9. package/dist/lib/schema/view-schema.js +20 -13
  10. package/dist/lib/schema/view-schema.js.map +1 -1
  11. package/dist/lib/taquito-michelson-encoder.js +1 -1
  12. package/dist/lib/taquito-michelson-encoder.js.map +1 -1
  13. package/dist/lib/tokens/bigmap.js +18 -12
  14. package/dist/lib/tokens/bigmap.js.map +1 -1
  15. package/dist/lib/tokens/bls12-381-fr.js +18 -13
  16. package/dist/lib/tokens/bls12-381-fr.js.map +1 -1
  17. package/dist/lib/tokens/bls12-381-g1.js +18 -13
  18. package/dist/lib/tokens/bls12-381-g1.js.map +1 -1
  19. package/dist/lib/tokens/bls12-381-g2.js +18 -13
  20. package/dist/lib/tokens/bls12-381-g2.js.map +1 -1
  21. package/dist/lib/tokens/chain-id.js +17 -11
  22. package/dist/lib/tokens/chain-id.js.map +1 -1
  23. package/dist/lib/tokens/chest-key.js +18 -13
  24. package/dist/lib/tokens/chest-key.js.map +1 -1
  25. package/dist/lib/tokens/chest.js +19 -14
  26. package/dist/lib/tokens/chest.js.map +1 -1
  27. package/dist/lib/tokens/comparable/address.js +25 -13
  28. package/dist/lib/tokens/comparable/address.js.map +1 -1
  29. package/dist/lib/tokens/comparable/bytes.js +18 -13
  30. package/dist/lib/tokens/comparable/bytes.js.map +1 -1
  31. package/dist/lib/tokens/comparable/int.js +17 -13
  32. package/dist/lib/tokens/comparable/int.js.map +1 -1
  33. package/dist/lib/tokens/comparable/key_hash.js +17 -11
  34. package/dist/lib/tokens/comparable/key_hash.js.map +1 -1
  35. package/dist/lib/tokens/comparable/mutez.js +17 -13
  36. package/dist/lib/tokens/comparable/mutez.js.map +1 -1
  37. package/dist/lib/tokens/comparable/nat.js +19 -15
  38. package/dist/lib/tokens/comparable/nat.js.map +1 -1
  39. package/dist/lib/tokens/comparable/tx_rollup_l2_address.js +25 -9
  40. package/dist/lib/tokens/comparable/tx_rollup_l2_address.js.map +1 -1
  41. package/dist/lib/tokens/constant.js +17 -0
  42. package/dist/lib/tokens/constant.js.map +1 -1
  43. package/dist/lib/tokens/contract.js +21 -11
  44. package/dist/lib/tokens/contract.js.map +1 -1
  45. package/dist/lib/tokens/createToken.js +8 -2
  46. package/dist/lib/tokens/createToken.js.map +1 -1
  47. package/dist/lib/tokens/key.js +17 -11
  48. package/dist/lib/tokens/key.js.map +1 -1
  49. package/dist/lib/tokens/list.js +22 -16
  50. package/dist/lib/tokens/list.js.map +1 -1
  51. package/dist/lib/tokens/map.js +18 -12
  52. package/dist/lib/tokens/map.js.map +1 -1
  53. package/dist/lib/tokens/never.js +16 -3
  54. package/dist/lib/tokens/never.js.map +1 -1
  55. package/dist/lib/tokens/or.js +6 -2
  56. package/dist/lib/tokens/or.js.map +1 -1
  57. package/dist/lib/tokens/pair.js +12 -4
  58. package/dist/lib/tokens/pair.js.map +1 -1
  59. package/dist/lib/tokens/sapling-state.js +15 -2
  60. package/dist/lib/tokens/sapling-state.js.map +1 -1
  61. package/dist/lib/tokens/sapling-transaction-deprecated.js +12 -2
  62. package/dist/lib/tokens/sapling-transaction-deprecated.js.map +1 -1
  63. package/dist/lib/tokens/sapling-transaction.js +12 -2
  64. package/dist/lib/tokens/sapling-transaction.js.map +1 -1
  65. package/dist/lib/tokens/set.js +18 -12
  66. package/dist/lib/tokens/set.js.map +1 -1
  67. package/dist/lib/tokens/signature.js +17 -11
  68. package/dist/lib/tokens/signature.js.map +1 -1
  69. package/dist/lib/tokens/ticket-deprecated.js +10 -2
  70. package/dist/lib/tokens/ticket-deprecated.js.map +1 -1
  71. package/dist/lib/tokens/ticket.js +10 -2
  72. package/dist/lib/tokens/ticket.js.map +1 -1
  73. package/dist/lib/tokens/token.js +3 -2
  74. package/dist/lib/tokens/token.js.map +1 -1
  75. package/dist/lib/version.js +2 -2
  76. package/dist/lib/version.js.map +1 -1
  77. package/dist/taquito-michelson-encoder.es6.js +720 -399
  78. package/dist/taquito-michelson-encoder.es6.js.map +1 -1
  79. package/dist/taquito-michelson-encoder.umd.js +724 -405
  80. package/dist/taquito-michelson-encoder.umd.js.map +1 -1
  81. package/dist/types/michelson-map.d.ts +14 -6
  82. package/dist/types/schema/errors.d.ts +83 -0
  83. package/dist/types/schema/parameter.d.ts +31 -0
  84. package/dist/types/schema/storage.d.ts +24 -2
  85. package/dist/types/schema/view-schema.d.ts +6 -1
  86. package/dist/types/taquito-michelson-encoder.d.ts +1 -1
  87. package/dist/types/tokens/bigmap.d.ts +14 -1
  88. package/dist/types/tokens/bls12-381-fr.d.ts +14 -1
  89. package/dist/types/tokens/bls12-381-g1.d.ts +14 -1
  90. package/dist/types/tokens/bls12-381-g2.d.ts +14 -1
  91. package/dist/types/tokens/chain-id.d.ts +14 -1
  92. package/dist/types/tokens/chest-key.d.ts +14 -1
  93. package/dist/types/tokens/chest.d.ts +14 -1
  94. package/dist/types/tokens/comparable/address.d.ts +20 -1
  95. package/dist/types/tokens/comparable/bytes.d.ts +14 -1
  96. package/dist/types/tokens/comparable/int.d.ts +14 -1
  97. package/dist/types/tokens/comparable/key_hash.d.ts +14 -1
  98. package/dist/types/tokens/comparable/mutez.d.ts +14 -1
  99. package/dist/types/tokens/comparable/nat.d.ts +14 -1
  100. package/dist/types/tokens/comparable/tx_rollup_l2_address.d.ts +20 -1
  101. package/dist/types/tokens/constant.d.ts +17 -0
  102. package/dist/types/tokens/contract.d.ts +17 -1
  103. package/dist/types/tokens/createToken.d.ts +7 -1
  104. package/dist/types/tokens/key.d.ts +14 -1
  105. package/dist/types/tokens/list.d.ts +17 -1
  106. package/dist/types/tokens/map.d.ts +14 -1
  107. package/dist/types/tokens/never.d.ts +13 -0
  108. package/dist/types/tokens/or.d.ts +5 -1
  109. package/dist/types/tokens/pair.d.ts +6 -2
  110. package/dist/types/tokens/sapling-state.d.ts +13 -0
  111. package/dist/types/tokens/sapling-transaction-deprecated.d.ts +10 -0
  112. package/dist/types/tokens/sapling-transaction.d.ts +10 -0
  113. package/dist/types/tokens/set.d.ts +14 -1
  114. package/dist/types/tokens/signature.d.ts +14 -1
  115. package/dist/types/tokens/ticket-deprecated.d.ts +8 -1
  116. package/dist/types/tokens/ticket.d.ts +8 -1
  117. package/dist/types/tokens/token.d.ts +4 -3
  118. package/package.json +4 -4
  119. package/dist/lib/schema/error.js +0 -120
  120. package/dist/lib/schema/error.js.map +0 -1
  121. package/dist/types/schema/error.d.ts +0 -86
@@ -4,14 +4,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.MichelsonMap = exports.MapTypecheckError = exports.InvalidMapTypeError = void 0;
5
5
  const storage_1 = require("./schema/storage");
6
6
  const fast_json_stable_stringify_1 = require("fast-json-stable-stringify");
7
+ const core_1 = require("@taquito/core");
7
8
  /**
8
9
  * @category Error
9
10
  * @description Error that indicates an invalid map type being passed or used
10
11
  */
11
- class InvalidMapTypeError extends Error {
12
- constructor(mapType) {
13
- super(`The map type '${mapType}' is invalid`);
12
+ class InvalidMapTypeError extends core_1.TaquitoError {
13
+ constructor(mapType, reason) {
14
+ super();
14
15
  this.mapType = mapType;
16
+ this.reason = reason;
17
+ this.message = `The map type '${JSON.stringify(mapType)}' is invalid. Reason: ${reason}.`;
15
18
  this.name = 'InvalidMapTypeError';
16
19
  }
17
20
  }
@@ -19,18 +22,39 @@ exports.InvalidMapTypeError = InvalidMapTypeError;
19
22
  // Retrieve a unique symbol associated with the key from the environment
20
23
  // Used in order to identify all object that are of type MichelsonMap even if they come from different module
21
24
  const michelsonMapTypeSymbol = Symbol.for('taquito-michelson-map-type-symbol');
22
- const isMapType = (value) => {
23
- return 'args' in value && Array.isArray(value.args) && value.args.length === 2;
24
- };
25
+ /**
26
+ *
27
+ * @throws {@link InvalidMapTypeError} when the argument passed to mapType is not a valid map type
28
+ */
29
+ function validateMapType(value) {
30
+ if (!('prim' in value)) {
31
+ throw new InvalidMapTypeError(value, `Missing 'prim' field`);
32
+ }
33
+ if (!['map', 'big_map'].includes(value.prim)) {
34
+ throw new InvalidMapTypeError(value, `The prim field should be 'map' or 'big_map'`);
35
+ }
36
+ if (!('args' in value)) {
37
+ throw new InvalidMapTypeError(value, `Missing 'args' field`);
38
+ }
39
+ if (!Array.isArray(value.args)) {
40
+ throw new InvalidMapTypeError(value, `The 'args' field should be an array`);
41
+ }
42
+ if (value.args.length !== 2) {
43
+ throw new InvalidMapTypeError(value, `The 'args' field should have 2 elements`);
44
+ }
45
+ }
25
46
  /**
26
47
  * @category Error
27
48
  * @description Error that indicates a map type mismatch, where an attempt to set a key or value in a Map doesn't match the defined type of the Map
28
49
  */
29
- class MapTypecheckError extends Error {
30
- constructor(value, type, errorType) {
31
- super(`${errorType} not compliant with underlying michelson type`);
50
+ class MapTypecheckError extends core_1.TaquitoError {
51
+ constructor(value, type, objectType, reason) {
52
+ super();
32
53
  this.value = value;
33
54
  this.type = type;
55
+ this.reason = reason;
56
+ this.name = 'MapTypecheckError';
57
+ this.message = `The ${objectType} provided: ${JSON.stringify(value)} is not compatible with the expected michelson type: ${JSON.stringify(type)}. Reason: ${JSON.stringify(reason)}.`;
34
58
  this.name = 'MapTypecheckError';
35
59
  }
36
60
  }
@@ -59,9 +83,7 @@ class MichelsonMap {
59
83
  return obj && obj[michelsonMapTypeSymbol] === true;
60
84
  }
61
85
  setType(mapType) {
62
- if (!isMapType(mapType)) {
63
- throw new InvalidMapTypeError(mapType.toString());
64
- }
86
+ validateMapType(mapType);
65
87
  this.keySchema = new storage_1.Schema(mapType.args[0]);
66
88
  this.valueSchema = new storage_1.Schema(mapType.args[1]);
67
89
  }
@@ -77,25 +99,37 @@ class MichelsonMap {
77
99
  return map;
78
100
  }
79
101
  typecheckKey(key) {
80
- if (this.keySchema) {
81
- return this.keySchema.Typecheck(key);
102
+ if (!this.keySchema) {
103
+ return;
82
104
  }
83
- return true;
105
+ this.keySchema.Typecheck(key);
84
106
  }
85
107
  typecheckValue(value) {
86
- if (this.valueSchema) {
87
- return this.valueSchema.Typecheck(value);
108
+ if (!this.valueSchema) {
109
+ return;
88
110
  }
89
- return true;
111
+ this.valueSchema.Typecheck(value);
90
112
  }
113
+ /**
114
+ * @throws {@link MapTypecheckError} when the argument passed does not match the expected schema for value
115
+ */
91
116
  assertTypecheckValue(value) {
92
- if (!this.typecheckValue(value)) {
93
- throw new MapTypecheckError(value, this.valueSchema, 'value');
117
+ try {
118
+ this.typecheckValue(value);
119
+ }
120
+ catch (e) {
121
+ throw new MapTypecheckError(value, this.valueSchema, 'value', e);
94
122
  }
95
123
  }
124
+ /**
125
+ * @throws {@link MapTypecheckError} when the argument passed does not match the expected schema for key
126
+ */
96
127
  assertTypecheckKey(key) {
97
- if (!this.typecheckKey(key)) {
98
- throw new MapTypecheckError(key, this.keySchema, 'key');
128
+ try {
129
+ this.typecheckKey(key);
130
+ }
131
+ catch (e) {
132
+ throw new MapTypecheckError(key, this.keySchema, 'key', e);
99
133
  }
100
134
  }
101
135
  serializeDeterministically(key) {
@@ -1 +1 @@
1
- {"version":3,"file":"michelson-map.js","sourceRoot":"","sources":["../../src/michelson-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"michelson-map.js","sourceRoot":"","sources":["../../src/michelson-map.ts"],"names":[],"mappings":";;;;AACA,8CAA0C;AAC1C,2EAAmD;AACnD,wCAA6C;AAE7C;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,mBAAY;IACnD,YAA4B,OAAY,EAAkB,MAAc;QACtE,KAAK,EAAE,CAAC;QADkB,YAAO,GAAP,OAAO,CAAK;QAAkB,WAAM,GAAN,MAAM,CAAQ;QAEtE,IAAI,CAAC,OAAO,GAAG,iBAAiB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,MAAM,GAAG,CAAC;QAC1F,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAND,kDAMC;AAED,wEAAwE;AACxE,6GAA6G;AAC7G,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AAI/E;;;GAGG;AACH,SAAS,eAAe,CAAC,KAA4B;IAInD,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;QACtB,MAAM,IAAI,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QAC5C,MAAM,IAAI,mBAAmB,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;KACrF;IACD,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;QACtB,MAAM,IAAI,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QAC9B,MAAM,IAAI,mBAAmB,CAAC,KAAK,EAAE,qCAAqC,CAAC,CAAC;KAC7E;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,mBAAmB,CAAC,KAAK,EAAE,yCAAyC,CAAC,CAAC;KACjF;AACH,CAAC;AAED;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,mBAAY;IAGjD,YACkB,KAAU,EACV,IAAS,EACzB,UAA2B,EACX,MAAW;QAE3B,KAAK,EAAE,CAAC;QALQ,UAAK,GAAL,KAAK,CAAK;QACV,SAAI,GAAJ,IAAI,CAAK;QAET,WAAM,GAAN,MAAM,CAAK;QAN7B,SAAI,GAAG,mBAAmB,CAAC;QASzB,IAAI,CAAC,OAAO,GAAG,OAAO,UAAU,cAAc,IAAI,CAAC,SAAS,CAC1D,KAAK,CACN,wDAAwD,IAAI,CAAC,SAAS,CACrE,IAAI,CACL,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAjBD,8CAiBC;AAED;;GAEG;AACH,MAAa,YAAY;IAgBvB;;;;OAIG;IACH,YAAY,OAA+B;QApBnC,aAAQ,GAAG,IAAI,GAAG,EAAa,CAAC;QAChC,WAAM,GAAG,IAAI,GAAG,EAAa,CAAC;QAE/B,QAAwB,GAAG,IAAI,CAAC;QAkBrC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACvB;IACH,CAAC;IAnBD,iDAAiD;IACjD,kGAAkG;IAClG,wCAAwC;IACxC,MAAM,CAAC,cAAc,CAAC,GAAQ;QAC5B,OAAO,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;IACrD,CAAC;IAgBD,OAAO,CAAC,OAA8B;QACpC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEzB,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,GAA2B,EAAE,OAA+B;QAC7E,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,YAAY,CAAC,GAAM;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO;SACR;QACD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEO,cAAc,CAAC,KAAQ;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO;SACR;QACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,KAAQ;QACnC,IAAI;YACF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAC5B;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;SAClE;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,GAAM;QAC/B,IAAI;YACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;SAC5D;IACH,CAAC;IAEO,0BAA0B,CAAC,GAAM;QACvC,OAAO,oCAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,CAAC,IAAI;QACH,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAED,CAAC,MAAM;QACL,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,CAAC,OAAO;QACN,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;YACtC,oEAAoE;YACpE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC;SACxD;IACH,CAAC;IAED,GAAG,CAAC,GAAM;QACR,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,GAAM;QACX,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,GAAG,CAAC,GAAM;QACR,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,EAAuD;QAC7D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YACzC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SACtB;IACH,CAAC;CACF;AApKD,oCAoKC;KAhKS,sBAAsB"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.MissingArgumentError = exports.StorageEncodingError = exports.BigMapEncodingError = exports.InvalidBigMapDiffError = exports.InvalidBigMapSchemaError = exports.InvalidRpcResponseError = exports.InvalidScriptError = exports.ParameterEncodingError = void 0;
5
+ const core_1 = require("@taquito/core");
6
+ /**
7
+ * @category Error
8
+ * @description Error that indicates a failure when encoding (transforming JS parameter into JSON Michelson) the parameter of the view
9
+ */
10
+ class ParameterEncodingError extends core_1.InvalidViewParameterError {
11
+ constructor(viewName, sigs, args, cause) {
12
+ super(viewName, sigs, args, cause);
13
+ this.viewName = viewName;
14
+ this.sigs = sigs;
15
+ this.args = args;
16
+ this.cause = cause;
17
+ this.name = 'ParameterEncodingError';
18
+ this.message = `Could not encode parameter ${JSON.stringify(args)} received for name "${viewName}" expecting one of the following signatures ${JSON.stringify(sigs)}`;
19
+ }
20
+ }
21
+ exports.ParameterEncodingError = ParameterEncodingError;
22
+ /**
23
+ * @category Error
24
+ * @description Error that indicates an invalid on-chain view found on the script
25
+ */
26
+ class InvalidScriptError extends core_1.TaquitoError {
27
+ constructor(script, reason) {
28
+ super();
29
+ this.script = script;
30
+ this.reason = reason;
31
+ this.name = 'InvalidScriptError';
32
+ let message = `Invalid on-chain view found in the following script.`;
33
+ if (reason) {
34
+ message += ` Reason: ${reason}.`;
35
+ }
36
+ message += `Script: ${JSON.stringify(script)}`;
37
+ this.message = message;
38
+ }
39
+ }
40
+ exports.InvalidScriptError = InvalidScriptError;
41
+ /**
42
+ * @category Error
43
+ * @description Error that indicates an invalid RPC response being passed or used
44
+ */
45
+ class InvalidRpcResponseError extends core_1.TaquitoError {
46
+ constructor(script, reason) {
47
+ super();
48
+ this.script = script;
49
+ this.reason = reason;
50
+ this.name = 'InvalidRpcResponseError';
51
+ let message = `Invalid RPC response passed as argument(s).`;
52
+ if (reason) {
53
+ message += ` Reason: ${reason}.`;
54
+ }
55
+ message += ` Received: ${JSON.stringify(script)}`;
56
+ this.message = message;
57
+ }
58
+ }
59
+ exports.InvalidRpcResponseError = InvalidRpcResponseError;
60
+ /**
61
+ * @category Error
62
+ * @description Error that indicates an invalid big map schema being passed or used
63
+ */
64
+ class InvalidBigMapSchemaError extends core_1.TaquitoError {
65
+ constructor(message) {
66
+ super(message);
67
+ this.message = message;
68
+ this.name = 'InvalidBigMapSchemaError';
69
+ }
70
+ }
71
+ exports.InvalidBigMapSchemaError = InvalidBigMapSchemaError;
72
+ /**
73
+ * @category Error
74
+ * @description Error that indicates an invalid big map diff being passed or used
75
+ */
76
+ class InvalidBigMapDiffError extends core_1.TaquitoError {
77
+ constructor(message, value) {
78
+ super(message);
79
+ this.message = message;
80
+ this.value = value;
81
+ this.name = 'InvalidBigMapDiffError';
82
+ }
83
+ }
84
+ exports.InvalidBigMapDiffError = InvalidBigMapDiffError;
85
+ /**
86
+ * @category Error
87
+ * @description Error that indicates a failure when trying to encode big maps
88
+ */
89
+ class BigMapEncodingError extends core_1.TaquitoError {
90
+ constructor(obj, details, schema, value) {
91
+ super();
92
+ this.details = details;
93
+ this.schema = schema;
94
+ this.value = value;
95
+ this.name = 'BigMapEncodingError';
96
+ this.message = `Unable to encode the big map ${obj}. Schema is: ${JSON.stringify(schema)}. The ${obj} is: ${JSON.stringify(value)}. Error details: ${details}`;
97
+ }
98
+ }
99
+ exports.BigMapEncodingError = BigMapEncodingError;
100
+ /**
101
+ * @category Error
102
+ * @description Error that indicates a failure when trying to encode storage
103
+ */
104
+ class StorageEncodingError extends core_1.TaquitoError {
105
+ constructor(obj, details, schema, value, semantics) {
106
+ super();
107
+ this.details = details;
108
+ this.schema = schema;
109
+ this.value = value;
110
+ this.semantics = semantics;
111
+ this.name = 'StorageEncodingError';
112
+ this.message = `Unable to encode ${obj}. The schema is: ${JSON.stringify(schema)}, the value is: ${JSON.stringify(value)}.${semantics ? `And the semantic is: ${JSON.stringify(semantics)}` : ''}. Error details: ${details}`;
113
+ }
114
+ }
115
+ exports.StorageEncodingError = StorageEncodingError;
116
+ /**
117
+ * @category Error
118
+ * @description General error that indicates a function not being passed a necessary argument
119
+ */
120
+ class MissingArgumentError extends core_1.TaquitoError {
121
+ constructor(message) {
122
+ super(message);
123
+ this.message = message;
124
+ this.name = 'MissingArgumentError';
125
+ }
126
+ }
127
+ exports.MissingArgumentError = MissingArgumentError;
128
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/schema/errors.ts"],"names":[],"mappings":"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"}
@@ -5,28 +5,55 @@ const createToken_1 = require("../tokens/createToken");
5
5
  const token_1 = require("../tokens/token");
6
6
  const or_1 = require("../tokens/or");
7
7
  const option_1 = require("../tokens/option");
8
- const error_1 = require("./error");
8
+ const errors_1 = require("./errors");
9
9
  /**
10
10
  * @warn Our current smart contract abstraction feature is currently in preview. It's API is not final, and it may not cover every use case (yet). We will greatly appreciate any feedback on this feature.
11
11
  */
12
12
  class ParameterSchema {
13
+ /**
14
+ * @description Return the schema of the parameter of a specific entry point
15
+ * @throws {@link InvalidTokenError}
16
+ */
13
17
  constructor(val) {
14
18
  this.root = createToken_1.createToken(val, 0);
15
19
  }
20
+ /**
21
+ *
22
+ * @description Create an instance of ParameterSchema from a contract script
23
+ *
24
+ * @param val contract script obtained from the RPC
25
+ * @returns ParameterSchema
26
+ * @throws {InvalidRpcResponseError} If the RPC response is invalid
27
+ */
16
28
  static fromRPCResponse(val) {
17
- const parameter = val &&
18
- val.script &&
19
- Array.isArray(val.script.code) &&
20
- val.script.code.find((x) => x.prim === 'parameter');
21
- if (!parameter || !Array.isArray(parameter.args)) {
22
- throw new error_1.InvalidRpcResponseError(val.script);
29
+ if (!val) {
30
+ throw new errors_1.InvalidRpcResponseError(val, 'the RPC response is empty');
31
+ }
32
+ if (!val.script) {
33
+ throw new errors_1.InvalidRpcResponseError(val, 'the RPC response has no script');
34
+ }
35
+ if (!Array.isArray(val.script.code)) {
36
+ throw new errors_1.InvalidRpcResponseError(val, 'The response.script.code should be an array');
37
+ }
38
+ const parameter = val.script.code.find((x) => 'prim' in x && x.prim === 'parameter');
39
+ if (!parameter) {
40
+ throw new errors_1.InvalidRpcResponseError(val, `The response.script.code should have an element of type {prim: "parameter"}`);
41
+ }
42
+ if (!Array.isArray(parameter.args)) {
43
+ throw new errors_1.InvalidRpcResponseError(val, `The response.script.code has an element of type {prim: "parameter"}, but its args is not an array`);
23
44
  }
24
45
  return new ParameterSchema(parameter.args[0]);
25
46
  }
47
+ /**
48
+ * @description Check if the Contract parameter is multiple entry point or not
49
+ */
26
50
  get isMultipleEntryPoint() {
27
51
  return (this.root instanceof or_1.OrToken ||
28
52
  (this.root instanceof option_1.OptionToken && this.root.subToken() instanceof or_1.OrToken));
29
53
  }
54
+ /**
55
+ * @description Check if the Contract parameter has an annotation or not
56
+ */
30
57
  get hasAnnotation() {
31
58
  if (this.isMultipleEntryPoint) {
32
59
  return Object.keys(this.ExtractSchema())[0] !== '0';
@@ -35,9 +62,17 @@ class ParameterSchema {
35
62
  return true;
36
63
  }
37
64
  }
65
+ /**
66
+ * @description Returns the javascript object equivalent of the Micheline value provided
67
+ */
38
68
  Execute(val, semantics) {
39
69
  return this.root.Execute(val, semantics);
40
70
  }
71
+ /**
72
+ * @description Returns a micheline formatted object for the values provided
73
+ * @throws {@link TokenValidationError}
74
+ * @throws {@link ParameterEncodingError}
75
+ */
41
76
  Encode(...args) {
42
77
  try {
43
78
  return this.root.Encode(args.reverse());
@@ -46,9 +81,14 @@ class ParameterSchema {
46
81
  if (ex instanceof token_1.TokenValidationError) {
47
82
  throw ex;
48
83
  }
49
- throw new error_1.ParameterEncodingError('Unable to encode parameter', args.toString(), ex);
84
+ throw new errors_1.ParameterEncodingError('Unable to encode parameter', this.root, args, ex);
50
85
  }
51
86
  }
87
+ /**
88
+ * @description Returns a micheline formatted object for the javascript object provided
89
+ * @throws {@link TokenValidationError}
90
+ * @throws {@link ParameterEncodingError}
91
+ */
52
92
  EncodeObject(value, semantics) {
53
93
  try {
54
94
  return this.root.EncodeObject(value, semantics);
@@ -57,7 +97,7 @@ class ParameterSchema {
57
97
  if (ex instanceof token_1.TokenValidationError) {
58
98
  throw ex;
59
99
  }
60
- throw new error_1.ParameterEncodingError('Unable to encode parameter object', value, ex);
100
+ throw new errors_1.ParameterEncodingError('Unable to encode parameter object', this.root, value, ex);
61
101
  }
62
102
  }
63
103
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../../src/schema/parameter.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AACpD,2CAA0F;AAC1F,qCAAuC;AACvC,6CAA+C;AAG/C,mCAA0E;AAE1E;;GAEG;AACH,MAAa,eAAe;IA+B1B,YAAY,GAA0B;QACpC,IAAI,CAAC,IAAI,GAAG,yBAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IA9BD,MAAM,CAAC,eAAe,CAAC,GAA+B;QACpD,MAAM,SAAS,GACb,GAAG;YACH,GAAG,CAAC,MAAM;YACV,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAmC,CAAC;QAC9F,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,IAAI,+BAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC/C;QAED,OAAO,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,CACL,IAAI,CAAC,IAAI,YAAY,YAAO;YAC5B,CAAC,IAAI,CAAC,IAAI,YAAY,oBAAW,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,YAAO,CAAC,CAC9E,CAAC;IACJ,CAAC;IAED,IAAI,aAAa;QACf,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;SACrD;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAMD,OAAO,CAAC,GAAQ,EAAE,SAAoB;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,GAAG,IAAW;QACnB,IAAI;YACF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SACzC;QAAC,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,YAAY,4BAAoB,EAAE;gBACtC,MAAM,EAAE,CAAC;aACV;YAED,MAAM,IAAI,8BAAsB,CAAC,4BAA4B,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;SACrF;IACH,CAAC;IAED,YAAY,CAAC,KAAW,EAAE,SAA4B;QACpD,IAAI;YACF,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SACjD;QAAC,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,YAAY,4BAAoB,EAAE;gBACtC,MAAM,EAAE,CAAC;aACV;YAED,MAAM,IAAI,8BAAsB,CAAC,mCAAmC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;SAClF;IACH,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACtC,CAAC;CACF;AAjFD,0CAiFC"}
1
+ {"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../../src/schema/parameter.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ const pair_1 = require("../tokens/pair");
10
10
  const ticket_1 = require("../tokens/ticket");
11
11
  const ticket_deprecated_1 = require("../tokens/ticket-deprecated");
12
12
  const token_1 = require("../tokens/token");
13
- const error_1 = require("./error");
13
+ const errors_1 = require("./errors");
14
14
  const schemaTypeSymbol = Symbol.for('taquito-schema-type-symbol');
15
15
  // collapse comb pair
16
16
  function collapse(val, prim = pair_1.PairToken.prim) {
@@ -53,7 +53,7 @@ function deepEqual(a, b) {
53
53
  }
54
54
  exports.deepEqual = deepEqual;
55
55
  /**
56
- * @warn Our current smart contract abstraction feature is currently in preview. It's API is not final, and it may not cover every use case (yet). We will greatly appreciate any feedback on this feature.
56
+ * @warn Our current smart contract abstraction feature is currently in preview. Its API is not final, and it may not cover every use case (yet). We will greatly appreciate any feedback on this feature.
57
57
  */
58
58
  class Schema {
59
59
  constructor(val) {
@@ -73,27 +73,26 @@ class Schema {
73
73
  static isSchema(obj) {
74
74
  return obj && obj[schemaTypeSymbol] === true;
75
75
  }
76
+ /**
77
+ * @throws {@link InvalidRpcResponseError}
78
+ */
76
79
  static fromRPCResponse(val) {
77
- const storage = val &&
78
- val.script &&
79
- Array.isArray(val.script.code) &&
80
- val.script.code.find((x) => {
81
- if (!Array.isArray(x)) {
82
- const checkExtended = x;
83
- if (checkExtended.prim) {
84
- return checkExtended.prim === 'storage';
85
- }
86
- else {
87
- return false;
88
- }
89
- }
90
- else {
91
- // storage passed along as original storage value
92
- this.fromRPCResponse({ script: { code: x, storage: val.script.storage } });
93
- }
94
- });
80
+ if (!val) {
81
+ throw new errors_1.InvalidRpcResponseError(val, 'the RPC response is empty');
82
+ }
83
+ if (!val.script) {
84
+ throw new errors_1.InvalidRpcResponseError(val, 'the RPC response has no script');
85
+ }
86
+ if (!Array.isArray(val.script.code)) {
87
+ throw new errors_1.InvalidRpcResponseError(val, 'The response.script.code should be an array');
88
+ }
89
+ let code = val.script.code;
90
+ while (code.length === 1 && Array.isArray(code[0])) {
91
+ code = code[0];
92
+ }
93
+ const storage = code.find((x) => 'prim' in x && x.prim === 'storage');
95
94
  if (!storage || !Array.isArray(storage.args)) {
96
- throw new error_1.InvalidRpcResponseError(val.script);
95
+ throw new errors_1.InvalidRpcResponseError(val, 'The response.script.code has an element of type {prim: "storage"}, but its args is not an array');
97
96
  }
98
97
  return new Schema(storage.args[0]);
99
98
  }
@@ -115,52 +114,61 @@ class Schema {
115
114
  }
116
115
  Typecheck(val) {
117
116
  if (this.root instanceof bigmap_1.BigMapToken && Number.isInteger(Number(val))) {
118
- return true;
117
+ return;
119
118
  }
120
119
  if (this.root instanceof ticket_1.TicketToken && val.ticketer && val.value && val.amount) {
121
- return true;
120
+ return;
122
121
  }
123
122
  if (this.root instanceof ticket_deprecated_1.TicketDeprecatedToken && val.ticketer && val.value && val.amount) {
124
- return true;
123
+ return;
125
124
  }
126
125
  if (this.root instanceof map_1.MapToken && this.root.ValueSchema instanceof bigmap_1.BigMapToken) {
127
- return true;
128
- }
129
- try {
130
- this.root.EncodeObject(val);
131
- return true;
132
- }
133
- catch (ex) {
134
- return false;
126
+ return;
135
127
  }
128
+ this.root.EncodeObject(val);
136
129
  }
130
+ /**
131
+ * @throws {@link InvalidBigMapSchemaError}
132
+ * @throws {@link InvalidBigMapDiffError}
133
+ */
137
134
  ExecuteOnBigMapDiff(diff, semantics) {
138
135
  if (!this.bigMap) {
139
- throw new error_1.InvalidBigMapSchema('Big map schema is undefined');
136
+ throw new errors_1.InvalidBigMapSchemaError('Big map schema is undefined');
140
137
  }
141
138
  if (!Array.isArray(diff)) {
142
- throw new error_1.InvalidBigMapDiff('Big map diff must be an array');
139
+ throw new errors_1.InvalidBigMapDiffError(`Big map diff must be an array, got: ${JSON.stringify(diff)}`, diff);
143
140
  }
144
141
  const eltFormat = diff.map(({ key, value }) => ({ args: [key, value] }));
145
142
  return this.bigMap.Execute(eltFormat, semantics);
146
143
  }
144
+ /**
145
+ * @throws {@link InvalidBigMapSchemaError}
146
+ */
147
147
  ExecuteOnBigMapValue(key, semantics) {
148
148
  if (!this.bigMap) {
149
- throw new error_1.InvalidBigMapSchema('No big map schema');
149
+ throw new errors_1.InvalidBigMapSchemaError('Big map schema is undefined');
150
150
  }
151
151
  return this.bigMap.ValueSchema.Execute(key, semantics);
152
152
  }
153
+ /**
154
+ * @throws {@link InvalidBigMapSchemaError}
155
+ * @throws {@link BigMapEncodingError}
156
+ */
153
157
  EncodeBigMapKey(key) {
154
158
  if (!this.bigMap) {
155
- throw new error_1.InvalidBigMapSchema('Big map schema is undefined');
159
+ throw new errors_1.InvalidBigMapSchemaError('Big map schema is undefined');
156
160
  }
157
161
  try {
158
162
  return this.bigMap.KeySchema.ToBigMapKey(key);
159
163
  }
160
164
  catch (ex) {
161
- throw new error_1.BigMapEncodingError('big map key', ex);
165
+ throw new errors_1.BigMapEncodingError('key', ex, this.bigMap.KeySchema, key);
162
166
  }
163
167
  }
168
+ /**
169
+ * @throws {@link TokenValidationError}
170
+ * @throws {@link StorageEncodingError}
171
+ */
164
172
  Encode(value, semantics) {
165
173
  try {
166
174
  return this.root.EncodeObject(value, semantics);
@@ -169,7 +177,7 @@ class Schema {
169
177
  if (ex instanceof token_1.TokenValidationError) {
170
178
  throw ex;
171
179
  }
172
- throw new error_1.StorageEncodingError('storage object', ex);
180
+ throw new errors_1.StorageEncodingError('storage object', ex, this.root, value, semantics);
173
181
  }
174
182
  }
175
183
  /**
@@ -188,10 +196,11 @@ class Schema {
188
196
  }
189
197
  /**
190
198
  * @deprecated
199
+ * @throws {@link InvalidBigMapSchemaError}
191
200
  */
192
201
  ComputeState(tx, state) {
193
202
  if (!this.bigMap) {
194
- throw new error_1.InvalidBigMapSchema('Big map schema is undefined');
203
+ throw new errors_1.InvalidBigMapSchemaError('Big map schema is undefined');
195
204
  }
196
205
  const bigMap = tx.reduce((prev, current) => {
197
206
  return Object.assign(Object.assign({}, prev), this.ExecuteOnBigMapDiff(current.contents[0].metadata.operation_result.big_map_diff));
@@ -211,6 +220,9 @@ class Schema {
211
220
  return this.findValue(this.root['val'], storage, valueType);
212
221
  }
213
222
  // TODO check these type casts
223
+ /**
224
+ * @throws {@link MissingArgumentError}
225
+ */
214
226
  findValue(schema, storage, valueToFind) {
215
227
  if (deepEqual(valueToFind, schema)) {
216
228
  return storage;
@@ -219,7 +231,7 @@ class Schema {
219
231
  const sch = collapse(schema);
220
232
  const strg = collapse(storage, 'Pair');
221
233
  if (sch.args === undefined || strg.args === undefined) {
222
- throw new error_1.MissingArgumentError('Tokens have no arguments'); // unlikely
234
+ throw new errors_1.MissingArgumentError('Tokens have no arguments'); // unlikely
223
235
  }
224
236
  if (sch.args[0])
225
237
  return (
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/schema/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/schema/storage.ts"],"names":[],"mappings":"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"}