@taquito/local-forging 23.0.3 → 24.0.0-RC.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.
@@ -1,6 +1,6 @@
1
1
  import 'fast-text-encoding';
2
- import { PrefixV2, b58DecodeAndCheckPrefix, buf2hex, payloadLength, b58Encode, b58DecodePublicKeyHash, b58DecodePublicKey, InvalidPublicKeyError, b58DecodeAddress, ValidationResult, signaturePrefixes, Prefix, b58cdecode, prefix, prefixLength, b58cencode, InvalidKeyHashError as InvalidKeyHashError$1, invalidDetail, validateBlock } from '@taquito/utils';
3
- import { ParameterValidationError, InvalidHexStringError, InvalidKeyHashError, InvalidAddressError, InvalidContractAddressError, ProhibitedActionError, InvalidSignatureError, InvalidOperationKindError, InvalidBlockHashError } from '@taquito/core';
2
+ import { PrefixV2, payloadLength, b58Encode, b58DecodeAndCheckPrefix, buf2hex, ValidationResult, InvalidPublicKeyError, b58DecodeAddress, b58DecodePublicKeyHash, b58DecodePublicKey, signaturePrefixes, validateBlock } from '@taquito/utils';
3
+ import { ParameterValidationError, InvalidHexStringError, InvalidContractAddressError, InvalidAddressError, ProhibitedActionError, InvalidKeyHashError, InvalidSignatureError, InvalidOperationKindError, InvalidBlockHashError } from '@taquito/core';
4
4
  import BigNumber$1, { BigNumber } from 'bignumber.js';
5
5
 
6
6
  const toHexString = (bytes) => bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');
@@ -13,8 +13,8 @@ const pad = (num, paddingLen = 8) => {
13
13
  * Copyright (c) 2018 Andrew Kishino
14
14
  */
15
15
  // See: https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint
16
- const ENTRYPOINT_MAX_LENGTH$1 = 31;
17
- var CODEC$1;
16
+ const ENTRYPOINT_MAX_LENGTH = 31;
17
+ var CODEC;
18
18
  (function (CODEC) {
19
19
  CODEC["SECRET"] = "secret";
20
20
  CODEC["RAW"] = "raw";
@@ -70,9 +70,9 @@ var CODEC$1;
70
70
  CODEC["OP_SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE"] = "smart_rollup_execute_outbox_message";
71
71
  CODEC["OP_DAL_PUBLISH_COMMITMENT"] = "dal_publish_commitment";
72
72
  CODEC["SLOT_HEADER"] = "slot_header";
73
- })(CODEC$1 || (CODEC$1 = {}));
73
+ })(CODEC || (CODEC = {}));
74
74
  // See https://tezos.gitlab.io/shell/p2p_api.html#alpha-michelson-v1-primitives-enumeration-unsigned-8-bit-integer
