@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
37 lines • 1.26 kB
JavaScript
import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
import { StellarBurnAddressError } from "@ledgerhq/coin-stellar/types";
import { STELLAR_BURN_ADDRESS } from "@ledgerhq/coin-stellar/logic";
export function getChainSpecificRules() {
return {
getAccountShape: (address) => {
// NOTE: https://github.com/LedgerHQ/ledger-live/pull/2058
if (address === STELLAR_BURN_ADDRESS) {
throw new StellarBurnAddressError();
}
},
getTransactionStatus: {
throwIfPendingOperation: true,
},
};
}
export async function getTokenFromAsset(asset) {
const assetId = asset.type !== "native" && "assetReference" in asset && "assetOwner" in asset
? `${asset.assetReference}:${asset.assetOwner}`
: "";
return await getCryptoAssetsStore().findTokenById(`stellar/asset/${assetId}`);
}
export function getAssetFromToken(token) {
return {
type: token.tokenType,
assetReference: token.name,
assetOwner: token.contractAddress,
name: token.name,
unit: token.units[0],
};
}
export default {
getTokenFromAsset,
getAssetFromToken,
getChainSpecificRules,
};
//# sourceMappingURL=bridge.js.map