@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
34 lines (30 loc) • 1.08 kB
text/typescript
import { firstValueFrom, from } from "rxjs";
import { makeAccountBridgeReceive as commonMakeAccountBridgeReceive } from "@ledgerhq/ledger-wallet-framework/bridge/jsHelpers";
import { Account } from "@ledgerhq/types-live";
import { GetAddressOptions, Result } from "@ledgerhq/ledger-wallet-framework/derivation";
import Transport from "@ledgerhq/hw-transport";
import { withDevice } from "../hw/deviceAccess";
import getAddress from "../hw/getAddress";
export {
type AccountShapeInfo,
type GetAccountShape,
type IterateResultBuilder,
makeSync,
mergeNfts,
mergeOps,
sameOp,
} from "@ledgerhq/ledger-wallet-framework/bridge/jsHelpers";
export function getAddr(deviceId: string, opts: GetAddressOptions): Promise<Result> {
return firstValueFrom(
withDevice(deviceId)((transport: Transport) => from(getAddress(transport, opts))),
);
}
export function makeAccountBridgeReceive({
injectGetAddressParams,
}: {
injectGetAddressParams?: (account: Account) => any;
} = {}) {
return commonMakeAccountBridgeReceive(getAddr, {
injectGetAddressParams,
});
}