@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.
- package/dist/lib/schema/storage.js +4 -0
- package/dist/lib/schema/storage.js.map +1 -1
- package/dist/lib/tokens/bigmap.js +15 -2
- package/dist/lib/tokens/bigmap.js.map +1 -1
- package/dist/lib/tokens/comparable/address.js.map +1 -1
- package/dist/lib/tokens/comparable/bytes.js +5 -1
- package/dist/lib/tokens/comparable/bytes.js.map +1 -1
- package/dist/lib/tokens/comparable/tx_rollup_l2_address.js +2 -2
- package/dist/lib/tokens/comparable/tx_rollup_l2_address.js.map +1 -1
- package/dist/lib/tokens/contract.js.map +1 -1
- package/dist/lib/tokens/map.js +15 -2
- package/dist/lib/tokens/map.js.map +1 -1
- package/dist/lib/tokens/pair.js +6 -4
- package/dist/lib/tokens/pair.js.map +1 -1
- package/dist/lib/tokens/sapling-transaction-deprecated.js +76 -0
- package/dist/lib/tokens/sapling-transaction-deprecated.js.map +1 -0
- package/dist/lib/tokens/signature.js.map +1 -1
- package/dist/lib/tokens/token.js.map +1 -1
- package/dist/lib/tokens/tokens.js +3 -1
- package/dist/lib/tokens/tokens.js.map +1 -1
- package/dist/lib/version.js +2 -2
- package/dist/taquito-michelson-encoder.es6.js +120 -15
- package/dist/taquito-michelson-encoder.es6.js.map +1 -1
- package/dist/taquito-michelson-encoder.umd.js +119 -14
- package/dist/taquito-michelson-encoder.umd.js.map +1 -1
- package/dist/types/schema/model.d.ts +1 -1
- package/dist/types/schema/types.d.ts +7 -1
- package/dist/types/tokens/bigmap.d.ts +1 -0
- package/dist/types/tokens/comparable/tx_rollup_l2_address.d.ts +1 -1
- package/dist/types/tokens/map.d.ts +1 -0
- package/dist/types/tokens/sapling-transaction-deprecated.d.ts +39 -0
- package/dist/types/tokens/tokens.d.ts +2 -1
- 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
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
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": "
|
|
3707
|
-
"version": "
|
|
3811
|
+
"commitHash": "b1a433145402043facaec3519daceb21a305deef",
|
|
3812
|
+
"version": "14.0.0"
|
|
3708
3813
|
};
|
|
3709
3814
|
|
|
3710
3815
|
/**
|