@ledgerhq/coin-aptos
Version:
Ledger Aptos Coin integration
66 lines • 3.1 kB
JavaScript
"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 getAddressWrapper_1 = __importDefault(require("@ledgerhq/coin-framework/bridge/getAddressWrapper"));
const signer_1 = __importDefault(require("../signer"));
const serialization_1 = require("./serialization");
const getTransactionStatus_1 = __importDefault(require("./getTransactionStatus"));
const estimateMaxSpendable_1 = __importDefault(require("./estimateMaxSpendable"));
const prepareTransaction_1 = __importDefault(require("./prepareTransaction"));
const synchronisation_1 = require("./synchronisation");
const signOperation_1 = __importDefault(require("./signOperation"));
const broadcast_1 = __importDefault(require("./broadcast"));
const createTransaction_1 = __importDefault(require("../logic/createTransaction"));
const preload_1 = require("../preload");
const validateAddress_1 = require("../logic/validateAddress");
function makePreload() {
return (currency) => (0, preload_1.preloadWithValidators)(currency);
}
function buildCurrencyBridge(signerContext) {
const getAddress = (0, signer_1.default)(signerContext);
const scanAccounts = (0, jsHelpers_1.makeScanAccounts)({
getAccountShape: synchronisation_1.getAccountShape,
getAddressFn: (0, getAddressWrapper_1.default)(getAddress),
});
return {
preload: makePreload(),
hydrate: preload_1.hydrate,
scanAccounts,
};
}
const sync = (0, jsHelpers_1.makeSync)({ getAccountShape: synchronisation_1.getAccountShape });
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.default)(signerContext);
return {
estimateMaxSpendable: estimateMaxSpendable_1.default,
createTransaction: createTransaction_1.default,
updateTransaction: jsHelpers_1.updateTransaction,
getTransactionStatus: getTransactionStatus_1.default,
getSerializedAddressParameters: jsHelpers_1.getSerializedAddressParameters,
prepareTransaction: prepareTransaction_1.default,
sync,
receive,
signOperation,
signRawOperation: () => {
throw new Error("signRawOperation is not supported");
},
broadcast: broadcast_1.default,
assignToAccountRaw: serialization_1.assignToAccountRaw,
assignFromAccountRaw: serialization_1.assignFromAccountRaw,
validateAddress: validateAddress_1.validateAddress,
};
}
function createBridges(signerContext) {
return {
currencyBridge: buildCurrencyBridge(signerContext),
accountBridge: buildAccountBridge(signerContext),
};
}
exports.createBridges = createBridges;
//# sourceMappingURL=index.js.map