@provenanceio/wallet-utils
Version:
Typescript Utilities for Provenance Blockchain Wallet
180 lines (152 loc) • 7.86 kB
JavaScript
;
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;