UNPKG

@ledgerhq/coin-stellar

Version:
64 lines 2.81 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createBridges = void 0; const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers"); const estimateMaxSpendable_1 = require("./estimateMaxSpendable"); const getTransactionStatus_1 = require("./getTransactionStatus"); const prepareTransaction_1 = require("./prepareTransaction"); const createTransaction_1 = require("./createTransaction"); const signOperation_1 = require("./signOperation"); const broadcast_1 = require("./broadcast"); const getAddressWrapper_1 = __importDefault(require("@ledgerhq/coin-framework/bridge/getAddressWrapper")); const signer_1 = __importDefault(require("../signer")); const synchronization_1 = require("./synchronization"); const config_1 = __importDefault(require("../config")); const PRELOAD_MAX_AGE = 30 * 60 * 1000; // 30 minutes function buildCurrencyBridge(signerContext) { const getAddress = (0, signer_1.default)(signerContext); const scanAccounts = (0, jsHelpers_1.makeScanAccounts)({ getAccountShape: synchronization_1.getAccountShape, getAddressFn: getAddress, }); function getPreloadStrategy() { return { preloadMaxAge: PRELOAD_MAX_AGE, }; } return { getPreloadStrategy, preload: async () => { }, hydrate: () => { }, scanAccounts, }; } function buildAccountBridge(signerContext) { const getAddress = (0, signer_1.default)(signerContext); const receive = (0, jsHelpers_1.makeAccountBridgeReceive)((0, getAddressWrapper_1.default)(getAddress)); const signOperation = (0, signOperation_1.buildSignOperation)(signerContext); const sync = (0, jsHelpers_1.makeSync)({ getAccountShape: synchronization_1.getAccountShape }); const accountBridge = { createTransaction: createTransaction_1.createTransaction, updateTransaction: jsHelpers_1.updateTransaction, prepareTransaction: prepareTransaction_1.prepareTransaction, estimateMaxSpendable: estimateMaxSpendable_1.estimateMaxSpendable, getTransactionStatus: getTransactionStatus_1.getTransactionStatus, sync, receive, signOperation, broadcast: broadcast_1.broadcast, getSerializedAddressParameters: jsHelpers_1.getSerializedAddressParameters, }; return accountBridge; } function createBridges(signerContext, coinConfig) { config_1.default.setCoinConfig(coinConfig); return { currencyBridge: buildCurrencyBridge(signerContext), accountBridge: buildAccountBridge(signerContext), }; } exports.createBridges = createBridges; //# sourceMappingURL=index.js.map