@ledgerhq/coin-canton
Version:
44 lines • 1.94 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createApi = createApi;
const config_1 = __importDefault(require("../config"));
const common_logic_1 = require("../common-logic");
const bignumber_js_1 = __importDefault(require("bignumber.js"));
function createApi(config) {
config_1.default.setCoinConfig(() => ({ ...config, status: { type: "active" } }));
return {
broadcast: common_logic_1.broadcast,
combine: common_logic_1.combine,
craftTransaction: craft,
estimateFees: estimate,
getBalance: common_logic_1.getBalance,
lastBlock: common_logic_1.lastBlock,
listOperations: common_logic_1.listOperations,
getBlock(_height) {
throw new Error("getBlock is not supported");
},
getBlockInfo(_height) {
throw new Error("getBlockInfo is not supported");
},
};
}
async function craft(transactionIntent) {
const nextSequenceNumber = await (0, common_logic_1.getNextValidSequence)(transactionIntent.sender);
const tx = await (0, common_logic_1.craftTransaction)({ address: transactionIntent.sender, nextSequenceNumber }, {
recipient: transactionIntent.recipient,
amount: new bignumber_js_1.default(transactionIntent.amount.toString()),
});
return tx.serializedTransaction;
}
async function estimate(transactionIntent) {
const { serializedTransaction } = await (0, common_logic_1.craftTransaction)({ address: transactionIntent.sender }, {
recipient: transactionIntent.recipient,
amount: new bignumber_js_1.default(transactionIntent.amount.toString()),
});
const value = await (0, common_logic_1.estimateFees)(serializedTransaction);
return { value };
}
//# sourceMappingURL=index.js.map