@ledgerhq/ledger-cal-service
Version:
Ledger CAL service client
37 lines • 1.41 kB
JavaScript
import { getEnv } from "@ledgerhq/live-env";
import network from "@ledgerhq/live-network";
import { SWAP_DATA_CDN } from "./default";
const CAL_BASE_URL = getEnv("CAL_SERVICE_URL");
export function getProvidersCDNData() {
return SWAP_DATA_CDN;
}
// Exported for test purpose only
export 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;
}
export async function getProvidersData({ type, partnerSignatureEnv = "prod", ledgerSignatureEnv = "prod", }) {
const { data: providersData } = await network({
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);
}
//# sourceMappingURL=index.js.map