UNPKG

@provenanceio/wallet-utils

Version:

Typescript Utilities for Provenance Blockchain Wallet

96 lines (74 loc) 4.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.msgSubmitGovProposal = void 0; var _types = require("../../../../types"); var _cancelSoftwareUpgradeProposal = require("./cancelSoftwareUpgradeProposal"); var _instantiateCodeProposal = require("./instantiateCodeProposal"); var _parameterChangeProposal = require("./parameterChangeProposal"); var _softwareUpgradeProposal = require("./softwareUpgradeProposal"); var _storeCodeProposal = require("./storeCodeProposal"); var _textProposal = require("./textProposal"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /** * Formats MsgSubmitProposal (gov) messages for display * @param message of type MsgSubmitProposal (gov) * @returns object with MsgSubmitProposal fields */ var msgSubmitGovProposal = function msgSubmitGovProposal(message) { var messagesList = message.getMessagesList(); var depositList = message.getInitialDepositList(); return { typeName: 'MsgSubmitProposal', proposer: message.getProposer(), // If no deposits, show a 0 value initialDepositList: depositList.length > 0 ? depositList.map(function (coin) { return { denom: coin.getDenom(), amount: coin.getAmount() }; }) : { denom: 'nhash', amount: '0' }, messages: messagesList.map(function (msg) { var typeName = msg.getTypeName(); // Check if the msg type is legacy content if (typeName === 'cosmos.gov.v1.MsgExecLegacyContent') { var unpackedMsg = msg.unpack(_types.MESSAGE_PROTOS[typeName].deserializeBinary, typeName); var subMessage = unpackedMsg.getContent(); var subMessageTypeName = subMessage === null || subMessage === void 0 ? void 0 : subMessage.getTypeName(); if (_types.MESSAGE_PROTOS[subMessageTypeName]) { var msgContent = subMessage === null || subMessage === void 0 ? void 0 : subMessage.unpack(_types.MESSAGE_PROTOS[subMessageTypeName].deserializeBinary, subMessageTypeName); switch (subMessageTypeName) { case 'cosmos.gov.v1beta1.TextProposal': return (0, _textProposal.textProposal)(msgContent); case 'cosmos.upgrade.v1beta1.SoftwareUpgradeProposal': return (0, _softwareUpgradeProposal.softwareUpgradeProposal)(msgContent); case 'cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal': return (0, _cancelSoftwareUpgradeProposal.cancelSoftwareUpgradeProposal)(msgContent); case 'cosmwasm.wasm.v1.StoreCodeProposal': return (0, _storeCodeProposal.storeCodeProposal)(msgContent); case 'cosmwasm.wasm.v1.InstantiateCodeProposal': return (0, _instantiateCodeProposal.instantiateCodeProposal)(msgContent); case 'cosmos.params.v1beta1.ParameterChangeProposal': return (0, _parameterChangeProposal.parameterChangeProposal)(msgContent); default: return _objectSpread({ proposalType: subMessageTypeName }, msgContent); } } } // If the typeName isn't supported, don't fail, just return the message unformatted else { return { typeName: typeName, msg: msg }; } }) }; }; exports.msgSubmitGovProposal = msgSubmitGovProposal;