@unification-com/und-js-v2
Version:
Unification Mainchain Wallet SDK v2
247 lines (246 loc) • 9.82 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getSignerInfo = exports.getPubKeyAny = exports.getMsgWithdrawDelegatorReward = exports.getMsgVote = exports.getMsgUndelegate = exports.getMsgSendTx = exports.getMsgRegisterWrkChain = exports.getMsgRegisterBeacon = exports.getMsgRecordWrkChainBlock = exports.getMsgRecordBeaconTimestamp = exports.getMsgDelegate = exports.getMsgBeginRedelegate = exports.getFee = exports.getAuthInfo = void 0;
var _proto = _interopRequireDefault(require("./proto"));
var _secp256k = _interopRequireDefault(require("secp256k1"));
var getPubKeyAny = function getPubKeyAny(privKey) {
var pubKeyByte = _secp256k["default"].publicKeyCreate(privKey);
var buf1 = new Buffer.from([10]);
var buf2 = new Buffer.from([pubKeyByte.length]);
var buf3 = new Buffer.from(pubKeyByte);
var pubKey = Buffer.concat([buf1, buf2, buf3]);
var pubKeyAny = new _proto["default"].google.protobuf.Any({
type_url: "/cosmos.crypto.secp256k1.PubKey",
value: pubKey
});
return pubKeyAny;
};
exports.getPubKeyAny = getPubKeyAny;
var getMsgSendTx = function getMsgSendTx(from, to, amount, denom, memo) {
var msgSend = new _proto["default"].cosmos.bank.v1beta1.MsgSend({
from_address: from,
to_address: to,
amount: [{
denom: denom,
amount: String(amount)
}]
});
var msgSendAny = new _proto["default"].google.protobuf.Any({
type_url: "/cosmos.bank.v1beta1.MsgSend",
value: _proto["default"].cosmos.bank.v1beta1.MsgSend.encode(msgSend).finish()
});
return new _proto["default"].cosmos.tx.v1beta1.TxBody({
messages: [msgSendAny],
memo: memo
});
};
exports.getMsgSendTx = getMsgSendTx;
var getMsgRegisterBeacon = function getMsgRegisterBeacon(moniker, name, owner) {
var msgRegisterBeacon = new _proto["default"].mainchain.beacon.v1.MsgRegisterBeacon({
moniker: moniker,
name: name,
owner: owner
});
var msgSendAny = new _proto["default"].google.protobuf.Any({
type_url: "/mainchain.beacon.v1.MsgRegisterBeacon",
value: _proto["default"].mainchain.beacon.v1.MsgRegisterBeacon.encode(msgRegisterBeacon).finish()
});
return new _proto["default"].cosmos.tx.v1beta1.TxBody({
messages: [msgSendAny],
memo: ""
});
};
exports.getMsgRegisterBeacon = getMsgRegisterBeacon;
var getMsgRecordBeaconTimestamp = function getMsgRecordBeaconTimestamp(beaconId, hash, submitTime, owner) {
var msgRecordBeaconTimestamp = new _proto["default"].mainchain.beacon.v1.MsgRecordBeaconTimestamp({
beacon_id: beaconId,
hash: hash,
submit_time: submitTime,
owner: owner
});
var msgSendAny = new _proto["default"].google.protobuf.Any({
type_url: "/mainchain.beacon.v1.MsgRecordBeaconTimestamp",
value: _proto["default"].mainchain.beacon.v1.MsgRecordBeaconTimestamp.encode(msgRecordBeaconTimestamp).finish()
});
return new _proto["default"].cosmos.tx.v1beta1.TxBody({
messages: [msgSendAny],
memo: ""
});
};
exports.getMsgRecordBeaconTimestamp = getMsgRecordBeaconTimestamp;
var getMsgRegisterWrkChain = function getMsgRegisterWrkChain(moniker, name, genesisHash, baseType, owner) {
var msgRegisterWrkChain = new _proto["default"].mainchain.wrkchain.v1.MsgRegisterWrkChain({
moniker: moniker,
name: name,
genesis_hash: genesisHash,
base_type: baseType,
owner: owner
});
var msgSendAny = new _proto["default"].google.protobuf.Any({
type_url: "/mainchain.wrkchain.v1.MsgRegisterWrkChain",
value: _proto["default"].mainchain.wrkchain.v1.MsgRegisterWrkChain.encode(msgRegisterWrkChain).finish()
});
return new _proto["default"].cosmos.tx.v1beta1.TxBody({
messages: [msgSendAny],
memo: ""
});
};
exports.getMsgRegisterWrkChain = getMsgRegisterWrkChain;
var getMsgRecordWrkChainBlock = function getMsgRecordWrkChainBlock(wrkchainId, height, blockHash, parentHash, h1, h2, h3, owner) {
var msgRecordWrkChainBlock = new _proto["default"].mainchain.wrkchain.v1.MsgRecordWrkChainBlock({
wrkchain_id: wrkchainId,
height: height,
block_hash: blockHash,
parent_hash: parentHash,
hash1: h1,
hash2: h2,
hash3: h3,
owner: owner
});
var msgSendAny = new _proto["default"].google.protobuf.Any({
type_url: "/mainchain.wrkchain.v1.MsgRecordWrkChainBlock",
value: _proto["default"].mainchain.wrkchain.v1.MsgRecordWrkChainBlock.encode(msgRecordWrkChainBlock).finish()
});
return new _proto["default"].cosmos.tx.v1beta1.TxBody({
messages: [msgSendAny],
memo: ""
});
};
exports.getMsgRecordWrkChainBlock = getMsgRecordWrkChainBlock;
var getMsgDelegate = function getMsgDelegate(delegator, validator, amount, denom, memo) {
var msgDelegate = new _proto["default"].cosmos.staking.v1beta1.MsgDelegate({
delegator_address: delegator,
validator_address: validator,
amount: {
denom: denom,
amount: String(amount)
}
});
var msgSendAny = new _proto["default"].google.protobuf.Any({
type_url: "/cosmos.staking.v1beta1.MsgDelegate",
value: _proto["default"].cosmos.staking.v1beta1.MsgDelegate.encode(msgDelegate).finish()
});
return new _proto["default"].cosmos.tx.v1beta1.TxBody({
messages: [msgSendAny],
memo: memo
});
};
exports.getMsgDelegate = getMsgDelegate;
var getMsgUndelegate = function getMsgUndelegate(delegator, validator, amount, denom, memo) {
var msgUndelegate = new _proto["default"].cosmos.staking.v1beta1.MsgUndelegate({
delegator_address: delegator,
validator_address: validator,
amount: {
denom: denom,
amount: String(amount)
}
});
var msgSendAny = new _proto["default"].google.protobuf.Any({
type_url: "/cosmos.staking.v1beta1.MsgUndelegate",
value: _proto["default"].cosmos.staking.v1beta1.MsgUndelegate.encode(msgUndelegate).finish()
});
return new _proto["default"].cosmos.tx.v1beta1.TxBody({
messages: [msgSendAny],
memo: memo
});
};
exports.getMsgUndelegate = getMsgUndelegate;
var getMsgBeginRedelegate = function getMsgBeginRedelegate(delegator, validatorFrom, validatorTo, amount, denom, memo) {
var msgBeginRedelegate = new _proto["default"].cosmos.staking.v1beta1.MsgBeginRedelegate({
delegator_address: delegator,
validator_dst_address: validatorTo,
validator_src_address: validatorFrom,
amount: {
denom: denom,
amount: String(amount)
}
});
var msgSendAny = new _proto["default"].google.protobuf.Any({
type_url: "/cosmos.staking.v1beta1.MsgBeginRedelegate",
value: _proto["default"].cosmos.staking.v1beta1.MsgBeginRedelegate.encode(msgBeginRedelegate).finish()
});
return new _proto["default"].cosmos.tx.v1beta1.TxBody({
messages: [msgSendAny],
memo: memo
});
};
exports.getMsgBeginRedelegate = getMsgBeginRedelegate;
var getMsgWithdrawDelegatorReward = function getMsgWithdrawDelegatorReward(delegator, validator) {
var withCommission = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var memo = arguments.length > 3 ? arguments[3] : undefined;
var msgs = [];
var msgWithdrawDelegatorReward = new _proto["default"].cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward({
delegator_address: delegator,
validator_address: validator
});
var msgSendAnyDelegaroeReward = new _proto["default"].google.protobuf.Any({
type_url: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
value: _proto["default"].cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward.encode(msgWithdrawDelegatorReward).finish()
});
msgs.push(msgSendAnyDelegaroeReward);
if (withCommission) {
//
var msgWithdrawValidatorCommission = new _proto["default"].cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission({
validator_address: validator
});
var msgSendAnyWithdrawValidatorCommission = new _proto["default"].google.protobuf.Any({
type_url: "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission",
value: _proto["default"].cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission.encode(msgWithdrawValidatorCommission).finish()
});
msgs.push(msgSendAnyWithdrawValidatorCommission);
}
return new _proto["default"].cosmos.tx.v1beta1.TxBody({
messages: msgs,
memo: memo
});
};
exports.getMsgWithdrawDelegatorReward = getMsgWithdrawDelegatorReward;
var getMsgVote = function getMsgVote(proposalId, option, voter, memo) {
var op = _proto["default"].cosmos.gov.v1beta1.VoteOption[option];
var msgVote = new _proto["default"].cosmos.gov.v1beta1.MsgVote({
proposal_id: proposalId,
option: op,
voter: voter
});
var msgSendAny = new _proto["default"].google.protobuf.Any({
type_url: "/cosmos.gov.v1beta1.MsgVote",
value: _proto["default"].cosmos.gov.v1beta1.MsgVote.encode(msgVote).finish()
});
return new _proto["default"].cosmos.tx.v1beta1.TxBody({
messages: [msgSendAny],
memo: memo
});
};
exports.getMsgVote = getMsgVote;
var getSignerInfo = function getSignerInfo(pubKeyAny, sequence) {
return new _proto["default"].cosmos.tx.v1beta1.SignerInfo({
public_key: pubKeyAny,
mode_info: {
single: {
mode: _proto["default"].cosmos.tx.signing.v1beta1.SignMode.SIGN_MODE_DIRECT
}
},
sequence: sequence
});
};
exports.getSignerInfo = getSignerInfo;
var getAuthInfo = function getAuthInfo(signerInfo, fee) {
return new _proto["default"].cosmos.tx.v1beta1.AuthInfo({
signer_infos: [signerInfo],
fee: fee
});
};
exports.getAuthInfo = getAuthInfo;
var getFee = function getFee(feeAmount, feeDenom, gasLimit) {
return new _proto["default"].cosmos.tx.v1beta1.Fee({
amount: [{
denom: feeDenom,
amount: String(feeAmount)
}],
gas_limit: Number(gasLimit)
});
};
exports.getFee = getFee;