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:
7
step-06-lld-llm/README.md
Normal file
7
step-06-lld-llm/README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Step 6 — LLD & LLM
|
||||
|
||||
1. **live-common setup** — Use **setup.chain138.ts** as reference; in `libs/ledger-live-common/src/families/ethereum/setup.ts` (or new family) ensure Defi Oracle Meta Mainnet currency gets the same bridge/resolver as Ethereum with chainId 138.
|
||||
2. **Config** — Add **config.chain138.ts** entry to `libs/ledger-live-common/src/bridge/config.ts` so `config_currency_defi_oracle_meta_mainnet` is loaded (status, node.url). Env: `API_DEFI_ORACLE_META_NODE`.
|
||||
3. **LLD** — In `live-common-set-supported-currencies.js` add `defi_oracle_meta_mainnet`. Add error keys in `static/i18n/en`.
|
||||
4. **LLM** — In `live-common-setup.js` add `defi_oracle_meta_mainnet`. Add error keys in `src/locales/en/common.json`.
|
||||
5. **Run:** `pnpm dev:lld` (desktop), `pnpm dev:llm` (mobile).
|
||||
21
step-06-lld-llm/config.chain138.ts
Normal file
21
step-06-lld-llm/config.chain138.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Step 6 — LLD & LLM: live-common config for Chain 138
|
||||
* Target: ledger-live libs/ledger-live-common/src/bridge/config.ts (or families/ethereum/config)
|
||||
*
|
||||
* Add to the config map so dynamic config (e.g. node URL) can be loaded for defi_oracle_meta_mainnet.
|
||||
*/
|
||||
|
||||
import type { ConfigInfo } from "@ledgerhq/live-config/LiveConfig";
|
||||
import { getEnv } from "@ledgerhq/live-env";
|
||||
|
||||
export const defiOracleMetaConfig: Record<string, ConfigInfo> = {
|
||||
config_currency_defi_oracle_meta_mainnet: {
|
||||
type: "object",
|
||||
default: {
|
||||
status: { type: "active" },
|
||||
node: {
|
||||
url: getEnv("API_DEFI_ORACLE_META_NODE") ?? "https://rpc-http-pub.d-bis.org",
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
6
step-06-lld-llm/lld-llm-currency-list.txt
Normal file
6
step-06-lld-llm/lld-llm-currency-list.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
# Step 6 — Add currency to LLD and LLM supported lists
|
||||
# LLD: add "defi_oracle_meta_mainnet" to live-common-set-supported-currencies.js
|
||||
# LLM: add "defi_oracle_meta_mainnet" to live-common-setup.js
|
||||
# i18n: add error translation keys in static/i18n/en (LLD) and src/locales/en/common.json (LLM)
|
||||
|
||||
defi_oracle_meta_mainnet
|
||||
35
step-06-lld-llm/setup.chain138.ts
Normal file
35
step-06-lld-llm/setup.chain138.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* Step 6 — LLD & LLM: live-common family setup (snippet for Chain 138)
|
||||
* Target: ledger-live libs/ledger-live-common/src/families/ethereum/setup.ts
|
||||
* (or new family libs/ledger-live-common/src/families/defi_oracle_meta/setup.ts)
|
||||
*
|
||||
* Merge Chain 138 into Ethereum family setup: ensure getCryptoCurrencyById("defi_oracle_meta_mainnet")
|
||||
* (or ethereum with chainId 138 in config) is supported and bridge/resolver use the same signer.
|
||||
*
|
||||
* Example shape (simplified; actual ledger-live uses createBridges, executeWithSigner, etc.):
|
||||
*/
|
||||
|
||||
/*
|
||||
import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
|
||||
import Transport from "@ledgerhq/hw-transport";
|
||||
import Eth from "@ledgerhq/hw-app-eth";
|
||||
import type { Bridge } from "@ledgerhq/types-live";
|
||||
import { createResolver, executeWithSigner } from "../../bridge/setup";
|
||||
import myCoinResolver from "@ledgerhq/coin-ethereum/signer/index"; // or your coin-module
|
||||
|
||||
const createSigner = (transport: Transport) => new Eth(transport);
|
||||
|
||||
const currency = getCryptoCurrencyById("defi_oracle_meta_mainnet");
|
||||
const getCurrencyConfig = () => getCurrencyConfiguration(currency);
|
||||
|
||||
const bridge: Bridge<...> = createBridges(
|
||||
executeWithSigner(createSigner),
|
||||
getCurrencyConfig
|
||||
);
|
||||
const resolver = createResolver(createSigner, myCoinResolver);
|
||||
|
||||
export { bridge, resolver, cliTools };
|
||||
*/
|
||||
|
||||
export const SETUP_CURRENCY_ID = "defi_oracle_meta_mainnet";
|
||||
export const SETUP_SIGNER_CREATOR = "createSigner: (transport) => new Eth(transport)";
|
||||
Reference in New Issue
Block a user