@mavrykdynamics/taquito-local-forging
Version:
Provide local forging functionality to be with taquito
286 lines (285 loc) • 8.27 kB
JavaScript
;
/*
* Some code in this file is originally from sotez
* Copyright (c) 2018 Andrew Kishino
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.entrypointMappingReverse = exports.entrypointMapping = exports.kindMappingReverse = exports.kindMapping = exports.opMappingReverse = exports.opMapping = exports.CODEC = exports.ENTRYPOINT_MAX_LENGTH = void 0;
const utils_1 = require("./utils");
// See: https://protocol.mavryk.org/protocols/005_babylon.html#transactions-now-have-an-entrypoint
exports.ENTRYPOINT_MAX_LENGTH = 31;
var CODEC;
(function (CODEC) {
CODEC["SECRET"] = "secret";
CODEC["RAW"] = "raw";
CODEC["MV1"] = "mv1";
CODEC["BRANCH"] = "branch";
CODEC["ZARITH"] = "zarith";
CODEC["PUBLIC_KEY"] = "public_key";
CODEC["PKH"] = "pkh";
CODEC["PKH_ARR"] = "pkhArr";
CODEC["DELEGATE"] = "delegate";
CODEC["SCRIPT"] = "script";
CODEC["BALLOT_STATEMENT"] = "ballotStmt";
CODEC["PROPOSAL"] = "proposal";
CODEC["PROPOSAL_ARR"] = "proposalArr";
CODEC["INT32"] = "int32";
CODEC["INT16"] = "int16";
CODEC["PARAMETERS"] = "parameters";
CODEC["ADDRESS"] = "address";
CODEC["SMART_CONTRACT_ADDRESS"] = "smart_contract_address";
CODEC["SMART_ROLLUP_ADDRESS"] = "smart_rollup_address";
CODEC["SMART_ROLLUP_COMMITMENT_HASH"] = "smart_rollup_commitment_hash";
CODEC["VALUE"] = "value";
CODEC["PADDED_BYTES"] = "padded_bytes";
CODEC["SMART_ROLLUP_MESSAGE"] = "smart_rollup_message";
CODEC["MANAGER"] = "manager";
CODEC["BLOCK_PAYLOAD_HASH"] = "blockPayloadHash";
CODEC["ENTRYPOINT"] = "entrypoint";
CODEC["OPERATION"] = "operation";
CODEC["OP_ACTIVATE_ACCOUNT"] = "activate_account";
CODEC["OP_DELEGATION"] = "delegation";
CODEC["OP_TRANSACTION"] = "transaction";
CODEC["OP_ORIGINATION"] = "origination";
CODEC["OP_BALLOT"] = "ballot";
CODEC["OP_FAILING_NOOP"] = "failing_noop";
CODEC["OP_ATTESTATION"] = "attestation";
CODEC["OP_ATTESTATION_WITH_DAL"] = "attestation_with_dal";
CODEC["OP_SEED_NONCE_REVELATION"] = "seed_nonce_revelation";
CODEC["OP_REVEAL"] = "reveal";
CODEC["OP_PROPOSALS"] = "proposals";
CODEC["OP_REGISTER_GLOBAL_CONSTANT"] = "register_global_constant";
CODEC["OP_TRANSFER_TICKET"] = "transfer_ticket";
CODEC["BURN_LIMIT"] = "burn_limit";
CODEC["OP_INCREASE_PAID_STORAGE"] = "increase_paid_storage";
CODEC["OP_UPDATE_CONSENSUS_KEY"] = "update_consensus_key";
CODEC["OP_DRAIN_DELEGATE"] = "drain_delegate";
CODEC["DEPOSITS_LIMIT"] = "deposits_limit";
CODEC["OP_SET_DEPOSITS_LIMIT"] = "set_deposits_limit";
CODEC["OP_SMART_ROLLUP_ORIGINATE"] = "smart_rollup_originate";
CODEC["PVM_KIND"] = "pvm_kind";
CODEC["OP_SMART_ROLLUP_ADD_MESSAGES"] = "smart_rollup_add_messages";
CODEC["OP_SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE"] = "smart_rollup_execute_outbox_message";
CODEC["OP_DAL_PUBLISH_COMMITMENT"] = "dal_publish_commitment";
CODEC["SLOT_HEADER"] = "slot_header";
})(CODEC || (exports.CODEC = CODEC = {}));
// See https://protocol.mavryk.org/shell/p2p_api.html#alpha-michelson-v1-primitives-enumeration-unsigned-8-bit-integer
exports.opMapping = {
'00': 'parameter',
'01': 'storage',
'02': 'code',
'03': 'False',
'04': 'Elt',
'05': 'Left',
'06': 'None',
'07': 'Pair',
'08': 'Right',
'09': 'Some',
'0a': 'True',
'0b': 'Unit',
'0c': 'PACK',
'0d': 'UNPACK',
'0e': 'BLAKE2B',
'0f': 'SHA256',
'10': 'SHA512',
'11': 'ABS',
'12': 'ADD',
'13': 'AMOUNT',
'14': 'AND',
'15': 'BALANCE',
'16': 'CAR',
'17': 'CDR',
'18': 'CHECK_SIGNATURE',
'19': 'COMPARE',
'1a': 'CONCAT',
'1b': 'CONS',
'1c': 'CREATE_ACCOUNT',
'1d': 'CREATE_CONTRACT',
'1e': 'IMPLICIT_ACCOUNT',
'1f': 'DIP',
'20': 'DROP',
'21': 'DUP',
'22': 'EDIV',
'23': 'EMPTY_MAP',
'24': 'EMPTY_SET',
'25': 'EQ',
'26': 'EXEC',
'27': 'FAILWITH',
'28': 'GE',
'29': 'GET',
'2a': 'GT',
'2b': 'HASH_KEY',
'2c': 'IF',
'2d': 'IF_CONS',
'2e': 'IF_LEFT',
'2f': 'IF_NONE',
'30': 'INT',
'31': 'LAMBDA',
'32': 'LE',
'33': 'LEFT',
'34': 'LOOP',
'35': 'LSL',
'36': 'LSR',
'37': 'LT',
'38': 'MAP',
'39': 'MEM',
'3a': 'MUL',
'3b': 'NEG',
'3c': 'NEQ',
'3d': 'NIL',
'3e': 'NONE',
'3f': 'NOT',
'40': 'NOW',
'41': 'OR',
'42': 'PAIR',
'43': 'PUSH',
'44': 'RIGHT',
'45': 'SIZE',
'46': 'SOME',
'47': 'SOURCE',
'48': 'SENDER',
'49': 'SELF',
'4a': 'STEPS_TO_QUOTA',
'4b': 'SUB',
'4c': 'SWAP',
'4d': 'TRANSFER_TOKENS',
'4e': 'SET_DELEGATE',
'4f': 'UNIT',
'50': 'UPDATE',
'51': 'XOR',
'52': 'ITER',
'53': 'LOOP_LEFT',
'54': 'ADDRESS',
'55': 'CONTRACT',
'56': 'ISNAT',
'57': 'CAST',
'58': 'RENAME',
'59': 'bool',
'5a': 'contract',
'5b': 'int',
'5c': 'key',
'5d': 'key_hash',
'5e': 'lambda',
'5f': 'list',
'60': 'map',
'61': 'big_map',
'62': 'nat',
'63': 'option',
'64': 'or',
'65': 'pair',
'66': 'set',
'67': 'signature',
'68': 'string',
'69': 'bytes',
'6a': 'mumav',
'6b': 'timestamp',
'6c': 'unit',
'6d': 'operation',
'6e': 'address',
'6f': 'SLICE',
'70': 'DIG',
'71': 'DUG',
'72': 'EMPTY_BIG_MAP',
'73': 'APPLY',
'74': 'chain_id',
'75': 'CHAIN_ID',
'76': 'LEVEL',
'77': 'SELF_ADDRESS',
'78': 'never',
'79': 'NEVER',
'7a': 'UNPAIR',
'7b': 'VOTING_POWER',
'7c': 'TOTAL_VOTING_POWER',
'7d': 'KECCAK',
'7e': 'SHA3',
'7f': 'PAIRING_CHECK',
'80': 'bls12_381_g1',
'81': 'bls12_381_g2',
'82': 'bls12_381_fr',
'83': 'sapling_state',
'84': 'sapling_transaction_deprecated',
'85': 'SAPLING_EMPTY_STATE',
'86': 'SAPLING_VERIFY_UPDATE',
'87': 'ticket',
'88': 'TICKET_DEPRECATED',
'89': 'READ_TICKET',
'8a': 'SPLIT_TICKET',
'8b': 'JOIN_TICKETS',
'8c': 'GET_AND_UPDATE',
'8d': 'chest',
'8e': 'chest_key',
'8f': 'OPEN_CHEST',
'90': 'VIEW',
'91': 'view',
'92': 'constant',
'93': 'SUB_MUMAV',
'94': 'tx_rollup_l2_address',
'95': 'MIN_BLOCK_TIME',
'96': 'sapling_transaction',
'97': 'EMIT',
'98': 'Lambda_rec',
'99': 'LAMBDA_REC',
'9a': 'TICKET',
'9b': 'BYTES',
'9c': 'NAT',
'9d': 'Ticket',
};
exports.opMappingReverse = (() => {
const result = {};
Object.keys(exports.opMapping).forEach((key) => {
result[exports.opMapping[key]] = key;
});
return result;
})();
// See https://protocol.mavryk.org/shell/p2p_api.html
exports.kindMapping = {
0x04: 'activate_account',
0x6b: 'reveal',
0x6e: 'delegation',
0x6c: 'transaction',
0x6d: 'origination',
0x06: 'ballot',
0x15: 'attestation',
0x17: 'attestation_with_dal',
0x01: 'seed_nonce_revelation',
0x05: 'proposals',
0x6f: 'register_global_constant',
0x9e: 'transfer_ticket',
0x70: 'set_deposits_limit',
0x71: 'increase_paid_storage',
0x72: 'update_consensus_key',
0x09: 'drain_delegate',
0xc8: 'smart_rollup_originate',
0xc9: 'smart_rollup_add_messages',
0xce: 'smart_rollup_execute_outbox_message',
0xe6: 'dal_publish_commitment',
0x11: 'failing_noop',
};
exports.kindMappingReverse = (() => {
const result = {};
Object.keys(exports.kindMapping).forEach((key) => {
const keyNum = typeof key === 'string' ? parseInt(key, 10) : key;
result[exports.kindMapping[keyNum]] = (0, utils_1.pad)(keyNum, 2);
});
return result;
})();
// See https://protocol.mavryk.org/protocols/005_babylon.html#transactions-now-have-an-entrypoint
exports.entrypointMapping = {
'00': 'default',
'01': 'root',
'02': 'do',
'03': 'set_delegate',
'04': 'remove_delegate',
'05': 'deposit',
'06': 'stake',
'07': 'unstake',
'08': 'finalize_unstake',
'09': 'set_delegate_parameters',
};
exports.entrypointMappingReverse = (() => {
const result = {};
Object.keys(exports.entrypointMapping).forEach((key) => {
result[exports.entrypointMapping[key]] = key;
});
return result;
})();