@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
37 lines • 1.63 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.context = void 0;
const getAddress_1 = __importDefault(require("../../../../families/stellar/getAddress"));
const setup_1 = require("../../../setup");
const hw_app_str_1 = __importDefault(require("@ledgerhq/hw-app-str"));
const stellar_sdk_1 = require("@stellar/stellar-sdk");
const createSignerStellar = (transport) => {
const stellar = new hw_app_str_1.default(transport);
const originalSignTransaction = stellar.signTransaction;
// Return the original Stellar instance with overridden methods
return Object.assign(stellar, {
signTransaction: async (path, transaction) => {
const unsignedPayload = Buffer.from(transaction, "base64");
const { signature } = await originalSignTransaction(path, unsignedPayload);
return signature.toString("base64");
},
getAddress: async (path, verify) => {
const { rawPublicKey } = await stellar.getPublicKey(path, verify);
const publicKey = stellar_sdk_1.StrKey.encodeEd25519PublicKey(rawPublicKey);
return {
path,
address: publicKey,
publicKey: publicKey,
};
},
});
};
exports.context = (0, setup_1.executeWithSigner)(createSignerStellar);
exports.default = {
context: exports.context,
getAddress: (0, getAddress_1.default)(exports.context),
};
//# sourceMappingURL=signer.js.map