@lukso/core 1.0.0 → 1.1.0-dev.5916302

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.
Files changed (53) hide show
  1. package/README.md +47 -23
  2. package/dist/chains/index.cjs +14 -0
  3. package/dist/chains/index.cjs.map +1 -0
  4. package/dist/chains/index.d.cts +50 -0
  5. package/dist/chains/index.d.ts +50 -0
  6. package/dist/chains/index.js +14 -0
  7. package/dist/chains/index.js.map +1 -0
  8. package/dist/chunk-7Y2K66YE.js +87 -0
  9. package/dist/chunk-7Y2K66YE.js.map +1 -0
  10. package/dist/chunk-GFLV5EJV.js +159 -0
  11. package/dist/chunk-GFLV5EJV.js.map +1 -0
  12. package/dist/chunk-LUT5BHYL.cjs +11 -0
  13. package/dist/chunk-LUT5BHYL.cjs.map +1 -0
  14. package/dist/chunk-MCNNULYX.cjs +87 -0
  15. package/dist/chunk-MCNNULYX.cjs.map +1 -0
  16. package/dist/chunk-QU6NUTY6.cjs +159 -0
  17. package/dist/chunk-QU6NUTY6.cjs.map +1 -0
  18. package/dist/chunk-XI3PNS5M.js +11 -0
  19. package/dist/chunk-XI3PNS5M.js.map +1 -0
  20. package/dist/config.cjs +11 -0
  21. package/dist/config.cjs.map +1 -0
  22. package/dist/config.d.cts +5 -0
  23. package/dist/config.d.ts +5 -0
  24. package/dist/config.js +11 -0
  25. package/dist/config.js.map +1 -0
  26. package/dist/index.cjs +27 -5
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.d.cts +4 -1
  29. package/dist/index.d.ts +4 -1
  30. package/dist/index.js +29 -7
  31. package/dist/mixins/index.cjs +1 -1
  32. package/dist/mixins/index.js +1 -1
  33. package/dist/services/index.cjs +2 -2
  34. package/dist/services/index.cjs.map +1 -1
  35. package/dist/services/index.js +3 -3
  36. package/dist/utils/index.cjs +6 -2
  37. package/dist/utils/index.cjs.map +1 -1
  38. package/dist/utils/index.d.cts +34 -1
  39. package/dist/utils/index.d.ts +34 -1
  40. package/dist/utils/index.js +5 -1
  41. package/package.json +23 -2
  42. package/src/chains/index.ts +35 -0
  43. package/src/chains/luksoMainnet.ts +37 -0
  44. package/src/chains/luksoTestnet.ts +32 -0
  45. package/src/config.ts +8 -0
  46. package/src/index.ts +3 -1
  47. package/src/types/network.ts +30 -0
  48. package/src/utils/index.ts +1 -0
  49. package/src/utils/url-resolver.ts +93 -0
  50. package/dist/chunk-DKXHVRHM.js +0 -84
  51. package/dist/chunk-DKXHVRHM.js.map +0 -1
  52. package/dist/chunk-MBIRTPNM.cjs +0 -84
  53. package/dist/chunk-MBIRTPNM.cjs.map +0 -1
package/README.md CHANGED
@@ -1,14 +1,6 @@
1
1
  # @lukso/core
2
2
 
3
- Core utilities, services, and mixins for LUKSO web components and applications.
4
-
5
- ## Features
6
-
7
- - **Device Detection Service** - Detect device type, OS, and browser capabilities
8
- - **Internationalization (Intl) Service** - Multi-language support with locale-aware formatting
9
- - **Browser Detection Utility** - Get browser-specific metadata (name, icon, store links)
10
- - **Utility Functions** - Common text transformation utilities
11
- - **Reusable Mixins** - Composable mixins for Lit web components
3
+ This is core package that contain low level elements that are used by LUKSO web components and applications.
12
4
 
13
5
  ## Installation
14
6
 
@@ -16,9 +8,20 @@ Core utilities, services, and mixins for LUKSO web components and applications.
16
8
  pnpm add @lukso/core
17
9
  ```
18
10
 
19
- ## Services
11
+ ## Features
12
+
13
+ Package contains some basic elements:
14
+
15
+ - **Services**
16
+ - **Utility functions**
17
+ - **Lit Mixins**
18
+ - **Chain Definitions**
19
+ - **Types**
20
+ - **Configurations**
21
+
22
+ ### Services
20
23
 
21
- ### Device Service
24
+ #### Device
22
25
 
23
26
  Detect device type, OS, and browser:
24
27
 
@@ -36,7 +39,7 @@ console.log({
36
39
  })
37
40
  ```
38
41
 
39
- ### Intl Service
42
+ #### Intl
40
43
 
41
44
  Format messages, numbers, and dates:
42
45
 
@@ -57,9 +60,9 @@ console.log(intl.formatMessage('app.hello', { name: 'John' })) // 'Hello, John!'
57
60
  console.log(intl.formatNumber(1234.56)) // '1,234.56'
58
61
  ```
59
62
 
60
- ## Utilities
63
+ ### Utility functions
61
64
 
62
- ### browserInfo
65
+ #### browserInfo
63
66
 
64
67
  Detect browser type and get browser-specific metadata (name, icon, store link):
65
68
 
@@ -82,7 +85,7 @@ The `browserInfo` function is useful for:
82
85
  - Determining browser-specific features or limitations
83
86
  - Customizing UX based on browser capabilities
84
87
 
85
- ### slug
88
+ #### slug
86
89
 
87
90
  Convert text to slug format (lowercase with hyphens):
88
91
 
@@ -100,9 +103,9 @@ The `slug` function is useful for:
100
103
  - Generating CSS class names
101
104
  - Normalizing user input
102
105
 
103
- ## Mixins
106
+ ### Lit Mixins
104
107
 
105
- ### withDeviceService
108
+ #### withDeviceService
106
109
 
107
110
  Add device detection to your component:
108
111
 
@@ -124,7 +127,7 @@ export class MyComponent extends withDeviceService(LitElement) {
124
127
  }
125
128
  ```
126
129
 
127
- ### withIntlService
130
+ #### withIntlService
128
131
 
129
132
  Add internationalization to your component:
130
133
 
@@ -144,16 +147,37 @@ export class MyComponent extends withIntlService(LitElement) {
144
147
  }
