@berachain/config 0.1.19 → 0.1.20-beta.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/bepolia.cjs +8 -1
- package/dist/bepolia.mjs +8 -1
- package/dist/chunk-2XYRGOX3.mjs +64 -0
- package/dist/chunk-3K6IUX3G.mjs +25 -0
- package/dist/chunk-4H4HDUCC.mjs +179 -0
- package/dist/chunk-4WAGOEXT.mjs +91 -0
- package/dist/chunk-6TL5ZQOM.cjs +75 -0
- package/dist/chunk-6YB3DKEA.mjs +169 -0
- package/dist/chunk-75ZPJI57.cjs +9 -0
- package/dist/chunk-7P6ASYW6.mjs +9 -0
- package/dist/chunk-7RKCKAAC.cjs +138 -0
- package/dist/chunk-ADH7F47T.cjs +26 -0
- package/dist/chunk-B3NSVIEM.mjs +138 -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-FNTZIXS7.cjs +179 -0
- package/dist/chunk-KJXYSGNH.mjs +10 -0
- package/dist/chunk-LALEUPWL.mjs +8 -0
- package/dist/chunk-NFEXQHYQ.cjs +169 -0
- package/dist/chunk-NQ3UKQHW.mjs +75 -0
- package/dist/chunk-NX4FI7G3.cjs +64 -0
- package/dist/chunk-OA5M6XYF.cjs +91 -0
- package/dist/chunk-ONKAV4AG.cjs +25 -0
- package/dist/chunk-WRTYGXJM.cjs +55 -0
- package/dist/chunk-YT7WZDGI.cjs +8 -0
- package/dist/index.cjs +11 -1
- package/dist/index.mjs +11 -1
- package/dist/internal/edge-config/index.cjs +37 -1
- package/dist/internal/edge-config/index.d.cts +46 -5
- package/dist/internal/edge-config/index.d.ts +46 -5
- package/dist/internal/edge-config/index.mjs +37 -1
- package/dist/internal/flags/index.cjs +206 -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.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.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 +67 -1
- package/dist/internal/sentry/sentry.client.config.mjs +67 -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.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/package.json +1 -1
- package/dist/chunk-276AZYTL.cjs +0 -1
- package/dist/chunk-2HIIMZE4.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-4EBC3WWP.mjs +0 -1
- package/dist/chunk-4VDLQK6F.cjs +0 -1
- package/dist/chunk-BWV5APOW.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-FZ23S6ID.mjs +0 -1
- package/dist/chunk-JYSZ2GU3.cjs +0 -1
- package/dist/chunk-JZXLCA2E.mjs +0 -1
- package/dist/chunk-LCQFSMRO.mjs +0 -1
- package/dist/chunk-MB5HZZ3S.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-S5CMEFTY.cjs +0 -1
- package/dist/chunk-VPOS7FPU.cjs +0 -1
- package/dist/chunk-XO2H4NRK.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,169 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
|
+
|
|
3
|
+
var _chunkWRTYGXJMcjs = require('./chunk-WRTYGXJM.cjs');
|
|
4
|
+
|
|
5
|
+
// src/mainnet.ts
|
|
6
|
+
var mainnet = {
|
|
7
|
+
chainId: 80094 /* MAINNET */,
|
|
8
|
+
tokens: {
|
|
9
|
+
wbera: "0x6969696969696969696969696969696969696969",
|
|
10
|
+
swbera: "0x118D2cEeE9785eaf70C15Cd74CD84c9f8c3EeC9a",
|
|
11
|
+
bgt: "0x656b95E550C07a9ffe548bd4085c72418Ceb1dba",
|
|
12
|
+
wbtc: "0x0555E30da8f98308EdB960aa94C0Db47230d2B9c",
|
|
13
|
+
weth: "0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590"
|
|
14
|
+
},
|
|
15
|
+
depositContract: "0x4242424242424242424242424242424242424242",
|
|
16
|
+
pol: {
|
|
17
|
+
rewardVaultHelper: "0xEe233a69A36Db7fC10E03e921D90DEC52Cdce6e2",
|
|
18
|
+
beraChef: "0xdf960E8F3F19C481dDE769edEDD439ea1a63426a",
|
|
19
|
+
rewardAllocationFactory: "0xc8FD9a3fB3Dad4C22c9F8Cfa7cecC318A667A791",
|
|
20
|
+
factory: "0x94Ad6Ac84f6C6FbA8b8CCbD71d9f4f101def52a8",
|
|
21
|
+
staker: "0x44F07Ce5AfeCbCC406e6beFD40cc2998eEb8c7C6",
|
|
22
|
+
// Same pattern as bend.whiskApi: non-public env values are only available server-side.
|
|
23
|
+
subgraph: {
|
|
24
|
+
name: "pol-subgraph",
|
|
25
|
+
uri: _nullishCoalesce(process.env.PRIVATE_80094_POL_SUBGRAPH_UPSTREAM, () => ( "https://api.subgraph.ormilabs.com/api/private/948207bc-bbb5-47e7-969a-06f9a6f35af3/subgraphs/pol-subgraph/mainnet-v1.7.3/gn")),
|
|
26
|
+
headers: process.env.ORMI_API_KEY ? { Authorization: `Bearer ${process.env.ORMI_API_KEY}` } : void 0
|
|
27
|
+
},
|
|
28
|
+
bribeBoostApi: process.env.NEXT_PUBLIC_80094_INCENTIVES_API || "https://api-claim.berachain.com",
|
|
29
|
+
supplyMonitor: {
|
|
30
|
+
name: "supply-monitor",
|
|
31
|
+
uri: _nullishCoalesce(process.env.NEXT_PUBLIC_SUPPLY_MONITOR_API, () => ( "https://supply-api.berachain.com"))
|
|
32
|
+
},
|
|
33
|
+
bgtIncentiveDistributor: "0x77DA09bC82652f9A14d1b170a001e759640298e6",
|
|
34
|
+
lstStakerVaultFactory: "0xc41bbD6695AB6bdc6D04701b15f4CE5EbA2e2500"
|
|
35
|
+
},
|
|
36
|
+
api: {
|
|
37
|
+
name: "Berachain API",
|
|
38
|
+
uri: _nullishCoalesce(_nullishCoalesce(process.env.PRIVATE_80094_BEX_API_URL, () => ( process.env.NEXT_PUBLIC_80094_BEX_API_URL)), () => ( "https://api.berachain.com")),
|
|
39
|
+
headers: process.env.PRIVATE_80094_BEX_API_KEY ? {
|
|
40
|
+
"x-api-key": process.env.PRIVATE_80094_BEX_API_KEY
|
|
41
|
+
} : void 0
|
|
42
|
+
},
|
|
43
|
+
backend: {
|
|
44
|
+
name: "Berachain Backend",
|
|
45
|
+
uri: _nullishCoalesce(process.env.NEXT_PUBLIC_80094_BACKEND_API_URL, () => ( "https://api-prod-ff16.up.railway.app"))
|
|
46
|
+
},
|
|
47
|
+
// No beep deployment on mainnet yet; falls back to the Railway `backend`.
|
|
48
|
+
beep: process.env.NEXT_PUBLIC_80094_BEEP_API_URL ? {
|
|
49
|
+
uri: process.env.NEXT_PUBLIC_80094_BEEP_API_URL || "https://beep.berachain.com",
|
|
50
|
+
name: "Berachain Beep"
|
|
51
|
+
} : null,
|
|
52
|
+
bex: {
|
|
53
|
+
chainName: "BERACHAIN",
|
|
54
|
+
vault: "0x4Be03f781C497A489E3cB0287833452cA9B9E80B",
|
|
55
|
+
helper: "0x5083737EC75a728c265BE578C9d0d5333a2c5951",
|
|
56
|
+
queries: "0x3C612e132624f4Bd500eE1495F54565F0bcc9b59",
|
|
57
|
+
relayer: "0x6044f181aB5E9C05A4ed9Ce295f3B178d2492EE7",
|
|
58
|
+
factories: {
|
|
59
|
+
composableStable: "0xDfA30BDa0375d4763711AB0CC8D91B20bfCC87E1",
|
|
60
|
+
weighted: "0xa966fA8F2d5B087FFFA499C0C1240589371Af409"
|
|
61
|
+
},
|
|
62
|
+
balancerDelegatedOwnership: "0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",
|
|
63
|
+
poolCreationHelper: "0x55dccE8165C88aAd4403a15A9cE3A8E244657dD2",
|
|
64
|
+
aggregatorsRouter: "0x1BDB1cf792419d2eaB5aBa8076B8f4257744fA58",
|
|
65
|
+
aggregatorsRouterExecutor: "0x4AD3c5A427Af60F8Dd982023aE012233A66CA1f8",
|
|
66
|
+
haikuRouter: "0x24aC999FF132B32c5b3956973b6213B0d07eB2C7",
|
|
67
|
+
haikuAgentAddress: "0x69495273D6Dc572A830A4D6e00400a1e9d5B8f71",
|
|
68
|
+
aggregatorsProxyUrl: _nullishCoalesce(process.env.NEXT_PUBLIC_80094_AGGREGATORS_PROXY_URL, () => ( "https://gateway.mainnet.berachain.com/proxy")),
|
|
69
|
+
recoverFundsApi: _nullishCoalesce(process.env.NEXT_PUBLIC_80094_RECOVER_FUNDS_API, () => ( "https://be4i5d40pr3f00n4c441n.mainnet.berachain.com")),
|
|
70
|
+
recoverFundsContract: _nullishCoalesce(process.env.NEXT_PUBLIC_80094_RECOVER_FUNDS_CONTRACT, () => ( "0xB5787B8f7b07a00229b617c4B7a616185857C147"))
|
|
71
|
+
},
|
|
72
|
+
honey: {
|
|
73
|
+
name: "Honey",
|
|
74
|
+
url: "https://honey.berachain.com",
|
|
75
|
+
// Same pattern as bend.whiskApi: non-public env values are only available server-side.
|
|
76
|
+
subgraph: {
|
|
77
|
+
name: "honey-subgraph",
|
|
78
|
+
uri: _nullishCoalesce(process.env.PRIVATE_80094_HONEY_SUBGRAPH_UPSTREAM, () => ( "https://api.subgraph.ormilabs.com/api/private/948207bc-bbb5-47e7-969a-06f9a6f35af3/subgraphs/honey-subgraph/mainnet-v1.2.1/gn")),
|
|
79
|
+
headers: process.env.ORMI_API_KEY ? { Authorization: `Bearer ${process.env.ORMI_API_KEY}` } : void 0
|
|
80
|
+
},
|
|
81
|
+
factory: "0xA4aFef880F5cE1f63c9fb48F661E27F8B4216401",
|
|
82
|
+
pythOracle: "0x5CA67e134c52B1d11E038A5a4eD8Ddcdb1238943",
|
|
83
|
+
pythWrapper: "0xF5686e448BE103beA465105bEb9d284a34ae7e95",
|
|
84
|
+
reader: "0x285e147060CDc5ba902786d3A471224ee6cE0F91",
|
|
85
|
+
token: "0xFCBD14DC51f0A4d49d5E53C2E0950e0bC26d0Dce"
|
|
86
|
+
},
|
|
87
|
+
hub: {
|
|
88
|
+
name: "BeraHub",
|
|
89
|
+
url: "https://hub.berachain.com"
|
|
90
|
+
},
|
|
91
|
+
governance: {
|
|
92
|
+
governor: "0x4f4A5c2194B8e856b7a05B348F6ba3978FB6f6D5",
|
|
93
|
+
timelock: "0xb5f2000b5744f207c931526cAE2134cAa8b6862a"
|
|
94
|
+
},
|
|
95
|
+
lists: {
|
|
96
|
+
rewardVaultList: "https://raw.githubusercontent.com/berachain/metadata/refs/heads/main/src/vaults/mainnet.json",
|
|
97
|
+
tokenList: "https://raw.githubusercontent.com/berachain/metadata/refs/heads/main/src/tokens/mainnet.json",
|
|
98
|
+
validatorList: "https://raw.githubusercontent.com/berachain/metadata/refs/heads/main/src/validators/mainnet.json"
|
|
99
|
+
},
|
|
100
|
+
external: {
|
|
101
|
+
pyth: "0x2880aB155794e7179c9eE2e38200202908C17B43"
|
|
102
|
+
},
|
|
103
|
+
averageBlockTime: 2,
|
|
104
|
+
bridge: {
|
|
105
|
+
name: "BeraBridge",
|
|
106
|
+
url: "https://bridge.berachain.com",
|
|
107
|
+
nft: {
|
|
108
|
+
name: "BeraBridge NFT",
|
|
109
|
+
url: "https://nftbridge.berachain.com",
|
|
110
|
+
eth: {
|
|
111
|
+
subgraph: `${_chunkWRTYGXJMcjs.goldskyBaseUrl}nft-bridge-subgraph/eth-v1.0.0-beta1/gn`
|
|
112
|
+
},
|
|
113
|
+
berachain: {
|
|
114
|
+
subgraph: `${_chunkWRTYGXJMcjs.goldskyBaseUrl}nft-bridge-subgraph/mainnet-v1.0.0-beta1/gn`
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
bend: {
|
|
119
|
+
name: "Bend",
|
|
120
|
+
url: "https://bend.berachain.com",
|
|
121
|
+
whiskApi: {
|
|
122
|
+
name: "Bend Whisk",
|
|
123
|
+
uri: _nullishCoalesce(process.env.WHISK_API_URL, () => ( "https://berachain.whisk.so/graphql")),
|
|
124
|
+
headers: process.env.WHISK_API_KEY ? {
|
|
125
|
+
Authorization: `Bearer ${process.env.WHISK_API_KEY}`
|
|
126
|
+
} : void 0
|
|
127
|
+
},
|
|
128
|
+
production: {
|
|
129
|
+
morpho: "0x24147243f9c08d835C218Cda1e135f8dFD0517D0",
|
|
130
|
+
adaptiveCurveIrm: "0xcf247Df3A2322Dea0D408f011c194906E77a6f62",
|
|
131
|
+
metaMorphoFactory: "0x5EDd48C6ACBd565Eeb31702FD9fa9Cbc86fbE616",
|
|
132
|
+
publicAllocator: "0xB62F34Ab315eaDeAc698e8EaEB6Fc2650951BFe7",
|
|
133
|
+
bundler3: "0xF920140A65D0f412f2AB3e76C4fEAB5Eef0657ae",
|
|
134
|
+
generalAdapter1: "0xd2B9667F5214115E27937C410cAeE83E3a901Df7",
|
|
135
|
+
supportedVaults: (_nullishCoalesce(process.env.NEXT_PUBLIC_80094_BEND_PRODUCTION_SUPPORTED_VAULTS, () => ( "0x30BbA9CD9Eb8c95824aa42Faa1Bb397b07545bc1,0xB5f473c4b7F402d8f7bED42b6D516f5ff3306B01"))).split(",").filter(Boolean),
|
|
136
|
+
curatorVaults: (_nullishCoalesce(process.env.NEXT_PUBLIC_80094_BEND_PRODUCTION_CURATOR_VAULTS, () => ( "0xB5f473c4b7F402d8f7bED42b6D516f5ff3306B01"))).split(",").filter(Boolean)
|
|
137
|
+
},
|
|
138
|
+
staging: {
|
|
139
|
+
morpho: "0xC5FabF3a7E98a2ed89f5d5057Ab010634Ca7e71f",
|
|
140
|
+
adaptiveCurveIrm: "0x1d5376e532CcF25b740270624111D665830E5dB9",
|
|
141
|
+
metaMorphoFactory: "0x524061B659380a5e4576d76F0951303B20B5932f",
|
|
142
|
+
publicAllocator: "0xFD6e68bC20be2a01Ec1Df687c83f927087D52811",
|
|
143
|
+
bundler3: "0x56811e1BFfF951B98c7940d3aCe0e549Ec4fDee8",
|
|
144
|
+
generalAdapter1: "0x257a41E20BBfe90D750646C2e00bA700D55958C5",
|
|
145
|
+
supportedVaults: (_nullishCoalesce(process.env.NEXT_PUBLIC_80094_BEND_STAGING_SUPPORTED_VAULTS, () => ( "0x19DcFf4e8Ff0B554D8a1f22d289A449fd4FbddBa,0xC0808A144CE2ea85bF84EBD1dDF5D59429f59dDE"))).split(",").filter(Boolean),
|
|
146
|
+
curatorVaults: (_nullishCoalesce(process.env.NEXT_PUBLIC_80094_BEND_STAGING_CURATOR_VAULTS, () => ( ""))).split(",").filter(Boolean)
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
enso: {
|
|
150
|
+
walletV2Factory: "0xc914a663837eb21c5a650716e015659686597e55",
|
|
151
|
+
walletFlashloanAdapter: "0x5dE09823D9143886896507107590d9859F3E390b"
|
|
152
|
+
},
|
|
153
|
+
explore: {
|
|
154
|
+
name: "Explore",
|
|
155
|
+
url: "https://explore.berachain.com"
|
|
156
|
+
},
|
|
157
|
+
explorer: {
|
|
158
|
+
name: "Berascan",
|
|
159
|
+
url: "https://berascan.com"
|
|
160
|
+
},
|
|
161
|
+
chain: {
|
|
162
|
+
name: _nullishCoalesce(process.env.NEXT_PUBLIC_CHAIN_NAME, () => ( "Berachain"))
|
|
163
|
+
},
|
|
164
|
+
faucet: null
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
exports.mainnet = mainnet;
|
|
@@ -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,91 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/internal/nextjs/const.ts
|
|
2
|
+
var IMAGE_REMOTE_PATTERNS = [
|
|
3
|
+
{
|
|
4
|
+
protocol: "https",
|
|
5
|
+
hostname: "cdn.morpho.org",
|
|
6
|
+
// bend
|
|
7
|
+
port: "",
|
|
8
|
+
pathname: "**"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
protocol: "https",
|
|
12
|
+
hostname: "raw.githubusercontent.com",
|
|
13
|
+
// bend
|
|
14
|
+
port: "",
|
|
15
|
+
pathname: "/trustwallet/assets/**"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
protocol: "https",
|
|
19
|
+
hostname: "static.debank.com",
|
|
20
|
+
// enso
|
|
21
|
+
port: "",
|
|
22
|
+
pathname: "/image/*/logo_url/**"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
protocol: "https",
|
|
26
|
+
hostname: "cdn.whisk.so",
|
|
27
|
+
// bend
|
|
28
|
+
port: "",
|
|
29
|
+
pathname: "**"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
protocol: "https",
|
|
33
|
+
hostname: "raw.githubusercontent.com",
|
|
34
|
+
port: "",
|
|
35
|
+
pathname: "/berachain/**"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
protocol: "https",
|
|
39
|
+
hostname: "assets.coingecko.com",
|
|
40
|
+
port: "",
|
|
41
|
+
pathname: "/coins/images/**"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
protocol: "https",
|
|
45
|
+
hostname: "coin-images.coingecko.com",
|
|
46
|
+
port: "",
|
|
47
|
+
pathname: "/coins/images/**"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
protocol: "https",
|
|
51
|
+
hostname: "beranames-assets-berachain.s3.eu-central-003.backblazeb2.com",
|
|
52
|
+
port: "",
|
|
53
|
+
pathname: "/**"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
protocol: "https",
|
|
57
|
+
hostname: "icons.llama.fi",
|
|
58
|
+
port: "",
|
|
59
|
+
pathname: "/**"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
protocol: "https",
|
|
63
|
+
hostname: "icons.llamao.fi",
|
|
64
|
+
port: "",
|
|
65
|
+
pathname: "/**"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
protocol: "https",
|
|
69
|
+
hostname: "coin-images.coingecko.com",
|
|
70
|
+
port: "",
|
|
71
|
+
pathname: "/asset_platforms/images/**"
|
|
72
|
+
},
|
|
73
|
+
// token logos on metadata repo are hosted here. We own the directory
|
|
74
|
+
{
|
|
75
|
+
protocol: "https",
|
|
76
|
+
hostname: "imagedelivery.net",
|
|
77
|
+
port: "",
|
|
78
|
+
pathname: "/qNj7Q3MCke89zoKzav7eDQ/**"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
protocol: "https",
|
|
82
|
+
hostname: "www.clearstar.xyz",
|
|
83
|
+
// bend curator logo
|
|
84
|
+
port: "",
|
|
85
|
+
pathname: "/logo.png"
|
|
86
|
+
}
|
|
87
|
+
];
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
exports.IMAGE_REMOTE_PATTERNS = IMAGE_REMOTE_PATTERNS;
|
|
@@ -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,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.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;
|
|
@@ -93,27 +93,68 @@ interface EdgeConfigSchema {
|
|
|
93
93
|
hoursToWarnInAdvance: number;
|
|
94
94
|
};
|
|
95
95
|
/**
|
|
96
|
-
* User-facing copy for the portfolio BGT
|
|
96
|
+
* User-facing copy for the portfolio PoL migration widget (BGT / Incentives / BGT derivatives tabs). Every field is optional; the app merges what's provided here over the in-code defaults, so a partial override leaves everything else intact.
|
|
97
97
|
*/
|
|
98
98
|
bgtMigrationWidget?: {
|
|
99
99
|
/**
|
|
100
|
-
*
|
|
100
|
+
* Always-visible widget header (e.g. 'PoL Migration').
|
|
101
|
+
*/
|
|
102
|
+
widgetTitle?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Header text shown once every tab is complete.
|
|
105
|
+
*/
|
|
106
|
+
completedTitle?: string;
|
|
107
|
+
/**
|
|
108
|
+
* Labels for the three migration tabs.
|
|
109
|
+
*/
|
|
110
|
+
tabs?: {
|
|
111
|
+
bgt?: string;
|
|
112
|
+
incentives?: string;
|
|
113
|
+
derivatives?: string;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* BGT tab heading.
|
|
101
117
|
*/
|
|
102
118
|
title?: string;
|
|
103
119
|
/**
|
|
104
|
-
*
|
|
120
|
+
* BGT tab sub-copy; each entry renders as its own paragraph.
|
|
105
121
|
*/
|
|
106
122
|
description?: string[];
|
|
107
123
|
/**
|
|
108
|
-
* Per-step copy. Each step id is optional; missing steps (and missing fields within a step) fall back to the in-code defaults. Unknown step ids are rejected so a typo cannot silently break a step's copy.
|
|
124
|
+
* Per-step copy for the BGT tab. Each step id is optional; missing steps (and missing fields within a step) fall back to the in-code defaults. Unknown step ids are rejected so a typo cannot silently break a step's copy.
|
|
109
125
|
*/
|
|
110
126
|
steps?: {
|
|
111
|
-
claimIncentives?: BgtMigrationStep;
|
|
112
127
|
claimFees?: BgtMigrationStep;
|
|
113
128
|
unboost?: BgtMigrationStep;
|
|
114
129
|
redeemBGT?: BgtMigrationStep;
|
|
115
130
|
stakeBERA?: BgtMigrationStep;
|
|
116
131
|
};
|
|
132
|
+
/**
|
|
133
|
+
* Copy for the Incentives tab.
|
|
134
|
+
*/
|
|
135
|
+
incentives?: {
|
|
136
|
+
title?: string;
|
|
137
|
+
description?: string;
|
|
138
|
+
alertText?: string;
|
|
139
|
+
claimCta?: string;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Copy for the BGT derivatives tab.
|
|
143
|
+
*/
|
|
144
|
+
derivatives?: {
|
|
145
|
+
title?: string;
|
|
146
|
+
description?: string;
|
|
147
|
+
convertCta?: string;
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Copy for the site-wide nudge banner shown when a user has un-migrated BGT positions.
|
|
151
|
+
*/
|
|
152
|
+
banner?: {
|
|
153
|
+
/**
|
|
154
|
+
* Banner text; the whole strip links to the portfolio migration widget.
|
|
155
|
+
*/
|
|
156
|
+
text?: string;
|
|
157
|
+
};
|
|
117
158
|
};
|
|
118
159
|
};
|
|
119
160
|
honey: {
|