Add full Chain 138 integration: 8 steps, chain spec, app-ethereum config, docs
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
32
step-04-signer/getAddress.ts
Normal file
32
step-04-signer/getAddress.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
/**
|
||||
* Step 4 — Derivation / Signer: getAddress resolver
|
||||
* Target: ledger-live libs/coin-modules/coin-*/src/signer/getAddress.ts
|
||||
*
|
||||
* Uses @ledgerhq/coin-framework getAddressWrapper. For Ethereum family the
|
||||
* existing Ethereum getAddress resolver applies; ensure currency/chainId 138
|
||||
* is used when resolving for Defi Oracle Meta Mainnet.
|
||||
*
|
||||
* Example resolver shape (adapt to your coin-framework version):
|
||||
*/
|
||||
|
||||
import type { GetAddressFn } from "@ledgerhq/coin-framework/bridge/getAddressWrapper";
|
||||
import type { SignerContext } from "@ledgerhq/coin-framework/signer";
|
||||
import type { GetAddressOptions } from "@ledgerhq/coin-framework/derivation";
|
||||
import type { EthereumAddress, EthereumSigner } from "./types-signer";
|
||||
|
||||
const resolver = (
|
||||
signerContext: SignerContext<EthereumSigner, EthereumAddress>
|
||||
): GetAddressFn => {
|
||||
return async (deviceId: string, { path, verify }: GetAddressOptions) => {
|
||||
const address = (await signerContext(deviceId, (signer) =>
|
||||
signer.getAddress(path, verify)
|
||||
)) as EthereumAddress;
|
||||
return {
|
||||
address: address.address,
|
||||
publicKey: address.publicKey,
|
||||
path,
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
export default resolver;
|
||||
Reference in New Issue
Block a user