@ledgerhq/coin-icon
Version:
Ledger Icon Coin integration
39 lines • 1.37 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const invariant_1 = __importDefault(require("invariant"));
const flatMap_1 = __importDefault(require("lodash/flatMap"));
const options = [
{
name: "mode",
type: String,
desc: "mode of transaction: send, stake, unstake",
},
];
function inferTransactions(transactions, opts) {
return (0, flatMap_1.default)(transactions, ({ transaction, account }) => {
(0, invariant_1.default)(transaction.family === "icon", "[cli-transaction] inferTransactions expects icon family transaction");
if (account.type === "Account") {
(0, invariant_1.default)(account.iconResources, "unactivated account");
}
if (account.type === "TokenAccount") {
const isDelisted = account.token.delisted === true;
(0, invariant_1.default)(!isDelisted, "token is delisted");
}
return {
...transaction,
family: "icon",
mode: opts.mode || "send",
};
});
}
function makeCliTools() {
return {
options,
inferTransactions,
};
}
exports.default = makeCliTools;
//# sourceMappingURL=cli-transaction.js.map