@the_library/network-config 0.0.0-stage → 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/dist/index.cjs +556 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +380 -0
- package/dist/index.d.ts +380 -0
- package/dist/index.js +505 -0
- package/dist/index.js.map +1 -0
- package/package.json +30 -4
- package/README.md +0 -3
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
|
+
APPLICATION_ENVIRONMENTS: () => APPLICATION_ENVIRONMENTS,
|
|
24
|
+
BACKEND_ENVIRONMENTS: () => BACKEND_ENVIRONMENTS,
|
|
25
|
+
BRAND_LOGOS: () => BRAND_LOGOS,
|
|
26
|
+
CANONICAL: () => CANONICAL,
|
|
27
|
+
CANONICAL_CHAIN_IDS: () => CANONICAL_CHAIN_IDS,
|
|
28
|
+
DEFAULT_CHAIN_ID: () => DEFAULT_CHAIN_ID,
|
|
29
|
+
DEFAULT_DEV_CHAIN_ID: () => DEFAULT_DEV_CHAIN_ID,
|
|
30
|
+
DEFAULT_STAGING_CHAIN_ID: () => DEFAULT_STAGING_CHAIN_ID,
|
|
31
|
+
EVM_CHAINS: () => EVM_CHAINS,
|
|
32
|
+
MEMBERSHIP_TIERS: () => MEMBERSHIP_TIERS,
|
|
33
|
+
NETWORKS: () => NETWORKS,
|
|
34
|
+
SITE_CONTACTS: () => SITE_CONTACTS,
|
|
35
|
+
STRIPE_ENVIRONMENTS: () => STRIPE_ENVIRONMENTS,
|
|
36
|
+
ShortNames: () => ShortNames,
|
|
37
|
+
getApplicationEnvironmentConfig: () => getApplicationEnvironmentConfig,
|
|
38
|
+
getBackendConfig: () => getBackendConfig,
|
|
39
|
+
getCanonicalChainId: () => getCanonicalChainId,
|
|
40
|
+
getCanonicalRole: () => getCanonicalRole,
|
|
41
|
+
getCanonicalTarget: () => getCanonicalTarget,
|
|
42
|
+
getChain: () => getChain,
|
|
43
|
+
getDeploymentEnvironment: () => getDeploymentEnvironment,
|
|
44
|
+
getSiteContact: () => getSiteContact,
|
|
45
|
+
getStripeConfig: () => getStripeConfig,
|
|
46
|
+
isChainDeployedForRole: () => isChainDeployedForRole,
|
|
47
|
+
resolveApplicationEnvironment: () => resolveApplicationEnvironment
|
|
48
|
+
});
|
|
49
|
+
module.exports = __toCommonJS(src_exports);
|
|
50
|
+
|
|
51
|
+
// src/short-names.ts
|
|
52
|
+
var ShortNames = {
|
|
53
|
+
SONIC: "SONIC",
|
|
54
|
+
SONIC_BLAZE: "SONIC_BLAZE",
|
|
55
|
+
GNOSIS: "GNOSIS",
|
|
56
|
+
CHIADO: "CHIADO"
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
// src/networks.ts
|
|
60
|
+
var NETWORKS = {
|
|
61
|
+
[ShortNames.SONIC_BLAZE]: {
|
|
62
|
+
enabled: false,
|
|
63
|
+
chainId: 14601,
|
|
64
|
+
main: false,
|
|
65
|
+
symbol: "S",
|
|
66
|
+
shortName: "WATER",
|
|
67
|
+
// testnet shorthand
|
|
68
|
+
original: "Sonic TestNet",
|
|
69
|
+
faucet: "https://testnet.soniclabs.com/account",
|
|
70
|
+
faucetAmount: 1,
|
|
71
|
+
decimals: 18,
|
|
72
|
+
brand: "SONIC",
|
|
73
|
+
pyth: "0x2880aB155794e7179c9eE2e38200202908C17B43",
|
|
74
|
+
pythUsdPriceId: "0xf490b178d0c85683b7a0f2388b40af2e6f7c90cbe0f96b31f315f08d0e5a2d6d",
|
|
75
|
+
website: "https://soniclabs.com/",
|
|
76
|
+
rpc: "https://rpc.testnet.soniclabs.com/",
|
|
77
|
+
explorer: "https://testnet.sonicscan.org",
|
|
78
|
+
name: "Sonic Blaze",
|
|
79
|
+
memberFundingTarget: "1",
|
|
80
|
+
staffFundingTarget: "0.5",
|
|
81
|
+
verifyApi: { kind: "etherscan", url: "https://api.testnet.sonicscan.org/api" }
|
|
82
|
+
},
|
|
83
|
+
[ShortNames.SONIC]: {
|
|
84
|
+
enabled: false,
|
|
85
|
+
chainId: 146,
|
|
86
|
+
main: true,
|
|
87
|
+
symbol: "S",
|
|
88
|
+
shortName: "TREE",
|
|
89
|
+
// mainnet shorthand
|
|
90
|
+
original: "Sonic MainNet",
|
|
91
|
+
decimals: 18,
|
|
92
|
+
brand: "SONIC",
|
|
93
|
+
pyth: "0x2b9Bb0042dB2F30650d73BB83CBAE584807d2FE4",
|
|
94
|
+
pythUsdPriceId: "0xf490b178d0c85683b7a0f2388b40af2e6f7c90cbe0f96b31f315f08d0e5a2d6d",
|
|
95
|
+
website: "https://soniclabs.com/",
|
|
96
|
+
rpc: "https://rpc.soniclabs.com",
|
|
97
|
+
explorer: "https://sonicscan.org",
|
|
98
|
+
name: "Sonic",
|
|
99
|
+
// 1 S: one save() of ~25 new actions cost ~0.084 S at the 50 gwei base-fee floor.
|
|
100
|
+
memberFundingTarget: "1",
|
|
101
|
+
staffFundingTarget: "0.5",
|
|
102
|
+
verifyApi: { kind: "etherscan", url: "https://api.sonicscan.org/api" }
|
|
103
|
+
},
|
|
104
|
+
[ShortNames.GNOSIS]: {
|
|
105
|
+
enabled: true,
|
|
106
|
+
chainId: 100,
|
|
107
|
+
main: true,
|
|
108
|
+
symbol: "XDAI",
|
|
109
|
+
brand: "GNOSIS",
|
|
110
|
+
decimals: 18,
|
|
111
|
+
explorer: "https://gnosisscan.io",
|
|
112
|
+
name: "Gnosis",
|
|
113
|
+
original: "Gnosis Mainnet",
|
|
114
|
+
pyth: "",
|
|
115
|
+
pythUsdPriceId: "",
|
|
116
|
+
rpc: "https://rpc.gnosischain.com",
|
|
117
|
+
shortName: "TREE",
|
|
118
|
+
website: "https://www.gnosis.io/",
|
|
119
|
+
// ~29 saves of ~0.69M gas at a busy 1 gwei (suggested 2026-10-17 — confirm before launch).
|
|
120
|
+
memberFundingTarget: "0.02",
|
|
121
|
+
// The same 10M gas as Sonic's 0.5 S at its 50 gwei floor, at a busy 1 gwei (suggested).
|
|
122
|
+
staffFundingTarget: "0.01",
|
|
123
|
+
verifyApi: { kind: "blockscout", url: "https://gnosisscan.io/api" }
|
|
124
|
+
},
|
|
125
|
+
[ShortNames.CHIADO]: {
|
|
126
|
+
enabled: true,
|
|
127
|
+
chainId: 10200,
|
|
128
|
+
main: false,
|
|
129
|
+
symbol: "XDAI",
|
|
130
|
+
brand: "GNOSIS",
|
|
131
|
+
decimals: 18,
|
|
132
|
+
explorer: "https://gnosis-chiado.blockscout.com",
|
|
133
|
+
name: "Gnosis Chiado",
|
|
134
|
+
original: "Gnosis Chiado",
|
|
135
|
+
pyth: "",
|
|
136
|
+
pythUsdPriceId: "",
|
|
137
|
+
rpc: "https://rpc.chiadochain.net",
|
|
138
|
+
shortName: "WATER",
|
|
139
|
+
website: "https://www.gnosis.io/",
|
|
140
|
+
// Testnet: fees stay ~14 wei per gas and the faucet is small, so 0.0001 still covers
|
|
141
|
+
// thousands of saves (user's choice, 2026-10-18).
|
|
142
|
+
memberFundingTarget: "0.0001",
|
|
143
|
+
staffFundingTarget: "0.0001",
|
|
144
|
+
verifyApi: { kind: "blockscout", url: "https://gnosis-chiado.blockscout.com/api" }
|
|
145
|
+
}
|
|
146
|
+
//
|
|
147
|
+
// [ShortNames.tCORE2]: {
|
|
148
|
+
// enabled: false,
|
|
149
|
+
// chainId: 1114,
|
|
150
|
+
// main: false,
|
|
151
|
+
// symbol: 'tCORE2',
|
|
152
|
+
// shortName: 'SUN',
|
|
153
|
+
// original: 'Core Blockchain TestNet',
|
|
154
|
+
// faucet: 'https://scan.test2.btcs.network/faucet',
|
|
155
|
+
// faucetAmount: 1,
|
|
156
|
+
// decimals: 18,
|
|
157
|
+
// brand: 'CORE',
|
|
158
|
+
// pyth: '0x2880aB155794e7179c9eE2e38200202908C17B43',
|
|
159
|
+
// pythUsdPriceId: '0x9b4503710cc8c53f75c30e6e4fda1a7064680ef2e0ee97acd2e3a7c37b3c830c',
|
|
160
|
+
// website: 'https://coredao.org/',
|
|
161
|
+
// rpc: 'https://rpc.test2.btcs.network',
|
|
162
|
+
// explorer: 'https://scan.test2.btcs.network',
|
|
163
|
+
// name: 'Core Test',
|
|
164
|
+
// },
|
|
165
|
+
// [ShortNames.CORE]: {
|
|
166
|
+
// enabled: true,
|
|
167
|
+
// chainId: 1116,
|
|
168
|
+
// main: true,
|
|
169
|
+
// symbol: 'CORE',
|
|
170
|
+
// shortName: 'TREE',
|
|
171
|
+
// decimals: 18,
|
|
172
|
+
// brand: 'CORE',
|
|
173
|
+
// pyth: '0xA2aa501b19aff244D90cc15a4Cf739D2725B5729',
|
|
174
|
+
// pythUsdPriceId: '0x9b4503710cc8c53f75c30e6e4fda1a7064680ef2e0ee97acd2e3a7c37b3c830c',
|
|
175
|
+
// website: 'https://coredao.org/',
|
|
176
|
+
// rpc: 'https://rpc.coredao.org',
|
|
177
|
+
// explorer: 'https://scan.coredao.org',
|
|
178
|
+
// name: 'Main',
|
|
179
|
+
// original: 'Core Blockchain MainNet',
|
|
180
|
+
// },
|
|
181
|
+
};
|
|
182
|
+
var APPLICATION_ENVIRONMENTS = {
|
|
183
|
+
production: {
|
|
184
|
+
canonicalRole: "production",
|
|
185
|
+
networkKey: ShortNames.GNOSIS,
|
|
186
|
+
maintenanceMode: false,
|
|
187
|
+
apiUrl: "https://aj1bg165gc.execute-api.ap-southeast-2.amazonaws.com/prod"
|
|
188
|
+
},
|
|
189
|
+
staging: {
|
|
190
|
+
canonicalRole: "staging",
|
|
191
|
+
networkKey: ShortNames.CHIADO,
|
|
192
|
+
maintenanceMode: false,
|
|
193
|
+
apiUrl: "https://udpkacwxd0.execute-api.ap-southeast-2.amazonaws.com/prod"
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
function getApplicationEnvironmentConfig(environment) {
|
|
197
|
+
return APPLICATION_ENVIRONMENTS[environment];
|
|
198
|
+
}
|
|
199
|
+
function getCanonicalRole(environment) {
|
|
200
|
+
return getApplicationEnvironmentConfig(environment).canonicalRole;
|
|
201
|
+
}
|
|
202
|
+
function resolveApplicationEnvironment(mode, override) {
|
|
203
|
+
for (const candidate of [override, mode]) {
|
|
204
|
+
if (candidate === "production" || candidate === "staging") {
|
|
205
|
+
return candidate;
|
|
206
|
+
}
|
|
207
|
+
if (candidate === "development") return "staging";
|
|
208
|
+
}
|
|
209
|
+
return "staging";
|
|
210
|
+
}
|
|
211
|
+
var CANONICAL = {
|
|
212
|
+
production: APPLICATION_ENVIRONMENTS.production.networkKey,
|
|
213
|
+
staging: APPLICATION_ENVIRONMENTS.staging.networkKey
|
|
214
|
+
};
|
|
215
|
+
function getCanonicalTarget(environment) {
|
|
216
|
+
const applicationConfig = getApplicationEnvironmentConfig(environment);
|
|
217
|
+
const role = applicationConfig.canonicalRole;
|
|
218
|
+
const networkKey = applicationConfig.networkKey;
|
|
219
|
+
const network = NETWORKS[networkKey];
|
|
220
|
+
if (!network) throw new Error(`application environment ${environment} references unknown network "${networkKey}"`);
|
|
221
|
+
return { environment, role, networkKey, network, chainId: network.chainId };
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// src/media/sonic-logo.avif
|
|
225
|
+
var sonic_logo_default = "data:image/avif;base64,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";
|
|
226
|
+
|
|
227
|
+
// src/branding.ts
|
|
228
|
+
var BRAND_LOGOS = {
|
|
229
|
+
SONIC: sonic_logo_default
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
// src/sites.ts
|
|
233
|
+
var SITE_CONTACTS = {
|
|
234
|
+
"dsafe.us": { domain: "dsafe.us", websiteUrl: "https://dsafe.us", contactEmail: "hello@dsafe.us" },
|
|
235
|
+
"worldbibliotech.net": { domain: "worldbibliotech.net", websiteUrl: "https://worldbibliotech.net", contactEmail: "hello@worldbibliotech.net" },
|
|
236
|
+
"worldbibliotech.com": { domain: "worldbibliotech.com", websiteUrl: "https://worldbibliotech.com", contactEmail: "hello@worldbibliotech.com" },
|
|
237
|
+
"worldbibliotech.org": { domain: "worldbibliotech.org", websiteUrl: "https://worldbibliotech.org", contactEmail: "hello@worldbibliotech.org" },
|
|
238
|
+
"datapond.earth": { domain: "datapond.earth", websiteUrl: "https://datapond.earth", contactEmail: "data@datapond.earth" },
|
|
239
|
+
"pondenterprise.com": { domain: "pondenterprise.com", websiteUrl: "https://pondenterprise.com", contactEmail: "hello@pondenterprise.com" }
|
|
240
|
+
};
|
|
241
|
+
function getSiteContact(domainOrUrl) {
|
|
242
|
+
const host = domainOrUrl.trim().toLowerCase().replace(/^[a-z]+:\/\//, "").replace(/[/:?#].*$/, "").replace(/^www\./, "");
|
|
243
|
+
if (!Object.prototype.hasOwnProperty.call(SITE_CONTACTS, host)) {
|
|
244
|
+
throw new Error(`No site contact configured for "${domainOrUrl}". Add it to SITE_CONTACTS in @the_library/network-config (src/sites.ts).`);
|
|
245
|
+
}
|
|
246
|
+
return SITE_CONTACTS[host];
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// src/backend.ts
|
|
250
|
+
var BACKEND_ENVIRONMENTS = {
|
|
251
|
+
production: {
|
|
252
|
+
stage: "prod",
|
|
253
|
+
awsRegion: "ap-southeast-2",
|
|
254
|
+
secretId: "/prod/d-library/keys",
|
|
255
|
+
tables: {
|
|
256
|
+
paymentsLog: "BookCollective-Payments-Log",
|
|
257
|
+
loginRateLimit: "EmailRecoveryRequests",
|
|
258
|
+
emailRecovery: "BookCollective-EmailRecovery",
|
|
259
|
+
recoveryAnomalies: "anomalies",
|
|
260
|
+
trackerLeads: "PondEnterprise-AdLeads"
|
|
261
|
+
},
|
|
262
|
+
frontendUrl: "https://worldbibliotech.com"
|
|
263
|
+
},
|
|
264
|
+
staging: {
|
|
265
|
+
stage: "staging",
|
|
266
|
+
awsRegion: "ap-southeast-2",
|
|
267
|
+
secretId: "/staging/d-library/keys",
|
|
268
|
+
tables: {
|
|
269
|
+
paymentsLog: "BookCollective-Payments-Log-staging",
|
|
270
|
+
loginRateLimit: "EmailRecoveryRequests-staging",
|
|
271
|
+
emailRecovery: "BookCollective-EmailRecovery-staging",
|
|
272
|
+
recoveryAnomalies: "anomalies-staging",
|
|
273
|
+
trackerLeads: "PondEnterprise-AdLeads-staging"
|
|
274
|
+
},
|
|
275
|
+
// No hosted staging frontend: `pnpm run dev:staging` (Vite, :3000).
|
|
276
|
+
frontendUrl: "http://localhost:3000"
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
function getBackendConfig(environment) {
|
|
280
|
+
return BACKEND_ENVIRONMENTS[environment];
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
// src/stripe.ts
|
|
284
|
+
var MEMBERSHIP_TIERS = {
|
|
285
|
+
account: {
|
|
286
|
+
usd: 2,
|
|
287
|
+
votes: 0
|
|
288
|
+
},
|
|
289
|
+
supporter: {
|
|
290
|
+
usd: 10,
|
|
291
|
+
votes: 8
|
|
292
|
+
},
|
|
293
|
+
pioneer: {
|
|
294
|
+
usd: 20,
|
|
295
|
+
votes: 18
|
|
296
|
+
},
|
|
297
|
+
visionary: {
|
|
298
|
+
usd: 50,
|
|
299
|
+
votes: 48
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
var STRIPE_ENVIRONMENTS = {
|
|
303
|
+
production: {
|
|
304
|
+
enabled: true,
|
|
305
|
+
prices: {
|
|
306
|
+
memberAccount: "price_1UK1qXQeGVzwKmoGyaR44j8l",
|
|
307
|
+
voteCredit: "price_1UK2ZWQeGVzwKmoG5dgc3qrX"
|
|
308
|
+
},
|
|
309
|
+
paymentLinks: {
|
|
310
|
+
account: null,
|
|
311
|
+
supporter: null,
|
|
312
|
+
pioneer: null,
|
|
313
|
+
visionary: null
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
staging: {
|
|
317
|
+
enabled: true,
|
|
318
|
+
prices: {
|
|
319
|
+
memberAccount: "price_1UK1qXQeGVzwKmoGyaR44j8l",
|
|
320
|
+
voteCredit: "price_1UK2ZWQeGVzwKmoG5dgc3qrX"
|
|
321
|
+
},
|
|
322
|
+
paymentLinks: {
|
|
323
|
+
account: null,
|
|
324
|
+
supporter: null,
|
|
325
|
+
pioneer: null,
|
|
326
|
+
visionary: null
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
function getStripeConfig(environment) {
|
|
331
|
+
return STRIPE_ENVIRONMENTS[environment];
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
// src/deployments.generated.ts
|
|
335
|
+
var DEPLOYMENTS = {
|
|
336
|
+
"100": {
|
|
337
|
+
"deployed": true,
|
|
338
|
+
"stagingDeployed": true,
|
|
339
|
+
"addressRegistry": "0xC121FB1A294A52D4175E5D937A3e6D717B98FEc7",
|
|
340
|
+
"stagingAddressRegistry": "0xC121FB1A294A52D4175E5D937A3e6D717B98FEc7",
|
|
341
|
+
"factory": "0x938dcbA1aD805BE0e585f3b4d06cA210CeDE8629",
|
|
342
|
+
"stagingFactory": "0x938dcbA1aD805BE0e585f3b4d06cA210CeDE8629",
|
|
343
|
+
"backupStorage": "0x8f25eBA09b1188ae571DE3BA0fc62893c40C9B55",
|
|
344
|
+
"stagingBackupStorage": "0x8f25eBA09b1188ae571DE3BA0fc62893c40C9B55",
|
|
345
|
+
"bouncerStorage": "0x669766fD75368659B78e61BD82CB55405F3e7Aae",
|
|
346
|
+
"stagingBouncerStorage": "0x669766fD75368659B78e61BD82CB55405F3e7Aae",
|
|
347
|
+
"scientistStorage": "0x9cCdb8E4a979AeF7bd56d485aB2B7cA1404F25C5",
|
|
348
|
+
"stagingScientistStorage": "0x9cCdb8E4a979AeF7bd56d485aB2B7cA1404F25C5",
|
|
349
|
+
"projectManagerStorage": "0x83e1f5f0a799Bf154BF78e4a37CB66Dd1E1d7F2b",
|
|
350
|
+
"stagingProjectManagerStorage": "0x83e1f5f0a799Bf154BF78e4a37CB66Dd1E1d7F2b",
|
|
351
|
+
"subscriptionManager": "0xAc47559D305d2ACA094B51E879E25cbB3D9C3Ed8",
|
|
352
|
+
"stagingSubscriptionManager": "0xAc47559D305d2ACA094B51E879E25cbB3D9C3Ed8",
|
|
353
|
+
"libraryRegistryStorage": "0x8e613b6D564803a8Cdc71cB8CE7F3EB205981462",
|
|
354
|
+
"stagingLibraryRegistryStorage": "0x8e613b6D564803a8Cdc71cB8CE7F3EB205981462",
|
|
355
|
+
"publicLibraryStorage": "0x2647f241d8Fa1E3C11a8d424109aE9A8D9624e21",
|
|
356
|
+
"stagingPublicLibraryStorage": "0x2647f241d8Fa1E3C11a8d424109aE9A8D9624e21",
|
|
357
|
+
"dSafeHRStorage": "0x7d1437158aE169A1E5C4188872888d622Ef7F6FA",
|
|
358
|
+
"stagingDSafeHRStorage": "0x7d1437158aE169A1E5C4188872888d622Ef7F6FA",
|
|
359
|
+
"statsPivotStorage": "0x57778210bf8De1B24707874957eB6De5cbCEEcfA",
|
|
360
|
+
"stagingStatsPivotStorage": "0x57778210bf8De1B24707874957eB6De5cbCEEcfA",
|
|
361
|
+
"relationshipIndexerStorage": "0x4749aed97EDf0502D6416C1d71502001E153181a",
|
|
362
|
+
"stagingRelationshipIndexerStorage": "0x4749aed97EDf0502D6416C1d71502001E153181a",
|
|
363
|
+
"emailRecoveryManager": "0x3F18c8a9473097B2bF4aA3D0C3eD808AEDFd17A5",
|
|
364
|
+
"stagingEmailRecoveryManager": "0x3F18c8a9473097B2bF4aA3D0C3eD808AEDFd17A5",
|
|
365
|
+
"accountManager": "0xEBD7fC6BAfFBF97782CdDBaBB3564c996eE22ab7",
|
|
366
|
+
"stagingAccountManager": "0xEBD7fC6BAfFBF97782CdDBaBB3564c996eE22ab7"
|
|
367
|
+
},
|
|
368
|
+
"146": {
|
|
369
|
+
"deployed": true,
|
|
370
|
+
"stagingDeployed": true,
|
|
371
|
+
"addressRegistry": "0x96233a42a809ECDb14D3bd44b23a0e70F75E8519",
|
|
372
|
+
"stagingAddressRegistry": "0x96233a42a809ECDb14D3bd44b23a0e70F75E8519",
|
|
373
|
+
"factory": "0x98ed1705270730299079C5D9137416445FFAd7a7",
|
|
374
|
+
"stagingFactory": "0x98ed1705270730299079C5D9137416445FFAd7a7",
|
|
375
|
+
"backupStorage": "0xB936Cb4A1007Ee179f65C75eC62f986F040df913",
|
|
376
|
+
"stagingBackupStorage": "0xB936Cb4A1007Ee179f65C75eC62f986F040df913",
|
|
377
|
+
"bouncerStorage": "0xb2A80025fB10a1F238e72077cD3695AEFd3C9A03",
|
|
378
|
+
"stagingBouncerStorage": "0xb2A80025fB10a1F238e72077cD3695AEFd3C9A03",
|
|
379
|
+
"scientistStorage": "0x4689C7639c21cc615Fa92Cefa48ed0FFf130902C",
|
|
380
|
+
"stagingScientistStorage": "0x4689C7639c21cc615Fa92Cefa48ed0FFf130902C",
|
|
381
|
+
"projectManagerStorage": "0x82c9638AAF614070BA2427Af1691c38b8a973740",
|
|
382
|
+
"stagingProjectManagerStorage": "0x82c9638AAF614070BA2427Af1691c38b8a973740",
|
|
383
|
+
"subscriptionManager": "0x909B28aF430280C0D3b784EC14Df8fd22Db61066",
|
|
384
|
+
"stagingSubscriptionManager": "0x909B28aF430280C0D3b784EC14Df8fd22Db61066",
|
|
385
|
+
"libraryRegistryStorage": "0x40F33095Ac9fbf0c24bfE9642809E9A835978392",
|
|
386
|
+
"stagingLibraryRegistryStorage": "0x40F33095Ac9fbf0c24bfE9642809E9A835978392",
|
|
387
|
+
"publicLibraryStorage": "0x7fa224B1f0CFBA68701888C50Dc168A298792db8",
|
|
388
|
+
"stagingPublicLibraryStorage": "0x7fa224B1f0CFBA68701888C50Dc168A298792db8",
|
|
389
|
+
"dSafeHRStorage": "0xE4926FA79f41Ba0630d6734299F236b190387D2F",
|
|
390
|
+
"stagingDSafeHRStorage": "0xE4926FA79f41Ba0630d6734299F236b190387D2F",
|
|
391
|
+
"statsPivotStorage": "0x834a04670d8c343658Fe182710897fe306E955E4",
|
|
392
|
+
"stagingStatsPivotStorage": "0x834a04670d8c343658Fe182710897fe306E955E4",
|
|
393
|
+
"relationshipIndexerStorage": "0xEe52c2814A6a5F400ed8318752DF3CD37168c480",
|
|
394
|
+
"stagingRelationshipIndexerStorage": "0xEe52c2814A6a5F400ed8318752DF3CD37168c480",
|
|
395
|
+
"emailRecoveryManager": "0x4B7b5cDD0aCCad89931f3282Cd0FF73729221AC9",
|
|
396
|
+
"stagingEmailRecoveryManager": "0x4B7b5cDD0aCCad89931f3282Cd0FF73729221AC9",
|
|
397
|
+
"accountManager": "0xF62388AE786977B6F6113693eEFF1926596EF5Ac",
|
|
398
|
+
"stagingAccountManager": "0xF62388AE786977B6F6113693eEFF1926596EF5Ac"
|
|
399
|
+
},
|
|
400
|
+
"10200": {
|
|
401
|
+
"deployed": true,
|
|
402
|
+
"stagingDeployed": true,
|
|
403
|
+
"addressRegistry": "0x0bBe33489bF3d5b027851C2D488f70DcCf13733c",
|
|
404
|
+
"stagingAddressRegistry": "0x0bBe33489bF3d5b027851C2D488f70DcCf13733c",
|
|
405
|
+
"factory": "0x68A80A3422B21bCe61808CF1E3ED9601Ad958b09",
|
|
406
|
+
"stagingFactory": "0x68A80A3422B21bCe61808CF1E3ED9601Ad958b09",
|
|
407
|
+
"backupStorage": "0x9D3F50977b83f5795CC21c7C590a464be63686Cd",
|
|
408
|
+
"stagingBackupStorage": "0x9D3F50977b83f5795CC21c7C590a464be63686Cd",
|
|
409
|
+
"bouncerStorage": "0x45fA65bADC2d1185284614D61f99273Eea7A9510",
|
|
410
|
+
"stagingBouncerStorage": "0x45fA65bADC2d1185284614D61f99273Eea7A9510",
|
|
411
|
+
"scientistStorage": "0xa975e9C546BAd16fFFd7Aa2Fa659d8750aA69713",
|
|
412
|
+
"stagingScientistStorage": "0xa975e9C546BAd16fFFd7Aa2Fa659d8750aA69713",
|
|
413
|
+
"projectManagerStorage": "0xD12431217cd1F8b41f29C608400119F97c6d37F1",
|
|
414
|
+
"stagingProjectManagerStorage": "0xD12431217cd1F8b41f29C608400119F97c6d37F1",
|
|
415
|
+
"subscriptionManager": "0x65818AEF65a2475af09c4B2C7EeBE7c474877Adb",
|
|
416
|
+
"stagingSubscriptionManager": "0x65818AEF65a2475af09c4B2C7EeBE7c474877Adb",
|
|
417
|
+
"libraryRegistryStorage": "0x500d1e6b5B36D4cbc077684F32e98D0a0FFCF56E",
|
|
418
|
+
"stagingLibraryRegistryStorage": "0x500d1e6b5B36D4cbc077684F32e98D0a0FFCF56E",
|
|
419
|
+
"publicLibraryStorage": "0x5293599e4d67d4f18137FDc3818E1e7b7306C926",
|
|
420
|
+
"stagingPublicLibraryStorage": "0x5293599e4d67d4f18137FDc3818E1e7b7306C926",
|
|
421
|
+
"dSafeHRStorage": "0x8fdA91F4547227e50Ef448332fA8E1D5e01f0524",
|
|
422
|
+
"stagingDSafeHRStorage": "0x8fdA91F4547227e50Ef448332fA8E1D5e01f0524",
|
|
423
|
+
"statsPivotStorage": "0x7a4602175f6beA4393BF886037b36E2EeC261bcE",
|
|
424
|
+
"stagingStatsPivotStorage": "0x7a4602175f6beA4393BF886037b36E2EeC261bcE",
|
|
425
|
+
"relationshipIndexerStorage": "0xF9d92B41124F0bAB0Ea8334B258D3952bAdBC0a3",
|
|
426
|
+
"stagingRelationshipIndexerStorage": "0xF9d92B41124F0bAB0Ea8334B258D3952bAdBC0a3",
|
|
427
|
+
"emailRecoveryManager": "0x613DB14219Ea366041381C6cCF9c09968aD7F43E",
|
|
428
|
+
"stagingEmailRecoveryManager": "0x613DB14219Ea366041381C6cCF9c09968aD7F43E",
|
|
429
|
+
"accountManager": "0xc5e5EfAFBa46B0dBcF0c57ea63B3BD2d615E853c",
|
|
430
|
+
"stagingAccountManager": "0xc5e5EfAFBa46B0dBcF0c57ea63B3BD2d615E853c"
|
|
431
|
+
},
|
|
432
|
+
"14601": {
|
|
433
|
+
"deployed": true,
|
|
434
|
+
"stagingDeployed": true,
|
|
435
|
+
"addressRegistry": "0x9D53A99A60BaA5eEB071833bAE07058F5846D668",
|
|
436
|
+
"stagingAddressRegistry": "0x9D53A99A60BaA5eEB071833bAE07058F5846D668",
|
|
437
|
+
"factory": "0xdF29cBC8CDf9bf25c5a135011d89857F18b9C5E5",
|
|
438
|
+
"stagingFactory": "0xdF29cBC8CDf9bf25c5a135011d89857F18b9C5E5",
|
|
439
|
+
"backupStorage": "0x0998409E88362d76E6B703AfEE938C5fBa2196d8",
|
|
440
|
+
"stagingBackupStorage": "0x0998409E88362d76E6B703AfEE938C5fBa2196d8",
|
|
441
|
+
"bouncerStorage": "0xC947fe2638Db4fB3A0a6be8B8588571a1f874ADA",
|
|
442
|
+
"stagingBouncerStorage": "0xC947fe2638Db4fB3A0a6be8B8588571a1f874ADA",
|
|
443
|
+
"scientistStorage": "0x29215Aa0Fd5CF12EbCF77C0f754f4B2B9320f57e",
|
|
444
|
+
"stagingScientistStorage": "0x29215Aa0Fd5CF12EbCF77C0f754f4B2B9320f57e",
|
|
445
|
+
"projectManagerStorage": "0x3879c30284F4ddcBa634F1E8AE977420fc24c9Af",
|
|
446
|
+
"stagingProjectManagerStorage": "0x3879c30284F4ddcBa634F1E8AE977420fc24c9Af",
|
|
447
|
+
"subscriptionManager": "0xDcD683c8c774adBEc63e353182E6Feb172EFD4b6",
|
|
448
|
+
"stagingSubscriptionManager": "0xDcD683c8c774adBEc63e353182E6Feb172EFD4b6",
|
|
449
|
+
"libraryRegistryStorage": "0x4Cbc2AeE051680C40C3A97DA0BF3da0660Aa192c",
|
|
450
|
+
"stagingLibraryRegistryStorage": "0x4Cbc2AeE051680C40C3A97DA0BF3da0660Aa192c",
|
|
451
|
+
"publicLibraryStorage": "0x95Ad7E48123dFEc03E338617fc5747E646a177f7",
|
|
452
|
+
"stagingPublicLibraryStorage": "0x95Ad7E48123dFEc03E338617fc5747E646a177f7",
|
|
453
|
+
"dSafeHRStorage": "0x1Dd9B351F7Db00cdf1148343022B05e3D5b8578F",
|
|
454
|
+
"stagingDSafeHRStorage": "0x1Dd9B351F7Db00cdf1148343022B05e3D5b8578F",
|
|
455
|
+
"statsPivotStorage": "0xb01cE8E906BeCb24341d8Fe3EB5950826D96f7F8",
|
|
456
|
+
"stagingStatsPivotStorage": "0xb01cE8E906BeCb24341d8Fe3EB5950826D96f7F8",
|
|
457
|
+
"relationshipIndexerStorage": "0x29e4f99400Bc77CD4CaE155F355BbE8520eA2367",
|
|
458
|
+
"stagingRelationshipIndexerStorage": "0x29e4f99400Bc77CD4CaE155F355BbE8520eA2367",
|
|
459
|
+
"emailRecoveryManager": "0x5D9581b8867a71CDD34Fc5C4F90c8f92bAEd56D5",
|
|
460
|
+
"stagingEmailRecoveryManager": "0x5D9581b8867a71CDD34Fc5C4F90c8f92bAEd56D5",
|
|
461
|
+
"accountManager": "0xfc77749ED8794C5d9Cf7b73C506f94DC45C3e379",
|
|
462
|
+
"stagingAccountManager": "0xfc77749ED8794C5d9Cf7b73C506f94DC45C3e379"
|
|
463
|
+
}
|
|
464
|
+
};
|
|
465
|
+
|
|
466
|
+
// src/chains.ts
|
|
467
|
+
function toChainConfig(data) {
|
|
468
|
+
const price = data.pyth ? { pythOracle: data.pyth, usdPriceId: data.pythUsdPriceId || "" } : { stable: true };
|
|
469
|
+
const deployment = DEPLOYMENTS[data.chainId] || {};
|
|
470
|
+
const addresses = {};
|
|
471
|
+
for (const [field, value] of Object.entries(deployment)) {
|
|
472
|
+
if (field === "deployed" || field === "stagingDeployed") continue;
|
|
473
|
+
if (typeof value === "string") addresses[field] = value;
|
|
474
|
+
}
|
|
475
|
+
return {
|
|
476
|
+
chainId: data.chainId,
|
|
477
|
+
name: data.original,
|
|
478
|
+
symbol: data.symbol,
|
|
479
|
+
shortName: data.shortName,
|
|
480
|
+
decimals: data.decimals,
|
|
481
|
+
explorer: data.explorer,
|
|
482
|
+
rpc: data.rpc,
|
|
483
|
+
website: data.website,
|
|
484
|
+
main: data.main,
|
|
485
|
+
brand: data.brand,
|
|
486
|
+
// A brand without its own logo shows the production network's ('' if that has none either).
|
|
487
|
+
logo: BRAND_LOGOS[data.brand] ?? BRAND_LOGOS[NETWORKS[CANONICAL.production].brand] ?? "",
|
|
488
|
+
price,
|
|
489
|
+
memberFundingTarget: data.memberFundingTarget,
|
|
490
|
+
staffFundingTarget: data.staffFundingTarget,
|
|
491
|
+
deployed: deployment.deployed,
|
|
492
|
+
stagingDeployed: deployment.stagingDeployed,
|
|
493
|
+
addresses: Object.keys(addresses).length ? addresses : void 0
|
|
494
|
+
};
|
|
495
|
+
}
|
|
496
|
+
var EVM_CHAINS = Object.fromEntries(
|
|
497
|
+
Object.values(NETWORKS).map((data) => [data.chainId, toChainConfig(data)])
|
|
498
|
+
);
|
|
499
|
+
function getChain(chainId) {
|
|
500
|
+
const id = typeof chainId === "string" ? parseInt(chainId, 10) : chainId;
|
|
501
|
+
const chain = EVM_CHAINS[id];
|
|
502
|
+
if (!chain) throw new Error(`Chain ${chainId} not configured`);
|
|
503
|
+
return chain;
|
|
504
|
+
}
|
|
505
|
+
function getDeploymentEnvironment(chainId, environment) {
|
|
506
|
+
const chain = getChain(chainId);
|
|
507
|
+
const role = getCanonicalRole(environment);
|
|
508
|
+
const isCanonicalChain = getCanonicalTarget(environment).chainId === chain.chainId;
|
|
509
|
+
if (isCanonicalChain) return chain.main ? "production" : "staging";
|
|
510
|
+
return chain.main ? role : "staging";
|
|
511
|
+
}
|
|
512
|
+
function isChainDeployedForRole(chainId, environment) {
|
|
513
|
+
const chain = getChain(chainId);
|
|
514
|
+
return getDeploymentEnvironment(chain.chainId, environment) === "staging" ? chain.stagingDeployed === true : chain.deployed === true;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
// src/index.ts
|
|
518
|
+
function getCanonicalChainId(environment) {
|
|
519
|
+
return getCanonicalTarget(environment).chainId;
|
|
520
|
+
}
|
|
521
|
+
var CANONICAL_CHAIN_IDS = {
|
|
522
|
+
production: getCanonicalChainId("production"),
|
|
523
|
+
staging: getCanonicalChainId("staging")
|
|
524
|
+
};
|
|
525
|
+
var DEFAULT_CHAIN_ID = CANONICAL_CHAIN_IDS.production;
|
|
526
|
+
var DEFAULT_STAGING_CHAIN_ID = CANONICAL_CHAIN_IDS.staging;
|
|
527
|
+
var DEFAULT_DEV_CHAIN_ID = CANONICAL_CHAIN_IDS.staging;
|
|
528
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
529
|
+
0 && (module.exports = {
|
|
530
|
+
APPLICATION_ENVIRONMENTS,
|
|
531
|
+
BACKEND_ENVIRONMENTS,
|
|
532
|
+
BRAND_LOGOS,
|
|
533
|
+
CANONICAL,
|
|
534
|
+
CANONICAL_CHAIN_IDS,
|
|
535
|
+
DEFAULT_CHAIN_ID,
|
|
536
|
+
DEFAULT_DEV_CHAIN_ID,
|
|
537
|
+
DEFAULT_STAGING_CHAIN_ID,
|
|
538
|
+
EVM_CHAINS,
|
|
539
|
+
MEMBERSHIP_TIERS,
|
|
540
|
+
NETWORKS,
|
|
541
|
+
SITE_CONTACTS,
|
|
542
|
+
STRIPE_ENVIRONMENTS,
|
|
543
|
+
ShortNames,
|
|
544
|
+
getApplicationEnvironmentConfig,
|
|
545
|
+
getBackendConfig,
|
|
546
|
+
getCanonicalChainId,
|
|
547
|
+
getCanonicalRole,
|
|
548
|
+
getCanonicalTarget,
|
|
549
|
+
getChain,
|
|
550
|
+
getDeploymentEnvironment,
|
|
551
|
+
getSiteContact,
|
|
552
|
+
getStripeConfig,
|
|
553
|
+
isChainDeployedForRole,
|
|
554
|
+
resolveApplicationEnvironment
|
|
555
|
+
});
|
|
556
|
+
//# sourceMappingURL=index.cjs.map
|