145
148
  ```
146
149
 
147
- ### Combining Mixins
150
+ ### Chain Definitions
148
151
 
149
- Use multiple mixins together:
152
+ Extended chain configurations for LUKSO networks with custom contracts and metadata.
150
153
 
151
154
  ```typescript
152
- class MyComponent extends withIntlService(withDeviceService(LitElement)) {
153
- // Has both services
154
- }
155
+ import { luksoMainnet, luksoTestnet } from '@lukso/core/chains'
156
+ ```
157
+
158
+ ### Types
159
+
160
+ Package contain some basic types.
161
+
162
+ ```typescript
163
+ import type { ChainExtended, NetworkSlug, Address } from '@lukso/core'
155
164
  ```
156
165
 
166
+ ### Configurations
167
+
168
+ Package provide some of basic constants.
169
+
170
+
171
+ ```typescript
172
+ import { SUPPORTED_NETWORK_IDS, GRAPHQL_ENDPOINT_MAINNET, GRAPHQL_ENDPOINT_TESTNET } from '@lukso/core/config'
173
+ ```
174
+
175
+
176
+
177
+
178
+
179
+
180
+
157
181
  ## License
158
182
 
159
183
  MIT
@@ -0,0 +1,14 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+ var _chunkMCNNULYXcjs = require('../chunk-MCNNULYX.cjs');
7
+ require('../chunk-LUT5BHYL.cjs');
8
+
9
+
10
+
11
+
12
+
13
+ exports.LUKSO_CHAINS_BY_ID = _chunkMCNNULYXcjs.LUKSO_CHAINS_BY_ID; exports.getChainById = _chunkMCNNULYXcjs.getChainById; exports.luksoMainnet = _chunkMCNNULYXcjs.luksoMainnet; exports.luksoTestnet = _chunkMCNNULYXcjs.luksoTestnet;
14
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/service-auth-simple/service-auth-simple/packages/core/dist/chains/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACF,uOAAC","file":"/home/runner/work/service-auth-simple/service-auth-simple/packages/core/dist/chains/index.cjs"}
@@ -0,0 +1,50 @@
1
+ import { Chain, Hex } from 'viem';
2
+ import { SUPPORTED_NETWORK_IDS } from '../config.cjs';
3
+
4
+ type NetworkSlug = (typeof SUPPORTED_NETWORK_IDS)[number];
5
+ type Address = `0x${string}`;
6
+ type LSPMintableInitAddresses = {
7
+ LSP7DigitalAsset: Address;
8
+ LSP8IdentifiableDigitalAsset: Address;
9
+ };
10
+ type ChainExtended = Chain & {
11
+ slug: NetworkSlug;
12
+ graphqlHost: string;
13
+ wwsGraphqlHost: string;
14
+ nativeCurrency: {
15
+ supply: string;
16
+ };
17
+ contracts: {
18
+ customLSP2Contract: {
19
+ address: Address;
20
+ };
21
+ followingSystemContract: {
22
+ address: Address;
23
+ };
24
+ };
25
+ LSPMintableInitAddresses: LSPMintableInitAddresses;
26
+ dataKeyForController: Hex;
27
+ };
28
+
29
+ declare const luksoMainnet: ChainExtended;
30
+
31
+ declare const luksoTestnet: ChainExtended;
32
+
33
+ /**
34
+ * @lukso/core/chains
35
+ *
36
+ * Extended chain configurations for LUKSO networks
37
+ */
38
+
39
+ /**
40
+ * Map of chain IDs to their corresponding ChainExtended configurations
41
+ */
42
+ declare const LUKSO_CHAINS_BY_ID: Record<number, ChainExtended>;
43
+ /**
44
+ * Get chain configuration by chain ID
45
+ * @param chainId - The chain ID to look up
46
+ * @returns The chain configuration or undefined if not found
47
+ */
48
+ declare function getChainById(chainId: number): ChainExtended | undefined;
49
+
50
+ export { type Address, type ChainExtended, type LSPMintableInitAddresses, LUKSO_CHAINS_BY_ID, type NetworkSlug, getChainById, luksoMainnet, luksoTestnet };
@@ -0,0 +1,50 @@
1
+ import { Chain, Hex } from 'viem';
2
+ import { SUPPORTED_NETWORK_IDS } from '../config.js';
3
+
4
+ type NetworkSlug = (typeof SUPPORTED_NETWORK_IDS)[number];
5
+ type Address = `0x${string}`;
6
+ type LSPMintableInitAddresses = {
7
+ LSP7DigitalAsset: Address;
8
+ LSP8IdentifiableDigitalAsset: Address;
9
+ };
10
+ type ChainExtended = Chain & {
11
+ slug: NetworkSlug;
12
+ graphqlHost: string;
13
+ wwsGraphqlHost: string;
14
+ nativeCurrency: {
15
+ supply: string;
16
+ };
17
+ contracts: {
18
+ customLSP2Contract: {
19
+ address: Address;
20
+ };
21
+ followingSystemContract: {
22
+ address: Address;
23
+ };
24
+ };
25
+ LSPMintableInitAddresses: LSPMintableInitAddresses;
26
+ dataKeyForController: Hex;
27
+ };
28
+
29
+ declare const luksoMainnet: ChainExtended;
30
+
31
+ declare const luksoTestnet: ChainExtended;
32
+
33
+ /**
34
+ * @lukso/core/chains
35
+ *
36
+ * Extended chain configurations for LUKSO networks
37
+ */
38
+
39
+ /**
40
+ * Map of chain IDs to their corresponding ChainExtended configurations
41
+ */
42
+ declare const LUKSO_CHAINS_BY_ID: Record<number, ChainExtended>;
43
+ /**
44
+ * Get chain configuration by chain ID
45
+ * @param chainId - The chain ID to look up
46
+ * @returns The chain configuration or undefined if not found
47
+ */
48
+ declare function getChainById(chainId: number): ChainExtended | undefined;
49
+
50
+ export { type Address, type ChainExtended, type LSPMintableInitAddresses, LUKSO_CHAINS_BY_ID, type NetworkSlug, getChainById, luksoMainnet, luksoTestnet };
@@ -0,0 +1,14 @@
1
+ import {
2
+ LUKSO_CHAINS_BY_ID,
3
+ getChainById,
4
+ luksoMainnet,
5
+ luksoTestnet
6
+ } from "../chunk-7Y2K66YE.js";
7
+ import "../chunk-XI3PNS5M.js";
8
+ export {
9
+ LUKSO_CHAINS_BY_ID,
10
+ getChainById,
11
+ luksoMainnet,
12
+ luksoTestnet
13
+ };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,87 @@
1
+ import {
2
+ GRAPHQL_ENDPOINT_MAINNET,
3
+ GRAPHQL_ENDPOINT_TESTNET
4
+ } from "./chunk-XI3PNS5M.js";
5
+
6
+ // src/chains/luksoMainnet.ts
7
+ import { parseUnits } from "viem";
8
+ import { lukso } from "viem/chains";
9
+ var luksoMainnet = {
10
+ ...lukso,
11
+ slug: "mainnet",
12
+ name: "LUKSO Mainnet",
13
+ nativeCurrency: {
14
+ ...lukso.nativeCurrency,
15
+ supply: parseUnits("42000000", 18).toString()
16
+ },
17
+ rpcUrls: {
18
+ default: {
19
+ http: ["https://rpc1.mainnet.lukso.dev"],
20
+ // we override with private rpc endpoint
21
+ webSocket: ["wss://ws-rpc.mainnet.lukso.network"]
22
+ }
23
+ },
24
+ contracts: {
25
+ ...lukso.contracts,
26
+ customLSP2Contract: {
27
+ address: "0x51c602b249a5bc0ff437fbed4607448d8bc66dad"
28
+ },
29
+ followingSystemContract: {
30
+ address: "0xf01103E5a9909Fc0DBe8166dA7085e0285daDDcA"
31
+ }
32
+ },
33
+ dataKeyForController: "0xdf30dba06db6a30e65354d9a64c6098600000000000000000000000000000001",
34
+ LSPMintableInitAddresses: {
35
+ LSP7DigitalAsset: "0x28B7CcdaD1E15cCbDf380c439Cc1F2EBe7f5B2d8",
36
+ LSP8IdentifiableDigitalAsset: "0xd787a2f6B14d4dcC2fb897f40b87f2Ff63a07997"
37
+ },
38
+ wwsGraphqlHost: "wss://envio.lukso-mainnet.universal.tech/v1/graphql",
39
+ graphqlHost: GRAPHQL_ENDPOINT_MAINNET
40
+ };
41
+
42
+ // src/chains/luksoTestnet.ts
43
+ import { parseUnits as parseUnits2 } from "viem";
44
+ import { luksoTestnet as _luksoTestnet } from "viem/chains";
45
+ var luksoTestnet = {
46
+ ..._luksoTestnet,
47
+ slug: "testnet",
48
+ name: "LUKSO Testnet",
49
+ nativeCurrency: {
50
+ ..._luksoTestnet.nativeCurrency,
51
+ supply: parseUnits2("42000000", 18).toString(),
52
+ name: "LUKSO"
53
+ },
54
+ contracts: {
55
+ ..._luksoTestnet.contracts,
56
+ customLSP2Contract: {
57
+ address: "0x1690c1A6f5dc385d20139222567476F0A185f77a"
58
+ },
59
+ followingSystemContract: {
60
+ address: "0xf01103E5a9909Fc0DBe8166dA7085e0285daDDcA"
61
+ }
62
+ },
63
+ LSPMintableInitAddresses: {
64
+ LSP7DigitalAsset: "0x51A1cC0B2fa430A607d60307Bc0aaC3ec8F7e67B",
65
+ LSP8IdentifiableDigitalAsset: "0x3CFA56F3dC51850655176243a3a9F76C9489208e"
66
+ },
67
+ dataKeyForController: "0xdf30dba06db6a30e65354d9a64c6098600000000000000000000000000000001",
68
+ wwsGraphqlHost: "wss://envio.lukso-testnet.universal.tech/v1/graphql",
69
+ graphqlHost: GRAPHQL_ENDPOINT_TESTNET
70
+ };
71
+
72
+ // src/chains/index.ts
73
+ var LUKSO_CHAINS_BY_ID = {
74
+ [luksoMainnet.id]: luksoMainnet,
75
+ [luksoTestnet.id]: luksoTestnet
76
+ };
77
+ function getChainById(chainId) {
78
+ return LUKSO_CHAINS_BY_ID[chainId];
79
+ }
80
+
81
+ export {
82
+ luksoMainnet,
83
+ luksoTestnet,
84
+ LUKSO_CHAINS_BY_ID,
85
+ getChainById
86
+ };
87
+ //# sourceMappingURL=chunk-7Y2K66YE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/chains/luksoMainnet.ts","../src/chains/luksoTestnet.ts","../src/chains/index.ts"],"sourcesContent":["import { parseUnits } from 'viem'\nimport { lukso } from 'viem/chains'\nimport { GRAPHQL_ENDPOINT_MAINNET } from '../config'\nimport type { ChainExtended } from '../types/network'\n\nexport const luksoMainnet: ChainExtended = {\n ...lukso,\n slug: 'mainnet',\n name: 'LUKSO Mainnet',\n nativeCurrency: {\n ...lukso.nativeCurrency,\n supply: parseUnits('42000000', 18).toString(),\n },\n rpcUrls: {\n default: {\n http: ['https://rpc1.mainnet.lukso.dev'], // we override with private rpc endpoint\n webSocket: ['wss://ws-rpc.mainnet.lukso.network'],\n },\n },\n contracts: {\n ...lukso.contracts,\n customLSP2Contract: {\n address: '0x51c602b249a5bc0ff437fbed4607448d8bc66dad',\n },\n followingSystemContract: {\n address: '0xf01103E5a9909Fc0DBe8166dA7085e0285daDDcA',\n },\n },\n dataKeyForController:\n '0xdf30dba06db6a30e65354d9a64c6098600000000000000000000000000000001',\n LSPMintableInitAddresses: {\n LSP7DigitalAsset: '0x28B7CcdaD1E15cCbDf380c439Cc1F2EBe7f5B2d8',\n LSP8IdentifiableDigitalAsset: '0xd787a2f6B14d4dcC2fb897f40b87f2Ff63a07997',\n },\n wwsGraphqlHost: 'wss://envio.lukso-mainnet.universal.tech/v1/graphql',\n graphqlHost: GRAPHQL_ENDPOINT_MAINNET,\n}\n","import { parseUnits } from 'viem'\nimport { luksoTestnet as _luksoTestnet } from 'viem/chains'\nimport { GRAPHQL_ENDPOINT_TESTNET } from '../config'\nimport type { ChainExtended } from '../types/network'\n\nexport const luksoTestnet: ChainExtended = {\n ..._luksoTestnet,\n slug: 'testnet',\n name: 'LUKSO Testnet',\n nativeCurrency: {\n ..._luksoTestnet.nativeCurrency,\n supply: parseUnits('42000000', 18).toString(),\n name: 'LUKSO',\n },\n contracts: {\n ..._luksoTestnet.contracts,\n customLSP2Contract: {\n address: '0x1690c1A6f5dc385d20139222567476F0A185f77a',\n },\n followingSystemContract: {\n address: '0xf01103E5a9909Fc0DBe8166dA7085e0285daDDcA',\n },\n },\n LSPMintableInitAddresses: {\n LSP7DigitalAsset: '0x51A1cC0B2fa430A607d60307Bc0aaC3ec8F7e67B',\n LSP8IdentifiableDigitalAsset: '0x3CFA56F3dC51850655176243a3a9F76C9489208e',\n },\n dataKeyForController:\n '0xdf30dba06db6a30e65354d9a64c6098600000000000000000000000000000001',\n wwsGraphqlHost: 'wss://envio.lukso-testnet.universal.tech/v1/graphql',\n graphqlHost: GRAPHQL_ENDPOINT_TESTNET,\n}\n","/**\n * @lukso/core/chains\n *\n * Extended chain configurations for LUKSO networks\n */\n\nexport type {\n Address,\n ChainExtended,\n LSPMintableInitAddresses,\n NetworkSlug,\n} from '../types/network.js'\nexport { luksoMainnet } from './luksoMainnet.js'\nexport { luksoTestnet } from './luksoTestnet.js'\n\nimport type { ChainExtended } from '../types/network.js'\nimport { luksoMainnet } from './luksoMainnet.js'\nimport { luksoTestnet } from './luksoTestnet.js'\n\n/**\n * Map of chain IDs to their corresponding ChainExtended configurations\n */\nexport const LUKSO_CHAINS_BY_ID: Record<number, ChainExtended> = {\n [luksoMainnet.id]: luksoMainnet,\n [luksoTestnet.id]: luksoTestnet,\n}\n\n/**\n * Get chain configuration by chain ID\n * @param chainId - The chain ID to look up\n * @returns The chain configuration or undefined if not found\n */\nexport function getChainById(chainId: number): ChainExtended | undefined {\n return LUKSO_CHAINS_BY_ID[chainId]\n}\n"],"mappings":";;;;;;AAAA,SAAS,kBAAkB;AAC3B,SAAS,aAAa;AAIf,IAAM,eAA8B;AAAA,EACzC,GAAG;AAAA,EACH,MAAM;AAAA,EACN,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,GAAG,MAAM;AAAA,IACT,QAAQ,WAAW,YAAY,EAAE,EAAE,SAAS;AAAA,EAC9C;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM,CAAC,gCAAgC;AAAA;AAAA,MACvC,WAAW,CAAC,oCAAoC;AAAA,IAClD;AAAA,EACF;AAAA,EACA,WAAW;AAAA,IACT,GAAG,MAAM;AAAA,IACT,oBAAoB;AAAA,MAClB,SAAS;AAAA,IACX;AAAA,IACA,yBAAyB;AAAA,MACvB,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,sBACE;AAAA,EACF,0BAA0B;AAAA,IACxB,kBAAkB;AAAA,IAClB,8BAA8B;AAAA,EAChC;AAAA,EACA,gBAAgB;AAAA,EAChB,aAAa;AACf;;;ACpCA,SAAS,cAAAA,mBAAkB;AAC3B,SAAS,gBAAgB,qBAAqB;AAIvC,IAAM,eAA8B;AAAA,EACzC,GAAG;AAAA,EACH,MAAM;AAAA,EACN,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,GAAG,cAAc;AAAA,IACjB,QAAQC,YAAW,YAAY,EAAE,EAAE,SAAS;AAAA,IAC5C,MAAM;AAAA,EACR;AAAA,EACA,WAAW;AAAA,IACT,GAAG,cAAc;AAAA,IACjB,oBAAoB;AAAA,MAClB,SAAS;AAAA,IACX;AAAA,IACA,yBAAyB;AAAA,MACvB,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,0BAA0B;AAAA,IACxB,kBAAkB;AAAA,IAClB,8BAA8B;AAAA,EAChC;AAAA,EACA,sBACE;AAAA,EACF,gBAAgB;AAAA,EAChB,aAAa;AACf;;;ACTO,IAAM,qBAAoD;AAAA,EAC/D,CAAC,aAAa,EAAE,GAAG;AAAA,EACnB,CAAC,aAAa,EAAE,GAAG;AACrB;AAOO,SAAS,aAAa,SAA4C;AACvE,SAAO,mBAAmB,OAAO;AACnC;","names":["parseUnits","parseUnits"]}
@@ -0,0 +1,159 @@
1
+ // src/utils/browserInfo.ts
2
+ var EXTENSION_STORE_LINKS = {
3
+ chrome: "https://chrome.google.com/webstore/detail/universal-profiles-testin/abpickdkkbnbcoepogfhkhennhfhehfn",
4
+ brave: "https://chrome.google.com/webstore/detail/universal-profiles-testin/abpickdkkbnbcoepogfhkhennhfhehfn",
5
+ edge: "https://chrome.google.com/webstore/detail/universal-profiles-testin/abpickdkkbnbcoepogfhkhennhfhehfn",
6
+ opera: "",
7
+ safari: "",
8
+ firefox: ""
9
+ };
10
+ var browserInfo = (deviceService) => {
11
+ const browserInfoDefaults = {
12
+ id: "chrome",
13
+ name: "",
14
+ icon: ""
15
+ };
16
+ const detectBrowser = () => {
17
+ const { isChrome, isBrave, isFirefox, isSafari, isEdge, isOpera } = deviceService;
18
+ if (isBrave) {
19
+ return {
20
+ id: "brave",
21
+ name: "Brave",
22
+ icon: "logo-brave",
23
+ storeLink: EXTENSION_STORE_LINKS.brave
24
+ };
25
+ }
26
+ if (isEdge) {
27
+ return {
28
+ id: "edge",
29
+ name: "Edge",
30
+ icon: "logo-edge",
31
+ storeLink: EXTENSION_STORE_LINKS.edge
32
+ };
33
+ }
34
+ if (isOpera) {
35
+ return {
36
+ id: "opera",
37
+ name: "Opera",
38
+ icon: "logo-opera",
39
+ storeLink: EXTENSION_STORE_LINKS.opera
40
+ };
41
+ }
42
+ if (isChrome) {
43
+ return {
44
+ id: "chrome",
45
+ name: "Chrome",
46
+ icon: "logo-chrome",
47
+ storeLink: EXTENSION_STORE_LINKS.chrome
48
+ };
49
+ }
50
+ if (isFirefox) {
51
+ return {
52
+ id: "firefox",
53
+ name: "Firefox",
54
+ icon: "logo-firefox",
55
+ storeLink: EXTENSION_STORE_LINKS.firefox
56
+ };
57
+ }
58
+ if (isSafari) {
59
+ return {
60
+ id: "safari",
61
+ name: "Safari",
62
+ icon: "logo-safari",
63
+ storeLink: EXTENSION_STORE_LINKS.safari
64
+ };
65
+ }
66
+ };
67
+ const browserInfo2 = { ...browserInfoDefaults, ...detectBrowser() };
68
+ return browserInfo2;
69
+ };
70
+
71
+ // src/utils/slug.ts
72
+ var slug = (value) => {
73
+ if (!value) {
74
+ return "";
75
+ }
76
+ return value.toLowerCase().replace(/\s+/g, "-");
77
+ };
78
+
79
+ // src/utils/url-resolver.ts
80
+ var UrlConverter = class {
81
+ /**
82
+ * It will relatively append pathname or hostname to the destination URL
83
+ *
84
+ * For example:
85
+ * destination=https://some.api.gateway/something/ipfs
86
+ * url=ipfs://QmSomeHash
87
+ * output=https://some.api.gateway/something/ipfs/QmSomeHash
88
+ *
89
+ * destination=https://some.api.gateway/something/ipfs
90
+ * url=https://something.com/somewhere
91
+ * output=https://some.api.gateway/something/ipfs/somewhere
92
+ *
93
+ * @param destination destination string | URL
94
+ */
95
+ constructor(destination) {
96
+ this.destination = new URL(destination);
97
+ if (this.destination.pathname.at(-1) !== "/") {
98
+ this.destination.pathname += "/";
99
+ }
100
+ }
101
+ resolveUrl(url) {
102
+ const source = new URL(url);
103
+ const relativePath = source.pathname ? `./${source.hostname}${source.pathname}` : `./${source.hostname}`;
104
+ const out = new URL(relativePath, this.destination);
105
+ out.pathname = out.pathname.replaceAll(/\/\/+/g, "/");
106
+ return out.toString();
107
+ }
108
+ };
109
+ var UrlResolver = class {
110
+ constructor(converters) {
111
+ this.converters = [];
112
+ for (const item of converters) {
113
+ const [match, _converter] = item;
114
+ if (match == null) {
115
+ throw new TypeError("Match criteria not defined");
116
+ }
117
+ const converter = typeof _converter === "string" ? new UrlConverter(_converter) : _converter;
118
+ if (!(converter instanceof UrlConverter)) {
119
+ throw new TypeError("Invalid converter");
120
+ }
121
+ this.converters.push({ match, converter });
122
+ }
123
+ }
124
+ /**
125
+ * Resolves a URL to a gateway URL.
126
+ * Supports possible multiple converters transforming the URL
127
+ * in sequence until no converter matches.
128
+ *
129
+ * @param {string} url to resolve
130
+ * @returns {string} resolved url (if resolver is found, otherwise the parameter url is returned)
131
+ */
132
+ resolveUrl(url_) {
133
+ let url = url_;
134
+ const current = new Set(this.converters);
135
+ let found = true;
136
+ while (found) {
137
+ found = false;
138
+ for (const entry of current) {
139
+ const { match, converter } = entry;
140
+ if (match instanceof RegExp ? match.test(url) : url.startsWith(match)) {
141
+ url = converter.resolveUrl(url);
142
+ current.delete(entry);
143
+ found = true;
144
+ break;
145
+ }
146
+ }
147
+ }
148
+ return url;
149
+ }
150
+ };
151
+
152
+ export {
153
+ EXTENSION_STORE_LINKS,
154
+ browserInfo,
155
+ slug,
156
+ UrlConverter,
157
+ UrlResolver
158
+ };
159
+ //# sourceMappingURL=chunk-GFLV5EJV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/browserInfo.ts","../src/utils/slug.ts","../src/utils/url-resolver.ts"],"sourcesContent":["import type { DeviceService } from '../services'\n\nexport type BrowserName =\n | 'chrome'\n | 'safari'\n | 'firefox'\n | 'edge'\n | 'opera'\n | 'brave'\n\nexport type BrowserInfo = {\n id: BrowserName\n name: string\n icon: string\n storeLink: string\n}\n\n// extension store links (all webkit based browsers use chrome web store installation)\nexport const EXTENSION_STORE_LINKS = {\n chrome:\n 'https://chrome.google.com/webstore/detail/universal-profiles-testin/abpickdkkbnbcoepogfhkhennhfhehfn',\n brave:\n 'https://chrome.google.com/webstore/detail/universal-profiles-testin/abpickdkkbnbcoepogfhkhennhfhehfn',\n edge: 'https://chrome.google.com/webstore/detail/universal-profiles-testin/abpickdkkbnbcoepogfhkhennhfhehfn',\n opera: '',\n safari: '',\n firefox: '',\n}\n\n/**\n * Expose browser info to the app\n */\nexport const browserInfo = (deviceService: DeviceService): BrowserInfo => {\n const browserInfoDefaults = {\n id: 'chrome',\n name: '',\n icon: '',\n } as BrowserInfo\n\n const detectBrowser = (): BrowserInfo | undefined => {\n const { isChrome, isBrave, isFirefox, isSafari, isEdge, isOpera } =\n deviceService\n\n if (isBrave) {\n return {\n id: 'brave',\n name: 'Brave',\n icon: 'logo-brave',\n storeLink: EXTENSION_STORE_LINKS.brave,\n }\n }\n\n if (isEdge) {\n return {\n id: 'edge',\n name: 'Edge',\n icon: 'logo-edge',\n storeLink: EXTENSION_STORE_LINKS.edge,\n }\n }\n\n if (isOpera) {\n return {\n id: 'opera',\n name: 'Opera',\n icon: 'logo-opera',\n storeLink: EXTENSION_STORE_LINKS.opera,\n }\n }\n\n if (isChrome) {\n return {\n id: 'chrome',\n name: 'Chrome',\n icon: 'logo-chrome',\n storeLink: EXTENSION_STORE_LINKS.chrome,\n }\n }\n\n if (isFirefox) {\n return {\n id: 'firefox',\n name: 'Firefox',\n icon: 'logo-firefox',\n storeLink: EXTENSION_STORE_LINKS.firefox,\n }\n }\n\n if (isSafari) {\n return {\n id: 'safari',\n name: 'Safari',\n icon: 'logo-safari',\n storeLink: EXTENSION_STORE_LINKS.safari,\n }\n }\n }\n\n const browserInfo = { ...browserInfoDefaults, ...detectBrowser() }\n\n return browserInfo\n}\n","/**\n * Make slug from text\n *\n * @param value\n * @returns\n */\nexport const slug = (value?: string) => {\n if (!value) {\n return ''\n }\n\n return value.toLowerCase().replace(/\\s+/g, '-') // convert spaces to hyphens\n}\n","export class UrlConverter {\n private destination: URL\n /**\n * It will relatively append pathname or hostname to the destination URL\n *\n * For example:\n * destination=https://some.api.gateway/something/ipfs\n * url=ipfs://QmSomeHash\n * output=https://some.api.gateway/something/ipfs/QmSomeHash\n *\n * destination=https://some.api.gateway/something/ipfs\n * url=https://something.com/somewhere\n * output=https://some.api.gateway/something/ipfs/somewhere\n *\n * @param destination destination string | URL\n */\n constructor(destination: string | URL) {\n this.destination = new URL(destination)\n if (this.destination.pathname.at(-1) !== '/') {\n this.destination.pathname += '/'\n }\n }\n\n resolveUrl(url: string): string {\n // Parse and convert to javascript URL objects\n // this will manage / and relative paths for us.\n const source = new URL(url)\n // extract the relative path. For URLs with a pathname prepend \".\" to make it ./ (i.e. relative)\n // for anything that only has a hostname we prepend ./ to make it relative\n // the pathname is at least slash for https urls, but '' for ipfs for example\n const relativePath = source.pathname\n ? `./${source.hostname}${source.pathname}` // pathname always starts with at least a slash\n : `./${source.hostname}`\n // Construct relative URL on destination using the relative pathname.\n const out = new URL(relativePath, this.destination)\n out.pathname = out.pathname.replaceAll(/\\/\\/+/g, '/')\n return out.toString()\n }\n}\n\nexport class UrlResolver {\n private converters: Array<{\n match: string | RegExp\n converter: UrlConverter\n }> = []\n constructor(converters: Array<[string | RegExp, UrlConverter | string]>) {\n for (const item of converters) {\n const [match, _converter] = item\n if (match == null) {\n throw new TypeError('Match criteria not defined')\n }\n const converter =\n typeof _converter === 'string'\n ? new UrlConverter(_converter)\n : _converter\n if (!(converter instanceof UrlConverter)) {\n throw new TypeError('Invalid converter')\n }\n this.converters.push({ match, converter })\n }\n }\n\n /**\n * Resolves a URL to a gateway URL.\n * Supports possible multiple converters transforming the URL\n * in sequence until no converter matches.\n *\n * @param {string} url to resolve\n * @returns {string} resolved url (if resolver is found, otherwise the parameter url is returned)\n */\n resolveUrl(url_: string): string {\n let url = url_\n const current = new Set<{\n match: string | RegExp\n converter: UrlConverter\n }>(this.converters)\n let found = true\n while (found) {\n found = false\n for (const entry of current) {\n const { match, converter } = entry\n if (match instanceof RegExp ? match.test(url) : url.startsWith(match)) {\n url = converter.resolveUrl(url)\n // This converter matches, so don't use it again.\n current.delete(entry)\n found = true\n break\n }\n }\n }\n return url\n }\n}\n"],"mappings":"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","names":["browserInfo"]}
@@ -0,0 +1,11 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/config.ts
2
+ var SUPPORTED_NETWORK_IDS = ["mainnet", "testnet"];
3
+ var GRAPHQL_ENDPOINT_MAINNET = "https://envio.lukso-mainnet.universal.tech/v1/graphql";
4
+ var GRAPHQL_ENDPOINT_TESTNET = "https://envio.lukso-testnet.universal.tech/v1/graphql";
5
+
6
+
7
+
8
+
9
+
10
+ exports.SUPPORTED_NETWORK_IDS = SUPPORTED_NETWORK_IDS; exports.GRAPHQL_ENDPOINT_MAINNET = GRAPHQL_ENDPOINT_MAINNET; exports.GRAPHQL_ENDPOINT_TESTNET = GRAPHQL_ENDPOINT_TESTNET;
11
+ //# sourceMappingURL=chunk-LUT5BHYL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/service-auth-simple/service-auth-simple/packages/core/dist/chunk-LUT5BHYL.cjs","../src/config.ts"],"names":[],"mappings":"AAAA;ACCO,IAAM,sBAAA,EAAwB,CAAC,SAAA,EAAW,SAAS,CAAA;AAGnD,IAAM,yBAAA,EACX,uDAAA;AACK,IAAM,yBAAA,EACX,uDAAA;ADHF;AACA;AACE;AACA;AACA;AACF,gLAAC","file":"/home/runner/work/service-auth-simple/service-auth-simple/packages/core/dist/chunk-LUT5BHYL.cjs","sourcesContent":[null,"// Supported network IDs\nexport const SUPPORTED_NETWORK_IDS = ['mainnet', 'testnet'] as const\n\n// Graphql endpoints\nexport const GRAPHQL_ENDPOINT_MAINNET =\n 'https://envio.lukso-mainnet.universal.tech/v1/graphql'\nexport const GRAPHQL_ENDPOINT_TESTNET =\n 'https://envio.lukso-testnet.universal.tech/v1/graphql'\n"]}
@@ -0,0 +1,87 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+ var _chunkLUT5BHYLcjs = require('./chunk-LUT5BHYL.cjs');
5
+
6
+ // src/chains/luksoMainnet.ts
7
+ var _viem = require('viem');
8
+ var _chains = require('viem/chains');
9
+ var luksoMainnet = {
10
+ ..._chains.lukso,
11
+ slug: "mainnet",
12
+ name: "LUKSO Mainnet",
13
+ nativeCurrency: {
14
+ ..._chains.lukso.nativeCurrency,
15
+ supply: _viem.parseUnits.call(void 0, "42000000", 18).toString()
16
+ },
17
+ rpcUrls: {
18
+ default: {
19
+ http: ["https://rpc1.mainnet.lukso.dev"],
20
+ // we override with private rpc endpoint
21
+ webSocket: ["wss://ws-rpc.mainnet.lukso.network"]
22
+ }
23
+ },
24
+ contracts: {
25
+ ..._chains.lukso.contracts,
26
+ customLSP2Contract: {
27
+ address: "0x51c602b249a5bc0ff437fbed4607448d8bc66dad"
28
+ },
29
+ followingSystemContract: {
30
+ address: "0xf01103E5a9909Fc0DBe8166dA7085e0285daDDcA"
31
+ }
32
+ },
33
+ dataKeyForController: "0xdf30dba06db6a30e65354d9a64c6098600000000000000000000000000000001",
34
+ LSPMintableInitAddresses: {
35
+ LSP7DigitalAsset: "0x28B7CcdaD1E15cCbDf380c439Cc1F2EBe7f5B2d8",
36
+ LSP8IdentifiableDigitalAsset: "0xd787a2f6B14d4dcC2fb897f40b87f2Ff63a07997"
37
+ },
38
+ wwsGraphqlHost: "wss://envio.lukso-mainnet.universal.tech/v1/graphql",
39
+ graphqlHost: _chunkLUT5BHYLcjs.GRAPHQL_ENDPOINT_MAINNET
40
+ };
41
+
42
+ // src/chains/luksoTestnet.ts
43
+
44
+
45
+ var luksoTestnet = {
46
+ ..._chains.luksoTestnet,
47
+ slug: "testnet",
48
+ name: "LUKSO Testnet",
49
+ nativeCurrency: {
50
+ ..._chains.luksoTestnet.nativeCurrency,
51
+ supply: _viem.parseUnits.call(void 0, "42000000", 18).toString(),
52
+ name: "LUKSO"
53
+ },
54
+ contracts: {
55
+ ..._chains.luksoTestnet.contracts,
56
+ customLSP2Contract: {
57
+ address: "0x1690c1A6f5dc385d20139222567476F0A185f77a"
58
+ },
59
+ followingSystemContract: {
60
+ address: "0xf01103E5a9909Fc0DBe8166dA7085e0285daDDcA"
61
+ }
62
+ },
63
+ LSPMintableInitAddresses: {
64
+ LSP7DigitalAsset: "0x51A1cC0B2fa430A607d60307Bc0aaC3ec8F7e67B",
65
+ LSP8IdentifiableDigitalAsset: "0x3CFA56F3dC51850655176243a3a9F76C9489208e"
66
+ },
67
+ dataKeyForController: "0xdf30dba06db6a30e65354d9a64c6098600000000000000000000000000000001",
68
+ wwsGraphqlHost: "wss://envio.lukso-testnet.universal.tech/v1/graphql",
69
+ graphqlHost: _chunkLUT5BHYLcjs.GRAPHQL_ENDPOINT_TESTNET
70
+ };
71
+
72
+ // src/chains/index.ts
73
+ var LUKSO_CHAINS_BY_ID = {
74
+ [luksoMainnet.id]: luksoMainnet,
75
+ [luksoTestnet.id]: luksoTestnet
76
+ };
77
+ function getChainById(chainId) {
78
+ return LUKSO_CHAINS_BY_ID[chainId];
79
+ }
80
+
81
+
82
+
83
+
84
+
85
+
86
+ exports.luksoMainnet = luksoMainnet; exports.luksoTestnet = luksoTestnet; exports.LUKSO_CHAINS_BY_ID = LUKSO_CHAINS_BY_ID; exports.getChainById = getChainById;
87
+ //# sourceMappingURL=chunk-MCNNULYX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/service-auth-simple/service-auth-simple/packages/core/dist/chunk-MCNNULYX.cjs","../src/chains/luksoMainnet.ts","../src/chains/luksoTestnet.ts","../src/chains/index.ts"],"names":["parseUnits"],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACLA,4BAA2B;AAC3B,qCAAsB;AAIf,IAAM,aAAA,EAA8B;AAAA,EACzC,GAAG,aAAA;AAAA,EACH,IAAA,EAAM,SAAA;AAAA,EACN,IAAA,EAAM,eAAA;AAAA,EACN,cAAA,EAAgB;AAAA,IACd,GAAG,aAAA,CAAM,cAAA;AAAA,IACT,MAAA,EAAQ,8BAAA,UAAW,EAAY,EAAE,CAAA,CAAE,QAAA,CAAS;AAAA,EAC9C,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,CAAC,gCAAgC,CAAA;AAAA;AAAA,MACvC,SAAA,EAAW,CAAC,oCAAoC;AAAA,IAClD;AAAA,EACF,CAAA;AAAA,EACA,SAAA,EAAW;AAAA,IACT,GAAG,aAAA,CAAM,SAAA;AAAA,IACT,kBAAA,EAAoB;AAAA,MAClB,OAAA,EAAS;AAAA,IACX,CAAA;AAAA,IACA,uBAAA,EAAyB;AAAA,MACvB,OAAA,EAAS;AAAA,IACX;AAAA,EACF,CAAA;AAAA,EACA,oBAAA,EACE,oEAAA;AAAA,EACF,wBAAA,EAA0B;AAAA,IACxB,gBAAA,EAAkB,4CAAA;AAAA,IAClB,4BAAA,EAA8B;AAAA,EAChC,CAAA;AAAA,EACA,cAAA,EAAgB,qDAAA;AAAA,EAChB,WAAA,EAAa;AACf,CAAA;ADIA;AACA;AEzCA;AACA;AAIO,IAAM,aAAA,EAA8B;AAAA,EACzC,GAAG,oBAAA;AAAA,EACH,IAAA,EAAM,SAAA;AAAA,EACN,IAAA,EAAM,eAAA;AAAA,EACN,cAAA,EAAgB;AAAA,IACd,GAAG,oBAAA,CAAc,cAAA;AAAA,IACjB,MAAA,EAAQA,8BAAAA,UAAW,EAAY,EAAE,CAAA,CAAE,QAAA,CAAS,CAAA;AAAA,IAC5C,IAAA,EAAM;AAAA,EACR,CAAA;AAAA,EACA,SAAA,EAAW;AAAA,IACT,GAAG,oBAAA,CAAc,SAAA;AAAA,IACjB,kBAAA,EAAoB;AAAA,MAClB,OAAA,EAAS;AAAA,IACX,CAAA;AAAA,IACA,uBAAA,EAAyB;AAAA,MACvB,OAAA,EAAS;AAAA,IACX;AAAA,EACF,CAAA;AAAA,EACA,wBAAA,EAA0B;AAAA,IACxB,gBAAA,EAAkB,4CAAA;AAAA,IAClB,4BAAA,EAA8B;AAAA,EAChC,CAAA;AAAA,EACA,oBAAA,EACE,oEAAA;AAAA,EACF,cAAA,EAAgB,qDAAA;AAAA,EAChB,WAAA,EAAa;AACf,CAAA;AFuCA;AACA;AGjDO,IAAM,mBAAA,EAAoD;AAAA,EAC/D,CAAC,YAAA,CAAa,EAAE,CAAA,EAAG,YAAA;AAAA,EACnB,CAAC,YAAA,CAAa,EAAE,CAAA,EAAG;AACrB,CAAA;AAOO,SAAS,YAAA,CAAa,OAAA,EAA4C;AACvE,EAAA,OAAO,kBAAA,CAAmB,OAAO,CAAA;AACnC;AH6CA;AACA;AACE;AACA;AACA;AACA;AACF,+JAAC","file":"/home/runner/work/service-auth-simple/service-auth-simple/packages/core/dist/chunk-MCNNULYX.cjs","sourcesContent":[null,"import { parseUnits } from 'viem'\nimport { lukso } from 'viem/chains'\nimport { GRAPHQL_ENDPOINT_MAINNET } from '../config'\nimport type { ChainExtended } from '../types/network'\n\nexport const luksoMainnet: ChainExtended = {\n ...lukso,\n slug: 'mainnet',\n name: 'LUKSO Mainnet',\n nativeCurrency: {\n ...lukso.nativeCurrency,\n supply: parseUnits('42000000', 18).toString(),\n },\n rpcUrls: {\n default: {\n http: ['https://rpc1.mainnet.lukso.dev'], // we override with private rpc endpoint\n webSocket: ['wss://ws-rpc.mainnet.lukso.network'],\n },\n },\n contracts: {\n ...lukso.contracts,\n customLSP2Contract: {\n address: '0x51c602b249a5bc0ff437fbed4607448d8bc66dad',\n },\n followingSystemContract: {\n address: '0xf01103E5a9909Fc0DBe8166dA7085e0285daDDcA',\n },\n },\n dataKeyForController:\n '0xdf30dba06db6a30e65354d9a64c6098600000000000000000000000000000001',\n LSPMintableInitAddresses: {\n LSP7DigitalAsset: '0x28B7CcdaD1E15cCbDf380c439Cc1F2EBe7f5B2d8',\n LSP8IdentifiableDigitalAsset: '0xd787a2f6B14d4dcC2fb897f40b87f2Ff63a07997',\n },\n wwsGraphqlHost: 'wss://envio.lukso-mainnet.universal.tech/v1/graphql',\n graphqlHost: GRAPHQL_ENDPOINT_MAINNET,\n}\n","import { parseUnits } from 'viem'\nimport { luksoTestnet as _luksoTestnet } from 'viem/chains'\nimport { GRAPHQL_ENDPOINT_TESTNET } from '../config'\nimport type { ChainExtended } from '../types/network'\n\nexport const luksoTestnet: ChainExtended = {\n ..._luksoTestnet,\n slug: 'testnet',\n name: 'LUKSO Testnet',\n nativeCurrency: {\n ..._luksoTestnet.nativeCurrency,\n supply: parseUnits('42000000', 18).toString(),\n name: 'LUKSO',\n },\n contracts: {\n ..._luksoTestnet.contracts,\n customLSP2Contract: {\n address: '0x1690c1A6f5dc385d20139222567476F0A185f77a',\n },\n followingSystemContract: {\n address: '0xf01103E5a9909Fc0DBe8166dA7085e0285daDDcA',\n },\n },\n LSPMintableInitAddresses: {\n LSP7DigitalAsset: '0x51A1cC0B2fa430A607d60307Bc0aaC3ec8F7e67B',\n LSP8IdentifiableDigitalAsset: '0x3CFA56F3dC51850655176243a3a9F76C9489208e',\n },\n dataKeyForController:\n '0xdf30dba06db6a30e65354d9a64c6098600000000000000000000000000000001',\n wwsGraphqlHost: 'wss://envio.lukso-testnet.universal.tech/v1/graphql',\n graphqlHost: GRAPHQL_ENDPOINT_TESTNET,\n}\n","/**\n * @lukso/core/chains\n *\n * Extended chain configurations for LUKSO networks\n */\n\nexport type {\n Address,\n ChainExtended,\n LSPMintableInitAddresses,\n NetworkSlug,\n} from '../types/network.js'\nexport { luksoMainnet } from './luksoMainnet.js'\nexport { luksoTestnet } from './luksoTestnet.js'\n\nimport type { ChainExtended } from '../types/network.js'\nimport { luksoMainnet } from './luksoMainnet.js'\nimport { luksoTestnet } from './luksoTestnet.js'\n\n/**\n * Map of chain IDs to their corresponding ChainExtended configurations\n */\nexport const LUKSO_CHAINS_BY_ID: Record<number, ChainExtended> = {\n [luksoMainnet.id]: luksoMainnet,\n [luksoTestnet.id]: luksoTestnet,\n}\n\n/**\n * Get chain configuration by chain ID\n * @param chainId - The chain ID to look up\n * @returns The chain configuration or undefined if not found\n */\nexport function getChainById(chainId: number): ChainExtended | undefined {\n return LUKSO_CHAINS_BY_ID[chainId]\n}\n"]}