@taquito/michelson-encoder 13.0.0 → 14.0.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 (33) hide show
  1. package/dist/lib/schema/storage.js +4 -0
  2. package/dist/lib/schema/storage.js.map +1 -1
  3. package/dist/lib/tokens/bigmap.js +15 -2
  4. package/dist/lib/tokens/bigmap.js.map +1 -1
  5. package/dist/lib/tokens/comparable/address.js.map +1 -1
  6. package/dist/lib/tokens/comparable/bytes.js +5 -1
  7. package/dist/lib/tokens/comparable/bytes.js.map +1 -1
  8. package/dist/lib/tokens/comparable/tx_rollup_l2_address.js +2 -2
  9. package/dist/lib/tokens/comparable/tx_rollup_l2_address.js.map +1 -1
  10. package/dist/lib/tokens/contract.js.map +1 -1
  11. package/dist/lib/tokens/map.js +15 -2
  12. package/dist/lib/tokens/map.js.map +1 -1
  13. package/dist/lib/tokens/pair.js +6 -4
  14. package/dist/lib/tokens/pair.js.map +1 -1
  15. package/dist/lib/tokens/sapling-transaction-deprecated.js +76 -0
  16. package/dist/lib/tokens/sapling-transaction-deprecated.js.map +1 -0
  17. package/dist/lib/tokens/signature.js.map +1 -1
  18. package/dist/lib/tokens/token.js.map +1 -1
  19. package/dist/lib/tokens/tokens.js +3 -1
  20. package/dist/lib/tokens/tokens.js.map +1 -1
  21. package/dist/lib/version.js +2 -2
  22. package/dist/taquito-michelson-encoder.es6.js +120 -15
  23. package/dist/taquito-michelson-encoder.es6.js.map +1 -1
  24. package/dist/taquito-michelson-encoder.umd.js +119 -14
  25. package/dist/taquito-michelson-encoder.umd.js.map +1 -1
  26. package/dist/types/schema/model.d.ts +1 -1
  27. package/dist/types/schema/types.d.ts +7 -1
  28. package/dist/types/tokens/bigmap.d.ts +1 -0
  29. package/dist/types/tokens/comparable/tx_rollup_l2_address.d.ts +1 -1
  30. package/dist/types/tokens/map.d.ts +1 -0
  31. package/dist/types/tokens/sapling-transaction-deprecated.d.ts +39 -0
  32. package/dist/types/tokens/tokens.d.ts +2 -1
  33. package/package.json +15 -15
@@ -1,6 +1,6 @@
1
1
  import stringify from 'fast-json-stable-stringify';
2
2
  import BigNumber from 'bignumber.js';
3
- import { b58decode, validateAddress, ValidationResult, encodePubKey, b58decodeL2Address, encodeL2Address, encodeKey, validatePublicKey, Prefix, b58cdecode, prefix, encodeKeyHash, validateKeyHash, validateSignature, validateChain } from '@taquito/utils';
3
+ import { b58decode, validateAddress, ValidationResult, encodePubKey, b58decodeL2Address, encodeL2Address, stripHexPrefix, encodeKey, validatePublicKey, Prefix, b58cdecode, prefix, encodeKeyHash, validateKeyHash, validateSignature, validateChain } from '@taquito/utils';
4
4
 
5
5
  var _a$1;
