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:
defiQUG
2026-02-12 15:57:08 -08:00
parent 17020ba236
commit bee1d29d55
33 changed files with 1444 additions and 1 deletions

View 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).

View 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",
},
},
},
};

View 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

View 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)";