@ledgerhq/ledger-cal-service
Version:
Ledger CAL service client
46 lines • 1.91 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getProvidersData = exports.transformData = exports.getProvidersCDNData = void 0;
const live_env_1 = require("@ledgerhq/live-env");
const live_network_1 = __importDefault(require("@ledgerhq/live-network"));
const default_1 = require("./default");
const CAL_BASE_URL = (0, live_env_1.getEnv)("CAL_SERVICE_URL");
function getProvidersCDNData() {
return default_1.SWAP_DATA_CDN;
}
exports.getProvidersCDNData = getProvidersCDNData;
// Exported for test purpose only
function transformData(providersData, ledgerSignatureEnv = "prod") {
const transformed = {};
providersData.forEach(provider => {
const key = provider.partner_id;
transformed[key] = {
name: provider.name,
publicKey: {
curve: provider.public_key_curve,
data: Buffer.from(provider.public_key, "hex"),
},
version: provider.service_app_version,
signature: Buffer.from(provider.descriptor.signatures[ledgerSignatureEnv], "hex"),
};
});
return transformed;
}
exports.transformData = transformData;
async function getProvidersData({ type, partnerSignatureEnv = "prod", ledgerSignatureEnv = "prod", }) {
const { data: providersData } = await (0, live_network_1.default)({
method: "GET",
url: `${CAL_BASE_URL}/v1/partners`,
params: {
output: "name,public_key,public_key_curve,service_app_version,descriptor,partner_id,env",
service_name: type,
env: partnerSignatureEnv,
},
});
return transformData(providersData, ledgerSignatureEnv);
}
exports.getProvidersData = getProvidersData;
//# sourceMappingURL=index.js.map