6
6
  /**
@@ -300,8 +300,21 @@ class BigMapToken extends Token {
300
300
  }
301
301
  return new BigMapValidationError(value, this, 'Value must be a MichelsonMap');
302
302
  }
303
+ objLitToMichelsonMap(val) {
304
+ if (val instanceof MichelsonMap)
305
+ return val;
306
+ if (typeof val === 'object') {
307
+ if (Object.keys(val).length === 0) {
308
+ return new MichelsonMap();
309
+ }
310
+ else {
311
+ return MichelsonMap.fromLiteral(val);
312
+ }
313
+ }
314
+ return val;
315
+ }
303
316
  Encode(args) {
304
- const val = args.pop();
317
+ const val = this.objLitToMichelsonMap(args.pop());
305
318
  const err = this.isValid(val);
306
319
  if (err) {
307
320
  throw err;
@@ -316,7 +329,7 @@ class BigMapToken extends Token {
316
329
  });
317
330
  }
318
331
  EncodeObject(args, semantic) {
319
- const val = args;
332
+ const val = this.objLitToMichelsonMap(args);
320
333
  const err = this.isValid(val);
321
334
  if (err) {
322
335
  throw err;
@@ -668,10 +681,12 @@ class PairToken extends ComparableToken {
668
681
  prim: PairToken.prim,
669
682
  args: val,
670
683
  }
671
- : val.prim ? val : {
672
- prim: PairToken.prim,
673
- args: val,
674
- }, idx, fac);
684
+ : val.prim
685
+ ? val
686
+ : {
687
+ prim: PairToken.prim,
688
+ args: val,
689
+ }, idx, fac);
675
690
  }
676
691
  args() {
677
692
  // collapse comb pair
@@ -1102,8 +1117,21 @@ class MapToken extends Token {
1102
1117
  });
1103
1118
  return map;
1104
1119
  }
1120
+ objLitToMichelsonMap(val) {
1121
+ if (val instanceof MichelsonMap)
1122
+ return val;
1123
+ if (typeof val === 'object') {
1124
+ if (Object.keys(val).length === 0) {
1125
+ return new MichelsonMap();
1126
+ }
1127
+ else {
1128
+ return MichelsonMap.fromLiteral(val);
1129
+ }
1130
+ }
1131
+ return val;
1132
+ }
1105
1133
  Encode(args) {
1106
- const val = args.pop();
1134
+ const val = this.objLitToMichelsonMap(args.pop());
1107
1135
  const err = this.isValid(val);
1108
1136
  if (err) {
1109
1137
  throw err;
@@ -1118,7 +1146,7 @@ class MapToken extends Token {
1118
1146
  });
1119
1147
  }
1120
1148
  EncodeObject(args, semantic) {
1121
- const val = args;
1149
+ const val = this.objLitToMichelsonMap(args);
1122
1150
  const err = this.isValid(val);
1123
1151
  if (err) {
1124
1152
  throw err;
@@ -1248,7 +1276,7 @@ class TxRollupL2AddressToken extends ComparableToken {
1248
1276
  const decoded = b58decodeL2Address(val);
1249
1277
  return {
1250
1278
  key: { bytes: decoded },
1251
- type: { prim: 'bytes' }
1279
+ type: { prim: 'bytes' },
1252
1280
  };
1253
1281
  }
1254
1282
  isValid(value) {
@@ -1289,7 +1317,7 @@ class TxRollupL2AddressToken extends ComparableToken {
1289
1317
  generateSchema() {
1290
1318
  return {
1291
1319
  __michelsonType: TxRollupL2AddressToken.prim,
1292
- schema: TxRollupL2AddressToken.prim
1320
+ schema: TxRollupL2AddressToken.prim,
1293
1321
  };
1294
1322
  }
1295
1323
  ToKey({ bytes, string }) {
@@ -1585,7 +1613,7 @@ class BytesToken extends ComparableToken {
1585
1613
  }
1586
1614
  Encode(args) {
1587
1615
  let val = args.pop();
1588
- val = this.convertUint8ArrayToHexString(val);
1616
+ val = stripHexPrefix(this.convertUint8ArrayToHexString(val));
1589
1617
  const err = this.isValid(val);
1590
1618
  if (err) {
1591
1619
  throw err;
@@ -1594,6 +1622,9 @@ class BytesToken extends ComparableToken {
1594
1622
  }
1595
1623
  EncodeObject(val, semantic) {
1596
1624
  val = this.convertUint8ArrayToHexString(val);
1625
+ if (typeof val === 'string') {
1626
+ val = stripHexPrefix(val);
1627
+ }
1597
1628
  const err = this.isValid(val);
1598
1629
  if (err) {
1599
1630
  throw err;
@@ -2720,6 +2751,76 @@ class SaplingTransactionToken extends Token {
2720
2751
  }
2721
2752
  SaplingTransactionToken.prim = 'sapling_transaction';
2722
2753
 
2754
+ class SaplingTransactionDeprecatedValidationError extends TokenValidationError {
2755
+ constructor(value, token, message) {
2756
+ super(value, token, message);
2757
+ this.value = value;
2758
+ this.token = token;
2759
+ this.name = 'SaplingTransactionDeprecatedValidationError';
2760
+ }
2761
+ }
2762
+ class SaplingTransactionDeprecatedToken extends Token {
2763
+ constructor(val, idx, fac) {
2764
+ super(val, idx, fac);
2765
+ this.val = val;
2766
+ this.idx = idx;
2767
+ this.fac = fac;
2768
+ }
2769
+ Execute(_val) {
2770
+ throw new SaplingTransactionDeprecatedValidationError(_val, this, 'There is no literal value for the sapling_transaction_deprecated type.');
2771
+ }
2772
+ validateBytes(val) {
2773
+ const bytes = /^(0x|0X)?([0-9a-fA-F]*$)/.exec(val);
2774
+ if (bytes && bytes[2].length % 2 === 0) {
2775
+ return bytes[2];
2776
+ }
2777
+ else {
2778
+ throw new SaplingTransactionDeprecatedValidationError(val, this, `Invalid bytes: ${val}`);
2779
+ }
2780
+ }
2781
+ convertUint8ArrayToHexString(val) {
2782
+ return val.constructor === Uint8Array ? Buffer.from(val).toString('hex') : val;
2783
+ }
2784
+ Encode(args) {
2785
+ let val = args.pop();
2786
+ val = this.validateBytes(this.convertUint8ArrayToHexString(val));
2787
+ return { bytes: String(val).toString() };
2788
+ }
2789
+ EncodeObject(val, semantic) {
2790
+ val = this.validateBytes(this.convertUint8ArrayToHexString(val));
2791
+ if (semantic && semantic[SaplingTransactionDeprecatedToken.prim]) {
2792
+ return semantic[SaplingTransactionDeprecatedToken.prim](val);
2793
+ }
2794
+ return { bytes: String(val).toString() };
2795
+ }
2796
+ /**
2797
+ * @deprecated ExtractSchema has been deprecated in favor of generateSchema
2798
+ *
2799
+ */
2800
+ ExtractSchema() {
2801
+ return {
2802
+ [SaplingTransactionDeprecatedToken.prim]: {
2803
+ 'memo-size': Number(this.val.args[0]['int']),
2804
+ },
2805
+ };
2806
+ }
2807
+ generateSchema() {
2808
+ return {
2809
+ __michelsonType: SaplingTransactionDeprecatedToken.prim,
2810
+ schema: {
2811
+ memoSize: this.val.args[0]['int'],
2812
+ },
2813
+ };
2814
+ }
2815
+ findAndReturnTokens(tokenToFind, tokens) {
2816
+ if (SaplingTransactionDeprecatedToken.prim === tokenToFind) {
2817
+ tokens.push(this);
2818
+ }
2819
+ return tokens;
2820
+ }
2821
+ }
2822
+ SaplingTransactionDeprecatedToken.prim = 'sapling_transaction_deprecated';
2823
+
2723
2824
  class Bls12381frValidationError extends TokenValidationError {
2724
2825
  constructor(value, token, message) {
2725
2826
  super(value, token, message);
@@ -3184,12 +3285,13 @@ const tokens = [
3184
3285
  NeverToken,
3185
3286
  SaplingStateToken,
3186
3287
  SaplingTransactionToken,
3288
+ SaplingTransactionDeprecatedToken,
3187
3289
  Bls12381frToken,
3188
3290
  Bls12381g1Token,
3189
3291
  Bls12381g2Token,
3190
3292
  ChestToken,
3191
3293
  ChestKeyToken,
3192
- GlobalConstantToken
3294
+ GlobalConstantToken,
3193
3295
  ];
3194
3296
 
3195
3297
  /**
@@ -3426,6 +3528,9 @@ class Schema {
3426
3528
  if (this.root instanceof BigMapToken && Number.isInteger(Number(val))) {
3427
3529
  return true;
3428
3530
  }
3531
+ if (this.root instanceof TicketToken && val.ticketer && val.value && val.amount) {
3532
+ return true;
3533
+ }
3429
3534
  try {
3430
3535
  this.root.EncodeObject(val);
3431
3536
  return true;
@@ -3703,8 +3808,8 @@ class ViewSchema {
3703
3808
 
3704
3809
  // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
3705
3810
  const VERSION = {
3706
- "commitHash": "01d3579d51bb8d70038a304cd4dbb7c6366a244b",
3707
- "version": "13.0.0"
3811
+ "commitHash": "b1a433145402043facaec3519daceb21a305deef",
3812
+ "version": "14.0.0"
3708
3813
  };
3709
3814
 
3710
3815
  /**