@luxexchange/config 1.0.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.
- package/.depcheckrc +9 -0
- package/.eslintrc.js +20 -0
- package/README.md +31 -0
- package/dist/chains.d.ts +405 -0
- package/dist/chains.d.ts.map +1 -0
- package/dist/chains.js +105 -0
- package/dist/contracts.d.ts +85 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +68 -0
- package/dist/env.d.ts +17 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +20 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/wagmi.d.ts +297 -0
- package/dist/wagmi.d.ts.map +1 -0
- package/dist/wagmi.js +19 -0
- package/env.d.ts +64 -0
- package/env.native.d.ts +40 -0
- package/package.json +33 -0
- package/project.json +18 -0
- package/src/chains.ts +224 -0
- package/src/config-types.ts +50 -0
- package/src/contracts.ts +193 -0
- package/src/env.ts +27 -0
- package/src/getConfig.native.ts +130 -0
- package/src/getConfig.ts +6 -0
- package/src/getConfig.web.ts +77 -0
- package/src/index.ts +37 -0
- package/src/wagmi.ts +27 -0
- package/tsconfig.json +18 -0
- package/tsconfig.lint.json +8 -0
package/.depcheckrc
ADDED
package/.eslintrc.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
extends: ['@luxfi/eslint-config/lib'],
|
|
3
|
+
parserOptions: {
|
|
4
|
+
tsconfigRootDir: __dirname,
|
|
5
|
+
},
|
|
6
|
+
overrides: [
|
|
7
|
+
{
|
|
8
|
+
files: ['*.ts', '*.tsx'],
|
|
9
|
+
rules: {
|
|
10
|
+
'no-relative-import-paths/no-relative-import-paths': [
|
|
11
|
+
'error',
|
|
12
|
+
{
|
|
13
|
+
allowSameFolder: false,
|
|
14
|
+
prefix: '@luxfi/config',
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# @universe/config
|
|
2
|
+
|
|
3
|
+
Configuration management package for the Uniswap Universe monorepo.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This package provides centralized configuration management for all Uniswap applications (web, mobile, and extension). It handles environment variables and provides a platform-specific implementation for accessing configuration values.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
import { getConfig } from '@universe/config'
|
|
13
|
+
|
|
14
|
+
const config = getConfig()
|
|
15
|
+
console.log(config.infuraKey)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Platform Support
|
|
19
|
+
|
|
20
|
+
- **Web/Extension**: Uses `process.env` directly
|
|
21
|
+
- **Mobile**: Uses `react-native-dotenv` for environment variable management
|
|
22
|
+
|
|
23
|
+
## Configuration Values
|
|
24
|
+
|
|
25
|
+
See `src/config-types.ts` for the complete list of configuration options.
|
|
26
|
+
|
|
27
|
+
## Environment Variable Naming
|
|
28
|
+
|
|
29
|
+
- **Web**: Variables must be prefixed with `REACT_APP_`
|
|
30
|
+
- **Extension**: Variables use standard naming without prefix
|
|
31
|
+
- **Mobile**: Variables use standard naming without prefix, but also require `react-native-dotenv` setup
|
package/dist/chains.d.ts
ADDED
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lux Mainnet Chain Definition
|
|
3
|
+
*/
|
|
4
|
+
export declare const luxMainnet: {
|
|
5
|
+
blockExplorers: {
|
|
6
|
+
readonly default: {
|
|
7
|
+
readonly name: "Lux Explorer";
|
|
8
|
+
readonly url: "https://explore.lux.network";
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
blockTime?: number | undefined | undefined;
|
|
12
|
+
contracts: {
|
|
13
|
+
readonly multicall3: {
|
|
14
|
+
readonly address: "0xd25F88CBdAe3c2CCA3Bb75FC4E723b44C0Ea362F";
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
ensTlds?: readonly string[] | undefined;
|
|
18
|
+
id: 96369;
|
|
19
|
+
name: "Lux Mainnet";
|
|
20
|
+
nativeCurrency: {
|
|
21
|
+
readonly name: "LUX";
|
|
22
|
+
readonly symbol: "LUX";
|
|
23
|
+
readonly decimals: 18;
|
|
24
|
+
};
|
|
25
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
26
|
+
rpcUrls: {
|
|
27
|
+
readonly default: {
|
|
28
|
+
readonly http: readonly ["https://api.lux.network/rpc"];
|
|
29
|
+
};
|
|
30
|
+
readonly public: {
|
|
31
|
+
readonly http: readonly ["https://api.lux.network/rpc"];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
sourceId?: number | undefined | undefined;
|
|
35
|
+
testnet?: boolean | undefined | undefined;
|
|
36
|
+
custom?: Record<string, unknown> | undefined;
|
|
37
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
38
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
39
|
+
formatters?: undefined;
|
|
40
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
41
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
42
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
43
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
44
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
45
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
46
|
+
}] | undefined;
|
|
47
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
48
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Lux Testnet Chain Definition
|
|
52
|
+
*/
|
|
53
|
+
export declare const luxTestnet: {
|
|
54
|
+
blockExplorers: {
|
|
55
|
+
readonly default: {
|
|
56
|
+
readonly name: "Lux Testnet Explorer";
|
|
57
|
+
readonly url: "https://explore.lux-test.network";
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
blockTime?: number | undefined | undefined;
|
|
61
|
+
contracts: {
|
|
62
|
+
readonly multicall3: {
|
|
63
|
+
readonly address: "0xd25F88CBdAe3c2CCA3Bb75FC4E723b44C0Ea362F";
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
ensTlds?: readonly string[] | undefined;
|
|
67
|
+
id: 96368;
|
|
68
|
+
name: "Lux Testnet";
|
|
69
|
+
nativeCurrency: {
|
|
70
|
+
readonly name: "LUX";
|
|
71
|
+
readonly symbol: "LUX";
|
|
72
|
+
readonly decimals: 18;
|
|
73
|
+
};
|
|
74
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
75
|
+
rpcUrls: {
|
|
76
|
+
readonly default: {
|
|
77
|
+
readonly http: readonly ["https://api.lux-test.network/rpc"];
|
|
78
|
+
};
|
|
79
|
+
readonly public: {
|
|
80
|
+
readonly http: readonly ["https://api.lux-test.network/rpc"];
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
sourceId?: number | undefined | undefined;
|
|
84
|
+
testnet: true;
|
|
85
|
+
custom?: Record<string, unknown> | undefined;
|
|
86
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
87
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
88
|
+
formatters?: undefined;
|
|
89
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
90
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
91
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
92
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
93
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
94
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
95
|
+
}] | undefined;
|
|
96
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
97
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Zoo Mainnet Chain Definition
|
|
101
|
+
*/
|
|
102
|
+
export declare const zooMainnet: {
|
|
103
|
+
blockExplorers: {
|
|
104
|
+
readonly default: {
|
|
105
|
+
readonly name: "Zoo Explorer";
|
|
106
|
+
readonly url: "https://explore.zoo.network";
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
blockTime?: number | undefined | undefined;
|
|
110
|
+
contracts?: {
|
|
111
|
+
[x: string]: import("viem").ChainContract | {
|
|
112
|
+
[sourceId: number]: import("viem").ChainContract | undefined;
|
|
113
|
+
} | undefined;
|
|
114
|
+
ensRegistry?: import("viem").ChainContract | undefined;
|
|
115
|
+
ensUniversalResolver?: import("viem").ChainContract | undefined;
|
|
116
|
+
multicall3?: import("viem").ChainContract | undefined;
|
|
117
|
+
erc6492Verifier?: import("viem").ChainContract | undefined;
|
|
118
|
+
} | undefined;
|
|
119
|
+
ensTlds?: readonly string[] | undefined;
|
|
120
|
+
id: 200200;
|
|
121
|
+
name: "Zoo Network";
|
|
122
|
+
nativeCurrency: {
|
|
123
|
+
readonly name: "ZOO";
|
|
124
|
+
readonly symbol: "ZOO";
|
|
125
|
+
readonly decimals: 18;
|
|
126
|
+
};
|
|
127
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
128
|
+
rpcUrls: {
|
|
129
|
+
readonly default: {
|
|
130
|
+
readonly http: readonly ["https://api.zoo.network/rpc"];
|
|
131
|
+
};
|
|
132
|
+
readonly public: {
|
|
133
|
+
readonly http: readonly ["https://api.zoo.network/rpc"];
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
sourceId?: number | undefined | undefined;
|
|
137
|
+
testnet?: boolean | undefined | undefined;
|
|
138
|
+
custom?: Record<string, unknown> | undefined;
|
|
139
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
140
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
141
|
+
formatters?: undefined;
|
|
142
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
143
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
144
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
145
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
146
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
147
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
148
|
+
}] | undefined;
|
|
149
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
150
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Zoo Testnet Chain Definition
|
|
154
|
+
*/
|
|
155
|
+
export declare const zooTestnet: {
|
|
156
|
+
blockExplorers: {
|
|
157
|
+
readonly default: {
|
|
158
|
+
readonly name: "Zoo Testnet Explorer";
|
|
159
|
+
readonly url: "https://explore.zoo-test.network";
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
blockTime?: number | undefined | undefined;
|
|
163
|
+
contracts?: {
|
|
164
|
+
[x: string]: import("viem").ChainContract | {
|
|
165
|
+
[sourceId: number]: import("viem").ChainContract | undefined;
|
|
166
|
+
} | undefined;
|
|
167
|
+
ensRegistry?: import("viem").ChainContract | undefined;
|
|
168
|
+
ensUniversalResolver?: import("viem").ChainContract | undefined;
|
|
169
|
+
multicall3?: import("viem").ChainContract | undefined;
|
|
170
|
+
erc6492Verifier?: import("viem").ChainContract | undefined;
|
|
171
|
+
} | undefined;
|
|
172
|
+
ensTlds?: readonly string[] | undefined;
|
|
173
|
+
id: 200201;
|
|
174
|
+
name: "Zoo Testnet";
|
|
175
|
+
nativeCurrency: {
|
|
176
|
+
readonly name: "ZOO";
|
|
177
|
+
readonly symbol: "ZOO";
|
|
178
|
+
readonly decimals: 18;
|
|
179
|
+
};
|
|
180
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
181
|
+
rpcUrls: {
|
|
182
|
+
readonly default: {
|
|
183
|
+
readonly http: readonly ["https://api.zoo-test.network/rpc"];
|
|
184
|
+
};
|
|
185
|
+
readonly public: {
|
|
186
|
+
readonly http: readonly ["https://api.zoo-test.network/rpc"];
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
sourceId?: number | undefined | undefined;
|
|
190
|
+
testnet: true;
|
|
191
|
+
custom?: Record<string, unknown> | undefined;
|
|
192
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
193
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
194
|
+
formatters?: undefined;
|
|
195
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
196
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
197
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
198
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
199
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
200
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
201
|
+
}] | undefined;
|
|
202
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
203
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* Chain IDs
|
|
207
|
+
*/
|
|
208
|
+
export declare const LUX_MAINNET_ID = 96369;
|
|
209
|
+
export declare const LUX_TESTNET_ID = 96368;
|
|
210
|
+
export declare const ZOO_MAINNET_ID = 200200;
|
|
211
|
+
export declare const ZOO_TESTNET_ID = 200201;
|
|
212
|
+
/**
|
|
213
|
+
* All supported chains
|
|
214
|
+
*/
|
|
215
|
+
export declare const supportedChains: readonly [{
|
|
216
|
+
blockExplorers: {
|
|
217
|
+
readonly default: {
|
|
218
|
+
readonly name: "Lux Explorer";
|
|
219
|
+
readonly url: "https://explore.lux.network";
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
blockTime?: number | undefined | undefined;
|
|
223
|
+
contracts: {
|
|
224
|
+
readonly multicall3: {
|
|
225
|
+
readonly address: "0xd25F88CBdAe3c2CCA3Bb75FC4E723b44C0Ea362F";
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
ensTlds?: readonly string[] | undefined;
|
|
229
|
+
id: 96369;
|
|
230
|
+
name: "Lux Mainnet";
|
|
231
|
+
nativeCurrency: {
|
|
232
|
+
readonly name: "LUX";
|
|
233
|
+
readonly symbol: "LUX";
|
|
234
|
+
readonly decimals: 18;
|
|
235
|
+
};
|
|
236
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
237
|
+
rpcUrls: {
|
|
238
|
+
readonly default: {
|
|
239
|
+
readonly http: readonly ["https://api.lux.network/rpc"];
|
|
240
|
+
};
|
|
241
|
+
readonly public: {
|
|
242
|
+
readonly http: readonly ["https://api.lux.network/rpc"];
|
|
243
|
+
};
|
|
244
|
+
};
|
|
245
|
+
sourceId?: number | undefined | undefined;
|
|
246
|
+
testnet?: boolean | undefined | undefined;
|
|
247
|
+
custom?: Record<string, unknown> | undefined;
|
|
248
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
249
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
250
|
+
formatters?: undefined;
|
|
251
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
252
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
253
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
254
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
255
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
256
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
257
|
+
}] | undefined;
|
|
258
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
259
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
260
|
+
}, {
|
|
261
|
+
blockExplorers: {
|
|
262
|
+
readonly default: {
|
|
263
|
+
readonly name: "Lux Testnet Explorer";
|
|
264
|
+
readonly url: "https://explore.lux-test.network";
|
|
265
|
+
};
|
|
266
|
+
};
|
|
267
|
+
blockTime?: number | undefined | undefined;
|
|
268
|
+
contracts: {
|
|
269
|
+
readonly multicall3: {
|
|
270
|
+
readonly address: "0xd25F88CBdAe3c2CCA3Bb75FC4E723b44C0Ea362F";
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
ensTlds?: readonly string[] | undefined;
|
|
274
|
+
id: 96368;
|
|
275
|
+
name: "Lux Testnet";
|
|
276
|
+
nativeCurrency: {
|
|
277
|
+
readonly name: "LUX";
|
|
278
|
+
readonly symbol: "LUX";
|
|
279
|
+
readonly decimals: 18;
|
|
280
|
+
};
|
|
281
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
282
|
+
rpcUrls: {
|
|
283
|
+
readonly default: {
|
|
284
|
+
readonly http: readonly ["https://api.lux-test.network/rpc"];
|
|
285
|
+
};
|
|
286
|
+
readonly public: {
|
|
287
|
+
readonly http: readonly ["https://api.lux-test.network/rpc"];
|
|
288
|
+
};
|
|
289
|
+
};
|
|
290
|
+
sourceId?: number | undefined | undefined;
|
|
291
|
+
testnet: true;
|
|
292
|
+
custom?: Record<string, unknown> | undefined;
|
|
293
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
294
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
295
|
+
formatters?: undefined;
|
|
296
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
297
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
298
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
299
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
300
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
301
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
302
|
+
}] | undefined;
|
|
303
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
304
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
305
|
+
}, {
|
|
306
|
+
blockExplorers: {
|
|
307
|
+
readonly default: {
|
|
308
|
+
readonly name: "Zoo Explorer";
|
|
309
|
+
readonly url: "https://explore.zoo.network";
|
|
310
|
+
};
|
|
311
|
+
};
|
|
312
|
+
blockTime?: number | undefined | undefined;
|
|
313
|
+
contracts?: {
|
|
314
|
+
[x: string]: import("viem").ChainContract | {
|
|
315
|
+
[sourceId: number]: import("viem").ChainContract | undefined;
|
|
316
|
+
} | undefined;
|
|
317
|
+
ensRegistry?: import("viem").ChainContract | undefined;
|
|
318
|
+
ensUniversalResolver?: import("viem").ChainContract | undefined;
|
|
319
|
+
multicall3?: import("viem").ChainContract | undefined;
|
|
320
|
+
erc6492Verifier?: import("viem").ChainContract | undefined;
|
|
321
|
+
} | undefined;
|
|
322
|
+
ensTlds?: readonly string[] | undefined;
|
|
323
|
+
id: 200200;
|
|
324
|
+
name: "Zoo Network";
|
|
325
|
+
nativeCurrency: {
|
|
326
|
+
readonly name: "ZOO";
|
|
327
|
+
readonly symbol: "ZOO";
|
|
328
|
+
readonly decimals: 18;
|
|
329
|
+
};
|
|
330
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
331
|
+
rpcUrls: {
|
|
332
|
+
readonly default: {
|
|
333
|
+
readonly http: readonly ["https://api.zoo.network/rpc"];
|
|
334
|
+
};
|
|
335
|
+
readonly public: {
|
|
336
|
+
readonly http: readonly ["https://api.zoo.network/rpc"];
|
|
337
|
+
};
|
|
338
|
+
};
|
|
339
|
+
sourceId?: number | undefined | undefined;
|
|
340
|
+
testnet?: boolean | undefined | undefined;
|
|
341
|
+
custom?: Record<string, unknown> | undefined;
|
|
342
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
343
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
344
|
+
formatters?: undefined;
|
|
345
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
346
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
347
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
348
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
349
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
350
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
351
|
+
}] | undefined;
|
|
352
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
353
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
354
|
+
}, {
|
|
355
|
+
blockExplorers: {
|
|
356
|
+
readonly default: {
|
|
357
|
+
readonly name: "Zoo Testnet Explorer";
|
|
358
|
+
readonly url: "https://explore.zoo-test.network";
|
|
359
|
+
};
|
|
360
|
+
};
|
|
361
|
+
blockTime?: number | undefined | undefined;
|
|
362
|
+
contracts?: {
|
|
363
|
+
[x: string]: import("viem").ChainContract | {
|
|
364
|
+
[sourceId: number]: import("viem").ChainContract | undefined;
|
|
365
|
+
} | undefined;
|
|
366
|
+
ensRegistry?: import("viem").ChainContract | undefined;
|
|
367
|
+
ensUniversalResolver?: import("viem").ChainContract | undefined;
|
|
368
|
+
multicall3?: import("viem").ChainContract | undefined;
|
|
369
|
+
erc6492Verifier?: import("viem").ChainContract | undefined;
|
|
370
|
+
} | undefined;
|
|
371
|
+
ensTlds?: readonly string[] | undefined;
|
|
372
|
+
id: 200201;
|
|
373
|
+
name: "Zoo Testnet";
|
|
374
|
+
nativeCurrency: {
|
|
375
|
+
readonly name: "ZOO";
|
|
376
|
+
readonly symbol: "ZOO";
|
|
377
|
+
readonly decimals: 18;
|
|
378
|
+
};
|
|
379
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
380
|
+
rpcUrls: {
|
|
381
|
+
readonly default: {
|
|
382
|
+
readonly http: readonly ["https://api.zoo-test.network/rpc"];
|
|
383
|
+
};
|
|
384
|
+
readonly public: {
|
|
385
|
+
readonly http: readonly ["https://api.zoo-test.network/rpc"];
|
|
386
|
+
};
|
|
387
|
+
};
|
|
388
|
+
sourceId?: number | undefined | undefined;
|
|
389
|
+
testnet: true;
|
|
390
|
+
custom?: Record<string, unknown> | undefined;
|
|
391
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
392
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
393
|
+
formatters?: undefined;
|
|
394
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
395
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
396
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
397
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
398
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
399
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
400
|
+
}] | undefined;
|
|
401
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
402
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
403
|
+
}];
|
|
404
|
+
export type SupportedChainId = typeof supportedChains[number]['id'];
|
|
405
|
+
//# sourceMappingURL=chains.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBrB,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBrB,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAerB,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBrB,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,QAAQ,CAAA;AACnC,eAAO,MAAM,cAAc,QAAQ,CAAA;AACnC,eAAO,MAAM,cAAc,SAAS,CAAA;AACpC,eAAO,MAAM,cAAc,SAAS,CAAA;AAEpC;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKlB,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA"}
|
package/dist/chains.js
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { defineChain } from 'viem';
|
|
2
|
+
/**
|
|
3
|
+
* Lux Mainnet Chain Definition
|
|
4
|
+
*/
|
|
5
|
+
export const luxMainnet = defineChain({
|
|
6
|
+
id: 96369,
|
|
7
|
+
name: 'Lux Mainnet',
|
|
8
|
+
nativeCurrency: {
|
|
9
|
+
name: 'LUX',
|
|
10
|
+
symbol: 'LUX',
|
|
11
|
+
decimals: 18,
|
|
12
|
+
},
|
|
13
|
+
rpcUrls: {
|
|
14
|
+
default: { http: ['https://api.lux.network/rpc'] },
|
|
15
|
+
public: { http: ['https://api.lux.network/rpc'] },
|
|
16
|
+
},
|
|
17
|
+
blockExplorers: {
|
|
18
|
+
default: { name: 'Lux Explorer', url: 'https://explore.lux.network' },
|
|
19
|
+
},
|
|
20
|
+
contracts: {
|
|
21
|
+
multicall3: {
|
|
22
|
+
address: '0xd25F88CBdAe3c2CCA3Bb75FC4E723b44C0Ea362F',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* Lux Testnet Chain Definition
|
|
28
|
+
*/
|
|
29
|
+
export const luxTestnet = defineChain({
|
|
30
|
+
id: 96368,
|
|
31
|
+
name: 'Lux Testnet',
|
|
32
|
+
nativeCurrency: {
|
|
33
|
+
name: 'LUX',
|
|
34
|
+
symbol: 'LUX',
|
|
35
|
+
decimals: 18,
|
|
36
|
+
},
|
|
37
|
+
rpcUrls: {
|
|
38
|
+
default: { http: ['https://api.lux-test.network/rpc'] },
|
|
39
|
+
public: { http: ['https://api.lux-test.network/rpc'] },
|
|
40
|
+
},
|
|
41
|
+
blockExplorers: {
|
|
42
|
+
default: { name: 'Lux Testnet Explorer', url: 'https://explore.lux-test.network' },
|
|
43
|
+
},
|
|
44
|
+
contracts: {
|
|
45
|
+
multicall3: {
|
|
46
|
+
address: '0xd25F88CBdAe3c2CCA3Bb75FC4E723b44C0Ea362F',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
testnet: true,
|
|
50
|
+
});
|
|
51
|
+
/**
|
|
52
|
+
* Zoo Mainnet Chain Definition
|
|
53
|
+
*/
|
|
54
|
+
export const zooMainnet = defineChain({
|
|
55
|
+
id: 200200,
|
|
56
|
+
name: 'Zoo Network',
|
|
57
|
+
nativeCurrency: {
|
|
58
|
+
name: 'ZOO',
|
|
59
|
+
symbol: 'ZOO',
|
|
60
|
+
decimals: 18,
|
|
61
|
+
},
|
|
62
|
+
rpcUrls: {
|
|
63
|
+
default: { http: ['https://api.zoo.network/rpc'] },
|
|
64
|
+
public: { http: ['https://api.zoo.network/rpc'] },
|
|
65
|
+
},
|
|
66
|
+
blockExplorers: {
|
|
67
|
+
default: { name: 'Zoo Explorer', url: 'https://explore.zoo.network' },
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* Zoo Testnet Chain Definition
|
|
72
|
+
*/
|
|
73
|
+
export const zooTestnet = defineChain({
|
|
74
|
+
id: 200201,
|
|
75
|
+
name: 'Zoo Testnet',
|
|
76
|
+
nativeCurrency: {
|
|
77
|
+
name: 'ZOO',
|
|
78
|
+
symbol: 'ZOO',
|
|
79
|
+
decimals: 18,
|
|
80
|
+
},
|
|
81
|
+
rpcUrls: {
|
|
82
|
+
default: { http: ['https://api.zoo-test.network/rpc'] },
|
|
83
|
+
public: { http: ['https://api.zoo-test.network/rpc'] },
|
|
84
|
+
},
|
|
85
|
+
blockExplorers: {
|
|
86
|
+
default: { name: 'Zoo Testnet Explorer', url: 'https://explore.zoo-test.network' },
|
|
87
|
+
},
|
|
88
|
+
testnet: true,
|
|
89
|
+
});
|
|
90
|
+
/**
|
|
91
|
+
* Chain IDs
|
|
92
|
+
*/
|
|
93
|
+
export const LUX_MAINNET_ID = 96369;
|
|
94
|
+
export const LUX_TESTNET_ID = 96368;
|
|
95
|
+
export const ZOO_MAINNET_ID = 200200;
|
|
96
|
+
export const ZOO_TESTNET_ID = 200201;
|
|
97
|
+
/**
|
|
98
|
+
* All supported chains
|
|
99
|
+
*/
|
|
100
|
+
export const supportedChains = [
|
|
101
|
+
luxMainnet,
|
|
102
|
+
luxTestnet,
|
|
103
|
+
zooMainnet,
|
|
104
|
+
zooTestnet,
|
|
105
|
+
];
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
/**
|
|
3
|
+
* Contract addresses for Lux Mainnet (96369)
|
|
4
|
+
*/
|
|
5
|
+
export declare const LUX_MAINNET_CONTRACTS: {
|
|
6
|
+
readonly WLUX: Address;
|
|
7
|
+
readonly MULTICALL: Address;
|
|
8
|
+
readonly LETH: Address;
|
|
9
|
+
readonly LBTC: Address;
|
|
10
|
+
readonly LUSD: Address;
|
|
11
|
+
readonly V2_FACTORY: Address;
|
|
12
|
+
readonly V2_ROUTER: Address;
|
|
13
|
+
readonly V3_FACTORY: Address;
|
|
14
|
+
readonly V3_SWAP_ROUTER: Address;
|
|
15
|
+
readonly V3_SWAP_ROUTER_02: Address;
|
|
16
|
+
readonly V3_QUOTER: Address;
|
|
17
|
+
readonly V3_QUOTER_V2: Address;
|
|
18
|
+
readonly V3_TICK_LENS: Address;
|
|
19
|
+
readonly V3_NFT_POSITION_MANAGER: Address;
|
|
20
|
+
readonly V3_NFT_DESCRIPTOR: Address;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Contract addresses for Lux Testnet (96368)
|
|
24
|
+
*/
|
|
25
|
+
export declare const LUX_TESTNET_CONTRACTS: {
|
|
26
|
+
readonly WLUX: Address;
|
|
27
|
+
readonly WETH: Address;
|
|
28
|
+
readonly MULTICALL: Address;
|
|
29
|
+
readonly V2_FACTORY: Address;
|
|
30
|
+
readonly V2_ROUTER: Address;
|
|
31
|
+
readonly V3_FACTORY: Address;
|
|
32
|
+
readonly V3_SWAP_ROUTER: Address;
|
|
33
|
+
readonly V3_SWAP_ROUTER_02: Address;
|
|
34
|
+
readonly V3_QUOTER: Address;
|
|
35
|
+
readonly V3_QUOTER_V2: Address;
|
|
36
|
+
readonly V3_TICK_LENS: Address;
|
|
37
|
+
readonly V3_NFT_POSITION_MANAGER: Address;
|
|
38
|
+
readonly V3_NFT_DESCRIPTOR: Address;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* DEX Precompile addresses (native AMM)
|
|
42
|
+
* These provide sub-microsecond execution
|
|
43
|
+
*/
|
|
44
|
+
export declare const DEX_PRECOMPILES: {
|
|
45
|
+
readonly POOL_MANAGER: Address;
|
|
46
|
+
readonly SWAP_ROUTER: Address;
|
|
47
|
+
readonly HOOKS_REGISTRY: Address;
|
|
48
|
+
readonly FLASH_LOAN: Address;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Get contracts for a specific chain
|
|
52
|
+
*/
|
|
53
|
+
export declare function getContracts(chainId: number): {
|
|
54
|
+
readonly WLUX: Address;
|
|
55
|
+
readonly MULTICALL: Address;
|
|
56
|
+
readonly LETH: Address;
|
|
57
|
+
readonly LBTC: Address;
|
|
58
|
+
readonly LUSD: Address;
|
|
59
|
+
readonly V2_FACTORY: Address;
|
|
60
|
+
readonly V2_ROUTER: Address;
|
|
61
|
+
readonly V3_FACTORY: Address;
|
|
62
|
+
readonly V3_SWAP_ROUTER: Address;
|
|
63
|
+
readonly V3_SWAP_ROUTER_02: Address;
|
|
64
|
+
readonly V3_QUOTER: Address;
|
|
65
|
+
readonly V3_QUOTER_V2: Address;
|
|
66
|
+
readonly V3_TICK_LENS: Address;
|
|
67
|
+
readonly V3_NFT_POSITION_MANAGER: Address;
|
|
68
|
+
readonly V3_NFT_DESCRIPTOR: Address;
|
|
69
|
+
} | {
|
|
70
|
+
readonly WLUX: Address;
|
|
71
|
+
readonly WETH: Address;
|
|
72
|
+
readonly MULTICALL: Address;
|
|
73
|
+
readonly V2_FACTORY: Address;
|
|
74
|
+
readonly V2_ROUTER: Address;
|
|
75
|
+
readonly V3_FACTORY: Address;
|
|
76
|
+
readonly V3_SWAP_ROUTER: Address;
|
|
77
|
+
readonly V3_SWAP_ROUTER_02: Address;
|
|
78
|
+
readonly V3_QUOTER: Address;
|
|
79
|
+
readonly V3_QUOTER_V2: Address;
|
|
80
|
+
readonly V3_TICK_LENS: Address;
|
|
81
|
+
readonly V3_NFT_POSITION_MANAGER: Address;
|
|
82
|
+
readonly V3_NFT_DESCRIPTOR: Address;
|
|
83
|
+
};
|
|
84
|
+
export type ContractAddresses = typeof LUX_MAINNET_CONTRACTS;
|
|
85
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,qBAAqB;mBAEsB,OAAO;wBACF,OAAO;mBAGZ,OAAO;mBACP,OAAO;mBACP,OAAO;yBAGD,OAAO;wBACR,OAAO;yBAGN,OAAO;6BACH,OAAO;gCACJ,OAAO;wBACf,OAAO;2BACJ,OAAO;2BACP,OAAO;sCACI,OAAO;gCACb,OAAO;CAClE,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,qBAAqB;mBAEsB,OAAO;mBACP,OAAO;wBACF,OAAO;yBAGN,OAAO;wBACR,OAAO;yBAGN,OAAO;6BACH,OAAO;gCACJ,OAAO;wBACf,OAAO;2BACJ,OAAO;2BACP,OAAO;sCACI,OAAO;gCACb,OAAO;CAClE,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,eAAe;2BACoC,OAAO;0BACR,OAAO;6BACJ,OAAO;yBACX,OAAO;CAC3D,CAAA;AAEV;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM;mBA7DY,OAAO;wBACF,OAAO;mBAGZ,OAAO;mBACP,OAAO;mBACP,OAAO;yBAGD,OAAO;wBACR,OAAO;yBAGN,OAAO;6BACH,OAAO;gCACJ,OAAO;wBACf,OAAO;2BACJ,OAAO;2BACP,OAAO;sCACI,OAAO;gCACb,OAAO;;mBAQpB,OAAO;mBACP,OAAO;wBACF,OAAO;yBAGN,OAAO;wBACR,OAAO;yBAGN,OAAO;6BACH,OAAO;gCACJ,OAAO;wBACf,OAAO;2BACJ,OAAO;2BACP,OAAO;sCACI,OAAO;gCACb,OAAO;EA0B3E;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,qBAAqB,CAAA"}
|