UNPKG

@provenanceio/wallet-utils

Version:

Typescript Utilities for Provenance Blockchain Wallet

180 lines (152 loc) 7.86 kB
"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.buildMessage = void 0; var google_protobuf_any_pb = _interopRequireWildcard(require("google-protobuf/google/protobuf/any_pb")); var _tx_pb = require("../../../proto/cosmwasm/wasm/v1/tx_pb"); var _coin_pb = require("../../../proto/cosmos/base/v1beta1/coin_pb"); var _tx_pb2 = require("../../../proto/cosmos/bank/v1beta1/tx_pb"); var _tx_pb3 = require("../../../proto/cosmos/staking/v1beta1/tx_pb"); var _tx_pb4 = require("../../../proto/cosmos/group/v1/tx_pb"); var _types_pb = require("../../../proto/cosmos/group/v1/types_pb"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var encoder = new TextEncoder(); /** * builds the message for submission to the blockchain * @param type identifies the type of message being built * @param params the parameters of the message being built * @returns formatted message of the provided type */ var buildMessage = function buildMessage(type, params) { switch (type) { case 'MsgDelegate': { var _ref = params, delegatorAddress = _ref.delegatorAddress, validatorAddress = _ref.validatorAddress, amount = _ref.amount; var msgDelegate = new _tx_pb3.MsgDelegate().setDelegatorAddress(delegatorAddress).setValidatorAddress(validatorAddress); if (amount) { msgDelegate.setAmount(new _coin_pb.Coin().setAmount("".concat(amount.amount)).setDenom(amount.denom)); } return msgDelegate; } case 'MsgSend': { var _ref2 = params, fromAddress = _ref2.fromAddress, toAddress = _ref2.toAddress, amountList = _ref2.amountList; var msgSend = new _tx_pb2.MsgSend().setFromAddress(fromAddress).setToAddress(toAddress); amountList.forEach(function (_ref3) { var denom = _ref3.denom, amount = _ref3.amount; msgSend.addAmount(new _coin_pb.Coin().setAmount("".concat(amount)).setDenom(denom)); }); return msgSend; } case 'MsgCreateGroup': { var _ref4 = params, admin = _ref4.admin, membersList = _ref4.membersList, metadata = _ref4.metadata; var msgCreateGroup = new _tx_pb4.MsgCreateGroup().setAdmin(admin).setMetadata(metadata); membersList.forEach(function (_ref5) { var address = _ref5.address, weight = _ref5.weight, metadata = _ref5.metadata; msgCreateGroup.addMembers(new _types_pb.MemberRequest().setAddress(address).setWeight(weight).setMetadata(metadata)); }); return msgCreateGroup; } case 'MsgSubmitGroupProposal': { var _ref6 = params, messagesList = _ref6.messagesList, exec = _ref6.exec, groupPolicyAddress = _ref6.groupPolicyAddress, _metadata = _ref6.metadata, proposersList = _ref6.proposersList; var messagesListAny = messagesList.map(function (message) { return new google_protobuf_any_pb.Any().setTypeUrl(message.typeUrl).setValue(message.value); }); var msgSubmitGroupProposal = new _tx_pb4.MsgSubmitProposal().setExec(exec).setMetadata(_metadata).setGroupPolicyAddress(groupPolicyAddress).setProposersList(proposersList).setMessagesList(messagesListAny); return msgSubmitGroupProposal; } case 'MsgGroupVote': { var _ref7 = params, proposalId = _ref7.proposalId, voter = _ref7.voter, option = _ref7.option, _exec = _ref7.exec, _metadata2 = _ref7.metadata; var msgGroupVote = new _tx_pb4.MsgVote().setProposalId(proposalId).setVoter(voter).setOption(option).setExec(_exec).setMetadata(_metadata2); return msgGroupVote; } case 'MsgExec': { var _ref8 = params, _proposalId = _ref8.proposalId, executor = _ref8.executor; var msgExec = new _tx_pb4.MsgExec().setProposalId(_proposalId).setExecutor(executor); return msgExec; } case 'MsgInstantiateContract': { var _ref9 = params, sender = _ref9.sender, _admin = _ref9.admin, codeId = _ref9.codeId, label = _ref9.label, msg = _ref9.msg, fundsList = _ref9.fundsList; var msgInstantiateContract = new _tx_pb.MsgInstantiateContract().setSender(sender).setAdmin(_admin).setCodeId(codeId).setLabel(label).setMsg(msg); fundsList.forEach(function (_ref10) { var denom = _ref10.denom, amount = _ref10.amount; msgInstantiateContract.addFunds(new _coin_pb.Coin().setAmount("".concat(amount)).setDenom(denom)); }); return msgInstantiateContract; } case 'MsgInstantiateContract2': { var _ref11 = params, _sender = _ref11.sender, _admin2 = _ref11.admin, _codeId = _ref11.codeId, _label = _ref11.label, _msg = _ref11.msg, _fundsList = _ref11.fundsList, salt = _ref11.salt, fixMsg = _ref11.fixMsg; var _msgInstantiateContract = new _tx_pb.MsgInstantiateContract2().setSender(_sender).setAdmin(_admin2).setCodeId(_codeId).setLabel(_label).setMsg(_msg).setSalt(salt).setFixMsg(fixMsg); _fundsList.forEach(function (_ref12) { var denom = _ref12.denom, amount = _ref12.amount; _msgInstantiateContract.addFunds(new _coin_pb.Coin().setAmount("".concat(amount)).setDenom(denom)); }); return _msgInstantiateContract; } case 'MsgExecuteContract': { var _ref13 = params, _sender2 = _ref13.sender, contract = _ref13.contract, _msg2 = _ref13.msg, _fundsList2 = _ref13.fundsList; var msgExecuteContract = new _tx_pb.MsgExecuteContract().setContract(contract).setSender(_sender2).setMsg(encoder.encode(JSON.stringify(_msg2))); if (_fundsList2) _fundsList2.forEach(function (_ref14) { var denom = _ref14.denom, amount = _ref14.amount; msgExecuteContract.addFunds(new _coin_pb.Coin().setAmount("".concat(amount)).setDenom(denom)); }); return msgExecuteContract; } } }; exports.buildMessage = buildMessage;