@ledgerhq/coin-multiversx
Version:
Ledger MultiversX Coin integration
65 lines • 3.23 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createBridges = exports.buildAccountBridge = exports.buildCurrencyBridge = void 0;
const getAddressWrapper_1 = __importDefault(require("@ledgerhq/coin-framework/bridge/getAddressWrapper"));
const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
const broadcast_1 = require("../broadcast");
const createTransaction_1 = require("../createTransaction");
const estimateMaxSpendable_1 = require("../estimateMaxSpendable");
const formatters_1 = __importDefault(require("../formatters"));
const getTransactionStatus_1 = require("../getTransactionStatus");
const hw_getAddress_1 = __importDefault(require("../hw-getAddress"));
const preload_1 = require("../preload");
const prepareTransaction_1 = require("../prepareTransaction");
const serialization_1 = require("../serialization");
const signOperation_1 = require("../signOperation");
const synchronisation_1 = require("../synchronisation");
function buildCurrencyBridge(signerContext) {
const getAddress = (0, hw_getAddress_1.default)(signerContext);
const scanAccounts = (0, jsHelpers_1.makeScanAccounts)({
getAccountShape: synchronisation_1.getAccountShape,
getAddressFn: getAddress,
});
return {
getPreloadStrategy: preload_1.getPreloadStrategy,
preload: preload_1.preload,
hydrate: preload_1.hydrate,
scanAccounts,
};
}
exports.buildCurrencyBridge = buildCurrencyBridge;
function buildAccountBridge(signerContext) {
const getAddress = (0, hw_getAddress_1.default)(signerContext);
const receive = (0, jsHelpers_1.makeAccountBridgeReceive)((0, getAddressWrapper_1.default)(getAddress));
const signOperation = (0, signOperation_1.buildSignOperation)(signerContext);
return {
estimateMaxSpendable: estimateMaxSpendable_1.estimateMaxSpendable,
createTransaction: createTransaction_1.createTransaction,
updateTransaction: jsHelpers_1.updateTransaction,
getTransactionStatus: getTransactionStatus_1.getTransactionStatus,
prepareTransaction: prepareTransaction_1.prepareTransaction,
sync: synchronisation_1.sync,
receive,
signOperation,
broadcast: broadcast_1.broadcast,
assignFromAccountRaw: serialization_1.assignFromAccountRaw,
assignToAccountRaw: serialization_1.assignToAccountRaw,
fromOperationExtraRaw: serialization_1.fromOperationExtraRaw,
toOperationExtraRaw: serialization_1.toOperationExtraRaw,
formatAccountSpecifics: formatters_1.default.formatAccountSpecifics,
formatOperationSpecifics: formatters_1.default.formatOperationSpecifics,
getSerializedAddressParameters: jsHelpers_1.getSerializedAddressParameters,
};
}
exports.buildAccountBridge = buildAccountBridge;
function createBridges(signerContext) {
return {
currencyBridge: buildCurrencyBridge(signerContext),
accountBridge: buildAccountBridge(signerContext),
};
}
exports.createBridges = createBridges;
//# sourceMappingURL=js.js.map