@berachain/config 0.1.13 → 0.1.15-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bepolia.cjs +8 -1
- package/dist/bepolia.d.cts +4 -5
- package/dist/bepolia.d.ts +4 -5
- package/dist/bepolia.mjs +8 -1
- package/dist/chunk-2JZ7QJEW.cjs +84 -0
- package/dist/chunk-2XYRGOX3.mjs +64 -0
- package/dist/chunk-3K6IUX3G.mjs +25 -0
- package/dist/chunk-3XMRQ4AF.cjs +169 -0
- package/dist/chunk-6TL5ZQOM.cjs +75 -0
- package/dist/chunk-75ZPJI57.cjs +9 -0
- package/dist/chunk-7P6ASYW6.mjs +9 -0
- package/dist/chunk-ADH7F47T.cjs +26 -0
- package/dist/chunk-AMUU2OH4.cjs +158 -0
- package/dist/chunk-AP2XG6GJ.mjs +84 -0
- package/dist/chunk-BM46XQJA.mjs +55 -0
- package/dist/chunk-CAOMAWN5.mjs +26 -0
- package/dist/chunk-EYYJ2UZT.cjs +10 -0
- package/dist/chunk-JHPXZOPW.mjs +158 -0
- package/dist/chunk-JZA34W4G.cjs +138 -0
- package/dist/chunk-KJXYSGNH.mjs +10 -0
- package/dist/chunk-KYJQS3T5.mjs +138 -0
- package/dist/chunk-LALEUPWL.mjs +8 -0
- package/dist/chunk-NQ3UKQHW.mjs +75 -0
- package/dist/chunk-NX4FI7G3.cjs +64 -0
- package/dist/chunk-ONKAV4AG.cjs +25 -0
- package/dist/chunk-SWEAJ6OD.mjs +169 -0
- package/dist/chunk-WRTYGXJM.cjs +55 -0
- package/dist/chunk-YT7WZDGI.cjs +8 -0
- package/dist/index.cjs +11 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +11 -1
- package/dist/internal/edge-config/index.cjs +37 -1
- package/dist/internal/edge-config/index.d.cts +1 -1
- package/dist/internal/edge-config/index.d.ts +1 -1
- package/dist/internal/edge-config/index.mjs +37 -1
- package/dist/internal/flags/index.cjs +206 -1
- package/dist/internal/flags/index.d.cts +3 -1
- package/dist/internal/flags/index.d.ts +3 -1
- package/dist/internal/flags/index.mjs +206 -1
- package/dist/internal/header-sources.cjs +283 -11
- package/dist/internal/header-sources.mjs +283 -11
- package/dist/internal/index.cjs +40 -1
- package/dist/internal/index.d.cts +14 -18
- package/dist/internal/index.d.ts +14 -18
- package/dist/internal/index.mjs +40 -1
- package/dist/internal/maintenance.cjs +26 -1
- package/dist/internal/maintenance.mjs +26 -1
- package/dist/internal/nextjs/index.cjs +85 -1
- package/dist/internal/nextjs/index.d.cts +1 -1
- package/dist/internal/nextjs/index.d.ts +1 -1
- package/dist/internal/nextjs/index.mjs +85 -1
- package/dist/internal/nextjs/utils/index.cjs +39 -1
- package/dist/internal/nextjs/utils/index.mjs +39 -1
- package/dist/internal/sentry/index.cjs +11 -1
- package/dist/internal/sentry/index.mjs +11 -1
- package/dist/internal/sentry/sentry.client.config.cjs +59 -1
- package/dist/internal/sentry/sentry.client.config.mjs +59 -1
- package/dist/internal/tailwind/index.cjs +239 -1
- package/dist/internal/tailwind/index.mjs +239 -1
- package/dist/internal/tsup/index.cjs +73 -1
- package/dist/internal/tsup/index.mjs +73 -1
- package/dist/internal/wagmi/index.cjs +60 -1
- package/dist/internal/wagmi/index.mjs +60 -1
- package/dist/mainnet.cjs +10 -1
- package/dist/mainnet.d.cts +4 -5
- package/dist/mainnet.d.ts +4 -5
- package/dist/mainnet.mjs +10 -1
- package/dist/sentry.edge.config-F4334LEP.cjs +24 -0
- package/dist/sentry.edge.config-JU55FF2U.mjs +24 -0
- package/dist/sentry.server.config-KFRT37Q3.cjs +24 -0
- package/dist/sentry.server.config-M77KFJ6J.mjs +24 -0
- package/dist/{types-MT3NuQb7.d.cts → types-ClIxAUdh.d.cts} +0 -5
- package/dist/{types-MT3NuQb7.d.ts → types-ClIxAUdh.d.ts} +0 -5
- package/package.json +2 -2
- package/dist/chunk-276AZYTL.cjs +0 -1
- package/dist/chunk-2OLL4MUY.cjs +0 -1
- package/dist/chunk-3KQLFIHT.cjs +0 -2
- package/dist/chunk-3WZ7JUD6.cjs +0 -1
- package/dist/chunk-4EBBM3AH.mjs +0 -1
- package/dist/chunk-4VDLQK6F.cjs +0 -1
- package/dist/chunk-7BJPOGJ3.cjs +0 -1
- package/dist/chunk-DL645PXT.mjs +0 -1
- package/dist/chunk-DUO7UEQD.cjs +0 -1
- package/dist/chunk-DVULZ7ID.cjs +0 -1
- package/dist/chunk-FVNATITS.mjs +0 -1
- package/dist/chunk-JW76KOHH.mjs +0 -1
- package/dist/chunk-JYSZ2GU3.cjs +0 -1
- package/dist/chunk-JZXLCA2E.mjs +0 -1
- package/dist/chunk-MS6UGFXI.mjs +0 -1
- package/dist/chunk-O243TIHY.mjs +0 -1
- package/dist/chunk-S2A3Z34I.mjs +0 -2
- package/dist/chunk-SU5YRBAA.mjs +0 -1
- package/dist/chunk-TQ67UFXV.cjs +0 -1
- package/dist/chunk-VWV244JK.mjs +0 -1
- package/dist/chunk-XBV7BAIE.cjs +0 -1
- package/dist/chunk-XO2H4NRK.mjs +0 -1
- package/dist/chunk-YQK5O5ZL.cjs +0 -1
- package/dist/chunk-ZA2X4K7Z.mjs +0 -1
- package/dist/sentry.edge.config-DS2KE3CX.cjs +0 -1
- package/dist/sentry.edge.config-OEQTPQ2L.mjs +0 -1
- package/dist/sentry.server.config-KRS7OUMO.mjs +0 -1
- package/dist/sentry.server.config-RNY6FTJT.cjs +0 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import {
|
|
2
|
+
bepolia
|
|
3
|
+
} from "./chunk-SWEAJ6OD.mjs";
|
|
4
|
+
import {
|
|
5
|
+
mainnet
|
|
6
|
+
} from "./chunk-JHPXZOPW.mjs";
|
|
7
|
+
import {
|
|
8
|
+
defaultChainId,
|
|
9
|
+
isLocalHost,
|
|
10
|
+
isPreview,
|
|
11
|
+
isProduction,
|
|
12
|
+
isStaging
|
|
13
|
+
} from "./chunk-CAOMAWN5.mjs";
|
|
14
|
+
|
|
15
|
+
// src/internal/index.ts
|
|
16
|
+
var chainConfigs = {
|
|
17
|
+
[80094 /* MAINNET */]: mainnet,
|
|
18
|
+
[80069 /* BEPOLIA */]: bepolia
|
|
19
|
+
};
|
|
20
|
+
var chainConfig = chainConfigs[defaultChainId];
|
|
21
|
+
var posthogDataRegion = process.env.NEXT_PUBLIC_PH_DATA_CENTER ?? "eu";
|
|
22
|
+
var _appConfig = {
|
|
23
|
+
apiKeys: {
|
|
24
|
+
public: {
|
|
25
|
+
/**
|
|
26
|
+
* This is only going to work on whitelisted domains.
|
|
27
|
+
* Please create your own API key and add it to your .env.local file
|
|
28
|
+
*/
|
|
29
|
+
thirdweb: process.env.NEXT_PUBLIC_THIRDWEB_CLIENT_ID ?? "fc597da15a06f1a6b42fae42112dd770",
|
|
30
|
+
postHogProjectKey: "phc_waPF31wbuiBwbfIeiV0z3GPfg3KAHE1WPMk6UMn8Kax",
|
|
31
|
+
cookie3SiteId: process.env.NEXT_PUBLIC_COOKIE3_SITE_ID,
|
|
32
|
+
enso: process.env.NEXT_PUBLIC_ENSO_API_KEY ?? "3c1f3c7a-7ff7-4c5a-9a2b-79f50b5bfb4f"
|
|
33
|
+
},
|
|
34
|
+
private: {
|
|
35
|
+
/**
|
|
36
|
+
* This is a low-security API key that is used to access internal API endpoints that do not
|
|
37
|
+
* expose any sensitive information. It's just used to avoid public access to these endpoints.
|
|
38
|
+
*/
|
|
39
|
+
dummyInternalApiKey: process.env.DUMMY_INTERNAL_API_KEY,
|
|
40
|
+
/**
|
|
41
|
+
* API key for events on Luma.
|
|
42
|
+
*
|
|
43
|
+
* Used by ecosystem.berachain.com/events page
|
|
44
|
+
*/
|
|
45
|
+
luma: process.env.LUMA_API_KEY,
|
|
46
|
+
clickup: process.env.CLICKUP_API_KEY,
|
|
47
|
+
/**
|
|
48
|
+
* API key for Ghost content.
|
|
49
|
+
*
|
|
50
|
+
* Used by blog.berachain.com
|
|
51
|
+
*/
|
|
52
|
+
ghostContent: process.env.GHOST_CONTENT_API_KEY,
|
|
53
|
+
/**
|
|
54
|
+
* API key for Ghost admin.
|
|
55
|
+
*
|
|
56
|
+
* Used by blog.berachain.com
|
|
57
|
+
*/
|
|
58
|
+
ghostAdmin: process.env.GHOST_ADMIN_API_KEY,
|
|
59
|
+
oogabooga: process.env.OOGABOOGA_API_KEY,
|
|
60
|
+
haiku: process.env.HAIKU_API_KEY,
|
|
61
|
+
kyberswap: process.env.KYBERSWAP_CLIENT_ID,
|
|
62
|
+
enso: process.env.ENSO_API_KEY,
|
|
63
|
+
// Created with tim's email. 100rps, no CORS
|
|
64
|
+
etherscan: process.env.ETHERSCAN_API_KEY
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
urls: {
|
|
68
|
+
postHog: {
|
|
69
|
+
region: posthogDataRegion,
|
|
70
|
+
apiHost: process.env.NEXT_PUBLIC_PH_REVERSE_PROXY_PATH ?? `https://${posthogDataRegion}.i.posthog.com`,
|
|
71
|
+
uiHost: `https://${posthogDataRegion}.posthog.com`
|
|
72
|
+
},
|
|
73
|
+
ghost: "https://berachain.ghost.io",
|
|
74
|
+
imageDelivery: "https://imagedelivery.net/qNj7Q3MCke89zoKzav7eDQ",
|
|
75
|
+
homepage: process.env.NEXT_PUBLIC_HOMEPAGE_URL ?? "https://www.berachain.com",
|
|
76
|
+
ecosystem: "https://ecosystem.berachain.com/",
|
|
77
|
+
ecojobs: "https://ecojobs.berachain.com/",
|
|
78
|
+
docs: "https://docs.berachain.com",
|
|
79
|
+
careers: "https://careers.berachain.com/",
|
|
80
|
+
mediaKit: "https://drive.google.com/drive/folders/12t_a4Rci2txC3uVj9JyXXsSRCqWfd4GG/",
|
|
81
|
+
blog: "https://blog.berachain.com/",
|
|
82
|
+
news: "https://news.berachain.com/",
|
|
83
|
+
honeypaper: "https://honeypaper.berachain.com/",
|
|
84
|
+
airdrop: "https://airdrop.berachain.com/",
|
|
85
|
+
twitter: "https://x.com/berachain",
|
|
86
|
+
telegram: "https://t.me/BerachainPortal",
|
|
87
|
+
discord: "https://discord.com/invite/berachain",
|
|
88
|
+
github: "https://github.com/berachain",
|
|
89
|
+
buildabera: "https://buildabera.xyz/"
|
|
90
|
+
},
|
|
91
|
+
bend: {
|
|
92
|
+
/**
|
|
93
|
+
* Margin from max LTV where warning will be shown about liquidation risk.
|
|
94
|
+
* e.g. if max LTV is 0.8, warning will show at 0.75
|
|
95
|
+
*/
|
|
96
|
+
liquidationWarningLtvMargin: 0.05,
|
|
97
|
+
/**
|
|
98
|
+
* Safety margin subtracted from max LTV to determine borrow limit.
|
|
99
|
+
* e.g. if max LTV is 0.945, borrow limit will be 0.895
|
|
100
|
+
*/
|
|
101
|
+
maxBorrowLtvMargin: 0.05,
|
|
102
|
+
/**
|
|
103
|
+
* Target utilization rate for public allocator supply in WAD format (18 decimals).
|
|
104
|
+
* Set to 90% (0.9 * 1e18) to maintain healthy liquidity buffer.
|
|
105
|
+
*/
|
|
106
|
+
publicAllocatorSupplyTargetUtilizationWad: BigInt(9e17),
|
|
107
|
+
useProductionContracts: isProduction || process.env.NEXT_PUBLIC_BEND_USE_PRODUCTION_CONTRACTS === "true" || process.env.NODE_ENV === "test"
|
|
108
|
+
},
|
|
109
|
+
env: {
|
|
110
|
+
isProduction,
|
|
111
|
+
isLocalHost,
|
|
112
|
+
isPreview,
|
|
113
|
+
isStaging
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
var isAnalyticsEnabled = process.env.NODE_ENV !== "development" || process.env.NEXT_PUBLIC_DEVELOPMENT_ANALYTICS !== "0" && Boolean(process.env.NEXT_PUBLIC_DEVELOPMENT_ANALYTICS);
|
|
117
|
+
var flags = {
|
|
118
|
+
isPosthogEnabled: _appConfig.apiKeys.public.postHogProjectKey && isAnalyticsEnabled,
|
|
119
|
+
isCookie3Enabled: _appConfig.apiKeys.public.cookie3SiteId && isAnalyticsEnabled,
|
|
120
|
+
/**
|
|
121
|
+
* Disallow SEO indexing for non-mainnet deployments
|
|
122
|
+
*/
|
|
123
|
+
disallowIndexing: defaultChainId !== 80094 /* MAINNET */ && defaultChainId !== 80069 /* BEPOLIA */,
|
|
124
|
+
hideCurator: false
|
|
125
|
+
};
|
|
126
|
+
var appConfig = {
|
|
127
|
+
..._appConfig,
|
|
128
|
+
flags
|
|
129
|
+
};
|
|
130
|
+
var config = {
|
|
131
|
+
...chainConfig
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export {
|
|
135
|
+
chainConfigs,
|
|
136
|
+
appConfig,
|
|
137
|
+
config
|
|
138
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// src/internal/sentry/index.ts
|
|
2
|
+
import * as Sentry from "@sentry/nextjs";
|
|
3
|
+
async function registerSentry(opt = {}) {
|
|
4
|
+
if (process.env.NEXT_RUNTIME === "edge") {
|
|
5
|
+
const { initSentryEdge } = await import("./sentry.edge.config-JU55FF2U.mjs");
|
|
6
|
+
initSentryEdge(Sentry, opt);
|
|
7
|
+
} else if (process.env.NEXT_RUNTIME === "nodejs") {
|
|
8
|
+
const { initSentryServer } = await import("./sentry.server.config-M77KFJ6J.mjs");
|
|
9
|
+
initSentryServer(Sentry, opt);
|
|
10
|
+
} else {
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function withSentryConfig2(config) {
|
|
14
|
+
const _config = {
|
|
15
|
+
...config,
|
|
16
|
+
env: {
|
|
17
|
+
...config.env,
|
|
18
|
+
// This is needed for sentry to know the environment.
|
|
19
|
+
VERCEL_TARGET_ENV: process.env.VERCEL_TARGET_ENV
|
|
20
|
+
},
|
|
21
|
+
webpack: (wpConfig, args) => {
|
|
22
|
+
if (args.isServer && !args.dev && process.env.UPLOAD_SOURCEMAPS === "true") {
|
|
23
|
+
wpConfig.devtool = "source-map";
|
|
24
|
+
}
|
|
25
|
+
return config.webpack?.(wpConfig, args) ?? wpConfig;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
return Sentry.withSentryConfig(_config, {
|
|
29
|
+
// For all available options, see:
|
|
30
|
+
// https://github.com/getsentry/sentry-webpack-plugin#options
|
|
31
|
+
// Suppresses source map uploading logs during build
|
|
32
|
+
// silent: process.env.NODE_ENV === "development",
|
|
33
|
+
org: process.env.SENTRY_ORG,
|
|
34
|
+
project: process.env.SENTRY_PROJECT,
|
|
35
|
+
telemetry: false,
|
|
36
|
+
reactComponentAnnotation: {
|
|
37
|
+
enabled: process.env.UPLOAD_SOURCEMAPS === "true"
|
|
38
|
+
},
|
|
39
|
+
// For all available options, see:
|
|
40
|
+
// https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/
|
|
41
|
+
// Upload a larger set of source maps for prettier stack traces (increases build time)
|
|
42
|
+
widenClientFileUpload: process.env.UPLOAD_SOURCEMAPS === "true",
|
|
43
|
+
sourcemaps: {
|
|
44
|
+
disable: process.env.UPLOAD_SOURCEMAPS !== "true"
|
|
45
|
+
// deleteSourcemapsAfterUpload: true,
|
|
46
|
+
},
|
|
47
|
+
debug: process.env.UPLOAD_SOURCEMAPS === "true",
|
|
48
|
+
// sourcemaps: {
|
|
49
|
+
// disable: false,
|
|
50
|
+
// // disable: !["production", "staging"].includes(
|
|
51
|
+
// // process.env.VERCEL_TARGET_ENV ?? "",
|
|
52
|
+
// // ),
|
|
53
|
+
// assets,
|
|
54
|
+
// // deleteSourcemapsAfterUpload: true,
|
|
55
|
+
// },
|
|
56
|
+
// Routes browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers (increases server load)
|
|
57
|
+
tunnelRoute: "/monitoring-tunnel",
|
|
58
|
+
// Hides source maps from generated client bundles
|
|
59
|
+
// hideSourceMaps: true,
|
|
60
|
+
// Automatically tree-shake Sentry logger statements to reduce bundle size
|
|
61
|
+
// disableLogger: true,
|
|
62
|
+
// Enables automatic instrumentation of Vercel Cron Monitors.
|
|
63
|
+
// See the following for more information:
|
|
64
|
+
// https://docs.sentry.io/product/crons/
|
|
65
|
+
// https://vercel.com/docs/cron-jobs
|
|
66
|
+
automaticVercelMonitors: true
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
var onRequestError = Sentry.captureRequestError;
|
|
70
|
+
|
|
71
|
+
export {
|
|
72
|
+
registerSentry,
|
|
73
|
+
withSentryConfig2 as withSentryConfig,
|
|
74
|
+
onRequestError
|
|
75
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkADH7F47Tcjs = require('./chunk-ADH7F47T.cjs');
|
|
5
|
+
|
|
6
|
+
// src/internal/edge-config/isFlagEnabled.ts
|
|
7
|
+
function _checkChain(flag, chain, defaultReturn) {
|
|
8
|
+
if (_optionalChain([flag, 'access', _ => _.chain, 'optionalAccess', _2 => _2.length])) {
|
|
9
|
+
return flag.chain.includes(
|
|
10
|
+
chain === 80094 /* MAINNET */ ? "mainnet" : "bepolia"
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
return defaultReturn;
|
|
14
|
+
}
|
|
15
|
+
function _checkBranch(flag, _environment, defaultReturn) {
|
|
16
|
+
if (!_environment) {
|
|
17
|
+
return defaultReturn;
|
|
18
|
+
}
|
|
19
|
+
const environment = _environment === "development" ? "preview" : _environment;
|
|
20
|
+
if (_optionalChain([flag, 'access', _3 => _3.branch, 'optionalAccess', _4 => _4.length])) {
|
|
21
|
+
return flag.branch.includes(
|
|
22
|
+
environment
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
return defaultReturn;
|
|
26
|
+
}
|
|
27
|
+
function _checkAppName(flag, app, defaultReturn) {
|
|
28
|
+
if (_optionalChain([flag, 'access', _5 => _5.app, 'optionalAccess', _6 => _6.length]) && app) {
|
|
29
|
+
return flag.app.includes(app);
|
|
30
|
+
}
|
|
31
|
+
return defaultReturn;
|
|
32
|
+
}
|
|
33
|
+
function _checkTime(flag, key, defaultReturn) {
|
|
34
|
+
const time = flag[key];
|
|
35
|
+
if (!time) {
|
|
36
|
+
return defaultReturn;
|
|
37
|
+
}
|
|
38
|
+
if (key === "startAt") {
|
|
39
|
+
return time ? new Date(time) <= /* @__PURE__ */ new Date() : defaultReturn;
|
|
40
|
+
} else {
|
|
41
|
+
return time ? new Date(time) >= /* @__PURE__ */ new Date() : defaultReturn;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function isFlagEnabled(flag, {
|
|
45
|
+
chain = _chunkADH7F47Tcjs.defaultChainId,
|
|
46
|
+
environment = process.env.VERCEL_TARGET_ENV,
|
|
47
|
+
app = _chunkADH7F47Tcjs.currentDapp
|
|
48
|
+
} = {}) {
|
|
49
|
+
if (!flag) return false;
|
|
50
|
+
if (typeof flag === "boolean") {
|
|
51
|
+
return flag;
|
|
52
|
+
}
|
|
53
|
+
if (flag.condition === "OR") {
|
|
54
|
+
return _checkChain(flag, chain, false) || _checkBranch(flag, environment, false) || _checkAppName(flag, app, false) || // this condition is weird but it's consistent with the logic in the AND condition
|
|
55
|
+
// this means that if startAt is false, but endAt is true, the flag is enabled anyway
|
|
56
|
+
// we should prob consider a cleaner way to handle the OR condition in the future
|
|
57
|
+
_checkTime(flag, "startAt", false) || _checkTime(flag, "endAt", false);
|
|
58
|
+
}
|
|
59
|
+
return _checkChain(flag, chain, true) && _checkBranch(flag, environment, true) && _checkAppName(flag, app, true) && _checkTime(flag, "startAt", true) && _checkTime(flag, "endAt", true);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
exports.isFlagEnabled = isFlagEnabled;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkADH7F47Tcjs = require('./chunk-ADH7F47T.cjs');
|
|
6
|
+
|
|
7
|
+
// src/internal/sentry/sentryEnvironment.ts
|
|
8
|
+
var sentryEnvironment = _chunkADH7F47Tcjs.defaultChainId === 80094 /* MAINNET */ ? "mainnet-" : "bepolia-";
|
|
9
|
+
if (_chunkADH7F47Tcjs.isProduction) {
|
|
10
|
+
sentryEnvironment = exports.sentryEnvironment += "production";
|
|
11
|
+
} else if (_chunkADH7F47Tcjs.isLocalHost) {
|
|
12
|
+
sentryEnvironment = exports.sentryEnvironment += "development";
|
|
13
|
+
} else {
|
|
14
|
+
sentryEnvironment = exports.sentryEnvironment += "preview";
|
|
15
|
+
}
|
|
16
|
+
var tracesSampleRate = _chunkADH7F47Tcjs.isProduction ? 0.1 : 1;
|
|
17
|
+
var sentryRelease = process.env.VERCEL_GIT_COMMIT_SHA;
|
|
18
|
+
var sentryDebug = process.env.NEXT_PUBLIC_SENTRY_DEBUG === "true";
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
exports.sentryEnvironment = sentryEnvironment; exports.tracesSampleRate = tracesSampleRate; exports.sentryRelease = sentryRelease; exports.sentryDebug = sentryDebug;
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
// src/bepolia.ts
|
|
2
|
+
var bepolia = {
|
|
3
|
+
chainId: 80069 /* BEPOLIA */,
|
|
4
|
+
tokens: {
|
|
5
|
+
wbera: "0x6969696969696969696969696969696969696969",
|
|
6
|
+
swbera: "0x118D2cEeE9785eaf70C15Cd74CD84c9f8c3EeC9a",
|
|
7
|
+
bgt: "0x656b95E550C07a9ffe548bd4085c72418Ceb1dba",
|
|
8
|
+
wbtc: "0x",
|
|
9
|
+
weth: "0x"
|
|
10
|
+
},
|
|
11
|
+
depositContract: "0x4242424242424242424242424242424242424242",
|
|
12
|
+
pol: {
|
|
13
|
+
rewardVaultHelper: "0xEe233a69A36Db7fC10E03e921D90DEC52Cdce6e2",
|
|
14
|
+
beraChef: "0xdf960E8F3F19C481dDE769edEDD439ea1a63426a",
|
|
15
|
+
factory: "0x94Ad6Ac84f6C6FbA8b8CCbD71d9f4f101def52a8",
|
|
16
|
+
rewardAllocationFactory: "0x7f09Cf6958631513aF0400488F65c7B5c0313F52",
|
|
17
|
+
staker: "0x44F07Ce5AfeCbCC406e6beFD40cc2998eEb8c7C6",
|
|
18
|
+
// Same pattern as bend.whiskApi: non-public env values are only available server-side.
|
|
19
|
+
subgraph: {
|
|
20
|
+
name: "pol-subgraph",
|
|
21
|
+
uri: process.env.PRIVATE_80069_POL_SUBGRAPH_UPSTREAM ?? "https://api.subgraph.ormilabs.com/api/private/948207bc-bbb5-47e7-969a-06f9a6f35af3/subgraphs/pol-subgraph/bepolia-v1.7.3/gn",
|
|
22
|
+
headers: process.env.ORMI_API_KEY ? { Authorization: `Bearer ${process.env.ORMI_API_KEY}` } : void 0
|
|
23
|
+
},
|
|
24
|
+
bribeBoostApi: process.env.NEXT_PUBLIC_80069_INCENTIVES_API || "https://bepolia.api-claim.berachain.com",
|
|
25
|
+
bgtIncentiveDistributor: "0xb0d005Fe83E3F1ec876C1a64700c5F0d6265d9E3",
|
|
26
|
+
lstStakerVaultFactory: "0xAf10B532cCC25B26a8e28913D5C4056a77e7a178"
|
|
27
|
+
},
|
|
28
|
+
api: {
|
|
29
|
+
name: "Berachain API",
|
|
30
|
+
uri: process.env.PRIVATE_80069_BEX_API_URL ?? process.env.NEXT_PUBLIC_80069_BEX_API_URL ?? "https://bepolia-api.berachain.com",
|
|
31
|
+
headers: process.env.PRIVATE_80069_BEX_API_KEY ? {
|
|
32
|
+
"x-api-key": process.env.PRIVATE_80069_BEX_API_KEY
|
|
33
|
+
} : void 0
|
|
34
|
+
},
|
|
35
|
+
backend: {
|
|
36
|
+
name: "Berachain Backend",
|
|
37
|
+
uri: process.env.NEXT_PUBLIC_80069_BACKEND_API_URL ?? "https://backend-production-351b.up.railway.app"
|
|
38
|
+
},
|
|
39
|
+
bex: {
|
|
40
|
+
chainName: "BEPOLIA",
|
|
41
|
+
vault: "0x708cA656b68A6b7384a488A36aD33505a77241FE",
|
|
42
|
+
helper: "0xC7c981ADcDC5d48fed0CD52807fb2bAB22676C8f",
|
|
43
|
+
queries: "0xE3723383a0EA73D5c0dE424BAA97F97f86f6cF92",
|
|
44
|
+
relayer: "0x343215E156Ff586711a5B8C49Fe3099BAF22624C",
|
|
45
|
+
factories: {
|
|
46
|
+
composableStable: "0xB60DbBaCEaeC23486a64d12089F467ef949f1bb1",
|
|
47
|
+
weighted: "0xf1d23276C7b271B2aC595C78977b2312E9954D57"
|
|
48
|
+
},
|
|
49
|
+
poolCreationHelper: "0x0dC9964F6CA33d9EF38DEB4925234766127C6B36",
|
|
50
|
+
aggregatorsRouter: "0x0000000000000000000000000000000000000000",
|
|
51
|
+
aggregatorsRouterExecutor: "0x0000000000000000000000000000000000000000",
|
|
52
|
+
haikuRouter: null,
|
|
53
|
+
haikuAgentAddress: null,
|
|
54
|
+
aggregatorsProxyUrl: process.env.NEXT_PUBLIC_80069_AGGREGATORS_PROXY_URL ?? "",
|
|
55
|
+
recoverFundsApi: "https://t3stbe4i5d40p.testnet.berachain.com",
|
|
56
|
+
recoverFundsContract: "0x0eFeC4379805fAFA7269Ec599a6921f388C8841a",
|
|
57
|
+
balancerDelegatedOwnership: "0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b"
|
|
58
|
+
},
|
|
59
|
+
honey: {
|
|
60
|
+
name: "Honey",
|
|
61
|
+
url: "https://bepolia.honey.berachain.com",
|
|
62
|
+
// Same pattern as bend.whiskApi: non-public env values are only available server-side.
|
|
63
|
+
subgraph: {
|
|
64
|
+
name: "honey-subgraph",
|
|
65
|
+
uri: process.env.PRIVATE_80069_HONEY_SUBGRAPH_UPSTREAM ?? "https://api.subgraph.ormilabs.com/api/private/948207bc-bbb5-47e7-969a-06f9a6f35af3/subgraphs/honey-subgraph/bepolia-v1.2.1/gn",
|
|
66
|
+
headers: process.env.ORMI_API_KEY ? { Authorization: `Bearer ${process.env.ORMI_API_KEY}` } : void 0
|
|
67
|
+
},
|
|
68
|
+
factory: "0xA4aFef880F5cE1f63c9fb48F661E27F8B4216401",
|
|
69
|
+
pythOracle: "0x5CA67e134c52B1d11E038A5a4eD8Ddcdb1238943",
|
|
70
|
+
pythWrapper: "0xE5Ad9BA751714ec8cdd554b5a9f12BFcA13980cB",
|
|
71
|
+
reader: "0x285e147060CDc5ba902786d3A471224ee6cE0F91",
|
|
72
|
+
token: "0xFCBD14DC51f0A4d49d5E53C2E0950e0bC26d0Dce"
|
|
73
|
+
},
|
|
74
|
+
hub: {
|
|
75
|
+
name: "BeraHub",
|
|
76
|
+
url: "https://bepolia.hub.berachain.com"
|
|
77
|
+
},
|
|
78
|
+
governance: {
|
|
79
|
+
governor: process.env.NEXT_PUBLIC_80069_GOVERNANCE_ADDRESS ?? "0x4f4A5c2194B8e856b7a05B348F6ba3978FB6f6D5",
|
|
80
|
+
timelock: process.env.NEXT_PUBLIC_80069_GOVERNANCE_TIMELOCK ?? "0xb5f2000b5744f207c931526cAE2134cAa8b6862a"
|
|
81
|
+
},
|
|
82
|
+
lists: {
|
|
83
|
+
rewardVaultList: "https://raw.githubusercontent.com/berachain/metadata/refs/heads/main/src/vaults/bepolia.json",
|
|
84
|
+
tokenList: "https://raw.githubusercontent.com/berachain/metadata/refs/heads/main/src/tokens/bepolia.json",
|
|
85
|
+
validatorList: "https://raw.githubusercontent.com/berachain/metadata/refs/heads/main/src/validators/bepolia.json"
|
|
86
|
+
},
|
|
87
|
+
external: {
|
|
88
|
+
pyth: "0x2880aB155794e7179c9eE2e38200202908C17B43"
|
|
89
|
+
},
|
|
90
|
+
averageBlockTime: 2,
|
|
91
|
+
bridge: {
|
|
92
|
+
name: "BeraBridge",
|
|
93
|
+
url: "https://bepolia.bridge.berachain.com",
|
|
94
|
+
nft: {
|
|
95
|
+
name: "BeraBridge NFT",
|
|
96
|
+
url: "#",
|
|
97
|
+
eth: {
|
|
98
|
+
subgraph: "#"
|
|
99
|
+
},
|
|
100
|
+
berachain: {
|
|
101
|
+
subgraph: "#"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
bend: {
|
|
106
|
+
name: "Bend",
|
|
107
|
+
url: "https://bepolia.bend.berachain.com",
|
|
108
|
+
whiskApi: null,
|
|
109
|
+
production: {
|
|
110
|
+
morpho: null,
|
|
111
|
+
adaptiveCurveIrm: null,
|
|
112
|
+
metaMorphoFactory: null,
|
|
113
|
+
publicAllocator: null,
|
|
114
|
+
bundler3: null,
|
|
115
|
+
generalAdapter1: null,
|
|
116
|
+
supportedVaults: []
|
|
117
|
+
},
|
|
118
|
+
staging: {
|
|
119
|
+
morpho: null,
|
|
120
|
+
adaptiveCurveIrm: null,
|
|
121
|
+
metaMorphoFactory: null,
|
|
122
|
+
publicAllocator: null,
|
|
123
|
+
bundler3: null,
|
|
124
|
+
generalAdapter1: null,
|
|
125
|
+
supportedVaults: []
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
enso: {
|
|
129
|
+
walletV2Factory: null,
|
|
130
|
+
walletFlashloanAdapter: null
|
|
131
|
+
},
|
|
132
|
+
explore: {
|
|
133
|
+
name: "Explore",
|
|
134
|
+
url: "https://explore.berachain.com"
|
|
135
|
+
},
|
|
136
|
+
explorer: {
|
|
137
|
+
name: "Berascan",
|
|
138
|
+
url: "https://testnet.berascan.com"
|
|
139
|
+
},
|
|
140
|
+
chain: {
|
|
141
|
+
name: process.env.NEXT_PUBLIC_CHAIN_NAME ?? "Berachain Bepolia"
|
|
142
|
+
},
|
|
143
|
+
/**
|
|
144
|
+
* Public faucet configuration.
|
|
145
|
+
*
|
|
146
|
+
* Mainly used in static-monobera.
|
|
147
|
+
*/
|
|
148
|
+
faucet: {
|
|
149
|
+
name: "Faucet",
|
|
150
|
+
url: "https://bepolia.faucet.berachain.com",
|
|
151
|
+
/**
|
|
152
|
+
* Amount of BERA the user will receive when using the faucet
|
|
153
|
+
*/
|
|
154
|
+
dripAmount: 1,
|
|
155
|
+
/**
|
|
156
|
+
* Time in hours between each drip
|
|
157
|
+
*/
|
|
158
|
+
timeGap: 8,
|
|
159
|
+
cloudflareKey: process.env.CLOUDFLARE_KEY || "0x4AAAAAAARdAuciFArKhVwt",
|
|
160
|
+
/**
|
|
161
|
+
* API endpoint to send the request to the faucet
|
|
162
|
+
*/
|
|
163
|
+
endpoint: "https://faucet-api.testnet.berachain.com"
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export {
|
|
168
|
+
bepolia
|
|
169
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
|
+
|
|
3
|
+
var _chunkADH7F47Tcjs = require('./chunk-ADH7F47T.cjs');
|
|
4
|
+
|
|
5
|
+
// src/utils/env.ts
|
|
6
|
+
if (_chunkADH7F47Tcjs.defaultChainId !== 80094 /* MAINNET */ && _chunkADH7F47Tcjs.defaultChainId !== 80069 /* BEPOLIA */) {
|
|
7
|
+
throw new Error(`Invalid chainId: ${_chunkADH7F47Tcjs.defaultChainId}`);
|
|
8
|
+
}
|
|
9
|
+
var _defaultChainId = _chunkADH7F47Tcjs.defaultChainId;
|
|
10
|
+
var imageBaseUrl = "https://imagedelivery.net/qNj7Q3MCke89zoKzav7eDQ";
|
|
11
|
+
var goldskyBaseUrl = "https://api.goldsky.com/api/public/project_clq1h5ct0g4a201x18tfte5iv/subgraphs/";
|
|
12
|
+
function getRpcUrls(chainId = _defaultChainId) {
|
|
13
|
+
if (chainId === 80069 /* BEPOLIA */ && process.env.NEXT_PUBLIC_80069_ANVIL_RPC_URL || chainId === 80094 /* MAINNET */ && process.env.NEXT_PUBLIC_80094_ANVIL_RPC_URL) {
|
|
14
|
+
let anvilUrl = chainId === 80069 /* BEPOLIA */ ? process.env.NEXT_PUBLIC_80069_ANVIL_RPC_URL : process.env.NEXT_PUBLIC_80094_ANVIL_RPC_URL;
|
|
15
|
+
if (process.env.VITEST_WORKER_ID) {
|
|
16
|
+
anvilUrl = `${anvilUrl}/${_nullishCoalesce(process.env.VITEST_WORKER_ID, () => ( 1))}`;
|
|
17
|
+
} else {
|
|
18
|
+
console.log("Using anvil RPC for bepolia", anvilUrl);
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
publicJsonRpcUrl: anvilUrl,
|
|
22
|
+
jsonRpcUrl: anvilUrl,
|
|
23
|
+
alchemyJsonRpcUrl: void 0,
|
|
24
|
+
privateRcpUrl: void 0,
|
|
25
|
+
isAnvil: true
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
publicJsonRpcUrl: chainId === 80069 /* BEPOLIA */ ? _nullishCoalesce(process.env.NEXT_PUBLIC_80069_PUBLIC_JSON_RPC_URL, () => ( "https://bepolia.rpc.berachain.com")) : _nullishCoalesce(process.env.NEXT_PUBLIC_80094_PUBLIC_JSON_RPC_URL, () => ( "https://rpc.berachain.com")),
|
|
30
|
+
jsonRpcUrl: chainId === 80069 /* BEPOLIA */ ? _nullishCoalesce(process.env.NEXT_PUBLIC_80069_JSON_RPC_URL, () => ( "https://bepolia.rpc.berachain.com")) : _nullishCoalesce(process.env.NEXT_PUBLIC_80094_JSON_RPC_URL, () => ( "https://rpc.berachain.com")),
|
|
31
|
+
alchemyJsonRpcUrl: chainId === 80069 /* BEPOLIA */ ? process.env.NEXT_PUBLIC_80069_ALCHEMY_JSON_RPC_URL : process.env.NEXT_PUBLIC_80094_ALCHEMY_JSON_RPC_URL,
|
|
32
|
+
privateRcpUrl: chainId === 80069 /* BEPOLIA */ ? process.env.PRIVATE_80069_JSON_RPC_URL : process.env.PRIVATE_80094_JSON_RPC_URL,
|
|
33
|
+
isAnvil: false
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
var {
|
|
37
|
+
publicJsonRpcUrl,
|
|
38
|
+
jsonRpcUrl,
|
|
39
|
+
alchemyJsonRpcUrl,
|
|
40
|
+
/**
|
|
41
|
+
* Dedicated private RPC URL for server side with higher rate limits.
|
|
42
|
+
* Not available on client side.
|
|
43
|
+
*/
|
|
44
|
+
privateRcpUrl
|
|
45
|
+
} = getRpcUrls(_chunkADH7F47Tcjs.defaultChainId);
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
exports.imageBaseUrl = imageBaseUrl; exports.goldskyBaseUrl = goldskyBaseUrl; exports.getRpcUrls = getRpcUrls; exports.publicJsonRpcUrl = publicJsonRpcUrl; exports.jsonRpcUrl = jsonRpcUrl; exports.alchemyJsonRpcUrl = alchemyJsonRpcUrl; exports.privateRcpUrl = privateRcpUrl;
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1,11 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkYT7WZDGIcjs = require('./chunk-YT7WZDGI.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkEYYJ2UZTcjs = require('./chunk-EYYJ2UZT.cjs');
|
|
7
|
+
require('./chunk-75ZPJI57.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
exports.ChainId = _chunkEYYJ2UZTcjs.ChainId; exports.getUriFromLink = _chunkYT7WZDGIcjs.getUriFromLink;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { H as HttpLink } from './types-
|
|
2
|
-
export { A as Address, a as AppName, B as BeraConfig, C as ChainId, P as ProjectName } from './types-
|
|
1
|
+
import { H as HttpLink } from './types-ClIxAUdh.cjs';
|
|
2
|
+
export { A as Address, a as AppName, B as BeraConfig, C as ChainId, P as ProjectName } from './types-ClIxAUdh.cjs';
|
|
3
3
|
|
|
4
4
|
declare function getUriFromLink(link: HttpLink): string;
|
|
5
5
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { H as HttpLink } from './types-
|
|
2
|
-
export { A as Address, a as AppName, B as BeraConfig, C as ChainId, P as ProjectName } from './types-
|
|
1
|
+
import { H as HttpLink } from './types-ClIxAUdh.js';
|
|
2
|
+
export { A as Address, a as AppName, B as BeraConfig, C as ChainId, P as ProjectName } from './types-ClIxAUdh.js';
|
|
3
3
|
|
|
4
4
|
declare function getUriFromLink(link: HttpLink): string;
|
|
5
5
|
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
getUriFromLink
|
|
3
|
+
} from "./chunk-LALEUPWL.mjs";
|
|
4
|
+
import {
|
|
5
|
+
ChainId
|
|
6
|
+
} from "./chunk-KJXYSGNH.mjs";
|
|
7
|
+
import "./chunk-7P6ASYW6.mjs";
|
|
8
|
+
export {
|
|
9
|
+
ChainId,
|
|
10
|
+
getUriFromLink
|
|
11
|
+
};
|
|
@@ -1 +1,37 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
var _chunkNX4FI7G3cjs = require('../../chunk-NX4FI7G3.cjs');
|
|
4
|
+
require('../../chunk-ADH7F47T.cjs');
|
|
5
|
+
require('../../chunk-EYYJ2UZT.cjs');
|
|
6
|
+
require('../../chunk-75ZPJI57.cjs');
|
|
7
|
+
|
|
8
|
+
// src/internal/edge-config/safeGetAll.ts
|
|
9
|
+
var _edgeconfig = require('@vercel/edge-config');
|
|
10
|
+
async function safeGetAll({
|
|
11
|
+
onError
|
|
12
|
+
} = {}) {
|
|
13
|
+
try {
|
|
14
|
+
return await _edgeconfig.getAll.call(void 0, );
|
|
15
|
+
} catch (e) {
|
|
16
|
+
_optionalChain([onError, 'optionalCall', _ => _(e)]);
|
|
17
|
+
return void 0;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// src/internal/edge-config/safeGetConfig.ts
|
|
22
|
+
|
|
23
|
+
async function safeGetConfig(flagName, {
|
|
24
|
+
onError
|
|
25
|
+
} = {}) {
|
|
26
|
+
try {
|
|
27
|
+
return await _edgeconfig.get.call(void 0, flagName);
|
|
28
|
+
} catch (e) {
|
|
29
|
+
_optionalChain([onError, 'optionalCall', _2 => _2(e)]);
|
|
30
|
+
return void 0;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
exports.isFlagEnabled = _chunkNX4FI7G3cjs.isFlagEnabled; exports.safeGetAll = safeGetAll; exports.safeGetConfig = safeGetConfig;
|