@dotdm/env 0.1.0

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.
@@ -0,0 +1,36 @@
1
+ import type { PolkadotClient, TypedApi } from "polkadot-api";
2
+ import type { AssetHub, Bulletin } from "@polkadot-api/descriptors";
3
+ export interface AssetHubConnection {
4
+ client: PolkadotClient;
5
+ api: TypedApi<AssetHub>;
6
+ }
7
+ /**
8
+ * Detect connection type from URL.
9
+ * - ws:// or wss:// -> WebSocket
10
+ * - file path -> smoldot with chainspec
11
+ */
12
+ export declare function detectConnectionType(url: string): "websocket" | "smoldot";
13
+ /**
14
+ * Connect to a chain via WebSocket.
15
+ */
16
+ export declare function connectAssetHubWebSocket(url: string): AssetHubConnection;
17
+ export interface BulletinConnection {
18
+ client: PolkadotClient;
19
+ api: TypedApi<Bulletin>;
20
+ }
21
+ /**
22
+ * Connect to the Bulletin chain via WebSocket.
23
+ */
24
+ export declare function connectBulletinWebSocket(url: string): BulletinConnection;
25
+ /**
26
+ * Connect to a parachain via smoldot light client.
27
+ *
28
+ * @param parachainChainspec - Path to the parachain chainspec JSON file
29
+ * @param relayChainspec - Path to the relay chain chainspec JSON file
30
+ */
31
+ export declare function connectSmoldot(parachainChainspec: string, relayChainspec: string): Promise<AssetHubConnection>;
32
+ export interface IpfsGateway {
33
+ fetch: (cid: string) => Promise<Response>;
34
+ }
35
+ export declare function connectIpfsGateway(url: string): IpfsGateway;
36
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM7D,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAKzE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAGxE;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAGxE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAChC,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAED,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC7C;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAQ3D"}
@@ -0,0 +1,60 @@
1
+ import { createClient } from "polkadot-api";
2
+ import { getSmProvider } from "polkadot-api/sm-provider";
3
+ import { start } from "polkadot-api/smoldot";
4
+ import { getWsProvider } from "polkadot-api/ws-provider";
5
+ import { withPolkadotSdkCompat } from "polkadot-api/polkadot-sdk-compat";
6
+ import { assetHub, bulletin } from "@polkadot-api/descriptors";
7
+ /**
8
+ * Detect connection type from URL.
9
+ * - ws:// or wss:// -> WebSocket
10
+ * - file path -> smoldot with chainspec
11
+ */
12
+ export function detectConnectionType(url) {
13
+ if (url.startsWith("ws://") || url.startsWith("wss://")) {
14
+ return "websocket";
15
+ }
16
+ return "smoldot";
17
+ }
18
+ /**
19
+ * Connect to a chain via WebSocket.
20
+ */
21
+ export function connectAssetHubWebSocket(url) {
22
+ const client = createClient(withPolkadotSdkCompat(getWsProvider(url)));
23
+ return { client, api: client.getTypedApi(assetHub) };
24
+ }
25
+ /**
26
+ * Connect to the Bulletin chain via WebSocket.
27
+ */
28
+ export function connectBulletinWebSocket(url) {
29
+ const client = createClient(withPolkadotSdkCompat(getWsProvider(url)));
30
+ return { client, api: client.getTypedApi(bulletin) };
31
+ }
32
+ /**
33
+ * Connect to a parachain via smoldot light client.
34
+ *
35
+ * @param parachainChainspec - Path to the parachain chainspec JSON file
36
+ * @param relayChainspec - Path to the relay chain chainspec JSON file
37
+ */
38
+ export async function connectSmoldot(parachainChainspec, relayChainspec) {
39
+ const smoldot = start();
40
+ const { readFileSync } = await import("fs");
41
+ const relaySpec = readFileSync(relayChainspec, "utf-8");
42
+ const parachainSpec = readFileSync(parachainChainspec, "utf-8");
43
+ const relayChain = await smoldot.addChain({ chainSpec: relaySpec });
44
+ const parachain = await smoldot.addChain({
45
+ chainSpec: parachainSpec,
46
+ potentialRelayChains: [relayChain],
47
+ });
48
+ const client = createClient(getSmProvider(parachain));
49
+ return { client, api: client.getTypedApi(assetHub) };
50
+ }
51
+ export function connectIpfsGateway(url) {
52
+ return {
53
+ fetch: (cid) => globalThis.fetch(`${url}/${cid}`, { signal: AbortSignal.timeout(10_000) }).then((r) => {
54
+ if (!r.ok)
55
+ throw new Error(`IPFS fetch failed: ${r.statusText}`);
56
+ return r;
57
+ }),
58
+ };
59
+ }
60
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAQ/D;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC5C,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC,qBAAqB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;AACzD,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC,qBAAqB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,kBAA0B,EAC1B,cAAsB;IAEtB,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IAExB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAEhE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;QACrC,SAAS,EAAE,aAAa;QACxB,oBAAoB,EAAE,CAAC,UAAU,CAAC;KACrC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;AACzD,CAAC;AAMD,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,OAAO;QACH,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CACnB,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAClF,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;KACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type { ChainPreset, KnownChainName } from "./known_chains";
2
+ export { KNOWN_CHAINS, getChainPreset } from "./known_chains";
3
+ export { DEFAULT_NODE_URL } from "@dotdm/utils";
4
+ export type { AssetHubConnection, BulletinConnection, IpfsGateway } from "./connection";
5
+ export { detectConnectionType, connectAssetHubWebSocket, connectBulletinWebSocket, connectSmoldot, connectIpfsGateway, } from "./connection";
6
+ export { prepareSigner, prepareSignerFromSuri } from "./signer";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,GACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export { KNOWN_CHAINS, getChainPreset } from "./known_chains";
2
+ export { DEFAULT_NODE_URL } from "@dotdm/utils";
3
+ export { detectConnectionType, connectAssetHubWebSocket, connectBulletinWebSocket, connectSmoldot, connectIpfsGateway, } from "./connection";
4
+ export { prepareSigner, prepareSignerFromSuri } from "./signer";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,GACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface ChainPreset {
2
+ assethubUrl: string;
3
+ bulletinUrl: string;
4
+ ipfsGatewayUrl: string;
5
+ registryAddress?: string;
6
+ }
7
+ export declare const KNOWN_CHAINS: Record<string, ChainPreset>;
8
+ export type KnownChainName = keyof typeof KNOWN_CHAINS;
9
+ export declare function getChainPreset(name: string): ChainPreset;
10
+ //# sourceMappingURL=known_chains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"known_chains.d.ts","sourceRoot":"","sources":["../src/known_chains.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAwBpD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,YAAY,CAAC;AAEvD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAOxD"}
@@ -0,0 +1,34 @@
1
+ export const KNOWN_CHAINS = {
2
+ polkadot: {
3
+ assethubUrl: "wss://polkadot-asset-hub-rpc.polkadot.io",
4
+ bulletinUrl: "wss://polkadot-bulletin-rpc.polkadot.io",
5
+ ipfsGatewayUrl: "https://polkadot-bulletin-rpc.polkadot.io/ipfs",
6
+ registryAddress: undefined, // TODO: set once deployed
7
+ },
8
+ paseo: {
9
+ assethubUrl: "wss://asset-hub-paseo-rpc.n.dwellir.com",
10
+ bulletinUrl: "wss://bulletin.dotspark.app",
11
+ ipfsGatewayUrl: "https://ipfs.dotspark.app/ipfs",
12
+ registryAddress: "0xd984e8407838138eff926814b802a66f3938017f",
13
+ },
14
+ "preview-net": {
15
+ assethubUrl: "wss://previewnet.substrate.dev/asset-hub",
16
+ bulletinUrl: "wss://bulletin.dotspark.app",
17
+ ipfsGatewayUrl: "https://ipfs.dotspark.app/ipfs",
18
+ registryAddress: "0xf78bc1cd6e8e13d178dd0b1aaeb71e9d094327a3",
19
+ },
20
+ local: {
21
+ assethubUrl: "ws://127.0.0.1:10020",
22
+ bulletinUrl: "ws://127.0.0.1:10030",
23
+ ipfsGatewayUrl: "http://127.0.0.1:8283/ipfs",
24
+ },
25
+ };
26
+ export function getChainPreset(name) {
27
+ const preset = KNOWN_CHAINS[name];
28
+ if (!preset) {
29
+ const valid = Object.keys(KNOWN_CHAINS).join(", ");
30
+ throw new Error(`Unknown chain "${name}". Valid names: ${valid}`);
31
+ }
32
+ return preset;
33
+ }
34
+ //# sourceMappingURL=known_chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"known_chains.js","sourceRoot":"","sources":["../src/known_chains.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,YAAY,GAAgC;IACrD,QAAQ,EAAE;QACN,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE,yCAAyC;QACtD,cAAc,EAAE,gDAAgD;QAChE,eAAe,EAAE,SAAS,EAAE,0BAA0B;KACzD;IACD,KAAK,EAAE;QACH,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE,6BAA6B;QAC1C,cAAc,EAAE,gCAAgC;QAChD,eAAe,EAAE,4CAA4C;KAChE;IACD,aAAa,EAAE;QACX,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE,6BAA6B;QAC1C,cAAc,EAAE,gCAAgC;QAChD,eAAe,EAAE,4CAA4C;KAChE;IACD,KAAK,EAAE;QACH,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE,sBAAsB;QACnC,cAAc,EAAE,4BAA4B;KAC/C;CACJ,CAAC;AAIF,MAAM,UAAU,cAAc,CAAC,IAAY;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,mBAAmB,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Prepares a signer from a dev account name (e.g., "Alice", "Bob").
3
+ * Uses sr25519 key derivation compatible with Substrate dev accounts.
4
+ */
5
+ export declare function prepareSigner(name: string): import("polkadot-api").PolkadotSigner;
6
+ /**
7
+ * Prepares a signer from a secret URI (SURI).
8
+ * Format: "//Alice" for dev accounts or a full mnemonic + derivation path.
9
+ */
10
+ export declare function prepareSignerFromSuri(suri: string): import("polkadot-api").PolkadotSigner;
11
+ //# sourceMappingURL=signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,yCAOzC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,yCAWjD"}
package/dist/signer.js ADDED
@@ -0,0 +1,28 @@
1
+ import { getPolkadotSigner } from "polkadot-api/signer";
2
+ import { sr25519CreateDerive } from "@polkadot-labs/hdkd";
3
+ import { DEV_PHRASE, entropyToMiniSecret, mnemonicToEntropy } from "@polkadot-labs/hdkd-helpers";
4
+ /**
5
+ * Prepares a signer from a dev account name (e.g., "Alice", "Bob").
6
+ * Uses sr25519 key derivation compatible with Substrate dev accounts.
7
+ */
8
+ export function prepareSigner(name) {
9
+ const entropy = mnemonicToEntropy(DEV_PHRASE);
10
+ const miniSecret = entropyToMiniSecret(entropy);
11
+ const derive = sr25519CreateDerive(miniSecret);
12
+ const hdkdKeyPair = derive(`//${name}`);
13
+ return getPolkadotSigner(hdkdKeyPair.publicKey, "Sr25519", hdkdKeyPair.sign);
14
+ }
15
+ /**
16
+ * Prepares a signer from a secret URI (SURI).
17
+ * Format: "//Alice" for dev accounts or a full mnemonic + derivation path.
18
+ */
19
+ export function prepareSignerFromSuri(suri) {
20
+ // Simple case: dev account shorthand like "//Alice"
21
+ if (suri.startsWith("//")) {
22
+ return prepareSigner(suri.slice(2));
23
+ }
24
+ // For now, just support dev accounts
25
+ // TODO: Support full mnemonics with derivation paths
26
+ throw new Error("Custom SURI not yet supported. Use dev account names like 'Alice' or '//Alice'");
27
+ }
28
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEjG;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACtC,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAExC,OAAO,iBAAiB,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,oDAAoD;IACpD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,qCAAqC;IACrC,qDAAqD;IACrD,MAAM,IAAI,KAAK,CACX,gFAAgF,CACnF,CAAC;AACN,CAAC"}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@dotdm/env",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js"
11
+ }
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "dependencies": {
20
+ "@polkadot-labs/hdkd": "^0.0.26",
21
+ "@polkadot-labs/hdkd-helpers": "^0.0.27",
22
+ "polkadot-api": "^1.23.3",
23
+ "smoldot": "^2.0.40",
24
+ "@dotdm/utils": "0.1.0"
25
+ },
26
+ "peerDependencies": {
27
+ "@polkadot-api/descriptors": "*"
28
+ },
29
+ "peerDependenciesMeta": {
30
+ "@polkadot-api/descriptors": {
31
+ "optional": true
32
+ }
33
+ },
34
+ "devDependencies": {
35
+ "@types/node": "^24.10.1",
36
+ "typescript": "^5.9.3",
37
+ "@polkadot-api/descriptors": "0.1.0-autogenerated.11203421873544033963"
38
+ },
39
+ "scripts": {
40
+ "build": "tsc -p tsconfig.json",
41
+ "clean": "rm -rf dist"
42
+ }
43
+ }