75
- const opMapping$1 = {
75
+ const opMapping = {
76
76
  '00': 'parameter',
77
77
  '01': 'storage',
78
78
  '02': 'code',
@@ -232,16 +232,18 @@ const opMapping$1 = {
232
232
  '9c': 'NAT',
233
233
  '9d': 'Ticket',
234
234
  '9e': 'IS_IMPLICIT_ACCOUNT',
235
+ '9f': 'INDEX_ADDRESS',
236
+ 'a0': 'GET_ADDRESS_INDEX',
235
237
  };
236
- const opMappingReverse$1 = (() => {
238
+ const opMappingReverse = (() => {
237
239
  const result = {};
238
- Object.keys(opMapping$1).forEach((key) => {
239
- result[opMapping$1[key]] = key;
240
+ Object.keys(opMapping).forEach((key) => {
241
+ result[opMapping[key]] = key;
240
242
  });
241
243
  return result;
242
244
  })();
243
245
  // See https://tezos.gitlab.io/shell/p2p_api.html
244
- const kindMapping$1 = {
246
+ const kindMapping = {
245
247
  0x04: 'activate_account',
246
248
  0x6b: 'reveal',
247
249
  0x6e: 'delegation',
@@ -265,16 +267,16 @@ const kindMapping$1 = {
265
267
  0xe6: 'dal_publish_commitment',
266
268
  0x11: 'failing_noop',
267
269
  };
268
- const kindMappingReverse$1 = (() => {
270
+ const kindMappingReverse = (() => {
269
271
  const result = {};
270
- Object.keys(kindMapping$1).forEach((key) => {
272
+ Object.keys(kindMapping).forEach((key) => {
271
273
  const keyNum = typeof key === 'string' ? parseInt(key, 10) : key;
272
- result[kindMapping$1[keyNum]] = pad(keyNum, 2);
274
+ result[kindMapping[keyNum]] = pad(keyNum, 2);
273
275
  });
274
276
  return result;
275
277
  })();
276
278
  // See https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint
277
- const entrypointMapping$1 = {
279
+ const entrypointMapping = {
278
280
  '00': 'default',
279
281
  '01': 'root',
280
282
  '02': 'do',
@@ -286,10 +288,10 @@ const entrypointMapping$1 = {
286
288
  '08': 'finalize_unstake',
287
289
  '09': 'set_delegate_parameters',
288
290
  };
289
- const entrypointMappingReverse$1 = (() => {
291
+ const entrypointMappingReverse = (() => {
290
292
  const result = {};
291
- Object.keys(entrypointMapping$1).forEach((key) => {
292
- result[entrypointMapping$1[key]] = key;
293
+ Object.keys(entrypointMapping).forEach((key) => {
294
+ result[entrypointMapping[key]] = key;
293
295
  });
294
296
  return result;
295
297
  })();
@@ -316,1481 +318,176 @@ class OversizedEntryPointError extends ParameterValidationError {
316
318
  super();
317
319
  this.entrypoint = entrypoint;
318
320
  this.name = 'OversizedEntryPointError';
319
- this.message = `Invalid entrypoint length "${entrypoint.length}", maximum length is "${ENTRYPOINT_MAX_LENGTH$1}".`;
320
- }
321
- }
322
- /**
323
- * @category Error
324
- * @description Error that indicates an invalid ballot value being used
325
- */
326
- class InvalidBallotValueError extends ParameterValidationError {
327
- constructor(ballotValue) {
328
- super();
329
- this.ballotValue = ballotValue;
330
- this.name = 'InvalidBallotValueError';
331
- this.message = `Invalid ballot value "${ballotValue}" expecting one of the following: "yay", "nay", "pass".`;
332
- }
333
- }
334
- /**
335
- * @category Error
336
- * @description Error that indicates a failure when trying to decode ballot value
337
- */
338
- class DecodeBallotValueError extends ParameterValidationError {
339
- constructor(ballotValue) {
340
- super();
341
- this.ballotValue = ballotValue;
342
- this.name = 'DecodeBallotValueError';
343
- this.message = `Invalid ballot value "${ballotValue}", cannot be decoded.`;
344
- }
345
- }
346
- /**
347
- * @category Error
348
- * @description Error that indicates unexpected Michelson Value being passed or used
349
- */
350
- class UnexpectedMichelsonValueError extends ParameterValidationError {
351
- constructor(value) {
352
- super();
353
- this.value = value;
354
- this.name = 'UnexpectedMichelsonValueError';
355
- this.message = `Invalid Michelson value "${value}", unalbe to encode.`;
356
- }
357
- }
358
- /**
359
- * @category Error
360
- * @description Error that indicates a failure when trying to decode an operation
361
- */
362
- class OperationDecodingError extends ParameterValidationError {
363
- constructor(message) {
364
- super();
365
- this.message = message;
366
- this.name = 'OperationDecodingError';
367
- }
368
- }
369
- /**
370
- * @category Error
371
- * @description Error that indicates a failure when trying to encode an operation
372
- */
373
- class OperationEncodingError extends ParameterValidationError {
374
- constructor(message) {
375
- super();
376
- this.message = message;
377
- this.name = 'OperationEncodingError';
378
- }
379
- }
380
- /**
381
- * @category Error
382
- * @description Error that indicates an unsupported operation being passed or used
383
- */
384
- class UnsupportedOperationError extends ParameterValidationError {
385
- constructor(op) {
386
- super();
387
- this.op = op;
388
- this.name = 'UnsupportedOperationError';
389
- this.message = `Unsupported operation "${op}", can submit an issue on our github for feature request.`;
390
- }
391
- }
392
- /**
393
- * @cateogry Error
394
- * @description Error that indicates an unsupported pvm being passed or used
395
- */
396
- class UnsupportedPvmKindError extends ParameterValidationError {
397
- constructor(pvm) {
398
- super();
399
- this.pvm = pvm;
400
- this.name = 'UnsupportedPvmKindError';
401
- this.message = `Invalid Pvm kind "${pvm}" expecting either "arith" or "wasm_2_0_0".`;
402
- }
403
- }
404
- /**
405
- * @category Error
406
- * @description Error that indicates an unsupported pvm to decode
407
- */
408
- class DecodePvmKindError extends ParameterValidationError {
409
- constructor(pvm) {
410
- super();
411
- this.pvm = pvm;
412
- this.name = 'DecodePvmKindError';
413
- this.message = `Invalid Pvm kind "${pvm}", cannot be decoded.`;
414
- }
415
- }
416
- /**
417
- * @category Error
418
- * @description Error that indicates an invalid Smart Rollup Address (sr1)
419
- */
420
- class InvalidSmartRollupAddressError extends ParameterValidationError {
421
- constructor(address, errorDetail) {
422
- super();
423
- this.address = address;
424
- this.errorDetail = errorDetail;
425
- this.name = 'InvalidSmartRollupAddress';
426
- this.message = `Invalid smart rollup address "${address}"`;
427
- errorDetail ? (this.message += ` ${errorDetail}.`) : '';
428
- }
429
- }
430
- /**
431
- * @category Error
432
- * @description Error that indicates an invalid Smart Rollup commitment hash (src1)
433
- */
434
- class InvalidSmartRollupCommitmentHashError extends ParameterValidationError {
435
- constructor(hash, errorDetail) {
436
- super();
437
- this.hash = hash;
438
- this.errorDetail = errorDetail;
439
- this.name = 'InvalidSmartRollupCommitmentHashError';
440
- this.message = `Invalid smart rollup commitment hash "${hash}"`;
441
- errorDetail ? (this.message += ` ${errorDetail}.`) : '';
442
- }
443
- }
444
- /**
445
- * @category Error
446
- * @description Error that indicates an invalid dal commitment (sh)
447
- */
448
- class InvalidDalCommitmentError extends ParameterValidationError {
449
- constructor(commitment, errorDetail) {
450
- super();
451
- this.commitment = commitment;
452
- this.errorDetail = errorDetail;
453
- this.name = 'InvalidDalCommitmentError';
454
- this.message = `Invalid dal commitment "${commitment}"`;
455
- errorDetail ? (this.message += ` ${errorDetail}.`) : '';
456
- }
457
- }
458
-
459
- class Uint8ArrayConsumer {
460
- static fromHexString(hex) {
461
- const lowHex = hex.toLowerCase();
462
- if (/^(([a-f]|\d){2})*$/.test(lowHex)) {
463
- const arr = new Uint8Array((lowHex.match(/([a-z]|\d){2}/g) || []).map((byte) => parseInt(byte, 16)));
464
- return new Uint8ArrayConsumer(arr);
465
- }
466
- else {
467
- throw new InvalidHexStringError(lowHex);
468
- }
469
- }
470
- constructor(arr, offset = 0) {
471
- this.arr = arr;
472
- this.offset = offset;
473
- }
474
- consume(count) {
475
- const subArr = this.arr.subarray(this.offset, this.offset + count);
476
- this.offset += count;
477
- return subArr;
478
- }
479
- get(idx) {
480
- return this.arr[this.offset + idx];
481
- }
482
- length() {
483
- return this.arr.length - this.offset;
484
- }
485
- slice(start, end) {
486
- return new Uint8ArrayConsumer(this.arr.slice(start, end));
321
+ this.message = `Invalid entrypoint length "${entrypoint.length}", maximum length is "${ENTRYPOINT_MAX_LENGTH}".`;
322
+ }
323
+ }
324
+ /**
325
+ * @category Error
326
+ * @description Error that indicates an invalid ballot value being used
327
+ */
328
+ class InvalidBallotValueError extends ParameterValidationError {
329
+ constructor(ballotValue) {
330
+ super();
331
+ this.ballotValue = ballotValue;
332
+ this.name = 'InvalidBallotValueError';
333
+ this.message = `Invalid ballot value "${ballotValue}" expecting one of the following: "yay", "nay", "pass".`;
334
+ }
335
+ }
336
+ /**
337
+ * @category Error
338
+ * @description Error that indicates a failure when trying to decode ballot value
339
+ */
340
+ class DecodeBallotValueError extends ParameterValidationError {
341
+ constructor(ballotValue) {
342
+ super();
343
+ this.ballotValue = ballotValue;
344
+ this.name = 'DecodeBallotValueError';
345
+ this.message = `Invalid ballot value "${ballotValue}", cannot be decoded.`;
346
+ }
347
+ }
348
+ /**
349
+ * @category Error
350
+ * @description Error that indicates unexpected Michelson Value being passed or used
351
+ */
352
+ class UnexpectedMichelsonValueError extends ParameterValidationError {
353
+ constructor(value) {
354
+ super();
355
+ this.value = value;
356
+ this.name = 'UnexpectedMichelsonValueError';
357
+ this.message = `Invalid Michelson value "${value}", unalbe to encode.`;
358
+ }
359
+ }
360
+ /**
361
+ * @category Error
362
+ * @description Error that indicates a failure when trying to decode an operation
363
+ */
364
+ class OperationDecodingError extends ParameterValidationError {
365
+ constructor(message) {
366
+ super();
367
+ this.message = message;
368
+ this.name = 'OperationDecodingError';
369
+ }
370
+ }
371
+ /**
372
+ * @category Error
373
+ * @description Error that indicates a failure when trying to encode an operation
374
+ */
375
+ class OperationEncodingError extends ParameterValidationError {
376
+ constructor(message) {
377
+ super();
378
+ this.message = message;
379
+ this.name = 'OperationEncodingError';
380
+ }
381
+ }
382
+ /**
383
+ * @category Error
384
+ * @description Error that indicates an unsupported operation being passed or used
385
+ */
386
+ class UnsupportedOperationError extends ParameterValidationError {
387
+ constructor(op) {
388
+ super();
389
+ this.op = op;
390
+ this.name = 'UnsupportedOperationError';
391
+ this.message = `Unsupported operation "${op}", can submit an issue on our github for feature request.`;
392
+ }
393
+ }
394
+ /**
395
+ * @cateogry Error
396
+ * @description Error that indicates an unsupported pvm being passed or used
397
+ */
398
+ class UnsupportedPvmKindError extends ParameterValidationError {
399
+ constructor(pvm) {
400
+ super();
401
+ this.pvm = pvm;
402
+ this.name = 'UnsupportedPvmKindError';
403
+ this.message = `Invalid Pvm kind "${pvm}" expecting either "arith" or "wasm_2_0_0".`;
404
+ }
405
+ }
406
+ /**
407
+ * @category Error
408
+ * @description Error that indicates an unsupported pvm to decode
409
+ */
410
+ class DecodePvmKindError extends ParameterValidationError {
411
+ constructor(pvm) {
412
+ super();
413
+ this.pvm = pvm;
414
+ this.name = 'DecodePvmKindError';
415
+ this.message = `Invalid Pvm kind "${pvm}", cannot be decoded.`;
416
+ }
417
+ }
418
+ /**
419
+ * @category Error
420
+ * @description Error that indicates an invalid Smart Rollup Address (sr1)
421
+ */
422
+ class InvalidSmartRollupAddressError extends ParameterValidationError {
423
+ constructor(address, errorDetail) {
424
+ super();
425
+ this.address = address;
426
+ this.errorDetail = errorDetail;
427
+ this.name = 'InvalidSmartRollupAddress';
428
+ this.message = `Invalid smart rollup address "${address}"`;
429
+ errorDetail ? (this.message += ` ${errorDetail}.`) : '';
430
+ }
431
+ }
432
+ /**
433
+ * @category Error
434
+ * @description Error that indicates an invalid Smart Rollup commitment hash (src1)
435
+ */
436
+ class InvalidSmartRollupCommitmentHashError extends ParameterValidationError {
437
+ constructor(hash, errorDetail) {
438
+ super();
439
+ this.hash = hash;
440
+ this.errorDetail = errorDetail;
441
+ this.name = 'InvalidSmartRollupCommitmentHashError';
442
+ this.message = `Invalid smart rollup commitment hash "${hash}"`;
443
+ errorDetail ? (this.message += ` ${errorDetail}.`) : '';
444
+ }
445
+ }
446
+ /**
447
+ * @category Error
448
+ * @description Error that indicates an invalid dal commitment (sh)
449
+ */
450
+ class InvalidDalCommitmentError extends ParameterValidationError {
451
+ constructor(commitment, errorDetail) {
452
+ super();
453
+ this.commitment = commitment;
454
+ this.errorDetail = errorDetail;
455
+ this.name = 'InvalidDalCommitmentError';
456
+ this.message = `Invalid dal commitment "${commitment}"`;
457
+ errorDetail ? (this.message += ` ${errorDetail}.`) : '';
458
+ }
459
+ }
460
+
461
+ class Uint8ArrayConsumer {
462
+ static fromHexString(hex) {
463
+ const lowHex = hex.toLowerCase();
464
+ if (/^(([a-f]|\d){2})*$/.test(lowHex)) {
465
+ const arr = new Uint8Array((lowHex.match(/([a-z]|\d){2}/g) || []).map((byte) => parseInt(byte, 16)));
466
+ return new Uint8ArrayConsumer(arr);
467
+ }
468
+ else {
469
+ throw new InvalidHexStringError(lowHex);
470
+ }
471
+ }
472
+ constructor(arr, offset = 0) {
473
+ this.arr = arr;
474
+ this.offset = offset;
475
+ }
476
+ consume(count) {
477
+ const subArr = this.arr.subarray(this.offset, this.offset + count);
478
+ this.offset += count;
479
+ return subArr;
480
+ }
481
+ get(idx) {
482
+ return this.arr[this.offset + idx];
483
+ }
484
+ length() {
485
+ return this.arr.length - this.offset;
486
+ }
487
+ slice(start, end) {
488
+ return new Uint8ArrayConsumer(this.arr.slice(start, end));
487
489
  }
488
490
  }
489
-
490
- const isPrim$1 = (value) => {
491
- return 'prim' in value;
492
- };
493
- const isBytes$1 = (value) => {
494
- return 'bytes' in value && typeof value.bytes === 'string';
495
- };
496
- const isString$1 = (value) => {
497
- return 'string' in value && typeof value.string === 'string';
498
- };
499
- const isInt$1 = (value) => {
500
- return 'int' in value && typeof value.int === 'string';
501
- };
502
- const scriptEncoder$1 = (script) => {
503
- const code = valueEncoder$1(script.code);
504
- const storage = valueEncoder$1(script.storage);
505
- return `${pad(code.length / 2, 8)}${code}${pad(storage.length / 2, 8)}${storage}`;
506
- };
507
- const scriptDecoder$1 = (value) => {
508
- const code = extractRequiredLen$1(value);
509
- const storage = extractRequiredLen$1(value);
510
- return {
511
- code: valueDecoder$1(new Uint8ArrayConsumer(code)),
512
- storage: valueDecoder$1(new Uint8ArrayConsumer(storage)),
513
- };
514
- };
515
- const valueEncoder$1 = (value) => {
516
- if (Array.isArray(value)) {
517
- const encoded = value.map((x) => valueEncoder$1(x)).join('');
518
- const len = encoded.length / 2;
519
- return `02${pad(len)}${encoded}`;
520
- }
521
- else if (isPrim$1(value)) {
522
- return primEncoder$1(value);
523
- }
524
- else if (isBytes$1(value)) {
525
- return bytesEncoder$1(value);
526
- }
527
- else if (isString$1(value)) {
528
- return stringEncoder$1(value);
529
- }
530
- else if (isInt$1(value)) {
531
- return intEncoder$1(value);
532
- }
533
- throw new UnexpectedMichelsonValueError(JSON.stringify(value));
534
- };
535
- const valueDecoder$1 = (value) => {
536
- const preamble = value.consume(1);
537
- switch (preamble[0]) {
538
- case 0x0a:
539
- return bytesDecoder$1(value);
540
- case 0x01:
541
- return stringDecoder$1(value);
542
- case 0x00:
543
- return intDecoder$1(value);
544
- case 0x02: {
545
- const val = new Uint8ArrayConsumer(extractRequiredLen$1(value));
546
- const results = [];
547
- while (val.length() > 0) {
548
- results.push(valueDecoder$1(val));
549
- }
550
- return results;
551
- }
552
- default:
553
- return primDecoder$1(value, preamble);
554
- }
555
- };
556
- const extractRequiredLen$1 = (value, bytesLength = 4) => {
557
- const len = value.consume(bytesLength);
558
- const valueLen = parseInt(Buffer.from(len).toString('hex'), 16);
559
- return value.consume(valueLen);
560
- };
561
- /**
562
- * @description parse bytes into multiple items of an array
563
- * @param value Uint8ArrayConsumer class of forged segment to parse
564
- * @param bytesLength default 4 bytes for length of variable bytes
565
- * @returns array of Uint8Array values for each array item
566
- */
567
- const stripLengthPrefixFromBytes$1 = (value, bytesLength = 4) => {
568
- const ret = [];
569
- let values = value;
570
- while (values.length()) {
571
- const len = values.consume(bytesLength);
572
- const valueLen = parseInt(Buffer.from(len).toString('hex'), 16);
573
- ret.push(values.consume(valueLen));
574
- values = values.slice(valueLen + bytesLength);
575
- }
576
- return ret;
577
- };
578
- const bytesEncoder$1 = (value) => {
579
- if (!/^([A-Fa-f0-9]{2})*$/.test(value.bytes)) {
580
- throw new InvalidHexStringError(value.bytes);
581
- }
582
- const len = value.bytes.length / 2;
583
- return `0a${pad(len)}${value.bytes}`;
584
- };
585
- const bytesDecoder$1 = (value) => {
586
- const bytes = extractRequiredLen$1(value);
587
- return {
588
- bytes: Buffer.from(bytes).toString('hex'),
589
- };
590
- };
591
- const stringEncoder$1 = (value) => {
592
- const str = Buffer.from(value.string, 'utf8').toString('hex');
593
- const hexLength = str.length / 2;
594
- return `01${pad(hexLength)}${str}`;
595
- };
596
- const stringDecoder$1 = (value) => {
597
- const str = extractRequiredLen$1(value);
598
- return {
599
- string: Buffer.from(str).toString('utf8'),
600
- };
601
- };
602
- const intEncoder$1 = ({ int }) => {
603
- const num = new BigNumber(int, 10);
604
- const positiveMark = num.toString(2)[0] === '-' ? '1' : '0';
605
- const binary = num.toString(2).replace(/-/g, '');
606
- const pad = binary.length <= 6
607
- ? 6
608
- : (binary.length - 6) % 7
609
- ? binary.length + 7 - ((binary.length - 6) % 7)
610
- : binary.length;
611
- const splitted = binary.padStart(pad, '0').match(/\d{6,7}/g);
612
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
613
- const reversed = splitted.reverse();
614
- reversed[0] = positiveMark + reversed[0];
615
- const numHex = reversed.map((x, i) =>
616
- // Add one to the last chunk
617
- parseInt((i === reversed.length - 1 ? '0' : '1') + x, 2)
618
- .toString(16)
619
- .padStart(2, '0'));
620
- return `00${numHex.join('')}`;
621
- };
622
- const intDecoder$1 = (value) => {
623
- let c = value.consume(1)[0];
624
- const hexNumber = [];
625
- const isNotLastChunkMask = 1 << 7;
626
- while (c & isNotLastChunkMask) {
627
- hexNumber.push(c);
628
- c = value.consume(1)[0];
629
- }
630
- hexNumber.push(c);
631
- const isNegative = !!((1 << 6) & hexNumber[0]);
632
- hexNumber[0] = hexNumber[0] & 0b1111111;
633
- const numBin = hexNumber
634
- .map((x, i) => x
635
- .toString(2)
636
- .slice(i === 0 ? -6 : -7)
637
- .padStart(i === 0 ? 6 : 7, '0'))
638
- .reverse();
639
- let num = new BigNumber(numBin.join(''), 2);
640
- if (isNegative) {
641
- num = num.times(-1);
642
- }
643
- return {
644
- int: num.toFixed(),
645
- };
646
- };
647
- const primEncoder$1 = (value) => {
648
- const hasAnnot = +Array.isArray(value.annots);
649
- const argsCount = Array.isArray(value.args) ? value.args.length : 0;
650
- // Specify the number of args max is 3 without annotation
651
- const preamble = pad(Math.min(2 * argsCount + hasAnnot + 0x03, 9), 2);
652
- const op = opMappingReverse$1[value.prim];
653
- let encodedArgs = (value.args || []).map((arg) => valueEncoder$1(arg)).join('');
654
- const encodedAnnots = Array.isArray(value.annots) ? encodeAnnots$1(value.annots) : '';
655
- if ((value.prim === 'LAMBDA' || value.prim === 'LAMBDA_REC') && argsCount) {
656
- encodedArgs = pad(encodedArgs.length / 2) + encodedArgs + pad(0);
657
- }
658
- if ((value.prim === 'pair' || value.prim === 'Pair') && argsCount > 2) {
659
- encodedArgs =
660
- encodedAnnots === ''
661
- ? pad(encodedArgs.length / 2) + encodedArgs + pad(0)
662
- : pad(encodedArgs.length / 2) + encodedArgs;
663
- }
664
- if (value.prim === 'view' && value.args) {
665
- encodedArgs = pad(encodedArgs.length / 2) + encodedArgs + pad(0);
666
- }
667
- return `${preamble}${op}${encodedArgs}${encodedAnnots}`;
668
- };
669
- const primDecoder$1 = (value, preamble) => {
670
- const hasAnnot = (preamble[0] - 0x03) % 2 === 1;
671
- let argsCount = Math.floor((preamble[0] - 0x03) / 2);
672
- const op = value.consume(1)[0].toString(16).padStart(2, '0');
673
- const result = {
674
- prim: opMapping$1[op],
675
- };
676
- if (opMapping$1[op] === 'LAMBDA' || opMapping$1[op] === 'LAMBDA_REC') {
677
- value.consume(4);
678
- }
679
- if (opMapping$1[op] === 'view') {
680
- if (argsCount != 0) {
681
- return primViewDecoder$1(value, result);
682
- }
683
- else {
684
- return result;
685
- }
686
- }
687
- let combPairArgs;
688
- let combPairAnnots;
689
- if ((opMapping$1[op] === 'pair' || opMapping$1[op] === 'Pair') && argsCount > 2) {
690
- combPairArgs = decodeCombPair$1(value);
691
- argsCount = 0;
692
- combPairAnnots = decodeAnnots$1(value);
693
- }
694
- const args = new Array(argsCount).fill(0).map(() => valueDecoder$1(value));
695
- if (opMapping$1[op] === 'LAMBDA' || opMapping$1[op] === 'LAMBDA_REC') {
696
- value.consume(4);
697
- }
698
- if (combPairArgs) {
699
- result['args'] = combPairArgs;
700
- }
701
- else if (args.length) {
702
- result['args'] = args;
703
- }
704
- if (combPairAnnots && combPairAnnots[0] !== '') {
705
- result['annots'] = combPairAnnots;
706
- }
707
- else if (hasAnnot) {
708
- result['annots'] = decodeAnnots$1(value);
709
- }
710
- return result;
711
- };
712
- const primViewDecoder$1 = (value, result) => {
713
- value.consume(4);
714
- result['args'] = new Array(4).fill(0).map(() => valueDecoder$1(value));
715
- value.consume(4);
716
- return result;
717
- };
718
- const decodeCombPair$1 = (val) => {
719
- const array = new Uint8ArrayConsumer(extractRequiredLen$1(val));
720
- const args = [];
721
- while (array.length() > 0) {
722
- args.push(valueDecoder$1(array));
723
- }
724
- return args;
725
- };
726
- const encodeAnnots$1 = (value) => {
727
- const mergedAnnot = value
728
- .map((x) => {
729
- return Buffer.from(x, 'utf8').toString('hex');
730
- })
731
- .join('20');
732
- const len = mergedAnnot.length / 2;
733
- return `${pad(len)}${mergedAnnot}`;
734
- };
735
- const decodeAnnots$1 = (val) => {
736
- const len = val.consume(4);
737
- const annotLen = parseInt(Buffer.from(len).toString('hex'), 16);
738
- const restOfAnnot = val.consume(annotLen);
739
- const restOfAnnotHex = Buffer.from(restOfAnnot).toString('hex');
740
- return restOfAnnotHex.split('20').map((x) => Buffer.from(x, 'hex').toString('utf8'));
741
- };
742
-
743
- // https://tezos.gitlab.io/shell/p2p_api.html specifies data types and structure for forging
744
- const prefixEncoder$1 = (prefix) => (str) => {
745
- const [pl] = b58DecodeAndCheckPrefix(str, [prefix]);
746
- return buf2hex(pl);
747
- };
748
- const prefixDecoder$1 = (pre) => (str) => {
749
- const val = str.consume(payloadLength[pre]);
750
- return b58Encode(val, pre);
751
- };
752
- const tz1Decoder$1 = prefixDecoder$1(PrefixV2.Ed25519PublicKeyHash);
753
- const branchDecoder$1 = prefixDecoder$1(PrefixV2.BlockHash);
754
- const publicKeyHashDecoder$1 = (val) => {
755
- const prefix = val.consume(1);
756
- if (prefix[0] === 0x00) {
757
- return prefixDecoder$1(PrefixV2.Ed25519PublicKeyHash)(val);
758
- }
759
- else if (prefix[0] === 0x01) {
760
- return prefixDecoder$1(PrefixV2.Secp256k1PublicKeyHash)(val);
761
- }
762
- else if (prefix[0] === 0x02) {
763
- return prefixDecoder$1(PrefixV2.P256PublicKeyHash)(val);
764
- }
765
- else if (prefix[0] === 0x03) {
766
- return prefixDecoder$1(PrefixV2.BLS12_381PublicKeyHash)(val);
767
- }
768
- };
769
- const publicKeyHashesDecoder$1 = (val) => {
770
- if (!boolDecoder$1(val)) {
771
- return;
772
- }
773
- const publicKeyHashes = [];
774
- val.consume(4);
775
- while (val.length() > 0) {
776
- publicKeyHashes.push(publicKeyHashDecoder$1(val));
777
- }
778
- return publicKeyHashes;
779
- };
780
- const branchEncoder$1 = prefixEncoder$1(PrefixV2.BlockHash);
781
- const tz1Encoder$1 = prefixEncoder$1(PrefixV2.Ed25519PublicKeyHash);
782
- const boolEncoder$1 = (bool) => (bool ? 'ff' : '00');
783
- const proposalEncoder$1 = (proposal) => {
784
- return prefixEncoder$1(PrefixV2.ProtocolHash)(proposal);
785
- };
786
- const proposalDecoder$1 = (proposal) => {
787
- return prefixDecoder$1(PrefixV2.ProtocolHash)(proposal);
788
- };
789
- const proposalsDecoder$1 = (proposal) => {
790
- const proposals = [];
791
- proposal.consume(4);
792
- while (proposal.length() > 0) {
793
- proposals.push(proposalDecoder$1(proposal));
794
- }
795
- return proposals;
796
- };
797
- const proposalsEncoder$1 = (proposals) => {
798
- return pad(32 * proposals.length) + proposals.map((x) => proposalEncoder$1(x)).join('');
799
- };
800
- const ballotEncoder$1 = (ballot) => {
801
- switch (ballot) {
802
- case 'yay':
803
- return '00';
804
- case 'nay':
805
- return '01';
806
- case 'pass':
807
- return '02';
808
- default:
809
- throw new InvalidBallotValueError(ballot);
810
- }
811
- };
812
- const ballotDecoder$1 = (ballot) => {
813
- const value = ballot.consume(1);
814
- switch (value[0]) {
815
- case 0x00:
816
- return 'yay';
817
- case 0x01:
818
- return 'nay';
819
- case 0x02:
820
- return 'pass';
821
- default:
822
- throw new DecodeBallotValueError(value[0].toString());
823
- }
824
- };
825
- const pvmKindEncoder$1 = (pvm) => {
826
- switch (pvm) {
827
- case 'arith':
828
- return '00';
829
- case 'wasm_2_0_0':
830
- return '01';
831
- case 'riscv':
832
- return '02';
833
- default:
834
- throw new UnsupportedPvmKindError(pvm);
835
- }
836
- };
837
- const pvmKindDecoder$1 = (pvm) => {
838
- const value = pvm.consume(1);
839
- switch (value[0]) {
840
- case 0x00:
841
- return 'arith';
842
- case 0x01:
843
- return 'wasm_2_0_0';
844
- case 0x02:
845
- return 'riscv';
846
- default:
847
- throw new DecodePvmKindError(value[0].toString());
848
- }
849
- };
850
- const delegateEncoder$1 = (val) => {
851
- if (val) {
852
- return boolEncoder$1(true) + publicKeyHashEncoder$1(val);
853
- }
854
- else {
855
- return boolEncoder$1(false);
856
- }
857
- };
858
- const int32Encoder$1 = (val) => {
859
- const num = parseInt(String(val), 10);
860
- const byte = [];
861
- for (let i = 0; i < 4; i++) {
862
- const shiftBy = (4 - (i + 1)) * 8;
863
- byte.push((num & (0xff << shiftBy)) >> shiftBy);
864
- }
865
- return Buffer.from(byte).toString('hex');
866
- };
867
- const int32Decoder$1 = (val) => {
868
- const num = val.consume(4);
869
- let finalNum = 0;
870
- for (let i = 0; i < num.length; i++) {
871
- finalNum = finalNum | (num[i] << ((num.length - (i + 1)) * 8));
872
- }
873
- return finalNum;
874
- };
875
- const int16Encoder$1 = (val) => {
876
- const num = parseInt(String(val), 10);
877
- const byte = [];
878
- for (let i = 0; i < 2; i++) {
879
- const shiftBy = (2 - (i + 1)) * 8;
880
- byte.push((num & (0xff << shiftBy)) >> shiftBy);
881
- }
882
- return Buffer.from(byte).toString('hex');
883
- };
884
- const int16Decoder$1 = (val) => {
885
- const num = val.consume(2);
886
- let finalNum = 0;
887
- for (let i = 0; i < num.length; i++) {
888
- finalNum = finalNum | (num[i] << ((num.length - (i + 1)) * 8));
889
- }
890
- return finalNum;
891
- };
892
- const boolDecoder$1 = (val) => {
893
- const bool = val.consume(1);
894
- return bool[0] === 0xff;
895
- };
896
- const delegateDecoder$1 = (val) => {
897
- const hasDelegate = boolDecoder$1(val);
898
- if (hasDelegate) {
899
- return publicKeyHashDecoder$1(val);
900
- }
901
- };
902
- const publicKeyHashEncoder$1 = (val) => {
903
- try {
904
- return b58DecodePublicKeyHash(val);
905
- }
906
- catch (err) {
907
- throw new InvalidKeyHashError(val, err instanceof ParameterValidationError ? err.result : undefined);
908
- }
909
- };
910
- const publicKeyHashesEncoder$1 = (val) => {
911
- if (!val) {
912
- return boolEncoder$1(false);
913
- }
914
- if (val.length === 0) {
915
- return boolEncoder$1(true) + pad(0);
916
- }
917
- const publicKeyHashes = val.reduce((prev, curr) => {
918
- return prev + publicKeyHashEncoder$1(curr);
919
- }, '');
920
- return boolEncoder$1(true) + pad(publicKeyHashes.length / 2) + publicKeyHashes;
921
- };
922
- const publicKeyEncoder$1 = (val) => {
923
- try {
924
- return b58DecodePublicKey(val);
925
- }
926
- catch (err) {
927
- throw new InvalidPublicKeyError(val, err instanceof ParameterValidationError ? err.result : undefined);
928
- }
929
- };
930
- const addressEncoder$1 = (val) => {
931
- return b58DecodeAddress(val);
932
- };
933
- const smartRollupAddressEncoder$1 = (val) => {
934
- try {
935
- return prefixEncoder$1(PrefixV2.SmartRollupHash)(val);
936
- }
937
- catch (err) {
938
- if (err instanceof ParameterValidationError) {
939
- throw new InvalidSmartRollupAddressError(val);
940
- }
941
- else {
942
- throw err;
943
- }
944
- }
945
- };
946
- const smartContractAddressEncoder$1 = (val) => b58DecodeAddress(val);
947
- const publicKeyDecoder$1 = (val) => {
948
- const preamble = val.consume(1);
949
- switch (preamble[0]) {
950
- case 0x00:
951
- return prefixDecoder$1(PrefixV2.Ed25519PublicKey)(val);
952
- case 0x01:
953
- return prefixDecoder$1(PrefixV2.Secp256k1PublicKey)(val);
954
- case 0x02:
955
- return prefixDecoder$1(PrefixV2.P256PublicKey)(val);
956
- case 0x03:
957
- return prefixDecoder$1(PrefixV2.BLS12_381PublicKey)(val);
958
- default:
959
- throw new InvalidPublicKeyError(undefined, ValidationResult.NO_PREFIX_MATCHED);
960
- }
961
- };
962
- const smartRollupCommitmentHashEncoder$1 = (val) => {
963
- try {
964
- return prefixEncoder$1(PrefixV2.SmartRollupCommitmentHash)(val);
965
- }
966
- catch (err) {
967
- if (err instanceof ParameterValidationError) {
968
- throw new InvalidSmartRollupCommitmentHashError(val);
969
- }
970
- else {
971
- throw err;
972
- }
973
- }
974
- };
975
- const addressDecoder$1 = (val) => {
976
- const preamble = val.consume(1);
977
- switch (preamble[0]) {
978
- case 0x00:
979
- return publicKeyHashDecoder$1(val);
980
- case 0x01: {
981
- const address = prefixDecoder$1(PrefixV2.ContractHash)(val);
982
- val.consume(1);
983
- return address;
984
- }
985
- default:
986
- throw new InvalidAddressError(val.toString(), ': Unable to decode.');
987
- }
988
- };
989
- const smartRollupAddressDecoder$1 = (val) => {
990
- return prefixDecoder$1(PrefixV2.SmartRollupHash)(val);
991
- };
992
- const smartContractAddressDecoder$1 = (val) => {
993
- const preamble = val.consume(1);
994
- if (preamble[0] === 0x01) {
995
- const scAddress = prefixDecoder$1(PrefixV2.ContractHash)(val);
996
- val.consume(1);
997
- return scAddress;
998
- }
999
- throw new InvalidContractAddressError(val.toString(), ValidationResult.NO_PREFIX_MATCHED);
1000
- };
1001
- const smartRollupCommitmentHashDecoder$1 = (val) => {
1002
- return prefixDecoder$1(PrefixV2.SmartRollupCommitmentHash)(val);
1003
- };
1004
- const zarithEncoder$1 = (n) => {
1005
- const fn = [];
1006
- let nn = new BigNumber$1(n, 10);
1007
- if (nn.isNaN()) {
1008
- throw new TypeError(`Invalid zarith number ${n}`);
1009
- }
1010
- // eslint-disable-next-line no-constant-condition
1011
- while (true) {
1012
- if (nn.lt(128)) {
1013
- if (nn.lt(16))
1014
- fn.push('0');
1015
- fn.push(nn.toString(16));
1016
- break;
1017
- }
1018
- else {
1019
- let b = nn.mod(128);
1020
- nn = nn.minus(b);
1021
- nn = nn.dividedBy(128);
1022
- b = b.plus(128);
1023
- fn.push(b.toString(16));
1024
- }
1025
- }
1026
- return fn.join('');
1027
- };
1028
- const zarithDecoder$1 = (n) => {
1029
- let mostSignificantByte = 0;
1030
- while (mostSignificantByte < n.length() && (n.get(mostSignificantByte) & 128) !== 0) {
1031
- mostSignificantByte += 1;
1032
- }
1033
- let num = new BigNumber$1(0);
1034
- for (let i = mostSignificantByte; i >= 0; i -= 1) {
1035
- const tmp = n.get(i) & 0x7f;
1036
- num = num.multipliedBy(128);
1037
- num = num.plus(tmp);
1038
- }
1039
- n.consume(mostSignificantByte + 1);
1040
- return new BigNumber$1(num).toString();
1041
- };
1042
- const entrypointDecoder$1 = (value) => {
1043
- const preamble = pad(value.consume(1)[0], 2);
1044
- if (preamble in entrypointMapping$1) {
1045
- return entrypointMapping$1[preamble];
1046
- }
1047
- else {
1048
- const entry = extractRequiredLen$1(value, 1);
1049
- const entrypoint = Buffer.from(entry).toString('utf8');
1050
- if (entrypoint.length > ENTRYPOINT_MAX_LENGTH$1) {
1051
- throw new OversizedEntryPointError(entrypoint);
1052
- }
1053
- return entrypoint;
1054
- }
1055
- };
1056
- const parametersDecoder$1 = (val) => {
1057
- const preamble = val.consume(1);
1058
- if (preamble[0] === 0x00) {
1059
- return;
1060
- }
1061
- else {
1062
- const encodedEntrypoint = entrypointDecoder$1(val);
1063
- const params = extractRequiredLen$1(val);
1064
- const parameters = valueDecoder$1(new Uint8ArrayConsumer(params));
1065
- return {
1066
- entrypoint: encodedEntrypoint,
1067
- value: parameters,
1068
- };
1069
- }
1070
- };
1071
- const entrypointEncoder$1 = (entrypoint) => {
1072
- if (entrypoint in entrypointMappingReverse$1) {
1073
- return `${entrypointMappingReverse$1[entrypoint]}`;
1074
- }
1075
- else {
1076
- if (entrypoint.length > ENTRYPOINT_MAX_LENGTH$1) {
1077
- throw new OversizedEntryPointError(entrypoint);
1078
- }
1079
- const value = { string: entrypoint };
1080
- return `ff${valueEncoder$1(value).slice(8)}`;
1081
- }
1082
- };
1083
- const parametersEncoder$1 = (val) => {
1084
- if (!val || (val.entrypoint === 'default' && 'prim' in val.value && val.value.prim === 'Unit')) {
1085
- return '00';
1086
- }
1087
- const encodedEntrypoint = entrypointEncoder$1(val.entrypoint);
1088
- const parameters = valueEncoder$1(val.value);
1089
- const length = pad(parameters.length / 2);
1090
- return `ff${encodedEntrypoint}${length}${parameters}`;
1091
- };
1092
- const valueParameterEncoder$1 = (value) => {
1093
- const valueEncoded = valueEncoder$1(value);
1094
- return `${pad(valueEncoded.length / 2)}${valueEncoded}`;
1095
- };
1096
- const valueParameterDecoder$1 = (val) => {
1097
- const value = extractRequiredLen$1(val);
1098
- return valueDecoder$1(new Uint8ArrayConsumer(value));
1099
- };
1100
- const blockPayloadHashEncoder$1 = prefixEncoder$1(PrefixV2.ValueHash);
1101
- const blockPayloadHashDecoder$1 = prefixDecoder$1(PrefixV2.ValueHash);
1102
- const entrypointNameEncoder$1 = (entrypoint) => {
1103
- const value = { string: entrypoint };
1104
- return `${valueEncoder$1(value).slice(2)}`;
1105
- };
1106
- const entrypointNameDecoder$1 = (val) => {
1107
- const entry = extractRequiredLen$1(val);
1108
- return Buffer.from(entry).toString('utf8');
1109
- };
1110
- const burnLimitEncoder$1 = (val) => {
1111
- return !val ? '00' : `ff${zarithEncoder$1(val)}`;
1112
- };
1113
- const burnLimitDecoder$1 = (value) => {
1114
- const prefix = value.consume(1);
1115
- if (Buffer.from(prefix).toString('hex') !== '00') {
1116
- return zarithDecoder$1(value);
1117
- }
1118
- };
1119
- const depositsLimitEncoder$1 = (val) => {
1120
- return !val ? '00' : `ff${zarithEncoder$1(val)}`;
1121
- };
1122
- const depositsLimitDecoder$1 = (value) => {
1123
- const prefix = value.consume(1);
1124
- if (Buffer.from(prefix).toString('hex') !== '00') {
1125
- return zarithDecoder$1(value);
1126
- }
1127
- };
1128
- const signatureV1Encoder$1 = (val) => {
1129
- try {
1130
- const [data, pre] = b58DecodeAndCheckPrefix(val, signaturePrefixes);
1131
- if (pre === PrefixV2.BLS12_381Signature) {
1132
- return paddedBytesEncoder$1(buf2hex(data));
1133
- }
1134
- else {
1135
- throw new ProhibitedActionError('we only support encoding of BLSIG signatures from protocol Seoul');
1136
- }
1137
- }
1138
- catch (err) {
1139
- if (err instanceof ParameterValidationError) {
1140
- throw new InvalidSignatureError(val, err.result);
1141
- }
1142
- else {
1143
- throw err;
1144
- }
1145
- }
1146
- };
1147
- const signatureV1Decoder$1 = (val) => {
1148
- val.consume(4);
1149
- if (val.length().toString() === '96') {
1150
- return prefixDecoder$1(PrefixV2.BLS12_381Signature)(val);
1151
- }
1152
- else {
1153
- throw new ProhibitedActionError('we only support decoding of BLSIG signatures');
1154
- }
1155
- };
1156
- const signatureProofEncoder$1 = (val) => {
1157
- if (val) {
1158
- return boolEncoder$1(true) + signatureV1Encoder$1(val);
1159
- }
1160
- else {
1161
- return boolEncoder$1(false);
1162
- }
1163
- };
1164
- const signatureProofDecoder$1 = (value) => {
1165
- const hasProof = boolDecoder$1(value);
1166
- if (hasProof) {
1167
- return signatureV1Decoder$1(value);
1168
- }
1169
- };
1170
- const paddedBytesEncoder$1 = (val, paddingLength = 8) => {
1171
- return `${pad(val.length / 2, paddingLength)}${val}`;
1172
- };
1173
- const paddedBytesDecoder$1 = (val) => {
1174
- const value = extractRequiredLen$1(val);
1175
- return Buffer.from(value).toString('hex');
1176
- };
1177
- const smartRollupMessageEncoder$1 = (val) => {
1178
- const message = val.reduce((prev, curr) => {
1179
- return prev + `${pad(curr.length / 2)}${curr}`;
1180
- }, '');
1181
- return `${pad(message.length / 2)}${message}`;
1182
- };
1183
- const smartRollupMessageDecoder$1 = (val) => {
1184
- const valueArray = extractRequiredLen$1(val);
1185
- const ret = stripLengthPrefixFromBytes$1(new Uint8ArrayConsumer(valueArray));
1186
- return ret.map((value) => Buffer.from(value).toString('hex'));
1187
- };
1188
- const dalCommitmentEncoder$1 = (val) => {
1189
- try {
1190
- return prefixEncoder$1(PrefixV2.SlotHeader)(val);
1191
- }
1192
- catch (err) {
1193
- if (err instanceof ParameterValidationError) {
1194
- throw new InvalidDalCommitmentError(val);
1195
- }
1196
- else {
1197
- throw err;
1198
- }
1199
- }
1200
- };
1201
- const dalCommitmentDecoder$1 = (val) => {
1202
- return prefixDecoder$1(PrefixV2.SlotHeader)(val);
1203
- };
1204
- const slotHeaderEncoder$1 = (val) => {
1205
- return pad(val.slot_index, 2) + dalCommitmentEncoder$1(val.commitment) + val.commitment_proof;
1206
- };
1207
- const slotHeaderDecoder$1 = (val) => {
1208
- const preamble = val.consume(1);
1209
- return {
1210
- slot_index: Number(preamble[0].toString(10)),
1211
- commitment: dalCommitmentDecoder$1(val),
1212
- commitment_proof: toHexString(val.consume(96)), // rpcForger expect commitment_proof bytes to be len 96
1213
- };
1214
- };
1215
-
1216
- const ManagerOperationSchema$1 = {
1217
- branch: CODEC$1.BRANCH,
1218
- contents: [CODEC$1.OPERATION],
1219
- };
1220
- const ActivationSchema$1 = {
1221
- pkh: CODEC$1.TZ1,
1222
- secret: CODEC$1.SECRET,
1223
- };
1224
- const RevealSchema$1 = {
1225
- source: CODEC$1.PKH,
1226
- fee: CODEC$1.ZARITH,
1227
- counter: CODEC$1.ZARITH,
1228
- gas_limit: CODEC$1.ZARITH,
1229
- storage_limit: CODEC$1.ZARITH,
1230
- public_key: CODEC$1.PUBLIC_KEY,
1231
- proof: CODEC$1.SIGNATURE_PROOF,
1232
- };
1233
- const DelegationSchema$1 = {
1234
- source: CODEC$1.PKH,
1235
- fee: CODEC$1.ZARITH,
1236
- counter: CODEC$1.ZARITH,
1237
- gas_limit: CODEC$1.ZARITH,
1238
- storage_limit: CODEC$1.ZARITH,
1239
- delegate: CODEC$1.DELEGATE,
1240
- };
1241
- const TransactionSchema$1 = {
1242
- source: CODEC$1.PKH,
1243
- fee: CODEC$1.ZARITH,
1244
- counter: CODEC$1.ZARITH,
1245
- gas_limit: CODEC$1.ZARITH,
1246
- storage_limit: CODEC$1.ZARITH,
1247
- amount: CODEC$1.ZARITH,
1248
- destination: CODEC$1.ADDRESS,
1249
- parameters: CODEC$1.PARAMETERS,
1250
- };
1251
- const OriginationSchema$1 = {
1252
- source: CODEC$1.PKH,
1253
- fee: CODEC$1.ZARITH,
1254
- counter: CODEC$1.ZARITH,
1255
- gas_limit: CODEC$1.ZARITH,
1256
- storage_limit: CODEC$1.ZARITH,
1257
- balance: CODEC$1.ZARITH,
1258
- delegate: CODEC$1.DELEGATE,
1259
- script: CODEC$1.SCRIPT,
1260
- };
1261
- const BallotSchema$1 = {
1262
- source: CODEC$1.PKH,
1263
- period: CODEC$1.INT32,
1264
- proposal: CODEC$1.PROPOSAL,
1265
- ballot: CODEC$1.BALLOT_STATEMENT,
1266
- };
1267
- const AttestationSchema$1 = {
1268
- slot: CODEC$1.INT16,
1269
- level: CODEC$1.INT32,
1270
- round: CODEC$1.INT32,
1271
- block_payload_hash: CODEC$1.BLOCK_PAYLOAD_HASH,
1272
- };
1273
- const AttestationWithDalSchema$1 = {
1274
- slot: CODEC$1.INT16,
1275
- level: CODEC$1.INT32,
1276
- round: CODEC$1.INT32,
1277
- block_payload_hash: CODEC$1.BLOCK_PAYLOAD_HASH,
1278
- dal_attestation: CODEC$1.ZARITH,
1279
- };
1280
- const SeedNonceRevelationSchema$1 = {
1281
- level: CODEC$1.INT32,
1282
- nonce: CODEC$1.RAW,
1283
- };
1284
- const ProposalsSchema$1 = {
1285
- source: CODEC$1.PKH,
1286
- period: CODEC$1.INT32,
1287
- proposals: CODEC$1.PROPOSAL_ARR,
1288
- };
1289
- const RegisterGlobalConstantSchema$1 = {
1290
- source: CODEC$1.PKH,
1291
- fee: CODEC$1.ZARITH,
1292
- counter: CODEC$1.ZARITH,
1293
- gas_limit: CODEC$1.ZARITH,
1294
- storage_limit: CODEC$1.ZARITH,
1295
- value: CODEC$1.VALUE,
1296
- };
1297
- const TransferTicketSchema$1 = {
1298
- source: CODEC$1.PKH,
1299
- fee: CODEC$1.ZARITH,
1300
- counter: CODEC$1.ZARITH,
1301
- gas_limit: CODEC$1.ZARITH,
1302
- storage_limit: CODEC$1.ZARITH,
1303
- ticket_contents: CODEC$1.VALUE,
1304
- ticket_ty: CODEC$1.VALUE,
1305
- ticket_ticketer: CODEC$1.ADDRESS,
1306
- ticket_amount: CODEC$1.ZARITH,
1307
- destination: CODEC$1.ADDRESS,
1308
- entrypoint: CODEC$1.ENTRYPOINT,
1309
- };
1310
- const IncreasePaidStorageSchema$1 = {
1311
- source: CODEC$1.PKH,
1312
- fee: CODEC$1.ZARITH,
1313
- counter: CODEC$1.ZARITH,
1314
- gas_limit: CODEC$1.ZARITH,
1315
- storage_limit: CODEC$1.ZARITH,
1316
- amount: CODEC$1.ZARITH,
1317
- destination: CODEC$1.SMART_CONTRACT_ADDRESS,
1318
- };
1319
- const UpdateConsensusKeySchema$1 = {
1320
- source: CODEC$1.PKH,
1321
- fee: CODEC$1.ZARITH,
1322
- counter: CODEC$1.ZARITH,
1323
- gas_limit: CODEC$1.ZARITH,
1324
- storage_limit: CODEC$1.ZARITH,
1325
- pk: CODEC$1.PUBLIC_KEY,
1326
- proof: CODEC$1.SIGNATURE_PROOF,
1327
- };
1328
- const UpdateCompanionKeySchema = {
1329
- source: CODEC$1.PKH,
1330
- fee: CODEC$1.ZARITH,
1331
- counter: CODEC$1.ZARITH,
1332
- gas_limit: CODEC$1.ZARITH,
1333
- storage_limit: CODEC$1.ZARITH,
1334
- pk: CODEC$1.PUBLIC_KEY,
1335
- proof: CODEC$1.SIGNATURE_PROOF,
1336
- };
1337
- const DrainDelegateSchema$1 = {
1338
- consensus_key: CODEC$1.PKH,
1339
- delegate: CODEC$1.PKH,
1340
- destination: CODEC$1.PKH,
1341
- };
1342
- const SetDepositsLimitSchema$1 = {
1343
- source: CODEC$1.PKH,
1344
- fee: CODEC$1.ZARITH,
1345
- counter: CODEC$1.ZARITH,
1346
- gas_limit: CODEC$1.ZARITH,
1347
- storage_limit: CODEC$1.ZARITH,
1348
- limit: CODEC$1.DEPOSITS_LIMIT,
1349
- };
1350
- const SmartRollupOriginateSchema$1 = {
1351
- source: CODEC$1.PKH,
1352
- fee: CODEC$1.ZARITH,
1353
- counter: CODEC$1.ZARITH,
1354
- gas_limit: CODEC$1.ZARITH,
1355
- storage_limit: CODEC$1.ZARITH,
1356
- pvm_kind: CODEC$1.PVM_KIND,
1357
- kernel: CODEC$1.PADDED_BYTES,
1358
- parameters_ty: CODEC$1.VALUE,
1359
- whitelist: CODEC$1.PKH_ARR,
1360
- };
1361
- const SmartRollupAddMessagesSchema$1 = {
1362
- source: CODEC$1.PKH,
1363
- fee: CODEC$1.ZARITH,
1364
- counter: CODEC$1.ZARITH,
1365
- gas_limit: CODEC$1.ZARITH,
1366
- storage_limit: CODEC$1.ZARITH,
1367
- message: CODEC$1.SMART_ROLLUP_MESSAGE,
1368
- };
1369
- const SmartRollupExecuteOutboxMessageSchema$1 = {
1370
- source: CODEC$1.PKH,
1371
- fee: CODEC$1.ZARITH,
1372
- counter: CODEC$1.ZARITH,
1373
- gas_limit: CODEC$1.ZARITH,
1374
- storage_limit: CODEC$1.ZARITH,
1375
- rollup: CODEC$1.SMART_ROLLUP_ADDRESS,
1376
- cemented_commitment: CODEC$1.SMART_ROLLUP_COMMITMENT_HASH,
1377
- output_proof: CODEC$1.PADDED_BYTES,
1378
- };
1379
- const DalPublishCommitmentSchema$1 = {
1380
- source: CODEC$1.PKH,
1381
- fee: CODEC$1.ZARITH,
1382
- counter: CODEC$1.ZARITH,
1383
- gas_limit: CODEC$1.ZARITH,
1384
- storage_limit: CODEC$1.ZARITH,
1385
- slot_header: CODEC$1.SLOT_HEADER,
1386
- };
1387
- const FailingNoopSchema$1 = {
1388
- arbitrary: CODEC$1.PADDED_BYTES,
1389
- };
1390
- const operationEncoder$1 = (encoders) => (operation) => {
1391
- if (!(operation.kind in encoders) || !(operation.kind in kindMappingReverse$1)) {
1392
- throw new InvalidOperationKindError(operation.kind);
1393
- }
1394
- return kindMappingReverse$1[operation.kind] + encoders[operation.kind](operation);
1395
- };
1396
- const operationDecoder$1 = (decoders) => (value) => {
1397
- const op = value.consume(1);
1398
- const operationName = kindMapping$1[op[0]];
1399
- if (operationName === undefined) {
1400
- throw new UnsupportedOperationError(op[0].toString());
1401
- }
1402
- const decodedObj = decoders[operationName](value);
1403
- if (typeof decodedObj !== 'object') {
1404
- throw new OperationDecodingError('Invalid operation, cannot be decoded.');
1405
- }
1406
- return Object.assign({ kind: operationName }, decodedObj);
1407
- };
1408
- const schemaEncoder$1 = (encoders) => (schema) => (value) => {
1409
- const keys = Object.keys(schema);
1410
- return keys.reduce((prev, key) => {
1411
- const valueToEncode = schema[key];
1412
- if (value && Array.isArray(valueToEncode)) {
1413
- const encoder = encoders[valueToEncode[0]];
1414
- const values = value[key];
1415
- if (!Array.isArray(values)) {
1416
- throw new OperationEncodingError(`Invalid operation value "${JSON.stringify(values)}" of key "${key}, expected value to be Array.`);
1417
- }
1418
- return (prev + values.reduce((prevBytes, current) => prevBytes + encoder(current), ''));
1419
- }
1420
- else {
1421
- const encoder = encoders[valueToEncode];
1422
- return prev + encoder(value[key]);
1423
- }
1424
- }, '');
1425
- };
1426
- const schemaDecoder$1 = (decoders) => (schema) => (value) => {
1427
- const keys = Object.keys(schema);
1428
- return keys.reduce((prev, key) => {
1429
- const valueToEncode = schema[key];
1430
- if (Array.isArray(valueToEncode)) {
1431
- const decoder = decoders[valueToEncode[0]];
1432
- const decoded = [];
1433
- const lastLength = value.length();
1434
- while (value.length() > 0) {
1435
- decoded.push(decoder(value));
1436
- if (lastLength === value.length()) {
1437
- throw new OperationDecodingError('Unable to decode value');
1438
- }
1439
- }
1440
- return Object.assign(Object.assign({}, prev), { [key]: decoded });
1441
- }
1442
- else {
1443
- const decoder = decoders[valueToEncode];
1444
- const result = decoder(value);
1445
- if (typeof result !== 'undefined') {
1446
- return Object.assign(Object.assign({}, prev), { [key]: result });
1447
- }
1448
- else {
1449
- return Object.assign({}, prev);
1450
- }
1451
- }
1452
- }, {});
1453
- };
1454
-
1455
- const decoders$1 = {
1456
- [CODEC$1.SECRET]: (val) => toHexString(val.consume(20)),
1457
- [CODEC$1.RAW]: (val) => toHexString(val.consume(32)),
1458
- [CODEC$1.TZ1]: tz1Decoder$1,
1459
- [CODEC$1.BRANCH]: branchDecoder$1,
1460
- [CODEC$1.ZARITH]: zarithDecoder$1,
1461
- [CODEC$1.PUBLIC_KEY]: publicKeyDecoder$1,
1462
- [CODEC$1.PKH]: publicKeyHashDecoder$1,
1463
- [CODEC$1.PKH_ARR]: publicKeyHashesDecoder$1,
1464
- [CODEC$1.DELEGATE]: delegateDecoder$1,
1465
- [CODEC$1.INT32]: int32Decoder$1,
1466
- [CODEC$1.SCRIPT]: scriptDecoder$1,
1467
- [CODEC$1.BALLOT_STATEMENT]: ballotDecoder$1,
1468
- [CODEC$1.PROPOSAL]: proposalDecoder$1,
1469
- [CODEC$1.PROPOSAL_ARR]: proposalsDecoder$1,
1470
- [CODEC$1.PARAMETERS]: parametersDecoder$1,
1471
- [CODEC$1.ADDRESS]: addressDecoder$1,
1472
- [CODEC$1.SMART_ROLLUP_ADDRESS]: smartRollupAddressDecoder$1,
1473
- [CODEC$1.SMART_CONTRACT_ADDRESS]: smartContractAddressDecoder$1,
1474
- [CODEC$1.SMART_ROLLUP_COMMITMENT_HASH]: smartRollupCommitmentHashDecoder$1,
1475
- [CODEC$1.VALUE]: valueParameterDecoder$1,
1476
- [CODEC$1.INT16]: int16Decoder$1,
1477
- [CODEC$1.BLOCK_PAYLOAD_HASH]: blockPayloadHashDecoder$1,
1478
- [CODEC$1.ENTRYPOINT]: entrypointNameDecoder$1,
1479
- [CODEC$1.BURN_LIMIT]: burnLimitDecoder$1,
1480
- [CODEC$1.DEPOSITS_LIMIT]: depositsLimitDecoder$1,
1481
- [CODEC$1.SIGNATURE_PROOF]: signatureProofDecoder$1,
1482
- [CODEC$1.PVM_KIND]: pvmKindDecoder$1,
1483
- [CODEC$1.PADDED_BYTES]: paddedBytesDecoder$1,
1484
- [CODEC$1.SMART_ROLLUP_MESSAGE]: smartRollupMessageDecoder$1,
1485
- [CODEC$1.SLOT_HEADER]: slotHeaderDecoder$1,
1486
- };
1487
- decoders$1[CODEC$1.OPERATION] = operationDecoder$1(decoders$1);
1488
- decoders$1[CODEC$1.OP_ACTIVATE_ACCOUNT] = (val) => schemaDecoder$1(decoders$1)(ActivationSchema$1)(val);
1489
- decoders$1[CODEC$1.OP_FAILING_NOOP] = (val) => schemaDecoder$1(decoders$1)(FailingNoopSchema$1)(val);
1490
- decoders$1[CODEC$1.OP_DELEGATION] = (val) => schemaDecoder$1(decoders$1)(DelegationSchema$1)(val);
1491
- decoders$1[CODEC$1.OP_TRANSACTION] = (val) => schemaDecoder$1(decoders$1)(TransactionSchema$1)(val);
1492
- decoders$1[CODEC$1.OP_ORIGINATION] = (val) => schemaDecoder$1(decoders$1)(OriginationSchema$1)(val);
1493
- decoders$1[CODEC$1.OP_BALLOT] = (val) => schemaDecoder$1(decoders$1)(BallotSchema$1)(val);
1494
- decoders$1[CODEC$1.OP_ATTESTATION] = (val) => schemaDecoder$1(decoders$1)(AttestationSchema$1)(val);
1495
- decoders$1[CODEC$1.OP_ATTESTATION_WITH_DAL] = (val) => schemaDecoder$1(decoders$1)(AttestationWithDalSchema$1)(val);
1496
- decoders$1[CODEC$1.OP_SEED_NONCE_REVELATION] = (val) => schemaDecoder$1(decoders$1)(SeedNonceRevelationSchema$1)(val);
1497
- decoders$1[CODEC$1.OP_PROPOSALS] = (val) => schemaDecoder$1(decoders$1)(ProposalsSchema$1)(val);
1498
- decoders$1[CODEC$1.OP_REVEAL] = (val) => schemaDecoder$1(decoders$1)(RevealSchema$1)(val);
1499
- decoders$1[CODEC$1.OP_REGISTER_GLOBAL_CONSTANT] = (val) => schemaDecoder$1(decoders$1)(RegisterGlobalConstantSchema$1)(val);
1500
- decoders$1[CODEC$1.OP_TRANSFER_TICKET] = (val) => schemaDecoder$1(decoders$1)(TransferTicketSchema$1)(val);
1501
- decoders$1[CODEC$1.OP_INCREASE_PAID_STORAGE] = (val) => schemaDecoder$1(decoders$1)(IncreasePaidStorageSchema$1)(val);
1502
- decoders$1[CODEC$1.OP_UPDATE_CONSENSUS_KEY] = (val) => schemaDecoder$1(decoders$1)(UpdateConsensusKeySchema$1)(val);
1503
- decoders$1[CODEC$1.OP_UPDATE_COMPANION_KEY] = (val) => schemaDecoder$1(decoders$1)(UpdateCompanionKeySchema)(val);
1504
- decoders$1[CODEC$1.OP_DRAIN_DELEGATE] = (val) => schemaDecoder$1(decoders$1)(DrainDelegateSchema$1)(val);
1505
- decoders$1[CODEC$1.OP_SMART_ROLLUP_ORIGINATE] = (val) => schemaDecoder$1(decoders$1)(SmartRollupOriginateSchema$1)(val);
1506
- decoders$1[CODEC$1.OP_SMART_ROLLUP_ADD_MESSAGES] = (val) => schemaDecoder$1(decoders$1)(SmartRollupAddMessagesSchema$1)(val);
1507
- decoders$1[CODEC$1.OP_SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE] = (val) => schemaDecoder$1(decoders$1)(SmartRollupExecuteOutboxMessageSchema$1)(val);
1508
- decoders$1[CODEC$1.OP_DAL_PUBLISH_COMMITMENT] = (val) => schemaDecoder$1(decoders$1)(DalPublishCommitmentSchema$1)(val);
1509
- decoders$1[CODEC$1.MANAGER] = schemaDecoder$1(decoders$1)(ManagerOperationSchema$1);
1510
- decoders$1[CODEC$1.OP_SET_DEPOSITS_LIMIT] = (val) => schemaDecoder$1(decoders$1)(SetDepositsLimitSchema$1)(val);
1511
-
1512
- /*
1513
- * Some code in this file is originally from sotez
1514
- * Copyright (c) 2018 Andrew Kishino
1515
- */
1516
- // See: https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint
1517
- const ENTRYPOINT_MAX_LENGTH = 31;
1518
- var CODEC;
1519
- (function (CODEC) {
1520
- CODEC["SECRET"] = "secret";
1521
- CODEC["RAW"] = "raw";
1522
- CODEC["TZ1"] = "tz1";
1523
- CODEC["BRANCH"] = "branch";
1524
- CODEC["ZARITH"] = "zarith";
1525
- CODEC["PUBLIC_KEY"] = "public_key";
1526
- CODEC["PKH"] = "pkh";
1527
- CODEC["PKH_ARR"] = "pkhArr";
1528
- CODEC["DELEGATE"] = "delegate";
1529
- CODEC["SCRIPT"] = "script";
1530
- CODEC["BALLOT_STATEMENT"] = "ballotStmt";
1531
- CODEC["PROPOSAL"] = "proposal";
1532
- CODEC["PROPOSAL_ARR"] = "proposalArr";
1533
- CODEC["INT32"] = "int32";
1534
- CODEC["INT16"] = "int16";
1535
- CODEC["PARAMETERS"] = "parameters";
1536
- CODEC["ADDRESS"] = "address";
1537
- CODEC["SMART_CONTRACT_ADDRESS"] = "smart_contract_address";
1538
- CODEC["SMART_ROLLUP_ADDRESS"] = "smart_rollup_address";
1539
- CODEC["SMART_ROLLUP_COMMITMENT_HASH"] = "smart_rollup_commitment_hash";
1540
- CODEC["VALUE"] = "value";
1541
- CODEC["PADDED_BYTES"] = "padded_bytes";
1542
- CODEC["SMART_ROLLUP_MESSAGE"] = "smart_rollup_message";
1543
- CODEC["MANAGER"] = "manager";
1544
- CODEC["BLOCK_PAYLOAD_HASH"] = "blockPayloadHash";
1545
- CODEC["ENTRYPOINT"] = "entrypoint";
1546
- CODEC["OPERATION"] = "operation";
1547
- CODEC["OP_ACTIVATE_ACCOUNT"] = "activate_account";
1548
- CODEC["OP_DELEGATION"] = "delegation";
1549
- CODEC["OP_TRANSACTION"] = "transaction";
1550
- CODEC["OP_ORIGINATION"] = "origination";
1551
- CODEC["OP_BALLOT"] = "ballot";
1552
- CODEC["OP_FAILING_NOOP"] = "failing_noop";
1553
- CODEC["OP_ATTESTATION"] = "attestation";
1554
- CODEC["OP_ATTESTATION_WITH_DAL"] = "attestation_with_dal";
1555
- CODEC["OP_SEED_NONCE_REVELATION"] = "seed_nonce_revelation";
1556
- CODEC["OP_REVEAL"] = "reveal";
1557
- CODEC["OP_PROPOSALS"] = "proposals";
1558
- CODEC["OP_REGISTER_GLOBAL_CONSTANT"] = "register_global_constant";
1559
- CODEC["OP_TRANSFER_TICKET"] = "transfer_ticket";
1560
- CODEC["BURN_LIMIT"] = "burn_limit";
1561
- CODEC["OP_INCREASE_PAID_STORAGE"] = "increase_paid_storage";
1562
- CODEC["OP_UPDATE_CONSENSUS_KEY"] = "update_consensus_key";
1563
- CODEC["SIGNATURE_PROOF"] = "signature_proof";
1564
- CODEC["OP_DRAIN_DELEGATE"] = "drain_delegate";
1565
- CODEC["DEPOSITS_LIMIT"] = "deposits_limit";
1566
- CODEC["OP_SET_DEPOSITS_LIMIT"] = "set_deposits_limit";
1567
- CODEC["OP_SMART_ROLLUP_ORIGINATE"] = "smart_rollup_originate";
1568
- CODEC["PVM_KIND"] = "pvm_kind";
1569
- CODEC["OP_SMART_ROLLUP_ADD_MESSAGES"] = "smart_rollup_add_messages";
1570
- CODEC["OP_SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE"] = "smart_rollup_execute_outbox_message";
1571
- CODEC["OP_DAL_PUBLISH_COMMITMENT"] = "dal_publish_commitment";
1572
- CODEC["SLOT_HEADER"] = "slot_header";
1573
- })(CODEC || (CODEC = {}));
1574
- // See https://tezos.gitlab.io/shell/p2p_api.html#alpha-michelson-v1-primitives-enumeration-unsigned-8-bit-integer
1575
- const opMapping = {
1576
- '00': 'parameter',
1577
- '01': 'storage',
1578
- '02': 'code',
1579
- '03': 'False',
1580
- '04': 'Elt',
1581
- '05': 'Left',
1582
- '06': 'None',
1583
- '07': 'Pair',
1584
- '08': 'Right',
1585
- '09': 'Some',
1586
- '0a': 'True',
1587
- '0b': 'Unit',
1588
- '0c': 'PACK',
1589
- '0d': 'UNPACK',
1590
- '0e': 'BLAKE2B',
1591
- '0f': 'SHA256',
1592
- '10': 'SHA512',
1593
- '11': 'ABS',
1594
- '12': 'ADD',
1595
- '13': 'AMOUNT',
1596
- '14': 'AND',
1597
- '15': 'BALANCE',
1598
- '16': 'CAR',
1599
- '17': 'CDR',
1600
- '18': 'CHECK_SIGNATURE',
1601
- '19': 'COMPARE',
1602
- '1a': 'CONCAT',
1603
- '1b': 'CONS',
1604
- '1c': 'CREATE_ACCOUNT', // Removed in Edo
1605
- '1d': 'CREATE_CONTRACT', // Removed in Edo
1606
- '1e': 'IMPLICIT_ACCOUNT',
1607
- '1f': 'DIP',
1608
- '20': 'DROP',
1609
- '21': 'DUP',
1610
- '22': 'EDIV',
1611
- '23': 'EMPTY_MAP',
1612
- '24': 'EMPTY_SET',
1613
- '25': 'EQ',
1614
- '26': 'EXEC',
1615
- '27': 'FAILWITH',
1616
- '28': 'GE',
1617
- '29': 'GET',
1618
- '2a': 'GT',
1619
- '2b': 'HASH_KEY',
1620
- '2c': 'IF',
1621
- '2d': 'IF_CONS',
1622
- '2e': 'IF_LEFT',
1623
- '2f': 'IF_NONE',
1624
- '30': 'INT',
1625
- '31': 'LAMBDA',
1626
- '32': 'LE',
1627
- '33': 'LEFT',
1628
- '34': 'LOOP',
1629
- '35': 'LSL',
1630
- '36': 'LSR',
1631
- '37': 'LT',
1632
- '38': 'MAP',
1633
- '39': 'MEM',
1634
- '3a': 'MUL',
1635
- '3b': 'NEG',
1636
- '3c': 'NEQ',
1637
- '3d': 'NIL',
1638
- '3e': 'NONE',
1639
- '3f': 'NOT',
1640
- '40': 'NOW',
1641
- '41': 'OR',
1642
- '42': 'PAIR',
1643
- '43': 'PUSH',
1644
- '44': 'RIGHT',
1645
- '45': 'SIZE',
1646
- '46': 'SOME',
1647
- '47': 'SOURCE',
1648
- '48': 'SENDER',
1649
- '49': 'SELF',
1650
- '4a': 'STEPS_TO_QUOTA', // Removed in Edo
1651
- '4b': 'SUB',
1652
- '4c': 'SWAP',
1653
- '4d': 'TRANSFER_TOKENS',
1654
- '4e': 'SET_DELEGATE',
1655
- '4f': 'UNIT',
1656
- '50': 'UPDATE',
1657
- '51': 'XOR',
1658
- '52': 'ITER',
1659
- '53': 'LOOP_LEFT',
1660
- '54': 'ADDRESS',
1661
- '55': 'CONTRACT',
1662
- '56': 'ISNAT',
1663
- '57': 'CAST',
1664
- '58': 'RENAME',
1665
- '59': 'bool',
1666
- '5a': 'contract',
1667
- '5b': 'int',
1668
- '5c': 'key',
1669
- '5d': 'key_hash',
1670
- '5e': 'lambda',
1671
- '5f': 'list',
1672
- '60': 'map',
1673
- '61': 'big_map',
1674
- '62': 'nat',
1675
- '63': 'option',
1676
- '64': 'or',
1677
- '65': 'pair',
1678
- '66': 'set',
1679
- '67': 'signature',
1680
- '68': 'string',
1681
- '69': 'bytes',
1682
- '6a': 'mutez',
1683
- '6b': 'timestamp',
1684
- '6c': 'unit',
1685
- '6d': 'operation',
1686
- '6e': 'address',
1687
- '6f': 'SLICE',
1688
- '70': 'DIG',
1689
- '71': 'DUG',
1690
- '72': 'EMPTY_BIG_MAP',
1691
- '73': 'APPLY',
1692
- '74': 'chain_id',
1693
- '75': 'CHAIN_ID',
1694
- '76': 'LEVEL',
1695
- '77': 'SELF_ADDRESS',
1696
- '78': 'never',
1697
- '79': 'NEVER',
1698
- '7a': 'UNPAIR',
1699
- '7b': 'VOTING_POWER',
1700
- '7c': 'TOTAL_VOTING_POWER',
1701
- '7d': 'KECCAK',
1702
- '7e': 'SHA3',
1703
- '7f': 'PAIRING_CHECK',
1704
- '80': 'bls12_381_g1',
1705
- '81': 'bls12_381_g2',
1706
- '82': 'bls12_381_fr',
1707
- '83': 'sapling_state',
1708
- '84': 'sapling_transaction_deprecated',
1709
- '85': 'SAPLING_EMPTY_STATE',
1710
- '86': 'SAPLING_VERIFY_UPDATE',
1711
- '87': 'ticket',
1712
- '88': 'TICKET_DEPRECATED',
1713
- '89': 'READ_TICKET',
1714
- '8a': 'SPLIT_TICKET',
1715
- '8b': 'JOIN_TICKETS',
1716
- '8c': 'GET_AND_UPDATE',
1717
- '8d': 'chest',
1718
- '8e': 'chest_key',
1719
- '8f': 'OPEN_CHEST',
1720
- '90': 'VIEW',
1721
- '91': 'view',
1722
- '92': 'constant',
1723
- '93': 'SUB_MUTEZ',
1724
- '94': 'tx_rollup_l2_address',
1725
- '95': 'MIN_BLOCK_TIME',
1726
- '96': 'sapling_transaction',
1727
- '97': 'EMIT',
1728
- '98': 'Lambda_rec',
1729
- '99': 'LAMBDA_REC',
1730
- '9a': 'TICKET',
1731
- '9b': 'BYTES',
1732
- '9c': 'NAT',
1733
- '9d': 'Ticket',
1734
- };
1735
- const opMappingReverse = (() => {
1736
- const result = {};
1737
- Object.keys(opMapping).forEach((key) => {
1738
- result[opMapping[key]] = key;
1739
- });
1740
- return result;
1741
- })();
1742
- // See https://tezos.gitlab.io/shell/p2p_api.html
1743
- const kindMapping = {
1744
- 0x04: 'activate_account',
1745
- 0x6b: 'reveal',
1746
- 0x6e: 'delegation',
1747
- 0x6c: 'transaction',
1748
- 0x6d: 'origination',
1749
- 0x06: 'ballot',
1750
- 0x15: 'attestation',
1751
- 0x17: 'attestation_with_dal',
1752
- 0x01: 'seed_nonce_revelation',
1753
- 0x05: 'proposals',
1754
- 0x6f: 'register_global_constant',
1755
- 0x9e: 'transfer_ticket',
1756
- 0x70: 'set_deposits_limit',
1757
- 0x71: 'increase_paid_storage',
1758
- 0x72: 'update_consensus_key',
1759
- 0x09: 'drain_delegate',
1760
- 0xc8: 'smart_rollup_originate',
1761
- 0xc9: 'smart_rollup_add_messages',
1762
- 0xce: 'smart_rollup_execute_outbox_message',
1763
- 0xe6: 'dal_publish_commitment',
1764
- 0x11: 'failing_noop',
1765
- };
1766
- const kindMappingReverse = (() => {
1767
- const result = {};
1768
- Object.keys(kindMapping).forEach((key) => {
1769
- const keyNum = typeof key === 'string' ? parseInt(key, 10) : key;
1770
- result[kindMapping[keyNum]] = pad(keyNum, 2);
1771
- });
1772
- return result;
1773
- })();
1774
- // See https://tezos.gitlab.io/protocols/005_babylon.html#transactions-now-have-an-entrypoint
1775
- const entrypointMapping = {
1776
- '00': 'default',
1777
- '01': 'root',
1778
- '02': 'do',
1779
- '03': 'set_delegate',
1780
- '04': 'remove_delegate',
1781
- '05': 'deposit',
1782
- '06': 'stake',
1783
- '07': 'unstake',
1784
- '08': 'finalize_unstake',
1785
- '09': 'set_delegate_parameters',
1786
- };
1787
- const entrypointMappingReverse = (() => {
1788
- const result = {};
1789
- Object.keys(entrypointMapping).forEach((key) => {
1790
- result[entrypointMapping[key]] = key;
1791
- });
1792
- return result;
1793
- })();
1794
491
 
1795
492
  const isPrim = (value) => {
1796
493
  return 'prim' in value;
@@ -2046,28 +743,29 @@ const decodeAnnots = (val) => {
2046
743
  };
2047
744
 
2048
745
  // https://tezos.gitlab.io/shell/p2p_api.html specifies data types and structure for forging
2049
- const prefixEncoder = (prefix$1) => (str) => {
2050
- return buf2hex(Buffer.from(b58cdecode(str, prefix[prefix$1])));
746
+ const prefixEncoder = (prefix) => (str) => {
747
+ const [pl] = b58DecodeAndCheckPrefix(str, [prefix]);
748
+ return buf2hex(pl);
2051
749
  };
2052
750
  const prefixDecoder = (pre) => (str) => {
2053
- const val = str.consume(prefixLength[pre]);
2054
- return b58cencode(val, prefix[pre]);
751
+ const val = str.consume(payloadLength[pre]);
752
+ return b58Encode(val, pre);
2055
753
  };
2056
- const tz1Decoder = prefixDecoder(Prefix.TZ1);
2057
- const branchDecoder = prefixDecoder(Prefix.B);
754
+ const tz1Decoder = prefixDecoder(PrefixV2.Ed25519PublicKeyHash);
755
+ const branchDecoder = prefixDecoder(PrefixV2.BlockHash);
2058
756
  const publicKeyHashDecoder = (val) => {
2059
757
  const prefix = val.consume(1);
2060
758
  if (prefix[0] === 0x00) {
2061
- return prefixDecoder(Prefix.TZ1)(val);
759
+ return prefixDecoder(PrefixV2.Ed25519PublicKeyHash)(val);
2062
760
  }
2063
761
  else if (prefix[0] === 0x01) {
2064
- return prefixDecoder(Prefix.TZ2)(val);
762
+ return prefixDecoder(PrefixV2.Secp256k1PublicKeyHash)(val);
2065
763
  }
2066
764
  else if (prefix[0] === 0x02) {
2067
- return prefixDecoder(Prefix.TZ3)(val);
765
+ return prefixDecoder(PrefixV2.P256PublicKeyHash)(val);
2068
766
  }
2069
767
  else if (prefix[0] === 0x03) {
2070
- return prefixDecoder(Prefix.TZ4)(val);
768
+ return prefixDecoder(PrefixV2.BLS12_381PublicKeyHash)(val);
2071
769
  }
2072
770
  };
2073
771
  const publicKeyHashesDecoder = (val) => {
@@ -2081,14 +779,14 @@ const publicKeyHashesDecoder = (val) => {
2081
779
  }
2082
780
  return publicKeyHashes;
2083
781
  };
2084
- const branchEncoder = prefixEncoder(Prefix.B);
2085
- const tz1Encoder = prefixEncoder(Prefix.TZ1);
782
+ const branchEncoder = prefixEncoder(PrefixV2.BlockHash);
783
+ const tz1Encoder = prefixEncoder(PrefixV2.Ed25519PublicKeyHash);
2086
784
  const boolEncoder = (bool) => (bool ? 'ff' : '00');
2087
785
  const proposalEncoder = (proposal) => {
2088
- return prefixEncoder(Prefix.P)(proposal);
786
+ return prefixEncoder(PrefixV2.ProtocolHash)(proposal);
2089
787
  };
2090
788
  const proposalDecoder = (proposal) => {
2091
- return prefixDecoder(Prefix.P)(proposal);
789
+ return prefixDecoder(PrefixV2.ProtocolHash)(proposal);
2092
790
  };
2093
791
  const proposalsDecoder = (proposal) => {
2094
792
  const proposals = [];
@@ -2204,19 +902,11 @@ const delegateDecoder = (val) => {
2204
902
  }
2205
903
  };
2206
904
  const publicKeyHashEncoder = (val) => {
2207
- const pubkeyPrefix = val.substring(0, 3);
2208
- switch (pubkeyPrefix) {
2209
- case Prefix.TZ1:
2210
- return '00' + prefixEncoder(Prefix.TZ1)(val);
2211
- case Prefix.TZ2:
2212
- return '01' + prefixEncoder(Prefix.TZ2)(val);
2213
- case Prefix.TZ3:
2214
- return '02' + prefixEncoder(Prefix.TZ3)(val);
2215
- case Prefix.TZ4:
2216
- return '03' + prefixEncoder(Prefix.TZ4)(val);
2217
- default:
2218
- throw new InvalidKeyHashError$1(val, invalidDetail(ValidationResult.NO_PREFIX_MATCHED) +
2219
- ` expecting one for the following "${Prefix.TZ1}", "${Prefix.TZ2}", "${Prefix.TZ3}" or "${Prefix.TZ4}".`);
905
+ try {
906
+ return b58DecodePublicKeyHash(val);
907
+ }
908
+ catch (err) {
909
+ throw new InvalidKeyHashError(val, err instanceof ParameterValidationError ? err.result : undefined);
2220
910
  }
2221
911
  };
2222
912
  const publicKeyHashesEncoder = (val) => {
@@ -2232,70 +922,57 @@ const publicKeyHashesEncoder = (val) => {
2232
922
  return boolEncoder(true) + pad(publicKeyHashes.length / 2) + publicKeyHashes;
2233
923
  };
2234
924
  const publicKeyEncoder = (val) => {
2235
- const pubkeyPrefix = val.substring(0, 4);
2236
- switch (pubkeyPrefix) {
2237
- case Prefix.EDPK:
2238
- return '00' + prefixEncoder(Prefix.EDPK)(val);
2239
- case Prefix.SPPK:
2240
- return '01' + prefixEncoder(Prefix.SPPK)(val);
2241
- case Prefix.P2PK:
2242
- return '02' + prefixEncoder(Prefix.P2PK)(val);
2243
- case Prefix.BLPK:
2244
- return '03' + prefixEncoder(Prefix.BLPK)(val);
2245
- default:
2246
- throw new InvalidPublicKeyError(val, invalidDetail(ValidationResult.NO_PREFIX_MATCHED) +
2247
- ` expecting one of the following '${Prefix.EDPK}', '${Prefix.SPPK}', '${Prefix.P2PK}' or '${Prefix.BLPK}'.`);
925
+ try {
926
+ return b58DecodePublicKey(val);
927
+ }
928
+ catch (err) {
929
+ throw new InvalidPublicKeyError(val, err instanceof ParameterValidationError ? err.result : undefined);
2248
930
  }
2249
931
  };
2250
932
  const addressEncoder = (val) => {
2251
- const pubkeyPrefix = val.substring(0, 3);
2252
- switch (pubkeyPrefix) {
2253
- case Prefix.TZ1:
2254
- case Prefix.TZ2:
2255
- case Prefix.TZ3:
2256
- case Prefix.TZ4:
2257
- return '00' + publicKeyHashEncoder(val);
2258
- case Prefix.KT1:
2259
- return '01' + prefixEncoder(Prefix.KT1)(val) + '00';
2260
- default:
2261
- throw new InvalidAddressError(val, invalidDetail(ValidationResult.NO_PREFIX_MATCHED) +
2262
- ` expecting one of the following prefix '${Prefix.TZ1}', ${Prefix.TZ2}', '${Prefix.TZ3}', '${Prefix.TZ4}' or '${Prefix.KT1}'.`);
2263
- }
933
+ return b58DecodeAddress(val);
2264
934
  };
2265
935
  const smartRollupAddressEncoder = (val) => {
2266
- if (val.substring(0, 3) !== Prefix.SR1) {
2267
- throw new InvalidSmartRollupAddressError(val, invalidDetail(ValidationResult.NO_PREFIX_MATCHED) + ` expecting prefix '${Prefix.SR1}'.`);
936
+ try {
937
+ return prefixEncoder(PrefixV2.SmartRollupHash)(val);
2268
938
  }
2269
- return prefixEncoder(Prefix.SR1)(val);
2270
- };
2271
- const smartContractAddressEncoder = (val) => {
2272
- const prefix = val.substring(0, 3);
2273
- if (prefix === Prefix.KT1) {
2274
- return '01' + prefixEncoder(Prefix.KT1)(val) + '00';
939
+ catch (err) {
940
+ if (err instanceof ParameterValidationError) {
941
+ throw new InvalidSmartRollupAddressError(val);
942
+ }
943
+ else {
944
+ throw err;
945
+ }
2275
946
  }
2276
- throw new InvalidContractAddressError(val, invalidDetail(ValidationResult.NO_PREFIX_MATCHED) + ` expecting prefix '${Prefix.KT1}'.`);
2277
947
  };
948
+ const smartContractAddressEncoder = (val) => b58DecodeAddress(val);
2278
949
  const publicKeyDecoder = (val) => {
2279
950
  const preamble = val.consume(1);
2280
951
  switch (preamble[0]) {
2281
952
  case 0x00:
2282
- return prefixDecoder(Prefix.EDPK)(val);
953
+ return prefixDecoder(PrefixV2.Ed25519PublicKey)(val);
2283
954
  case 0x01:
2284
- return prefixDecoder(Prefix.SPPK)(val);
955
+ return prefixDecoder(PrefixV2.Secp256k1PublicKey)(val);
2285
956
  case 0x02:
2286
- return prefixDecoder(Prefix.P2PK)(val);
957
+ return prefixDecoder(PrefixV2.P256PublicKey)(val);
2287
958
  case 0x03:
2288
- return prefixDecoder(Prefix.BLPK)(val);
959
+ return prefixDecoder(PrefixV2.BLS12_381PublicKey)(val);
2289
960
  default:
2290
- throw new InvalidPublicKeyError(val.toString(), invalidDetail(ValidationResult.NO_PREFIX_MATCHED));
961
+ throw new InvalidPublicKeyError(undefined, ValidationResult.NO_PREFIX_MATCHED);
2291
962
  }
2292
963
  };
2293
964
  const smartRollupCommitmentHashEncoder = (val) => {
2294
- const prefix = val.substring(0, 4);
2295
- if (prefix === Prefix.SRC1) {
2296
- return prefixEncoder(Prefix.SRC1)(val);
965
+ try {
966
+ return prefixEncoder(PrefixV2.SmartRollupCommitmentHash)(val);
967
+ }
968
+ catch (err) {
969
+ if (err instanceof ParameterValidationError) {
970
+ throw new InvalidSmartRollupCommitmentHashError(val);
971
+ }
972
+ else {
973
+ throw err;
974
+ }
2297
975
  }
2298
- throw new InvalidSmartRollupCommitmentHashError(val, invalidDetail(ValidationResult.NO_PREFIX_MATCHED) + ` expecting prefix '${Prefix.SRC1}'`);
2299
976
  };
2300
977
  const addressDecoder = (val) => {
2301
978
  const preamble = val.consume(1);
@@ -2303,7 +980,7 @@ const addressDecoder = (val) => {
2303
980
  case 0x00:
2304
981
  return publicKeyHashDecoder(val);
2305
982
  case 0x01: {
2306
- const address = prefixDecoder(Prefix.KT1)(val);
983
+ const address = prefixDecoder(PrefixV2.ContractHash)(val);
2307
984
  val.consume(1);
2308
985
  return address;
2309
986
  }
@@ -2312,27 +989,19 @@ const addressDecoder = (val) => {
2312
989
  }
2313
990
  };
2314
991
  const smartRollupAddressDecoder = (val) => {
2315
- const address = prefixDecoder(Prefix.SR1)(val);
2316
- if (address.substring(0, 3) !== Prefix.SR1) {
2317
- throw new InvalidSmartRollupAddressError(address, invalidDetail(ValidationResult.NO_PREFIX_MATCHED) + ` expecting prefix '${Prefix.SR1}'.`);
2318
- }
2319
- return address;
992
+ return prefixDecoder(PrefixV2.SmartRollupHash)(val);
2320
993
  };
2321
994
  const smartContractAddressDecoder = (val) => {
2322
995
  const preamble = val.consume(1);
2323
996
  if (preamble[0] === 0x01) {
2324
- const scAddress = prefixDecoder(Prefix.KT1)(val);
997
+ const scAddress = prefixDecoder(PrefixV2.ContractHash)(val);
2325
998
  val.consume(1);
2326
999
  return scAddress;
2327
1000
  }
2328
- throw new InvalidContractAddressError(val.toString(), invalidDetail(ValidationResult.NO_PREFIX_MATCHED));
1001
+ throw new InvalidContractAddressError(val.toString(), ValidationResult.NO_PREFIX_MATCHED);
2329
1002
  };
2330
1003
  const smartRollupCommitmentHashDecoder = (val) => {
2331
- const address = prefixDecoder(Prefix.SRC1)(val);
2332
- if (address.substring(0, 4) !== Prefix.SRC1) {
2333
- throw new InvalidSmartRollupCommitmentHashError(address, invalidDetail(ValidationResult.NO_PREFIX_MATCHED) + ` expecting prefix '${Prefix.SRC1}'`);
2334
- }
2335
- return address;
1004
+ return prefixDecoder(PrefixV2.SmartRollupCommitmentHash)(val);
2336
1005
  };
2337
1006
  const zarithEncoder = (n) => {
2338
1007
  const fn = [];
@@ -2430,8 +1099,8 @@ const valueParameterDecoder = (val) => {
2430
1099
  const value = extractRequiredLen(val);
2431
1100
  return valueDecoder(new Uint8ArrayConsumer(value));
2432
1101
  };
2433
- const blockPayloadHashEncoder = prefixEncoder(Prefix.VH);
2434
- const blockPayloadHashDecoder = prefixDecoder(Prefix.VH);
1102
+ const blockPayloadHashEncoder = prefixEncoder(PrefixV2.ValueHash);
1103
+ const blockPayloadHashDecoder = prefixDecoder(PrefixV2.ValueHash);
2435
1104
  const entrypointNameEncoder = (entrypoint) => {
2436
1105
  const value = { string: entrypoint };
2437
1106
  return `${valueEncoder(value).slice(2)}`;
@@ -2459,28 +1128,31 @@ const depositsLimitDecoder = (value) => {
2459
1128
  }
2460
1129
  };
2461
1130
  const signatureV1Encoder = (val) => {
2462
- const signaturePrefix = val.substring(0, 5);
2463
- switch (signaturePrefix) {
2464
- case Prefix.EDSIG:
2465
- return paddedBytesEncoder(prefixEncoder(Prefix.EDSIG)(val));
2466
- case Prefix.SPSIG:
2467
- return paddedBytesEncoder(prefixEncoder(Prefix.SPSIG)(val));
2468
- case Prefix.P2SIG:
2469
- return paddedBytesEncoder(prefixEncoder(Prefix.P2SIG)(val));
2470
- case Prefix.BLSIG:
2471
- return paddedBytesEncoder(prefixEncoder(Prefix.BLSIG)(val));
2472
- default:
2473
- throw new InvalidSignatureError(val, invalidDetail(ValidationResult.NO_PREFIX_MATCHED) +
2474
- ` expecting one of the following '${Prefix.EDSIG}', '${Prefix.SPSIG}', '${Prefix.P2SIG}' or '${Prefix.BLSIG}'.`);
1131
+ try {
1132
+ const [data, pre] = b58DecodeAndCheckPrefix(val, signaturePrefixes);
1133
+ if (pre === PrefixV2.BLS12_381Signature) {
1134
+ return paddedBytesEncoder(buf2hex(data));
1135
+ }
1136
+ else {
1137
+ throw new ProhibitedActionError('we only support encoding of BLSIG signatures from protocol Seoul');
1138
+ }
1139
+ }
1140
+ catch (err) {
1141
+ if (err instanceof ParameterValidationError) {
1142
+ throw new InvalidSignatureError(val, err.result);
1143
+ }
1144
+ else {
1145
+ throw err;
1146
+ }
2475
1147
  }
2476
1148
  };
2477
1149
  const signatureV1Decoder = (val) => {
2478
1150
  val.consume(4);
2479
1151
  if (val.length().toString() === '96') {
2480
- return prefixDecoder(Prefix.BLSIG)(val);
1152
+ return prefixDecoder(PrefixV2.BLS12_381Signature)(val);
2481
1153
  }
2482
1154
  else {
2483
- throw new ProhibitedActionError('currently we only support decoding of BLSIG signatures');
1155
+ throw new ProhibitedActionError('we only support decoding of BLSIG signatures');
2484
1156
  }
2485
1157
  };
2486
1158
  const signatureProofEncoder = (val) => {
@@ -2516,18 +1188,20 @@ const smartRollupMessageDecoder = (val) => {
2516
1188
  return ret.map((value) => Buffer.from(value).toString('hex'));
2517
1189
  };
2518
1190
  const dalCommitmentEncoder = (val) => {
2519
- const prefix = val.substring(0, 2);
2520
- if (prefix === Prefix.SH) {
2521
- return prefixEncoder(Prefix.SH)(val);
1191
+ try {
1192
+ return prefixEncoder(PrefixV2.SlotHeader)(val);
1193
+ }
1194
+ catch (err) {
1195
+ if (err instanceof ParameterValidationError) {
1196
+ throw new InvalidDalCommitmentError(val);
1197
+ }
1198
+ else {
1199
+ throw err;
1200
+ }
2522
1201
  }
2523
- throw new InvalidDalCommitmentError(val, invalidDetail(ValidationResult.NO_PREFIX_MATCHED) + ` expecting prefix '${Prefix.SH}'`);
2524
1202
  };
2525
1203
  const dalCommitmentDecoder = (val) => {
2526
- const commitment = prefixDecoder(Prefix.SH)(val);
2527
- if (commitment.substring(0, 2) !== Prefix.SH) {
2528
- throw new InvalidDalCommitmentError(commitment, invalidDetail(ValidationResult.NO_PREFIX_MATCHED) + ` expecting prefix '${Prefix.SH}'`);
2529
- }
2530
- return commitment;
1204
+ return prefixDecoder(PrefixV2.SlotHeader)(val);
2531
1205
  };
2532
1206
  const slotHeaderEncoder = (val) => {
2533
1207
  return pad(val.slot_index, 2) + dalCommitmentEncoder(val.commitment) + val.commitment_proof;
@@ -2556,6 +1230,7 @@ const RevealSchema = {
2556
1230
  gas_limit: CODEC.ZARITH,
2557
1231
  storage_limit: CODEC.ZARITH,
2558
1232
  public_key: CODEC.PUBLIC_KEY,
1233
+ proof: CODEC.SIGNATURE_PROOF,
2559
1234
  };
2560
1235
  const DelegationSchema = {
2561
1236
  source: CODEC.PKH,
@@ -2652,6 +1327,15 @@ const UpdateConsensusKeySchema = {
2652
1327
  pk: CODEC.PUBLIC_KEY,
2653
1328
  proof: CODEC.SIGNATURE_PROOF,
2654
1329
  };
1330
+ const UpdateCompanionKeySchema = {
1331
+ source: CODEC.PKH,
1332
+ fee: CODEC.ZARITH,
1333
+ counter: CODEC.ZARITH,
1334
+ gas_limit: CODEC.ZARITH,
1335
+ storage_limit: CODEC.ZARITH,
1336
+ pk: CODEC.PUBLIC_KEY,
1337
+ proof: CODEC.SIGNATURE_PROOF,
1338
+ };
2655
1339
  const DrainDelegateSchema = {
2656
1340
  consensus_key: CODEC.PKH,
2657
1341
  delegate: CODEC.PKH,
@@ -2818,6 +1502,7 @@ decoders[CODEC.OP_REGISTER_GLOBAL_CONSTANT] = (val) => schemaDecoder(decoders)(R
2818
1502
  decoders[CODEC.OP_TRANSFER_TICKET] = (val) => schemaDecoder(decoders)(TransferTicketSchema)(val);
2819
1503
  decoders[CODEC.OP_INCREASE_PAID_STORAGE] = (val) => schemaDecoder(decoders)(IncreasePaidStorageSchema)(val);
2820
1504
  decoders[CODEC.OP_UPDATE_CONSENSUS_KEY] = (val) => schemaDecoder(decoders)(UpdateConsensusKeySchema)(val);
1505
+ decoders[CODEC.OP_UPDATE_COMPANION_KEY] = (val) => schemaDecoder(decoders)(UpdateCompanionKeySchema)(val);
2821
1506
  decoders[CODEC.OP_DRAIN_DELEGATE] = (val) => schemaDecoder(decoders)(DrainDelegateSchema)(val);
2822
1507
  decoders[CODEC.OP_SMART_ROLLUP_ORIGINATE] = (val) => schemaDecoder(decoders)(SmartRollupOriginateSchema)(val);
2823
1508
  decoders[CODEC.OP_SMART_ROLLUP_ADD_MESSAGES] = (val) => schemaDecoder(decoders)(SmartRollupAddMessagesSchema)(val);
@@ -2826,63 +1511,6 @@ decoders[CODEC.OP_DAL_PUBLISH_COMMITMENT] = (val) => schemaDecoder(decoders)(Dal
2826
1511
  decoders[CODEC.MANAGER] = schemaDecoder(decoders)(ManagerOperationSchema);
2827
1512
  decoders[CODEC.OP_SET_DEPOSITS_LIMIT] = (val) => schemaDecoder(decoders)(SetDepositsLimitSchema)(val);
2828
1513
 
2829
- const encoders$1 = {
2830
- [CODEC$1.SECRET]: (val) => val,
2831
- [CODEC$1.RAW]: (val) => val,
2832
- [CODEC$1.TZ1]: tz1Encoder$1,
2833
- [CODEC$1.BRANCH]: branchEncoder$1,
2834
- [CODEC$1.ZARITH]: zarithEncoder$1,
2835
- [CODEC$1.PUBLIC_KEY]: publicKeyEncoder$1,
2836
- [CODEC$1.PKH]: publicKeyHashEncoder$1,
2837
- [CODEC$1.PKH_ARR]: publicKeyHashesEncoder$1,
2838
- [CODEC$1.DELEGATE]: delegateEncoder$1,
2839
- [CODEC$1.SCRIPT]: scriptEncoder$1,
2840
- [CODEC$1.BALLOT_STATEMENT]: ballotEncoder$1,
2841
- [CODEC$1.PROPOSAL]: proposalEncoder$1,
2842
- [CODEC$1.PROPOSAL_ARR]: proposalsEncoder$1,
2843
- [CODEC$1.INT32]: int32Encoder$1,
2844
- [CODEC$1.PARAMETERS]: parametersEncoder$1,
2845
- [CODEC$1.ADDRESS]: addressEncoder$1,
2846
- [CODEC$1.SMART_ROLLUP_ADDRESS]: smartRollupAddressEncoder$1,
2847
- [CODEC$1.SMART_CONTRACT_ADDRESS]: smartContractAddressEncoder$1,
2848
- [CODEC$1.SMART_ROLLUP_COMMITMENT_HASH]: smartRollupCommitmentHashEncoder$1,
2849
- [CODEC$1.VALUE]: valueParameterEncoder$1,
2850
- [CODEC$1.INT16]: int16Encoder$1,
2851
- [CODEC$1.BLOCK_PAYLOAD_HASH]: blockPayloadHashEncoder$1,
2852
- [CODEC$1.ENTRYPOINT]: entrypointNameEncoder$1,
2853
- [CODEC$1.BURN_LIMIT]: burnLimitEncoder$1,
2854
- [CODEC$1.DEPOSITS_LIMIT]: depositsLimitEncoder$1,
2855
- [CODEC$1.SIGNATURE_PROOF]: signatureProofEncoder$1,
2856
- [CODEC$1.PVM_KIND]: pvmKindEncoder$1,
2857
- [CODEC$1.PADDED_BYTES]: paddedBytesEncoder$1,
2858
- [CODEC$1.SMART_ROLLUP_MESSAGE]: smartRollupMessageEncoder$1,
2859
- [CODEC$1.SLOT_HEADER]: slotHeaderEncoder$1,
2860
- };
2861
- encoders$1[CODEC$1.OPERATION] = operationEncoder$1(encoders$1);
2862
- encoders$1[CODEC$1.OP_ACTIVATE_ACCOUNT] = (val) => schemaEncoder$1(encoders$1)(ActivationSchema$1)(val);
2863
- encoders$1[CODEC$1.OP_DELEGATION] = (val) => schemaEncoder$1(encoders$1)(DelegationSchema$1)(val);
2864
- encoders$1[CODEC$1.OP_TRANSACTION] = (val) => schemaEncoder$1(encoders$1)(TransactionSchema$1)(val);
2865
- encoders$1[CODEC$1.OP_ORIGINATION] = (val) => schemaEncoder$1(encoders$1)(OriginationSchema$1)(val);
2866
- encoders$1[CODEC$1.OP_BALLOT] = (val) => schemaEncoder$1(encoders$1)(BallotSchema$1)(val);
2867
- encoders$1[CODEC$1.OP_ATTESTATION] = (val) => schemaEncoder$1(encoders$1)(AttestationSchema$1)(val);
2868
- encoders$1[CODEC$1.OP_ATTESTATION_WITH_DAL] = (val) => schemaEncoder$1(encoders$1)(AttestationWithDalSchema$1)(val);
2869
- encoders$1[CODEC$1.OP_SEED_NONCE_REVELATION] = (val) => schemaEncoder$1(encoders$1)(SeedNonceRevelationSchema$1)(val);
2870
- encoders$1[CODEC$1.OP_PROPOSALS] = (val) => schemaEncoder$1(encoders$1)(ProposalsSchema$1)(val);
2871
- encoders$1[CODEC$1.OP_REVEAL] = (val) => schemaEncoder$1(encoders$1)(RevealSchema$1)(val);
2872
- encoders$1[CODEC$1.OP_REGISTER_GLOBAL_CONSTANT] = (val) => schemaEncoder$1(encoders$1)(RegisterGlobalConstantSchema$1)(val);
2873
- encoders$1[CODEC$1.OP_TRANSFER_TICKET] = (val) => schemaEncoder$1(encoders$1)(TransferTicketSchema$1)(val);
2874
- encoders$1[CODEC$1.OP_INCREASE_PAID_STORAGE] = (val) => schemaEncoder$1(encoders$1)(IncreasePaidStorageSchema$1)(val);
2875
- encoders$1[CODEC$1.OP_UPDATE_CONSENSUS_KEY] = (val) => schemaEncoder$1(encoders$1)(UpdateConsensusKeySchema$1)(val);
2876
- encoders$1[CODEC$1.OP_UPDATE_COMPANION_KEY] = (val) => schemaEncoder$1(encoders$1)(UpdateCompanionKeySchema)(val);
2877
- encoders$1[CODEC$1.OP_DRAIN_DELEGATE] = (val) => schemaEncoder$1(encoders$1)(DrainDelegateSchema$1)(val);
2878
- encoders$1[CODEC$1.OP_SMART_ROLLUP_ORIGINATE] = (val) => schemaEncoder$1(encoders$1)(SmartRollupOriginateSchema$1)(val);
2879
- encoders$1[CODEC$1.OP_SMART_ROLLUP_ADD_MESSAGES] = (val) => schemaEncoder$1(encoders$1)(SmartRollupAddMessagesSchema$1)(val);
2880
- encoders$1[CODEC$1.OP_SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE] = (val) => schemaEncoder$1(encoders$1)(SmartRollupExecuteOutboxMessageSchema$1)(val);
2881
- encoders$1[CODEC$1.OP_DAL_PUBLISH_COMMITMENT] = (val) => schemaEncoder$1(encoders$1)(DalPublishCommitmentSchema$1)(val);
2882
- encoders$1[CODEC$1.MANAGER] = schemaEncoder$1(encoders$1)(ManagerOperationSchema$1);
2883
- encoders$1[CODEC$1.OP_SET_DEPOSITS_LIMIT] = (val) => schemaEncoder$1(encoders$1)(SetDepositsLimitSchema$1)(val);
2884
- encoders$1[CODEC$1.OP_FAILING_NOOP] = (val) => schemaEncoder$1(encoders$1)(FailingNoopSchema$1)(val);
2885
-
2886
1514
  const encoders = {
2887
1515
  [CODEC.SECRET]: (val) => val,
2888
1516
  [CODEC.RAW]: (val) => val,
@@ -2930,6 +1558,7 @@ encoders[CODEC.OP_REGISTER_GLOBAL_CONSTANT] = (val) => schemaEncoder(encoders)(R
2930
1558
  encoders[CODEC.OP_TRANSFER_TICKET] = (val) => schemaEncoder(encoders)(TransferTicketSchema)(val);
2931
1559
  encoders[CODEC.OP_INCREASE_PAID_STORAGE] = (val) => schemaEncoder(encoders)(IncreasePaidStorageSchema)(val);
2932
1560
  encoders[CODEC.OP_UPDATE_CONSENSUS_KEY] = (val) => schemaEncoder(encoders)(UpdateConsensusKeySchema)(val);
1561
+ encoders[CODEC.OP_UPDATE_COMPANION_KEY] = (val) => schemaEncoder(encoders)(UpdateCompanionKeySchema)(val);
2933
1562
  encoders[CODEC.OP_DRAIN_DELEGATE] = (val) => schemaEncoder(encoders)(DrainDelegateSchema)(val);
2934
1563
  encoders[CODEC.OP_SMART_ROLLUP_ORIGINATE] = (val) => schemaEncoder(encoders)(SmartRollupOriginateSchema)(val);
2935
1564
  encoders[CODEC.OP_SMART_ROLLUP_ADD_MESSAGES] = (val) => schemaEncoder(encoders)(SmartRollupAddMessagesSchema)(val);
@@ -2940,28 +1569,28 @@ encoders[CODEC.OP_SET_DEPOSITS_LIMIT] = (val) => schemaEncoder(encoders)(SetDepo
2940
1569
  encoders[CODEC.OP_FAILING_NOOP] = (val) => schemaEncoder(encoders)(FailingNoopSchema)(val);
2941
1570
 
2942
1571
  const OperationKindMapping = {
2943
- activate_account: ActivationSchema$1,
2944
- reveal: RevealSchema$1,
2945
- delegation: DelegationSchema$1,
2946
- transaction: TransactionSchema$1,
2947
- origination: OriginationSchema$1,
2948
- ballot: BallotSchema$1,
2949
- attestation: AttestationSchema$1,
2950
- attestation_with_dal: AttestationWithDalSchema$1,
2951
- seed_nonce_revelation: SeedNonceRevelationSchema$1,
2952
- proposals: ProposalsSchema$1,
2953
- register_global_constant: RegisterGlobalConstantSchema$1,
2954
- transfer_ticket: TransferTicketSchema$1,
2955
- increase_paid_storage: IncreasePaidStorageSchema$1,
2956
- update_consensus_key: UpdateConsensusKeySchema$1,
1572
+ activate_account: ActivationSchema,
1573
+ reveal: RevealSchema,
1574
+ delegation: DelegationSchema,
1575
+ transaction: TransactionSchema,
1576
+ origination: OriginationSchema,
1577
+ ballot: BallotSchema,
1578
+ attestation: AttestationSchema,
1579
+ attestation_with_dal: AttestationWithDalSchema,
1580
+ seed_nonce_revelation: SeedNonceRevelationSchema,
1581
+ proposals: ProposalsSchema,
1582
+ register_global_constant: RegisterGlobalConstantSchema,
1583
+ transfer_ticket: TransferTicketSchema,
1584
+ increase_paid_storage: IncreasePaidStorageSchema,
1585
+ update_consensus_key: UpdateConsensusKeySchema,
2957
1586
  update_companion_key: UpdateCompanionKeySchema,
2958
- drain_delegate: DrainDelegateSchema$1,
2959
- set_deposits_limit: SetDepositsLimitSchema$1,
2960
- smart_rollup_originate: SmartRollupOriginateSchema$1,
2961
- smart_rollup_add_messages: SmartRollupAddMessagesSchema$1,
2962
- smart_rollup_execute_outbox_message: SmartRollupExecuteOutboxMessageSchema$1,
2963
- dal_publish_commitment: DalPublishCommitmentSchema$1,
2964
- failing_noop: FailingNoopSchema$1,
1587
+ drain_delegate: DrainDelegateSchema,
1588
+ set_deposits_limit: SetDepositsLimitSchema,
1589
+ smart_rollup_originate: SmartRollupOriginateSchema,
1590
+ smart_rollup_add_messages: SmartRollupAddMessagesSchema,
1591
+ smart_rollup_execute_outbox_message: SmartRollupExecuteOutboxMessageSchema,
1592
+ dal_publish_commitment: DalPublishCommitmentSchema,
1593
+ failing_noop: FailingNoopSchema,
2965
1594
  };
2966
1595
  // Asymmetric difference: only account for things in arr2 that are not present in arr1, not vice versa
2967
1596
  const getArrayDifference = (arr1, arr2) => {
@@ -3015,41 +1644,14 @@ var ProtocolsHash;
3015
1644
  ProtocolsHash["PsQuebecn"] = "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg";
3016
1645
  ProtocolsHash["PsRiotuma"] = "PsRiotumaAMotcRoDWW1bysEhQy2n1M5fy8JgRp8jjRfHGmfeA7";
3017
1646
  ProtocolsHash["PtSeouLou"] = "PtSeouLouXkxhg39oWzjxDWaCydNfR3RxCUrNe4Q9Ro8BTehcbh";
1647
+ ProtocolsHash["PtTALLiNt"] = "PtTALLiNtPec7mE7yY4m3k26J8Qukef3E3ehzhfXgFZKGtDdAXu";
3018
1648
  ProtocolsHash["ProtoALpha"] = "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK";
3019
1649
  })(ProtocolsHash || (ProtocolsHash = {}));
3020
- const protoLevel = {
3021
- Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd: 4,
3022
- PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU: 5,
3023
- PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS: 5,
3024
- PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb: 6,
3025
- PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo: 7,
3026
- PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA: 8,
3027
- PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i: 9,
3028
- PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV: 10,
3029
- PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx: 11,
3030
- Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A: 12,
3031
- PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY: 13,
3032
- PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg: 14,
3033
- PtLimaPtLMwfNinJi9rCfDPWea8dFgTZ1MeJ9f1m2SRic6ayiwW: 15,
3034
- PtMumbaiiFFEGbew1rRjzSPyzRbA51Tm3RVZL5suHPxSZYDhCEc: 16,
3035
- PtMumbai2TmsJHNGRkD8v8YDbtao7BLUC3wjASn1inAKLFCjaH1: 16,
3036
- PtNairobiyssHuh87hEhfVBGCVrK3WnS8Z2FT4ymB5tAa4r1nQf: 17,
3037
- ProxfordYmVfjWnRcgjWH36fW6PArwqykTFzotUxRs6gmTcZDuH: 19,
3038
- PtParisBxoLz5gzMmn3d9WBQNoPSZakgnkMC2VNuQ3KXfUtUQeZ: 20,
3039
- PsParisCZo7KAh1Z1smVd9ZMZ1HHn5gkzbM94V3PLCpknFWhUAi: 20,
3040
- PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg: 21,
3041
- PsRiotumaAMotcRoDWW1bysEhQy2n1M5fy8JgRp8jjRfHGmfeA7: 22,
3042
- PtSeouLouXkxhg39oWzjxDWaCydNfR3RxCUrNe4Q9Ro8BTehcbh: 23,
3043
- ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK: 23,
3044
- };
3045
- function ProtoInferiorTo(a, b) {
3046
- return protoLevel[a] < protoLevel[b];
3047
- }
3048
1650
 
3049
1651
  // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
3050
1652
  const VERSION = {
3051
- "commitHash": "42048d039f6d4345fc59d04b03650bcb8e27bb62",
3052
- "version": "23.0.3"
1653
+ "commitHash": "0e66f21b0164a7add990b5c0d60698086daece99",
1654
+ "version": "24.0.0-RC.0"
3053
1655
  };
3054
1656
 
3055
1657
  /**
@@ -3062,40 +1664,20 @@ if (typeof globalThis.TextEncoder === 'undefined') {
3062
1664
  if (typeof globalThis.TextDecoder === 'undefined') {
3063
1665
  globalThis.TextDecoder = TextDecoder;
3064
1666
  }
3065
- const PROTOCOL_CURRENT = ProtocolsHash.PtSeouLou;
1667
+ const PROTOCOL_CURRENT = ProtocolsHash.PtTALLiNt;
3066
1668
  function getCodec(codec, _proto) {
3067
- // use encodersProto022 & decodersProto022 if it's rio or prior
3068
- if (_proto === ProtocolsHash.PsRiotuma || ProtoInferiorTo(_proto, ProtocolsHash.PsRiotuma)) {
3069
- return {
3070
- encoder: encoders[codec],
3071
- decoder: (hex) => {
3072
- const consumer = Uint8ArrayConsumer.fromHexString(hex);
3073
- return decoders[codec](consumer);
3074
- },
3075
- };
3076
- }
3077
- else {
3078
- return {
3079
- encoder: encoders$1[codec],
3080
- decoder: (hex) => {
3081
- const consumer = Uint8ArrayConsumer.fromHexString(hex);
3082
- return decoders$1[codec](consumer);
3083
- },
3084
- };
3085
- }
3086
- // TODO: Remove above if else once mainnet migrated into rio protocol and uncommon the return block below
3087
- // return {
3088
- // encoder: encoders[codec],
3089
- // decoder: (hex: string) => {
3090
- // const consumer = Uint8ArrayConsumer.fromHexString(hex);
3091
- // return decoders[codec](consumer) as any;
3092
- // },
3093
- // };
1669
+ return {
1670
+ encoder: encoders[codec],
1671
+ decoder: (hex) => {
1672
+ const consumer = Uint8ArrayConsumer.fromHexString(hex);
1673
+ return decoders[codec](consumer);
1674
+ },
1675
+ };
3094
1676
  }
3095
1677
  class LocalForger {
3096
1678
  constructor(protocolHash = PROTOCOL_CURRENT) {
3097
1679
  this.protocolHash = protocolHash;
3098
- this.codec = getCodec(CODEC$1.MANAGER, this.protocolHash);
1680
+ this.codec = getCodec(CODEC.MANAGER, this.protocolHash);
3099
1681
  }
3100
1682
  forge(params) {
3101
1683
  const branchValidation = validateBlock(params.branch);
@@ -3149,5 +1731,5 @@ class LocalForger {
3149
1731
  }
3150
1732
  const localForger = new LocalForger();
3151
1733
 
3152
- export { CODEC$1 as CODEC, LocalForger, ProtocolsHash, Uint8ArrayConsumer, VERSION, decoders$1 as decoders, encoders$1 as encoders, getCodec, localForger, opMapping$1 as opMapping, opMappingReverse$1 as opMappingReverse };
1734
+ export { CODEC, LocalForger, ProtocolsHash, Uint8ArrayConsumer, VERSION, decoders, encoders, getCodec, localForger, opMapping, opMappingReverse };
3153
1735
  //# sourceMappingURL=taquito-local-forging.es6.js.map