@ledgerhq/coin-celo
Version:
28 lines • 1.31 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.prepareTransaction = void 0;
const bignumber_js_1 = __importDefault(require("bignumber.js"));
const address_1 = require("@celo/utils/lib/address");
const getFeesForTransaction_1 = __importDefault(require("./getFeesForTransaction"));
const sameFees = (a, b) => (!a || !b ? a === b : a.eq(b));
const prepareTransaction = async (account, transaction) => {
if (transaction.recipient && !(0, address_1.isValidAddress)(transaction.recipient))
return transaction;
if (["send", "vote"].includes(transaction.mode) && !transaction.recipient)
return transaction;
if (transaction.mode === "vote" &&
!transaction.useAllAmount &&
new bignumber_js_1.default(transaction.amount).lte(0))
return transaction;
const fees = await (0, getFeesForTransaction_1.default)({ account, transaction });
if (!sameFees(transaction.fees, fees)) {
return { ...transaction, fees };
}
return transaction;
};
exports.prepareTransaction = prepareTransaction;
exports.default = exports.prepareTransaction;
//# sourceMappingURL=prepareTransaction.js.map