@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
49 lines • 1.93 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const createTransaction_1 = __importDefault(require("@ledgerhq/coin-polkadot/bridge/createTransaction"));
const CAN_EDIT_FEES = true;
const areFeesProvided = tx => !!tx.fee;
const convertToLiveTransaction = ({ account, walletApiTransaction }) => {
const hasFeesProvided = areFeesProvided(walletApiTransaction);
const liveTx = (0, createTransaction_1.default)(account);
if (walletApiTransaction.amount) {
liveTx.amount = walletApiTransaction.amount;
}
if (walletApiTransaction.recipient) {
liveTx.recipient = walletApiTransaction.recipient;
}
if (walletApiTransaction.mode) {
liveTx.mode = walletApiTransaction.mode;
}
if (walletApiTransaction.fee) {
liveTx.fees = walletApiTransaction.fee;
}
if (walletApiTransaction.era) {
liveTx.era = `${walletApiTransaction.era}`;
}
if (walletApiTransaction.rewardDestination) {
liveTx.rewardDestination = walletApiTransaction.rewardDestination;
}
if (walletApiTransaction.validators) {
liveTx.validators = walletApiTransaction.validators;
}
if (walletApiTransaction.numOfSlashingSpans) {
liveTx.numSlashingSpans = walletApiTransaction.numOfSlashingSpans;
}
if (hasFeesProvided) {
liveTx.feesStrategy = null;
}
return liveTx;
};
const getWalletAPITransactionSignFlowInfos = ({ walletApiTransaction, account }) => {
return {
canEditFees: CAN_EDIT_FEES,
liveTx: convertToLiveTransaction({ walletApiTransaction, account }),
hasFeesProvided: areFeesProvided(walletApiTransaction),
};
};
exports.default = { getWalletAPITransactionSignFlowInfos };
//# sourceMappingURL=walletApiAdapter.js.map