@lydianpay/lydianconnect-catalog 0.1.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -2
- package/dist/index.cjs +6 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -11
- package/dist/index.d.ts +1 -11
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -1,2 +1,44 @@
|
|
|
1
|
-
# lydianconnect-catalog
|
|
2
|
-
|
|
1
|
+
# @lydianpay/lydianconnect-catalog
|
|
2
|
+
|
|
3
|
+
The canonical list of wallets supported by Lydian Connect — `id`, display
|
|
4
|
+
`name`, and `iconUrl`. A tiny, **zero-dependency** package so any app can render
|
|
5
|
+
a wallet picker without pulling in wallet-connection dependencies.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @lydianpay/lydianconnect-catalog
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { WALLET_CATALOG, getWalletCatalog, walletName } from '@lydianpay/lydianconnect-catalog';
|
|
17
|
+
import type { WalletCatalogEntry } from '@lydianpay/lydianconnect-catalog';
|
|
18
|
+
|
|
19
|
+
WALLET_CATALOG.map((w) => ({ id: w.id, label: w.name, icon: w.iconUrl }));
|
|
20
|
+
// [{ id: 'okx', label: 'OKX', icon: 'https://wallet-assets.lydian.com/wallets/okx.png' }, ...]
|
|
21
|
+
|
|
22
|
+
walletName('cryptocom'); // 'Crypto.com'
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## API
|
|
26
|
+
|
|
27
|
+
| Export | Description |
|
|
28
|
+
|--------|-------------|
|
|
29
|
+
| `WALLET_CATALOG` | `readonly WalletCatalogEntry[]` — the full list. |
|
|
30
|
+
| `getWalletCatalog()` | A fresh, mutable copy of the list. |
|
|
31
|
+
| `walletName(id)` | Display name for a wallet id, or `undefined`. |
|
|
32
|
+
| `WalletCatalogEntry` | `{ id: string; name: string; iconUrl: string }`. |
|
|
33
|
+
|
|
34
|
+
`id` matches the value passed to `LydianConnect.connect({ walletId })` in
|
|
35
|
+
`@lydianpay/lydianconnect`. `iconUrl` is derived from the id:
|
|
36
|
+
`https://wallet-assets.lydian.com/wallets/{id}.png`.
|
|
37
|
+
|
|
38
|
+
## Adding a wallet
|
|
39
|
+
|
|
40
|
+
1. Add an entry (`id` + `name`) to the `WALLETS` array in `src/index.ts`; the
|
|
41
|
+
`iconUrl` is derived automatically.
|
|
42
|
+
2. Keep the id set in sync with the wallets `@lydianpay/lydianconnect` can
|
|
43
|
+
connect to — a wallet offered here must be connectable there.
|
|
44
|
+
3. Make sure the wallet's icon is available at its derived `iconUrl`.
|
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
// src/index.ts
|
|
4
|
-
var
|
|
4
|
+
var ICON_BASE = "https://wallet-assets.lydian.com/wallets";
|
|
5
|
+
var WALLETS = [
|
|
5
6
|
{ id: "metamask", name: "MetaMask" },
|
|
6
7
|
{ id: "trust", name: "Trust" },
|
|
7
8
|
{ id: "rainbow", name: "Rainbow" },
|
|
@@ -26,6 +27,10 @@ var WALLET_CATALOG = [
|
|
|
26
27
|
{ id: "math", name: "Math" },
|
|
27
28
|
{ id: "bitpay", name: "BitPay" }
|
|
28
29
|
];
|
|
30
|
+
var WALLET_CATALOG = WALLETS.map((w) => ({
|
|
31
|
+
...w,
|
|
32
|
+
iconUrl: `${ICON_BASE}/${w.id}.png`
|
|
33
|
+
}));
|
|
29
34
|
function getWalletCatalog() {
|
|
30
35
|
return WALLET_CATALOG.map((w) => ({ ...w }));
|
|
31
36
|
}
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;AAMA,IAAM,SAAA,GAAY,0CAAA;AAOlB,IAAM,OAAA,GAAgC;AAAA,EACpC,EAAE,EAAA,EAAI,UAAA,EAAY,IAAA,EAAM,UAAA,EAAW;AAAA,EACnC,EAAE,EAAA,EAAI,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,EAC7B,EAAE,EAAA,EAAI,SAAA,EAAW,IAAA,EAAM,SAAA,EAAU;AAAA,EACjC,EAAE,EAAA,EAAI,UAAA,EAAY,IAAA,EAAM,UAAA,EAAW;AAAA,EACnC,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA,EAAS;AAAA,EAC/B,EAAE,EAAA,EAAI,aAAA,EAAe,IAAA,EAAM,cAAA,EAAe;AAAA,EAC1C,EAAE,EAAA,EAAI,eAAA,EAAiB,IAAA,EAAM,gBAAA,EAAiB;AAAA,EAC9C,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA,EAAS;AAAA,EAC/B,EAAE,EAAA,EAAI,SAAA,EAAW,IAAA,EAAM,SAAA,EAAU;AAAA,EACjC,EAAE,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,KAAA,EAAM;AAAA,EACzB,EAAE,EAAA,EAAI,WAAA,EAAa,IAAA,EAAM,YAAA,EAAa;AAAA,EACtC,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA,EAAS;AAAA,EAC/B,EAAE,EAAA,EAAI,SAAA,EAAW,IAAA,EAAM,SAAA,EAAU;AAAA,EACjC,EAAE,EAAA,EAAI,SAAA,EAAW,IAAA,EAAM,SAAA,EAAU;AAAA,EACjC,EAAE,EAAA,EAAI,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,EAC7B,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA,EAAS;AAAA,EAC/B,EAAE,EAAA,EAAI,SAAA,EAAW,IAAA,EAAM,SAAA,EAAU;AAAA,EACjC,EAAE,EAAA,EAAI,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,EAC7B,EAAE,EAAA,EAAI,YAAA,EAAc,IAAA,EAAM,aAAA,EAAc;AAAA,EACxC,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA,EAAS;AAAA,EAC/B,EAAE,EAAA,EAAI,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,EAC7B,EAAE,EAAA,EAAI,MAAA,EAAQ,IAAA,EAAM,MAAA,EAAO;AAAA,EAC3B,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA;AACxB,CAAA;AAEO,IAAM,cAAA,GAAgD,OAAA,CAAQ,GAAA,CAAI,CAAC,CAAA,MAAO;AAAA,EAC/E,GAAG,CAAA;AAAA,EACH,OAAA,EAAS,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,EAAE,EAAE,CAAA,IAAA;AAC/B,CAAA,CAAE;AAEK,SAAS,gBAAA,GAAyC;AACvD,EAAA,OAAO,eAAe,GAAA,CAAI,CAAC,OAAO,EAAE,GAAG,GAAE,CAAE,CAAA;AAC7C;AAEO,SAAS,WAAW,EAAA,EAAgC;AACzD,EAAA,OAAO,eAAe,IAAA,CAAK,CAAC,MAAM,CAAA,CAAE,EAAA,KAAO,EAAE,CAAA,EAAG,IAAA;AAClD","file":"index.cjs","sourcesContent":["export interface WalletCatalogEntry {\n id: string;\n name: string;\n iconUrl: string;\n}\n\nconst ICON_BASE = 'https://wallet-assets.lydian.com/wallets';\n\ninterface WalletDef {\n id: string;\n name: string;\n}\n\nconst WALLETS: readonly WalletDef[] = [\n { id: 'metamask', name: 'MetaMask' },\n { id: 'trust', name: 'Trust' },\n { id: 'rainbow', name: 'Rainbow' },\n { id: 'coinbase', name: 'Coinbase' },\n { id: 'zerion', name: 'Zerion' },\n { id: 'tokenpocket', name: 'Token Pocket' },\n { id: 'blockchaincom', name: 'Blockchain.com' },\n { id: 'exodus', name: 'Exodus' },\n { id: 'phantom', name: 'Phantom' },\n { id: 'okx', name: 'OKX' },\n { id: 'cryptocom', name: 'Crypto.com' },\n { id: 'argent', name: 'Argent' },\n { id: 'safepal', name: 'SafePal' },\n { id: 'imtoken', name: 'imToken' },\n { id: 'ronin', name: 'Ronin' },\n { id: 'coin98', name: 'Coin98' },\n { id: 'bitkeep', name: 'BitKeep' },\n { id: '1inch', name: '1inch' },\n { id: 'ledgerlive', name: 'Ledger Live' },\n { id: 'atomic', name: 'Atomic' },\n { id: 'alpha', name: 'Alpha' },\n { id: 'math', name: 'Math' },\n { id: 'bitpay', name: 'BitPay' },\n];\n\nexport const WALLET_CATALOG: readonly WalletCatalogEntry[] = WALLETS.map((w) => ({\n ...w,\n iconUrl: `${ICON_BASE}/${w.id}.png`,\n}));\n\nexport function getWalletCatalog(): WalletCatalogEntry[] {\n return WALLET_CATALOG.map((w) => ({ ...w }));\n}\n\nexport function walletName(id: string): string | undefined {\n return WALLET_CATALOG.find((w) => w.id === id)?.name;\n}\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
/** A selectable wallet, for merchant/admin configuration UIs. */
|
|
2
1
|
interface WalletCatalogEntry {
|
|
3
|
-
/** Stable wallet id — matches the keys passed to LydianConnect.connect({ walletId }). */
|
|
4
2
|
id: string;
|
|
5
|
-
/** Human-readable name for display in selection UIs. */
|
|
6
3
|
name: string;
|
|
4
|
+
iconUrl: string;
|
|
7
5
|
}
|
|
8
|
-
/**
|
|
9
|
-
* The canonical list of wallets the checkout can connect to.
|
|
10
|
-
* Source of truth for selection UIs (web-merchant, web-admin).
|
|
11
|
-
* Ids MUST stay in lockstep with lydianconnect's WALLET_LINKS — enforced by a
|
|
12
|
-
* drift test in lydianconnect that imports this list.
|
|
13
|
-
*/
|
|
14
6
|
declare const WALLET_CATALOG: readonly WalletCatalogEntry[];
|
|
15
|
-
/** Returns a fresh, mutable copy of the catalog. */
|
|
16
7
|
declare function getWalletCatalog(): WalletCatalogEntry[];
|
|
17
|
-
/** Convenience lookup for a single wallet's display name. */
|
|
18
8
|
declare function walletName(id: string): string | undefined;
|
|
19
9
|
|
|
20
10
|
export { WALLET_CATALOG, type WalletCatalogEntry, getWalletCatalog, walletName };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
/** A selectable wallet, for merchant/admin configuration UIs. */
|
|
2
1
|
interface WalletCatalogEntry {
|
|
3
|
-
/** Stable wallet id — matches the keys passed to LydianConnect.connect({ walletId }). */
|
|
4
2
|
id: string;
|
|
5
|
-
/** Human-readable name for display in selection UIs. */
|
|
6
3
|
name: string;
|
|
4
|
+
iconUrl: string;
|
|
7
5
|
}
|
|
8
|
-
/**
|
|
9
|
-
* The canonical list of wallets the checkout can connect to.
|
|
10
|
-
* Source of truth for selection UIs (web-merchant, web-admin).
|
|
11
|
-
* Ids MUST stay in lockstep with lydianconnect's WALLET_LINKS — enforced by a
|
|
12
|
-
* drift test in lydianconnect that imports this list.
|
|
13
|
-
*/
|
|
14
6
|
declare const WALLET_CATALOG: readonly WalletCatalogEntry[];
|
|
15
|
-
/** Returns a fresh, mutable copy of the catalog. */
|
|
16
7
|
declare function getWalletCatalog(): WalletCatalogEntry[];
|
|
17
|
-
/** Convenience lookup for a single wallet's display name. */
|
|
18
8
|
declare function walletName(id: string): string | undefined;
|
|
19
9
|
|
|
20
10
|
export { WALLET_CATALOG, type WalletCatalogEntry, getWalletCatalog, walletName };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// src/index.ts
|
|
2
|
-
var
|
|
2
|
+
var ICON_BASE = "https://wallet-assets.lydian.com/wallets";
|
|
3
|
+
var WALLETS = [
|
|
3
4
|
{ id: "metamask", name: "MetaMask" },
|
|
4
5
|
{ id: "trust", name: "Trust" },
|
|
5
6
|
{ id: "rainbow", name: "Rainbow" },
|
|
@@ -24,6 +25,10 @@ var WALLET_CATALOG = [
|
|
|
24
25
|
{ id: "math", name: "Math" },
|
|
25
26
|
{ id: "bitpay", name: "BitPay" }
|
|
26
27
|
];
|
|
28
|
+
var WALLET_CATALOG = WALLETS.map((w) => ({
|
|
29
|
+
...w,
|
|
30
|
+
iconUrl: `${ICON_BASE}/${w.id}.png`
|
|
31
|
+
}));
|
|
27
32
|
function getWalletCatalog() {
|
|
28
33
|
return WALLET_CATALOG.map((w) => ({ ...w }));
|
|
29
34
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";AAMA,IAAM,SAAA,GAAY,0CAAA;AAOlB,IAAM,OAAA,GAAgC;AAAA,EACpC,EAAE,EAAA,EAAI,UAAA,EAAY,IAAA,EAAM,UAAA,EAAW;AAAA,EACnC,EAAE,EAAA,EAAI,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,EAC7B,EAAE,EAAA,EAAI,SAAA,EAAW,IAAA,EAAM,SAAA,EAAU;AAAA,EACjC,EAAE,EAAA,EAAI,UAAA,EAAY,IAAA,EAAM,UAAA,EAAW;AAAA,EACnC,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA,EAAS;AAAA,EAC/B,EAAE,EAAA,EAAI,aAAA,EAAe,IAAA,EAAM,cAAA,EAAe;AAAA,EAC1C,EAAE,EAAA,EAAI,eAAA,EAAiB,IAAA,EAAM,gBAAA,EAAiB;AAAA,EAC9C,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA,EAAS;AAAA,EAC/B,EAAE,EAAA,EAAI,SAAA,EAAW,IAAA,EAAM,SAAA,EAAU;AAAA,EACjC,EAAE,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,KAAA,EAAM;AAAA,EACzB,EAAE,EAAA,EAAI,WAAA,EAAa,IAAA,EAAM,YAAA,EAAa;AAAA,EACtC,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA,EAAS;AAAA,EAC/B,EAAE,EAAA,EAAI,SAAA,EAAW,IAAA,EAAM,SAAA,EAAU;AAAA,EACjC,EAAE,EAAA,EAAI,SAAA,EAAW,IAAA,EAAM,SAAA,EAAU;AAAA,EACjC,EAAE,EAAA,EAAI,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,EAC7B,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA,EAAS;AAAA,EAC/B,EAAE,EAAA,EAAI,SAAA,EAAW,IAAA,EAAM,SAAA,EAAU;AAAA,EACjC,EAAE,EAAA,EAAI,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,EAC7B,EAAE,EAAA,EAAI,YAAA,EAAc,IAAA,EAAM,aAAA,EAAc;AAAA,EACxC,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA,EAAS;AAAA,EAC/B,EAAE,EAAA,EAAI,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,EAC7B,EAAE,EAAA,EAAI,MAAA,EAAQ,IAAA,EAAM,MAAA,EAAO;AAAA,EAC3B,EAAE,EAAA,EAAI,QAAA,EAAU,IAAA,EAAM,QAAA;AACxB,CAAA;AAEO,IAAM,cAAA,GAAgD,OAAA,CAAQ,GAAA,CAAI,CAAC,CAAA,MAAO;AAAA,EAC/E,GAAG,CAAA;AAAA,EACH,OAAA,EAAS,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,EAAE,EAAE,CAAA,IAAA;AAC/B,CAAA,CAAE;AAEK,SAAS,gBAAA,GAAyC;AACvD,EAAA,OAAO,eAAe,GAAA,CAAI,CAAC,OAAO,EAAE,GAAG,GAAE,CAAE,CAAA;AAC7C;AAEO,SAAS,WAAW,EAAA,EAAgC;AACzD,EAAA,OAAO,eAAe,IAAA,CAAK,CAAC,MAAM,CAAA,CAAE,EAAA,KAAO,EAAE,CAAA,EAAG,IAAA;AAClD","file":"index.js","sourcesContent":["export interface WalletCatalogEntry {\n id: string;\n name: string;\n iconUrl: string;\n}\n\nconst ICON_BASE = 'https://wallet-assets.lydian.com/wallets';\n\ninterface WalletDef {\n id: string;\n name: string;\n}\n\nconst WALLETS: readonly WalletDef[] = [\n { id: 'metamask', name: 'MetaMask' },\n { id: 'trust', name: 'Trust' },\n { id: 'rainbow', name: 'Rainbow' },\n { id: 'coinbase', name: 'Coinbase' },\n { id: 'zerion', name: 'Zerion' },\n { id: 'tokenpocket', name: 'Token Pocket' },\n { id: 'blockchaincom', name: 'Blockchain.com' },\n { id: 'exodus', name: 'Exodus' },\n { id: 'phantom', name: 'Phantom' },\n { id: 'okx', name: 'OKX' },\n { id: 'cryptocom', name: 'Crypto.com' },\n { id: 'argent', name: 'Argent' },\n { id: 'safepal', name: 'SafePal' },\n { id: 'imtoken', name: 'imToken' },\n { id: 'ronin', name: 'Ronin' },\n { id: 'coin98', name: 'Coin98' },\n { id: 'bitkeep', name: 'BitKeep' },\n { id: '1inch', name: '1inch' },\n { id: 'ledgerlive', name: 'Ledger Live' },\n { id: 'atomic', name: 'Atomic' },\n { id: 'alpha', name: 'Alpha' },\n { id: 'math', name: 'Math' },\n { id: 'bitpay', name: 'BitPay' },\n];\n\nexport const WALLET_CATALOG: readonly WalletCatalogEntry[] = WALLETS.map((w) => ({\n ...w,\n iconUrl: `${ICON_BASE}/${w.id}.png`,\n}));\n\nexport function getWalletCatalog(): WalletCatalogEntry[] {\n return WALLET_CATALOG.map((w) => ({ ...w }));\n}\n\nexport function walletName(id: string): string | undefined {\n return WALLET_CATALOG.find((w) => w.id === id)?.name;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lydianpay/lydianconnect-catalog",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Canonical list of wallets the Lydian checkout supports — id + display name, zero dependencies.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/lydianpay/lydianconnect-catalog.git"
|
|
10
|
+
},
|
|
7
11
|
"main": "./dist/index.cjs",
|
|
8
12
|
"module": "./dist/index.js",
|
|
9
13
|
"types": "./dist/index.d.ts",
|