@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
27 lines • 1.06 kB
JavaScript
import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
import eip55 from "eip55";
export async function getTokenFromAsset(currency, asset) {
const result = "assetReference" in asset && typeof asset.assetReference === "string"
? await getCryptoAssetsStore().findTokenByAddressInCurrency(asset.assetReference, currency.id)
: undefined;
return result;
}
export function getAssetFromToken(currency, token, owner) {
if (token.parentCurrency.id !== currency.id) {
throw new Error(`'${token.id}' is not a valid token for '${currency.id}'`);
}
return {
type: token.tokenType,
assetReference: eip55.encode(token.contractAddress),
assetOwner: owner,
name: token.name,
unit: token.units[0],
};
}
export default function evmBridge(currency) {
return {
getTokenFromAsset: async (asset) => getTokenFromAsset(currency, asset),
getAssetFromToken: (token, owner) => getAssetFromToken(currency, token, owner),
};
}
//# sourceMappingURL=bridge.js.map