@openfort/react 0.0.10 → 0.0.12
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/build/assets/chains.d.ts +6 -0
- package/build/assets/logos.d.ts +3 -0
- package/build/components/Common/ConnectorList/styles.d.ts +1 -0
- package/build/components/Common/Modal/index.d.ts +2 -1
- package/build/components/Common/Modal/styles.d.ts +3 -1
- package/build/components/Openfort/types.d.ts +1 -0
- package/build/components/Pages/Connectors/styles.d.ts +1 -0
- package/build/defaultConfig.d.ts +1 -1
- package/build/hooks/useConnectors.d.ts +7 -5
- package/build/hooks/useLocales.d.ts +2 -1
- package/build/index.es.js +253 -153
- package/build/index.es.js.map +1 -1
- package/build/localizations/index.d.ts +5 -0
- package/build/localizations/locales/ar-AE.d.ts +1 -1
- package/build/localizations/locales/ee-EE.d.ts +1 -1
- package/build/localizations/locales/en-US.d.ts +5 -0
- package/build/localizations/locales/es-ES.d.ts +1 -1
- package/build/localizations/locales/fa-IR.d.ts +1 -1
- package/build/localizations/locales/fr-FR.d.ts +1 -1
- package/build/localizations/locales/ja-JP.d.ts +3 -93
- package/build/localizations/locales/pt-BR.d.ts +1 -1
- package/build/localizations/locales/ru-RU.d.ts +1 -1
- package/build/localizations/locales/tr-TR.d.ts +1 -1
- package/build/localizations/locales/vi-VN.d.ts +1 -1
- package/build/localizations/locales/zh-CN.d.ts +1 -1
- package/build/utils/index.d.ts +3 -0
- package/build/utils/wallets.d.ts +2 -0
- package/build/version.d.ts +1 -1
- package/package.json +1 -1
package/build/index.es.js
CHANGED
|
@@ -22,7 +22,7 @@ import { createSiweMessage } from 'viem/siwe';
|
|
|
22
22
|
import { signMessage } from '@wagmi/core';
|
|
23
23
|
import calculateEntropy from 'fast-password-entropy';
|
|
24
24
|
|
|
25
|
-
const OPENFORT_VERSION = '0.0.
|
|
25
|
+
const OPENFORT_VERSION = '0.0.12';
|
|
26
26
|
|
|
27
27
|
var OpenfortErrorType;
|
|
28
28
|
(function (OpenfortErrorType) {
|
|
@@ -130,8 +130,9 @@ const isWalletInstalled = (name) => {
|
|
|
130
130
|
(ethereum === null || ethereum === void 0 ? void 0 : ethereum.providers.find((provider) => provider === null || provider === void 0 ? void 0 : provider[`is${name}`]))));
|
|
131
131
|
};
|
|
132
132
|
const isFamily = () => isWalletInstalled('Family');
|
|
133
|
-
const
|
|
134
|
-
const
|
|
133
|
+
const isPhantom = () => isWalletInstalled('Phantom');
|
|
134
|
+
const isArgent = () => isWalletInstalled('Argent');
|
|
135
|
+
const isSafe = () => isWalletInstalled('Safe');
|
|
135
136
|
|
|
136
137
|
const Mock = ({ ...props }) => (jsxs("svg", { ...props, "aria-hidden": "true", width: "44", height: "44", viewBox: "0 0 44 44", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: {
|
|
137
138
|
background: 'linear-gradient(180deg, #8995A9 0%, #424D5F 99.48%)',
|
|
@@ -140,11 +141,12 @@ const Injected = ({ ...props }) => (jsx("svg", { ...props, width: "32", height:
|
|
|
140
141
|
const WalletConnect = ({ background = false, ...props }) => (jsx("svg", { ...props, width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: background ? { background: 'var(--ck-brand-walletConnect)' } : undefined, children: jsx("path", { d: "M9.58818 11.8556C13.1293 8.31442 18.8706 8.31442 22.4117 11.8556L22.8379 12.2818C23.015 12.4588 23.015 12.7459 22.8379 12.9229L21.3801 14.3808C21.2915 14.4693 21.148 14.4693 21.0595 14.3808L20.473 13.7943C18.0026 11.3239 13.9973 11.3239 11.5269 13.7943L10.8989 14.4223C10.8104 14.5109 10.6668 14.5109 10.5783 14.4223L9.12041 12.9645C8.94336 12.7875 8.94336 12.5004 9.12041 12.3234L9.58818 11.8556ZM25.4268 14.8706L26.7243 16.1682C26.9013 16.3452 26.9013 16.6323 26.7243 16.8093L20.8737 22.6599C20.6966 22.8371 20.4096 22.8371 20.2325 22.6599L16.0802 18.5076C16.0359 18.4634 15.9641 18.4634 15.9199 18.5076L11.7675 22.6599C11.5905 22.8371 11.3034 22.8371 11.1264 22.66C11.1264 22.66 11.1264 22.6599 11.1264 22.6599L5.27561 16.8092C5.09856 16.6322 5.09856 16.3451 5.27561 16.168L6.57313 14.8706C6.75019 14.6934 7.03726 14.6934 7.21431 14.8706L11.3668 19.023C11.411 19.0672 11.4828 19.0672 11.5271 19.023L15.6793 14.8706C15.8563 14.6934 16.1434 14.6934 16.3205 14.8706L20.473 19.023C20.5172 19.0672 20.589 19.0672 20.6332 19.023L24.7856 14.8706C24.9627 14.6935 25.2498 14.6935 25.4268 14.8706Z", fill: background ? 'white' : 'var(--ck-brand-walletConnect)' }) }));
|
|
141
142
|
const MetaMask = ({ background = false, ...props }) => (jsxs("svg", { ...props, style: background
|
|
142
143
|
? {
|
|
143
|
-
background: '
|
|
144
|
+
background: 'var(--ck-brand-metamask-bg)',
|
|
144
145
|
borderRadius: '27.5%',
|
|
145
146
|
}
|
|
146
|
-
: undefined, width: "
|
|
147
|
+
: undefined, width: "88", height: "88", viewBox: "0 0 88 88", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("path", { d: "M74.4066 73.7063L59.3305 69.249L47.9614 75.9975L40.0287 75.9941L28.6527 69.249L13.5835 73.7063L9 58.3408L13.584 41.2875L9 26.8697L13.584 9L37.1306 22.969H50.8595L74.4066 9L78.9906 26.8697L74.4066 41.2875L78.9906 58.3408L74.4066 73.7063Z", fill: "var(--ck-brand-metamask-01)" }), jsx("path", { d: "M13.587 9L37.1341 22.9788L36.198 32.5722L13.587 9ZM28.6567 58.3471L39.0172 66.1838L28.6567 69.2485V58.3471ZM38.189 45.3909L36.198 32.5791L23.452 41.2915L23.4451 41.288V41.2944L23.4846 50.2623L28.6532 45.3914L38.189 45.3909ZM74.4066 9L50.8595 22.9788L51.7927 32.5722L74.4066 9ZM59.3374 58.3471L48.9764 66.1838L59.3374 69.2485V58.3471ZM64.5455 41.2939V41.2875L64.5425 41.291L51.7961 32.5791L49.8051 45.3909H59.3369L64.509 50.2613L64.5455 41.2939Z", fill: "var(--ck-brand-metamask-01)" }), jsx("path", { d: "M28.6532 69.2485L13.584 73.7058L9 58.3471H28.6532V69.2485ZM38.1856 45.3875L41.0639 63.9097L37.0744 53.6109L23.4782 50.2613L28.6498 45.388L38.1856 45.3875ZM59.3369 69.2485L74.4066 73.7058L78.9906 58.3467H59.3369C59.3369 58.3471 59.3369 69.2485 59.3369 69.2485ZM49.8051 45.3875L46.9267 63.9097L50.9157 53.6109L64.513 50.2613L59.3379 45.388L49.8051 45.3875Z", fill: "var(--ck-brand-metamask-02)" }), jsx("path", { d: "M9 58.3408L13.584 41.2876H23.4417L23.4777 50.2584L37.0754 53.6079L41.0644 63.9063L39.0137 66.174L28.6532 58.3374H9V58.3408ZM78.9906 58.3408L74.4066 41.2876H64.5485L64.5125 50.2584L50.9157 53.6079L46.9262 63.9063L48.9764 66.174L59.3374 58.3374H78.9906V58.3408ZM50.8595 22.969H37.1306L36.1985 32.5624L41.0649 63.896H46.9267L51.7961 32.5624L50.8595 22.969Z", fill: "var(--ck-brand-metamask-03)" }), jsx("path", { d: "M13.584 9L9 26.8697L13.584 41.2875H23.4417L36.1945 32.5727L13.584 9ZM35.3368 49.1076H30.8711L28.4398 51.4743L37.0784 53.6006L35.3368 49.1042V49.1076ZM74.4066 9L78.9906 26.8697L74.4066 41.2875H64.5485L51.7961 32.5727L74.4066 9ZM52.6603 49.1076H57.1324L59.5637 51.4772L50.9152 53.6079L52.6603 49.1042V49.1076ZM47.958 69.8848L48.9769 66.1809L46.9262 63.9131H41.06L39.0098 66.1809L40.0282 69.8848", fill: "var(--ck-brand-metamask-04)" }), jsx("path", { d: "M47.958 69.8843V76.0005H40.0292V69.8843H47.958Z", fill: "var(--ck-brand-metamask-05)" }), jsx("path", { d: "M28.6567 69.2421L40.0356 75.9971V69.8809L39.0167 66.1775L28.6567 69.2421ZM59.3374 69.2421L47.958 75.9971V69.8809L48.9769 66.1775L59.3374 69.2421Z", fill: "var(--ck-brand-metamask-06)" })] }));
|
|
147
148
|
const Coinbase = ({ background = false, ...props }) => (jsxs("svg", { ...props, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("circle", { cx: "10", cy: "10", r: "10", fill: "var(--ck-brand-coinbaseWallet)" }), background && (jsx("rect", { rx: "27%", width: "20", height: "20", fill: "var(--ck-brand-coinbaseWallet)" })), jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10.0001 17C13.8661 17 17.0001 13.866 17.0001 10C17.0001 6.13401 13.8661 3 10.0001 3C6.13413 3 3.00012 6.13401 3.00012 10C3.00012 13.866 6.13413 17 10.0001 17ZM8.25012 7.71429C7.95427 7.71429 7.71441 7.95414 7.71441 8.25V11.75C7.71441 12.0459 7.95427 12.2857 8.25012 12.2857H11.7501C12.046 12.2857 12.2858 12.0459 12.2858 11.75V8.25C12.2858 7.95414 12.046 7.71429 11.7501 7.71429H8.25012Z", fill: "white" })] }));
|
|
149
|
+
const FamilyAccount = () => (jsx("svg", { width: "88", height: "88", viewBox: "0 0 88 88", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M69.3985 17.8729C71.1916 19.6658 72.1993 22.0974 72.2 24.633C72.2023 26.8681 71.4164 29.0324 69.9804 30.7453C68.5444 32.4582 66.5504 33.61 64.349 33.998V34.1876C66.5344 34.6137 68.5036 35.7864 69.9194 37.5047C71.3351 39.223 72.1093 41.3801 72.1093 43.6064C72.1093 45.8327 71.3351 47.9898 69.9194 49.7081C68.5036 51.4264 66.5344 52.5991 64.349 53.0252V53.2134C66.6856 53.6659 68.7701 54.972 70.1962 56.8773C71.6224 58.7825 72.2881 61.1504 72.0635 63.5196C71.839 65.8888 70.7404 68.0896 68.9817 69.6931C67.223 71.2966 64.9303 72.188 62.5502 72.1935C57.9579 72.1935 54.0768 68.8855 53.1774 64.5316H52.9408C52.512 66.6983 51.3421 68.6482 49.632 70.0464C47.9219 71.4445 45.7783 72.2037 43.5693 72.1935C38.977 72.1935 35.0959 68.8855 34.1965 64.5316H33.9599C33.6143 66.2325 32.8128 67.8076 31.641 69.0882C30.4693 70.3688 28.9715 71.3069 27.3077 71.8021C25.644 72.2973 23.8769 72.3309 22.1955 71.8995C20.5141 71.468 18.9816 70.5877 17.7619 69.3526C16.5423 68.1175 15.6813 66.5741 15.2711 64.8876C14.861 63.201 14.917 61.4347 15.4333 59.7776C15.9496 58.1204 16.9067 56.6347 18.2022 55.4795C19.4977 54.3242 21.083 53.5428 22.7884 53.2188V53.0306C20.603 52.6045 18.6337 51.4318 17.218 49.7135C15.8022 47.9952 15.0281 45.8381 15.0281 43.6118C15.0281 41.3854 15.8022 39.2284 17.218 37.5101C18.6337 35.7917 20.603 34.6191 22.7884 34.1929V34.0034C21.0847 33.6728 19.5027 32.8862 18.2109 31.7274C16.9192 30.5685 15.9661 29.081 15.4533 27.4232C14.9405 25.7655 14.8871 23.9996 15.299 22.3139C15.7108 20.6283 16.5723 19.0859 17.7918 17.8512C19.0112 16.6166 20.5429 15.7359 22.2235 15.3031C23.9041 14.8703 25.6706 14.9015 27.3348 15.3935C28.9991 15.8855 30.4986 16.8198 31.6736 18.0968C32.8486 19.3738 33.655 20.9457 34.007 22.6449H34.2436C34.6954 20.4915 35.8758 18.5596 37.5858 17.1748C39.2958 15.79 41.431 15.0369 43.6315 15.0425C45.832 15.048 47.9634 15.8118 49.6665 17.2052C51.3695 18.5985 52.5402 20.5363 52.9811 22.692H53.2178C54.1682 18.3381 57.9996 15.0246 62.6376 15.0717C65.1735 15.0724 67.6053 16.08 69.3985 17.8729ZM31.9823 29.5165C30.2472 29.5165 28.8497 30.9389 28.8758 32.6738C28.9236 35.8456 28.9876 40.7732 28.9876 44.421C28.9876 48.0656 28.9237 52.9878 28.8759 56.1599C28.8498 57.8992 30.2516 59.3256 31.9912 59.3256H55.6872C57.4267 59.3256 58.8286 57.8992 58.8024 56.1599C58.7546 52.9878 58.6908 48.0656 58.6908 44.421C58.6908 40.7732 58.7547 35.8456 58.8025 32.6738C58.8287 30.9389 57.433 29.5165 55.6979 29.5165L31.9823 29.5165Z", fill: "var(--ck-body-color)" }) }));
|
|
148
150
|
const Family = ({ ...props }) => {
|
|
149
151
|
const img = 'data:image/png;base64,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';
|
|
150
152
|
return (jsx("svg", { ...props, width: "120", height: "120", viewBox: "0 0 120 120", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: {
|
|
@@ -211,19 +213,19 @@ const OtherWallets = ({ ...props }) => {
|
|
|
211
213
|
position: 'relative',
|
|
212
214
|
display: 'flex',
|
|
213
215
|
flexDirection: 'column',
|
|
214
|
-
gap:
|
|
216
|
+
gap: 3,
|
|
215
217
|
};
|
|
216
218
|
const row = {
|
|
217
219
|
position: 'relative',
|
|
218
220
|
display: 'flex',
|
|
219
|
-
gap:
|
|
221
|
+
gap: 3,
|
|
220
222
|
};
|
|
221
223
|
const cell = {
|
|
222
224
|
width: '50%',
|
|
223
225
|
overflow: 'hidden',
|
|
224
226
|
borderRadius: '27.5%',
|
|
225
227
|
};
|
|
226
|
-
return (jsxs("div", { style: column, ...props, children: [jsxs("div", { style: row, children: [jsx("div", { style: cell, children: jsx(WalletConnect, { background: true }) }), jsx("div", { style: cell, children: !
|
|
228
|
+
return (jsxs("div", { style: column, ...props, children: [jsxs("div", { style: row, children: [jsx("div", { style: cell, children: jsx(WalletConnect, { background: true }) }), jsx("div", { style: cell, children: !isArgent() ? jsx(Argent, {}) : jsx(Rabby, {}) })] }), jsxs("div", { style: row, children: [jsx("div", { style: cell, children: !isPhantom() ? jsx(Phantom, { background: true }) : jsx(ImToken, {}) }), jsx("div", { style: cell, children: !isSafe() ? jsx(Safe, {}) : jsx(Trust, {}) })] })] }));
|
|
227
229
|
};
|
|
228
230
|
const Fordefi = ({ ...props }) => (jsxs("svg", { ...props, width: "88", height: "88", viewBox: "0 0 96 96", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxs("g", { clipPath: "url(#clip0_14298_75627)", children: [jsx("path", { d: "M43.5075 62.5508H6V73.5954C6 79.2046 10.5379 83.7515 16.1357 83.7515H32.9997L43.5075 62.5508Z", fill: "#7994FF" }), jsx("path", { d: "M6.00098 39.1016H76.2075L68.0567 55.4841H6.00098V39.1016Z", fill: "#486DFF" }), jsx("path", { d: "M30.6398 12H6.09766V32.0282H89.8447V12H65.3025V26.9577H60.2423V12H35.7001V26.9577H30.6398V12Z", fill: "#5CD1FA" })] }), jsx("defs", { children: jsx("clipPath", { id: "clip0_14298_75627", children: jsx("rect", { width: "84", height: "72", fill: "white", transform: "translate(6 12)" }) }) })] }));
|
|
229
231
|
const Google = ({ ...props }) => (jsxs("svg", { viewBox: "0 0 128 128", ...props, children: [jsx("path", { fill: "#fff", d: "M44.59 4.21a63.28 63.28 0 0 0 4.33 120.9 67.6 67.6 0 0 0 32.36.35 57.13 57.13 0 0 0 25.9-13.46 57.44 57.44 0 0 0 16-26.26 74.3 74.3 0 0 0 1.61-33.58H65.27v24.69h34.47a29.72 29.72 0 0 1-12.66 19.52 36.2 36.2 0 0 1-13.93 5.5 41.3 41.3 0 0 1-15.1 0A37.2 37.2 0 0 1 44 95.74a39.3 39.3 0 0 1-14.5-19.42 38.3 38.3 0 0 1 0-24.63 39.25 39.25 0 0 1 9.18-14.91A37.17 37.17 0 0 1 76.13 27a34.3 34.3 0 0 1 13.64 8q5.83-5.8 11.64-11.63c2-2.09 4.18-4.08 6.15-6.22A61.2 61.2 0 0 0 87.2 4.59a64 64 0 0 0-42.61-.38" }), jsx("path", { fill: "#e33629", d: "M44.59 4.21a64 64 0 0 1 42.61.37 61.2 61.2 0 0 1 20.35 12.62c-2 2.14-4.11 4.14-6.15 6.22Q95.58 29.23 89.77 35a34.3 34.3 0 0 0-13.64-8 37.17 37.17 0 0 0-37.46 9.74 39.25 39.25 0 0 0-9.18 14.91L8.76 35.6A63.53 63.53 0 0 1 44.59 4.21" }), jsx("path", { fill: "#f8bd00", d: "M3.26 51.5a63 63 0 0 1 5.5-15.9l20.73 16.09a38.3 38.3 0 0 0 0 24.63q-10.36 8-20.73 16.08a63.33 63.33 0 0 1-5.5-40.9" }), jsx("path", { fill: "#587dbd", d: "M65.27 52.15h59.52a74.3 74.3 0 0 1-1.61 33.58 57.44 57.44 0 0 1-16 26.26c-6.69-5.22-13.41-10.4-20.1-15.62a29.72 29.72 0 0 0 12.66-19.54H65.27c-.01-8.22 0-16.45 0-24.68" }), jsx("path", { fill: "#319f43", d: "M8.75 92.4q10.37-8 20.73-16.08A39.3 39.3 0 0 0 44 95.74a37.2 37.2 0 0 0 14.08 6.08 41.3 41.3 0 0 0 15.1 0 36.2 36.2 0 0 0 13.93-5.5c6.69 5.22 13.41 10.4 20.1 15.62a57.13 57.13 0 0 1-25.9 13.47 67.6 67.6 0 0 1-32.36-.35 63 63 0 0 1-23-11.59A63.7 63.7 0 0 1 8.75 92.4" })] }));
|
|
@@ -253,6 +255,7 @@ const providersLogos = {
|
|
|
253
255
|
google: jsx(Google, {}),
|
|
254
256
|
twitter: jsx(Twitter, {}),
|
|
255
257
|
facebook: jsx(Facebook, {}),
|
|
258
|
+
discord: jsx(Discord, {}),
|
|
256
259
|
};
|
|
257
260
|
var Logos = {
|
|
258
261
|
Mock,
|
|
@@ -262,6 +265,7 @@ var Logos = {
|
|
|
262
265
|
MetaMask,
|
|
263
266
|
Coinbase,
|
|
264
267
|
Family,
|
|
268
|
+
FamilyAccount,
|
|
265
269
|
Trust,
|
|
266
270
|
Argent,
|
|
267
271
|
ImToken,
|
|
@@ -308,7 +312,7 @@ const nFormatter = (num, digits = 2) => {
|
|
|
308
312
|
{ value: 1, symbol: '' },
|
|
309
313
|
{ value: 1e3, symbol: 'k' },
|
|
310
314
|
{ value: 1e6, symbol: 'm' },
|
|
311
|
-
{ value: 1e9, symbol: '
|
|
315
|
+
{ value: 1e9, symbol: 'b' },
|
|
312
316
|
{ value: 1e12, symbol: 't' },
|
|
313
317
|
{ value: 1e15, symbol: 'p' },
|
|
314
318
|
{ value: 1e18, symbol: 'e' },
|
|
@@ -356,7 +360,9 @@ function flattenChildren(children) {
|
|
|
356
360
|
}, []);
|
|
357
361
|
}
|
|
358
362
|
const isWalletConnectConnector = (connectorId) => connectorId === 'walletConnect';
|
|
363
|
+
const isFamilyAccountsConnector = (connectorId) => connectorId === 'familyAccountsProvider';
|
|
359
364
|
const isCoinbaseWalletConnector = (connectorId) => connectorId === 'coinbaseWalletSDK';
|
|
365
|
+
const isPortoConnector = (connectorId) => connectorId === 'xyz.ithaca.porto';
|
|
360
366
|
const isSafeConnector = (connectorId) => connectorId === 'safe';
|
|
361
367
|
const isInjectedConnector = (connectorId) => connectorId === 'injected';
|
|
362
368
|
|
|
@@ -440,6 +446,13 @@ const walletConfigs = {
|
|
|
440
446
|
: `familywallet://wc?uri=${encodeURIComponent(uri)}`;
|
|
441
447
|
},
|
|
442
448
|
},
|
|
449
|
+
familyAccountsProvider: {
|
|
450
|
+
name: 'Family',
|
|
451
|
+
shortName: 'Family',
|
|
452
|
+
icon: jsx(Logos.FamilyAccount, {}),
|
|
453
|
+
iconConnector: jsx(Logos.FamilyAccount, {}),
|
|
454
|
+
iconShape: 'squircle',
|
|
455
|
+
},
|
|
443
456
|
frame: {
|
|
444
457
|
name: 'Frame',
|
|
445
458
|
icon: jsx(Logos.Frame, {}),
|
|
@@ -766,7 +779,7 @@ var UIAuthProvider;
|
|
|
766
779
|
UIAuthProvider["GOOGLE"] = "google";
|
|
767
780
|
UIAuthProvider["TWITTER"] = "twitter";
|
|
768
781
|
UIAuthProvider["FACEBOOK"] = "facebook";
|
|
769
|
-
|
|
782
|
+
UIAuthProvider["DISCORD"] = "discord";
|
|
770
783
|
// EPIC_GAMES = "epic_games",
|
|
771
784
|
// LINE = "line",
|
|
772
785
|
// TELEGRAM = "telegram", // Telegram is not working yet
|
|
@@ -779,6 +792,7 @@ const socialProviders = [
|
|
|
779
792
|
UIAuthProvider.GOOGLE,
|
|
780
793
|
UIAuthProvider.TWITTER,
|
|
781
794
|
UIAuthProvider.FACEBOOK,
|
|
795
|
+
UIAuthProvider.DISCORD,
|
|
782
796
|
];
|
|
783
797
|
|
|
784
798
|
function useChainIsSupported(chainId) {
|
|
@@ -809,6 +823,12 @@ function useConnector(id, uuid) {
|
|
|
809
823
|
}
|
|
810
824
|
return connectors.find((c) => c.id === id);
|
|
811
825
|
}
|
|
826
|
+
function useFamilyAccountsConnector() {
|
|
827
|
+
return useConnector('familyAccountsProvider');
|
|
828
|
+
}
|
|
829
|
+
function useFamilyConnector() {
|
|
830
|
+
return useConnector('co.family.wallet');
|
|
831
|
+
}
|
|
812
832
|
function useWalletConnectConnector() {
|
|
813
833
|
/*
|
|
814
834
|
options: {
|
|
@@ -2057,7 +2077,7 @@ const themeGlobals = {
|
|
|
2057
2077
|
'--ck-graphic-scaniconwithlogos-03': '#F8D74A',
|
|
2058
2078
|
'--ck-graphic-scaniconwithlogos-04': '#F6F7F9',
|
|
2059
2079
|
'--ck-chain-ethereum-01': '#25292E',
|
|
2060
|
-
'--ck-chain-ethereum-02': '#
|
|
2080
|
+
'--ck-chain-ethereum-02': '#ffffff',
|
|
2061
2081
|
'--ck-chain-ethereum-03': '#DFE0E0',
|
|
2062
2082
|
'--ck-body-color-danger': '#FF4E4E',
|
|
2063
2083
|
'--ck-body-color-valid': '#32D74B',
|
|
@@ -2118,22 +2138,18 @@ const themeGlobals = {
|
|
|
2118
2138
|
},
|
|
2119
2139
|
},
|
|
2120
2140
|
brand: {
|
|
2141
|
+
'--ck-family-accounts-brand': '#0090ff',
|
|
2121
2142
|
'--ck-family-brand': '#1A88F8',
|
|
2122
2143
|
'--ck-brand-walletConnect': '#3B99FC',
|
|
2123
2144
|
'--ck-brand-coinbaseWallet': '#0052FF',
|
|
2124
|
-
'--ck-brand-metamask': '#
|
|
2125
|
-
'--ck-brand-metamask-
|
|
2126
|
-
'--ck-brand-metamask-
|
|
2127
|
-
'--ck-brand-metamask-
|
|
2128
|
-
'--ck-brand-metamask-
|
|
2129
|
-
'--ck-brand-metamask-
|
|
2130
|
-
'--ck-brand-metamask-
|
|
2131
|
-
'--ck-brand-metamask-
|
|
2132
|
-
'--ck-brand-metamask-08': '#E4761B',
|
|
2133
|
-
'--ck-brand-metamask-09': '#233447',
|
|
2134
|
-
'--ck-brand-metamask-10': '#E4751F',
|
|
2135
|
-
'--ck-brand-metamask-11': '#FEF5E7',
|
|
2136
|
-
'--ck-brand-metamask-12': '#E3C8AB',
|
|
2145
|
+
'--ck-brand-metamask': '#FF5C16',
|
|
2146
|
+
'--ck-brand-metamask-bg': '#FFF2EB',
|
|
2147
|
+
'--ck-brand-metamask-01': '#FF5C16',
|
|
2148
|
+
'--ck-brand-metamask-02': '#E34807',
|
|
2149
|
+
'--ck-brand-metamask-03': '#FF8D5D',
|
|
2150
|
+
'--ck-brand-metamask-04': '#661800',
|
|
2151
|
+
'--ck-brand-metamask-05': '#C0C4CD',
|
|
2152
|
+
'--ck-brand-metamask-06': '#E7EBF6',
|
|
2137
2153
|
'--ck-brand-trust-01': '#3375BB',
|
|
2138
2154
|
'--ck-brand-trust-02': '#ffffff',
|
|
2139
2155
|
'--ck-brand-trust-01b': '#ffffff', // dark Theme
|
|
@@ -2196,11 +2212,11 @@ const themes = {
|
|
|
2196
2212
|
nouns: createCssColors(themeColors.nouns),
|
|
2197
2213
|
};
|
|
2198
2214
|
const globals = {
|
|
2199
|
-
brand:
|
|
2200
|
-
ensLight:
|
|
2201
|
-
ensDark:
|
|
2202
|
-
graphicsLight:
|
|
2203
|
-
graphicsDark:
|
|
2215
|
+
brand: createCssColors(themeGlobals.brand),
|
|
2216
|
+
ensLight: createCssColors(themeGlobals.ens.light),
|
|
2217
|
+
ensDark: createCssColors(themeGlobals.ens.dark),
|
|
2218
|
+
graphicsLight: createCssColors(themeGlobals.graphics.light),
|
|
2219
|
+
graphicsDark: createCssColors(themeGlobals.graphics.dark),
|
|
2204
2220
|
};
|
|
2205
2221
|
const globalsLight = css `
|
|
2206
2222
|
${globals.brand}
|
|
@@ -2283,7 +2299,6 @@ const ResetContainer = styled(motion.div) `
|
|
|
2283
2299
|
}
|
|
2284
2300
|
}}
|
|
2285
2301
|
|
|
2286
|
-
|
|
2287
2302
|
${(props) => {
|
|
2288
2303
|
var _a;
|
|
2289
2304
|
if (props.$customTheme &&
|
|
@@ -2468,6 +2483,8 @@ const TextWithHr = styled(motion.div) `
|
|
|
2468
2483
|
background: var(--ck-body-background);
|
|
2469
2484
|
transition: background-color 200ms ease;
|
|
2470
2485
|
}
|
|
2486
|
+
${(props) => !props.$disableHr &&
|
|
2487
|
+
`
|
|
2471
2488
|
&:before {
|
|
2472
2489
|
z-index: 2;
|
|
2473
2490
|
content: '';
|
|
@@ -2480,6 +2497,7 @@ const TextWithHr = styled(motion.div) `
|
|
|
2480
2497
|
background: var(--ck-body-divider);
|
|
2481
2498
|
box-shadow: var(--ck-body-divider-box-shadow);
|
|
2482
2499
|
}
|
|
2500
|
+
`}
|
|
2483
2501
|
`;
|
|
2484
2502
|
const ModalHeading = styled(motion.div) `
|
|
2485
2503
|
z-index: 3;
|
|
@@ -3176,7 +3194,108 @@ function FocusTrap(props) {
|
|
|
3176
3194
|
return (jsx("div", { ref: elRef, tabIndex: 0, children: props.children }));
|
|
3177
3195
|
}
|
|
3178
3196
|
|
|
3197
|
+
const enUS = {
|
|
3198
|
+
// Family Account
|
|
3199
|
+
continueWithFamily: 'Continue with Family',
|
|
3200
|
+
orSelectWallet: 'or select a wallet from the list below',
|
|
3201
|
+
loginWithEmailOrPhone: 'Login with Email or Phone',
|
|
3202
|
+
connectWithFamilyIOS: 'Connect with Family iOS',
|
|
3203
|
+
// ConnectKit
|
|
3204
|
+
connectWallet: 'Connect Wallet',
|
|
3205
|
+
disconnect: 'Disconnect',
|
|
3206
|
+
connected: 'Connected',
|
|
3207
|
+
wrongNetwork: 'Wrong Network',
|
|
3208
|
+
switchNetworks: 'Switch Networks',
|
|
3209
|
+
switchWallets: 'Switch Wallets',
|
|
3210
|
+
chainNetwork: '{{ CHAIN }} Network',
|
|
3211
|
+
copyToClipboard: 'Copy to Clipboard',
|
|
3212
|
+
copyCode: 'Copy Code',
|
|
3213
|
+
moreInformation: 'More Information',
|
|
3214
|
+
back: 'Back',
|
|
3215
|
+
close: 'Close',
|
|
3216
|
+
or: 'or',
|
|
3217
|
+
more: 'More',
|
|
3218
|
+
tryAgain: 'Try Again',
|
|
3219
|
+
tryAgainQuestion: 'Try Again?',
|
|
3220
|
+
dontHaveTheApp: "Don't have the app?",
|
|
3221
|
+
scanTheQRCode: 'Scan the QR code',
|
|
3222
|
+
useWalletConnectModal: 'Use WalletConnect Modal',
|
|
3223
|
+
useModal: 'Use Modal',
|
|
3224
|
+
installTheExtension: 'Install the Extension',
|
|
3225
|
+
getWalletName: 'Get {{ CONNECTORNAME }}',
|
|
3226
|
+
otherWallets: 'Other Wallets',
|
|
3227
|
+
learnMore: 'Learn More',
|
|
3228
|
+
getWallet: 'Get a Wallet',
|
|
3229
|
+
approveInWallet: 'Approve in Wallet',
|
|
3230
|
+
confirmInWallet: 'Confirm in Wallet',
|
|
3231
|
+
awaitingConfirmation: 'Awaiting Confirmation',
|
|
3232
|
+
signIn: 'Sign In',
|
|
3233
|
+
signOut: 'Sign Out',
|
|
3234
|
+
signedIn: 'Signed In',
|
|
3235
|
+
signedOut: 'Signed Out',
|
|
3236
|
+
walletNotConnected: 'Wallet Not Connected',
|
|
3237
|
+
warnings_walletSwitchingUnsupported: `Your wallet does not support switching networks from this app.`,
|
|
3238
|
+
warnings_walletSwitchingUnsupportedResolve: `Try switching networks from within your wallet instead.`,
|
|
3239
|
+
warnings_chainUnsupported: `This app does not support the current connected network.`,
|
|
3240
|
+
warnings_chainUnsupportedResolve: `Switch or disconnect to continue.`,
|
|
3241
|
+
onboardingScreen_heading: `Get a Wallet`,
|
|
3242
|
+
onboardingScreen_h1: `Start Exploring Web3`,
|
|
3243
|
+
onboardingScreen_p: `Your wallet is the gateway to all things Ethereum, the magical technology that makes it possible to explore web3.`,
|
|
3244
|
+
onboardingScreen_ctaText: `Choose Your First Wallet`,
|
|
3245
|
+
onboardingScreen_ctaUrl: `https://ethereum.org/en/wallets/find-wallet/`,
|
|
3246
|
+
aboutScreen_heading: `About Wallets`,
|
|
3247
|
+
aboutScreen_a_h1: `For your digital assets`,
|
|
3248
|
+
aboutScreen_a_p: `Wallets let you send, receive, store, and interact with digital assets like NFTs and other Ethereum tokens.`,
|
|
3249
|
+
aboutScreen_b_h1: `A better way to login`,
|
|
3250
|
+
aboutScreen_b_p: `With modern apps, your wallet can be used as an easy way to login, instead of having to remember a password.`,
|
|
3251
|
+
aboutScreen_c_h1: `Explore the world of web3`,
|
|
3252
|
+
aboutScreen_c_p: `Your wallet is an essential utility that lets you explore and participate in the fast evolving world of web3.`,
|
|
3253
|
+
aboutScreen_ctaText: `Learn More`,
|
|
3254
|
+
aboutScreen_ctaUrl: `https://ethereum.org/en/wallets/`,
|
|
3255
|
+
connectorsScreen_heading: `Connect Wallet`,
|
|
3256
|
+
connectorsScreen_newcomer: `I don’t have a wallet`,
|
|
3257
|
+
connectorsScreen_h1: `What is a wallet?`,
|
|
3258
|
+
connectorsScreen_p: `Wallets are used to send, receive, and store digital assets. Connecting a wallet lets you interact with apps.`,
|
|
3259
|
+
mobileConnectorsScreen_heading: `Choose Wallet`,
|
|
3260
|
+
scanScreen_heading: `Scan with Phone`,
|
|
3261
|
+
scanScreen_heading_withConnector: `Scan with {{ CONNECTORNAME }}`,
|
|
3262
|
+
scanScreen_tooltip_walletConnect: `Open a [WALLETCONNECTLOGO] WalletConnect \nsupported wallet to scan`,
|
|
3263
|
+
scanScreen_tooltip_default: `Open {{ CONNECTORNAME }} on \nyour mobile phone to scan`,
|
|
3264
|
+
downloadAppScreen_heading: `Get {{ CONNECTORNAME }}`,
|
|
3265
|
+
downloadAppScreen_iosAndroid: `Scan with your phone camera to download on iOS or Android.`,
|
|
3266
|
+
downloadAppScreen_ios: `Scan with your phone camera to download on iOS.`,
|
|
3267
|
+
downloadAppScreen_android: `Scan with your phone camera to download on Android.`,
|
|
3268
|
+
injectionScreen_unavailable_h1: `Unsupported Browser`,
|
|
3269
|
+
injectionScreen_unavailable_p: `To connect your {{ CONNECTORSHORTNAME }} wallet,\ninstall the extension on {{ SUGGESTEDEXTENSIONBROWSER }}.`,
|
|
3270
|
+
injectionScreen_install_h1: `Install {{ CONNECTORNAME }}`,
|
|
3271
|
+
injectionScreen_install_p: `To connect your {{ CONNECTORSHORTNAME }} wallet,\ninstall the browser extension.`,
|
|
3272
|
+
injectionScreen_connecting_h1: `Requesting Connection`,
|
|
3273
|
+
injectionScreen_connecting_p: `Open the {{ CONNECTORSHORTNAME }} browser \nextension to connect your wallet.`,
|
|
3274
|
+
injectionScreen_connecting_injected_h1: `Requesting Connection`,
|
|
3275
|
+
injectionScreen_connecting_injected_p: `Accept the request through your wallet to connect to this app.`,
|
|
3276
|
+
injectionScreen_connected_h1: `Already Connected`,
|
|
3277
|
+
injectionScreen_connected_p: `It is now okay to close this popup`,
|
|
3278
|
+
injectionScreen_rejected_h1: `Request Cancelled`,
|
|
3279
|
+
injectionScreen_rejected_p: `You cancelled the request.\nClick above to try again.`,
|
|
3280
|
+
injectionScreen_failed_h1: `Connection Failed`,
|
|
3281
|
+
injectionScreen_failed_p: `Sorry, something went wrong.\nPlease try connecting again.`,
|
|
3282
|
+
injectionScreen_notconnected_h1: `Login to {{ CONNECTORNAME }}`,
|
|
3283
|
+
injectionScreen_notconnected_p: `To continue, please login to your {{ CONNECTORNAME }} extension.`,
|
|
3284
|
+
profileScreen_heading: 'Connected',
|
|
3285
|
+
switchNetworkScreen_heading: 'Switch Networks',
|
|
3286
|
+
signInWithEthereumScreen_tooltip: 'You’re not signed in to this app.\n**Sign In With Ethereum** to continue.',
|
|
3287
|
+
signInWithEthereumScreen_signedOut_heading: 'Sign In With Ethereum',
|
|
3288
|
+
signInWithEthereumScreen_signedOut_h1: 'This app would like to verify you \n as the owner of this wallet.',
|
|
3289
|
+
signInWithEthereumScreen_signedOut_p: `Please sign the message request \n in your wallet to continue.`,
|
|
3290
|
+
signInWithEthereumScreen_signedOut_button: 'Sign In',
|
|
3291
|
+
signInWithEthereumScreen_signedIn_heading: 'Signed In With Ethereum',
|
|
3292
|
+
signInWithEthereumScreen_signedIn_h1: 'You successfully verified yourself \n as the owner of this wallet.',
|
|
3293
|
+
signInWithEthereumScreen_signedIn_p: `Signing out will require you to \n authenticate again in the future.`,
|
|
3294
|
+
signInWithEthereumScreen_signedIn_button: 'Sign Out',
|
|
3295
|
+
};
|
|
3296
|
+
|
|
3179
3297
|
const arAE = {
|
|
3298
|
+
...enUS, // fallback
|
|
3180
3299
|
connectWallet: 'الاتصال بالمحفظة',
|
|
3181
3300
|
disconnect: 'قطع الاتصال',
|
|
3182
3301
|
connected: 'متصل',
|
|
@@ -3192,7 +3311,7 @@ const arAE = {
|
|
|
3192
3311
|
more: 'المزيد',
|
|
3193
3312
|
tryAgain: 'حاول مجددًا',
|
|
3194
3313
|
tryAgainQuestion: 'هل نحاول مرة أخرى؟',
|
|
3195
|
-
dontHaveTheApp:
|
|
3314
|
+
dontHaveTheApp: 'ليس لديك التطبيق؟',
|
|
3196
3315
|
scanTheQRCode: 'مسح رمز الاستجابة السريعة',
|
|
3197
3316
|
useWalletConnectModal: 'استخدم نموذج ولِيتكنيكت',
|
|
3198
3317
|
useModal: 'استخدم النموذج',
|
|
@@ -3271,100 +3390,8 @@ const arAE = {
|
|
|
3271
3390
|
signInWithEthereumScreen_signedIn_button: 'تسجيل الخروج',
|
|
3272
3391
|
};
|
|
3273
3392
|
|
|
3274
|
-
const enUS = {
|
|
3275
|
-
connectWallet: 'Connect Wallet',
|
|
3276
|
-
disconnect: 'Disconnect',
|
|
3277
|
-
connected: 'Connected',
|
|
3278
|
-
wrongNetwork: 'Wrong Network',
|
|
3279
|
-
switchNetworks: 'Switch Networks',
|
|
3280
|
-
chainNetwork: '{{ CHAIN }} Network',
|
|
3281
|
-
copyToClipboard: 'Copy to Clipboard',
|
|
3282
|
-
copyCode: 'Copy Code',
|
|
3283
|
-
moreInformation: 'More Information',
|
|
3284
|
-
back: 'Back',
|
|
3285
|
-
close: 'Close',
|
|
3286
|
-
or: 'or',
|
|
3287
|
-
more: 'More',
|
|
3288
|
-
tryAgain: 'Try Again',
|
|
3289
|
-
tryAgainQuestion: 'Try Again?',
|
|
3290
|
-
dontHaveTheApp: "Don't have the app?",
|
|
3291
|
-
scanTheQRCode: 'Scan the QR code',
|
|
3292
|
-
useWalletConnectModal: 'Use WalletConnect Modal',
|
|
3293
|
-
useModal: 'Use Modal',
|
|
3294
|
-
installTheExtension: 'Install the Extension',
|
|
3295
|
-
getWalletName: 'Get {{ CONNECTORNAME }}',
|
|
3296
|
-
otherWallets: 'Other Wallets',
|
|
3297
|
-
learnMore: 'Learn More',
|
|
3298
|
-
getWallet: 'Get a Wallet',
|
|
3299
|
-
approveInWallet: 'Approve in Wallet',
|
|
3300
|
-
confirmInWallet: 'Confirm in Wallet',
|
|
3301
|
-
awaitingConfirmation: 'Awaiting Confirmation',
|
|
3302
|
-
signIn: 'Sign In',
|
|
3303
|
-
signOut: 'Sign Out',
|
|
3304
|
-
signedIn: 'Signed In',
|
|
3305
|
-
signedOut: 'Signed Out',
|
|
3306
|
-
walletNotConnected: 'Wallet Not Connected',
|
|
3307
|
-
warnings_walletSwitchingUnsupported: `Your wallet does not support switching networks from this app.`,
|
|
3308
|
-
warnings_walletSwitchingUnsupportedResolve: `Try switching networks from within your wallet instead.`,
|
|
3309
|
-
warnings_chainUnsupported: `This app does not support the current connected network.`,
|
|
3310
|
-
warnings_chainUnsupportedResolve: `Switch or disconnect to continue.`,
|
|
3311
|
-
onboardingScreen_heading: `Get a Wallet`,
|
|
3312
|
-
onboardingScreen_h1: `Start Exploring Web3`,
|
|
3313
|
-
onboardingScreen_p: `Your wallet is the gateway to all things Ethereum, the magical technology that makes it possible to explore web3.`,
|
|
3314
|
-
onboardingScreen_ctaText: `Choose Your First Wallet`,
|
|
3315
|
-
onboardingScreen_ctaUrl: `https://ethereum.org/en/wallets/find-wallet/`,
|
|
3316
|
-
aboutScreen_heading: `About Wallets`,
|
|
3317
|
-
aboutScreen_a_h1: `For your digital assets`,
|
|
3318
|
-
aboutScreen_a_p: `Wallets let you send, receive, store, and interact with digital assets like NFTs and other Ethereum tokens.`,
|
|
3319
|
-
aboutScreen_b_h1: `A better way to login`,
|
|
3320
|
-
aboutScreen_b_p: `With modern apps, your wallet can be used as an easy way to login, instead of having to remember a password.`,
|
|
3321
|
-
aboutScreen_c_h1: `Explore the world of web3`,
|
|
3322
|
-
aboutScreen_c_p: `Your wallet is an essential utility that lets you explore and participate in the fast evolving world of web3.`,
|
|
3323
|
-
aboutScreen_ctaText: `Learn More`,
|
|
3324
|
-
aboutScreen_ctaUrl: `https://ethereum.org/en/wallets/`,
|
|
3325
|
-
connectorsScreen_heading: `Connect Wallet`,
|
|
3326
|
-
connectorsScreen_newcomer: `I don’t have a wallet`,
|
|
3327
|
-
connectorsScreen_h1: `What is a wallet?`,
|
|
3328
|
-
connectorsScreen_p: `Wallets are used to send, receive, and store digital assets. Connecting a wallet lets you interact with apps.`,
|
|
3329
|
-
mobileConnectorsScreen_heading: `Choose Wallet`,
|
|
3330
|
-
scanScreen_heading: `Scan with Phone`,
|
|
3331
|
-
scanScreen_heading_withConnector: `Scan with {{ CONNECTORNAME }}`,
|
|
3332
|
-
scanScreen_tooltip_walletConnect: `Open a [WALLETCONNECTLOGO] WalletConnect \nsupported wallet to scan`,
|
|
3333
|
-
scanScreen_tooltip_default: `Open {{ CONNECTORNAME }} on \nyour mobile phone to scan`,
|
|
3334
|
-
downloadAppScreen_heading: `Get {{ CONNECTORNAME }}`,
|
|
3335
|
-
downloadAppScreen_iosAndroid: `Scan with your phone camera to download on iOS or Android.`,
|
|
3336
|
-
downloadAppScreen_ios: `Scan with your phone camera to download on iOS.`,
|
|
3337
|
-
downloadAppScreen_android: `Scan with your phone camera to download Android.`,
|
|
3338
|
-
injectionScreen_unavailable_h1: `Unsupported Browser`,
|
|
3339
|
-
injectionScreen_unavailable_p: `To connect your {{ CONNECTORSHORTNAME }} wallet,\ninstall the extension on {{ SUGGESTEDEXTENSIONBROWSER }}.`,
|
|
3340
|
-
injectionScreen_install_h1: `Install {{ CONNECTORNAME }}`,
|
|
3341
|
-
injectionScreen_install_p: `To connect your {{ CONNECTORSHORTNAME }} wallet,\ninstall the browser extension.`,
|
|
3342
|
-
injectionScreen_connecting_h1: `Requesting Connection`,
|
|
3343
|
-
injectionScreen_connecting_p: `Open the {{ CONNECTORSHORTNAME }} browser \nextension to connect your wallet.`,
|
|
3344
|
-
injectionScreen_connecting_injected_h1: `Requesting Connection`,
|
|
3345
|
-
injectionScreen_connecting_injected_p: `Accept the request through your wallet to connect to this app.`,
|
|
3346
|
-
injectionScreen_connected_h1: `Already Connected`,
|
|
3347
|
-
injectionScreen_connected_p: `It is now okay to close this popup`,
|
|
3348
|
-
injectionScreen_rejected_h1: `Request Cancelled`,
|
|
3349
|
-
injectionScreen_rejected_p: `You cancelled the request.\nClick above to try again.`,
|
|
3350
|
-
injectionScreen_failed_h1: `Connection Failed`,
|
|
3351
|
-
injectionScreen_failed_p: `Sorry, something went wrong.\nPlease try connecting again.`,
|
|
3352
|
-
injectionScreen_notconnected_h1: `Login to {{ CONNECTORNAME }}`,
|
|
3353
|
-
injectionScreen_notconnected_p: `To continue, please login to your {{ CONNECTORNAME }} extension.`,
|
|
3354
|
-
profileScreen_heading: 'Connected',
|
|
3355
|
-
switchNetworkScreen_heading: 'Switch Networks',
|
|
3356
|
-
signInWithEthereumScreen_tooltip: 'You’re not signed in to this app.\n**Sign In With Ethereum** to continue.',
|
|
3357
|
-
signInWithEthereumScreen_signedOut_heading: 'Sign In With Ethereum',
|
|
3358
|
-
signInWithEthereumScreen_signedOut_h1: 'This app would like to verify you \n as the owner of this wallet.',
|
|
3359
|
-
signInWithEthereumScreen_signedOut_p: `Please sign the message request \n in your wallet to continue.`,
|
|
3360
|
-
signInWithEthereumScreen_signedOut_button: 'Sign In',
|
|
3361
|
-
signInWithEthereumScreen_signedIn_heading: 'Signed In With Ethereum',
|
|
3362
|
-
signInWithEthereumScreen_signedIn_h1: 'You successfully verified yourself \n as the owner of this wallet.',
|
|
3363
|
-
signInWithEthereumScreen_signedIn_p: `Signing out will require you to \n authenticate again in the future.`,
|
|
3364
|
-
signInWithEthereumScreen_signedIn_button: 'Sign Out',
|
|
3365
|
-
};
|
|
3366
|
-
|
|
3367
3393
|
const eeEE = {
|
|
3394
|
+
...enUS, // fallback
|
|
3368
3395
|
connectWallet: 'Ühenda rahakott',
|
|
3369
3396
|
disconnect: 'Katkesta ühendus',
|
|
3370
3397
|
connected: 'Ühendatud',
|
|
@@ -3458,6 +3485,7 @@ const eeEE = {
|
|
|
3458
3485
|
};
|
|
3459
3486
|
|
|
3460
3487
|
const esES = {
|
|
3488
|
+
...enUS, // fallback
|
|
3461
3489
|
connectWallet: 'Conecta una cartera',
|
|
3462
3490
|
disconnect: 'Desconectar',
|
|
3463
3491
|
connected: 'Conectado',
|
|
@@ -3551,6 +3579,7 @@ const esES = {
|
|
|
3551
3579
|
};
|
|
3552
3580
|
|
|
3553
3581
|
const faIR = {
|
|
3582
|
+
...enUS, // fallback
|
|
3554
3583
|
connectWallet: 'اتصال به کیف پول',
|
|
3555
3584
|
disconnect: 'قطع ارتباط',
|
|
3556
3585
|
connected: 'متصل شد',
|
|
@@ -3644,6 +3673,7 @@ const faIR = {
|
|
|
3644
3673
|
};
|
|
3645
3674
|
|
|
3646
3675
|
const frFR = {
|
|
3676
|
+
...enUS, // fallback
|
|
3647
3677
|
connectWallet: 'Connecter le portefeuille',
|
|
3648
3678
|
disconnect: 'Déconnecter',
|
|
3649
3679
|
connected: 'Connecté',
|
|
@@ -3736,7 +3766,8 @@ const frFR = {
|
|
|
3736
3766
|
signInWithEthereumScreen_signedIn_button: 'Se déconnecter',
|
|
3737
3767
|
};
|
|
3738
3768
|
|
|
3739
|
-
|
|
3769
|
+
const jaJP = {
|
|
3770
|
+
...enUS, // fallback
|
|
3740
3771
|
connectWallet: 'ウォレットの接続',
|
|
3741
3772
|
disconnect: '切断',
|
|
3742
3773
|
connected: '接続されました',
|
|
@@ -3830,6 +3861,7 @@ var jaJP = {
|
|
|
3830
3861
|
};
|
|
3831
3862
|
|
|
3832
3863
|
const ptBR = {
|
|
3864
|
+
...enUS, // fallback
|
|
3833
3865
|
connectWallet: 'Conectar carteira',
|
|
3834
3866
|
disconnect: 'Desconectar',
|
|
3835
3867
|
connected: 'Conectado',
|
|
@@ -3919,10 +3951,11 @@ const ptBR = {
|
|
|
3919
3951
|
signInWithEthereumScreen_signedIn_heading: 'Conectado com Ethereum',
|
|
3920
3952
|
signInWithEthereumScreen_signedIn_h1: 'Você se verificou com sucesso \n como o proprietário desta carteira',
|
|
3921
3953
|
signInWithEthereumScreen_signedIn_p: `Se sair, será necessário que você \n autentique novamente no futuro.`,
|
|
3922
|
-
signInWithEthereumScreen_signedIn_button: 'Sair'
|
|
3954
|
+
signInWithEthereumScreen_signedIn_button: 'Sair',
|
|
3923
3955
|
};
|
|
3924
3956
|
|
|
3925
3957
|
const ruRU = {
|
|
3958
|
+
...enUS, // fallback
|
|
3926
3959
|
connectWallet: 'Подключить кошелек',
|
|
3927
3960
|
disconnect: 'Отключить',
|
|
3928
3961
|
connected: 'Подключена',
|
|
@@ -4016,6 +4049,7 @@ const ruRU = {
|
|
|
4016
4049
|
};
|
|
4017
4050
|
|
|
4018
4051
|
const zhCN = {
|
|
4052
|
+
...enUS, // fallback
|
|
4019
4053
|
connectWallet: '绑定钱包',
|
|
4020
4054
|
disconnect: '解除绑定',
|
|
4021
4055
|
connected: '已绑定',
|
|
@@ -4109,6 +4143,7 @@ const zhCN = {
|
|
|
4109
4143
|
};
|
|
4110
4144
|
|
|
4111
4145
|
const caAD = {
|
|
4146
|
+
...enUS, // fallback
|
|
4112
4147
|
connectWallet: 'Connecta la cartera',
|
|
4113
4148
|
disconnect: 'Desconnectar',
|
|
4114
4149
|
connected: 'Connectat',
|
|
@@ -4202,6 +4237,7 @@ const caAD = {
|
|
|
4202
4237
|
};
|
|
4203
4238
|
|
|
4204
4239
|
const trTR = {
|
|
4240
|
+
...enUS, // fallback
|
|
4205
4241
|
connectWallet: 'Cüzdan Bağla',
|
|
4206
4242
|
disconnect: 'Bağlantıyı Kes',
|
|
4207
4243
|
connected: 'Bağlandı',
|
|
@@ -4217,7 +4253,7 @@ const trTR = {
|
|
|
4217
4253
|
more: 'Daha Fazla',
|
|
4218
4254
|
tryAgain: 'Tekrar Dene',
|
|
4219
4255
|
tryAgainQuestion: 'Tekrar Dene?',
|
|
4220
|
-
dontHaveTheApp:
|
|
4256
|
+
dontHaveTheApp: 'Uygulaman yok mu?',
|
|
4221
4257
|
scanTheQRCode: 'Karekodu tarat',
|
|
4222
4258
|
useWalletConnectModal: 'WalletConnect Modalini Kullan ',
|
|
4223
4259
|
useModal: 'Modal Kullan',
|
|
@@ -4295,6 +4331,7 @@ const trTR = {
|
|
|
4295
4331
|
};
|
|
4296
4332
|
|
|
4297
4333
|
const viVN = {
|
|
4334
|
+
...enUS, // fallback
|
|
4298
4335
|
connectWallet: 'Kết nối ví',
|
|
4299
4336
|
disconnect: 'Ngắt kết nối',
|
|
4300
4337
|
connected: 'Đã kết nối',
|
|
@@ -4437,7 +4474,7 @@ function useLocales(replacements) {
|
|
|
4437
4474
|
}, [language]);
|
|
4438
4475
|
if (!translations) {
|
|
4439
4476
|
console.error(`Missing translations for: ${language}`);
|
|
4440
|
-
|
|
4477
|
+
throw new Error(`Missing translations for: ${language}`);
|
|
4441
4478
|
}
|
|
4442
4479
|
const translated = {};
|
|
4443
4480
|
Object.keys(translations).map((key) => {
|
|
@@ -5015,9 +5052,9 @@ const Page = ({ children, open, initial, prevDepth, currentDepth, enterAnim, exi
|
|
|
5015
5052
|
animationDelay: initial ? '0ms' : undefined,
|
|
5016
5053
|
}, children: children }));
|
|
5017
5054
|
};
|
|
5018
|
-
const OrDivider = ({ children }) => {
|
|
5055
|
+
const OrDivider = ({ children, hideHr, }) => {
|
|
5019
5056
|
const locales = useLocales();
|
|
5020
|
-
return (jsx(TextWithHr, { children: jsx("span", { children: children !== null && children !== void 0 ? children : locales.or }) }));
|
|
5057
|
+
return (jsx(TextWithHr, { "$disableHr": hideHr, children: jsx("span", { children: children !== null && children !== void 0 ? children : locales.or }) }));
|
|
5021
5058
|
};
|
|
5022
5059
|
|
|
5023
5060
|
const imageHeight = 208;
|
|
@@ -5495,7 +5532,7 @@ disabled, icon, iconPosition = 'left', roundedIcon, waiting, arrow, download, hr
|
|
|
5495
5532
|
const key = typeof children === 'string'
|
|
5496
5533
|
? children
|
|
5497
5534
|
: flattenChildren(children).join(''); // Need to generate a string for the key so we can automatically animate between content
|
|
5498
|
-
const hrefUrl = typeof href === 'string' ? href : flattenChildren(href).join(''); // Need to have a flat string for the href
|
|
5535
|
+
const hrefUrl = href && (typeof href === 'string' ? href : flattenChildren(href).join('')); // Need to have a flat string for the href
|
|
5499
5536
|
return (jsx(ButtonContainer, { className: className, as: href ? 'a' : undefined, onClick: (event) => {
|
|
5500
5537
|
if (!disabled && onClick)
|
|
5501
5538
|
onClick(event);
|
|
@@ -5819,6 +5856,11 @@ const Shimmer$1 = keyframes `
|
|
|
5819
5856
|
0%{ transform: translate(-100%) rotate(-45deg); }
|
|
5820
5857
|
100%{ transform: translate(100%) rotate(-80deg); }
|
|
5821
5858
|
`;
|
|
5859
|
+
styled(motion.div) `
|
|
5860
|
+
display: flex;
|
|
5861
|
+
flex-direction: column;
|
|
5862
|
+
gap: 12px;
|
|
5863
|
+
`;
|
|
5822
5864
|
const InfoBox = styled.div `
|
|
5823
5865
|
padding: 24px 24px 28px;
|
|
5824
5866
|
border-radius: var(--ck-tertiary-border-radius, 24px);
|
|
@@ -6093,6 +6135,10 @@ const ConnectorButton = styled(motion.button) `
|
|
|
6093
6135
|
display: block;
|
|
6094
6136
|
text-decoration: none;
|
|
6095
6137
|
`;
|
|
6138
|
+
const ConnectorAnchor = styled(motion.a) `
|
|
6139
|
+
display: block;
|
|
6140
|
+
text-decoration: none;
|
|
6141
|
+
`;
|
|
6096
6142
|
const ConnectorLabel = styled(motion.span) ``;
|
|
6097
6143
|
const ConnectorIcon = styled(motion.div) ``;
|
|
6098
6144
|
// This is a bit of a hack to not share styles between mobile and desktop
|
|
@@ -6292,6 +6338,12 @@ const styles = {
|
|
|
6292
6338
|
&[data-shape='square'] {
|
|
6293
6339
|
border-radius: 0;
|
|
6294
6340
|
}
|
|
6341
|
+
|
|
6342
|
+
&[data-background='true'] {
|
|
6343
|
+
border-radius: 22.5%;
|
|
6344
|
+
background: var(--ck-body-background-tertiary);
|
|
6345
|
+
padding: 8%;
|
|
6346
|
+
}
|
|
6295
6347
|
`,
|
|
6296
6348
|
},
|
|
6297
6349
|
};
|
|
@@ -6814,6 +6866,12 @@ const ConnectorList = () => {
|
|
|
6814
6866
|
const isMobile = useIsMobile();
|
|
6815
6867
|
const wallets = useWallets$1();
|
|
6816
6868
|
const { lastConnectorId } = useLastConnector();
|
|
6869
|
+
const familyConnector = useFamilyConnector();
|
|
6870
|
+
const familyAccountsConnector = useFamilyAccountsConnector();
|
|
6871
|
+
let filteredWallets = wallets.filter((wallet) => wallet.id !== (familyAccountsConnector === null || familyAccountsConnector === void 0 ? void 0 : familyAccountsConnector.id));
|
|
6872
|
+
if (familyConnector && isFamily()) {
|
|
6873
|
+
filteredWallets = filteredWallets.filter((wallet) => wallet.id !== (familyConnector === null || familyConnector === void 0 ? void 0 : familyConnector.id));
|
|
6874
|
+
}
|
|
6817
6875
|
const walletsToDisplay = ((_a = context.uiConfig) === null || _a === void 0 ? void 0 : _a.hideRecentBadge) || lastConnectorId === 'walletConnect' // do not hoist walletconnect to top of list
|
|
6818
6876
|
? wallets
|
|
6819
6877
|
: [
|
|
@@ -6825,7 +6883,7 @@ const ConnectorList = () => {
|
|
|
6825
6883
|
return (jsxs(ScrollArea, { mobileDirection: 'horizontal', children: [walletsToDisplay.length === 0 && (jsx(Alert, { error: true, children: "No connectors found in Openfort config." })), walletsToDisplay.length > 0 && (jsx(ConnectorsContainer, { "$mobile": isMobile, "$totalResults": walletsToDisplay.length, children: walletsToDisplay.map((wallet) => jsx(ConnectorItem, { wallet: wallet, isRecent: wallet.id === lastConnectorId }, wallet.id)) }))] }));
|
|
6826
6884
|
};
|
|
6827
6885
|
const ConnectorItem = ({ wallet, isRecent, }) => {
|
|
6828
|
-
var _a
|
|
6886
|
+
var _a;
|
|
6829
6887
|
const { connect: { getUri }, } = useWeb3();
|
|
6830
6888
|
const uri = getUri();
|
|
6831
6889
|
const isMobile = useIsMobile();
|
|
@@ -6847,26 +6905,28 @@ const ConnectorItem = ({ wallet, isRecent, }) => {
|
|
|
6847
6905
|
const redirectToMoreWallets = isMobile && isWalletConnectConnector(wallet.id);
|
|
6848
6906
|
// Safari requires opening popup on user gesture, so we connect immediately here
|
|
6849
6907
|
const shouldConnectImmediately = (detectBrowser() === 'safari' || detectBrowser() === 'ios') &&
|
|
6850
|
-
isCoinbaseWalletConnector(wallet.connector.id);
|
|
6908
|
+
(isCoinbaseWalletConnector(wallet.connector.id) || isPortoConnector(wallet.connector.id));
|
|
6851
6909
|
if (redirectToMoreWallets || shouldConnectImmediately)
|
|
6852
6910
|
deeplink = undefined; // mobile redirects to more wallets page
|
|
6853
|
-
|
|
6854
|
-
|
|
6855
|
-
|
|
6856
|
-
|
|
6857
|
-
|
|
6858
|
-
|
|
6859
|
-
|
|
6860
|
-
|
|
6861
|
-
|
|
6862
|
-
|
|
6863
|
-
|
|
6864
|
-
|
|
6865
|
-
|
|
6866
|
-
|
|
6867
|
-
context.setConnector({ id: wallet.id });
|
|
6911
|
+
const content = () => {
|
|
6912
|
+
var _a, _b, _c;
|
|
6913
|
+
return (jsxs(Fragment, { children: [jsx(ConnectorIcon, { "data-small": wallet.iconShouldShrink, "data-shape": wallet.iconShape, "data-background": redirectToMoreWallets, children: (_a = wallet.iconConnector) !== null && _a !== void 0 ? _a : wallet.icon }), jsxs(ConnectorLabel, { children: [isMobile ? (_b = wallet.shortName) !== null && _b !== void 0 ? _b : wallet.name : wallet.name, !((_c = context.uiConfig) === null || _c === void 0 ? void 0 : _c.hideRecentBadge) && isRecent && (jsx(RecentlyUsedTag, { children: jsx("span", { children: "Recent" }) }))] })] }));
|
|
6914
|
+
};
|
|
6915
|
+
if (deeplink) {
|
|
6916
|
+
jsx(ConnectorAnchor, { href: deeplink, children: content() });
|
|
6917
|
+
}
|
|
6918
|
+
return (jsx(ConnectorButton, { type: "button", disabled: context.route !== routes.CONNECTORS, onClick: () => {
|
|
6919
|
+
if (redirectToMoreWallets) {
|
|
6920
|
+
context.setRoute(routes.MOBILECONNECTORS);
|
|
6921
|
+
}
|
|
6922
|
+
else {
|
|
6923
|
+
if (shouldConnectImmediately) {
|
|
6924
|
+
connect({ connector: wallet === null || wallet === void 0 ? void 0 : wallet.connector });
|
|
6868
6925
|
}
|
|
6869
|
-
|
|
6926
|
+
context.setRoute(routes.CONNECT);
|
|
6927
|
+
context.setConnector({ id: wallet.id });
|
|
6928
|
+
}
|
|
6929
|
+
}, children: content() }));
|
|
6870
6930
|
};
|
|
6871
6931
|
|
|
6872
6932
|
const Wallets = () => {
|
|
@@ -8063,6 +8123,11 @@ const Ethereum = ({ testnet, ...props }) => {
|
|
|
8063
8123
|
background: bg,
|
|
8064
8124
|
}, children: [jsx("path", { d: "M21.9967 6.99621L21.7955 7.67987V27.5163L21.9967 27.7171L31.2044 22.2744L21.9967 6.99621Z", fill: fill }), jsx("path", { d: "M21.9957 6.99621L12.7878 22.2744L21.9957 27.7171V18.0891V6.99621Z", fill: fill }), jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M21.9959 36.9996L21.9959 36.9997V36.9995L31.2091 24.0243L21.9959 29.4642L12.788 24.0243L21.9957 36.9993L21.9958 36.9997L21.9959 36.9996Z", fill: fill }), jsx("path", { d: "M21.996 27.7181L31.2037 22.2753L21.996 18.09V27.7181Z", fill: fill }), jsx("path", { d: "M12.7878 22.2753L21.9957 27.7181V18.09L12.7878 22.2753Z", fill: fill })] }));
|
|
8065
8125
|
};
|
|
8126
|
+
const LensChain = ({ testnet, ...props }) => (jsx("svg", { ...props, width: "44", height: "44", viewBox: "0 0 44 44", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: {
|
|
8127
|
+
background: testnet
|
|
8128
|
+
? 'linear-gradient(180deg, #8995A9 0%, #424D5F 99.48%)'
|
|
8129
|
+
: '#2C2D30',
|
|
8130
|
+
}, children: jsx("path", { d: "M30.4076 17.2002C29.1337 17.2002 27.9906 17.6998 27.1194 18.506L27.0299 18.4612C26.8302 15.8187 24.6817 13.7344 21.9891 13.7344C19.2966 13.7344 17.1481 15.8187 16.9484 18.4612L16.8589 18.506C15.9877 17.6998 14.8446 17.2002 13.5706 17.2002C10.7438 17.2002 8.45068 19.4947 8.45068 22.3267C8.45068 24.7727 10.8781 26.8709 11.4807 27.3532C14.3144 29.6098 18.0054 30.9293 21.9891 30.9293C25.9729 30.9293 29.6639 29.6098 32.4976 27.3532C33.1036 26.8709 35.5276 24.7762 35.5276 22.3267C35.5276 19.4947 33.2345 17.2002 30.4042 17.2002H30.4076Z", fill: "white" }) }));
|
|
8066
8131
|
const Polygon = ({ testnet, ...props }) => (jsx("svg", { ...props, "aria-hidden": "true", width: "44", height: "44", viewBox: "0 0 44 44", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: {
|
|
8067
8132
|
background: testnet
|
|
8068
8133
|
? 'linear-gradient(180deg, #8995A9 0%, #424D5F 99.48%)'
|
|
@@ -8072,7 +8137,7 @@ const Optimism = ({ testnet, ...props }) => (jsxs("svg", { ...props, "aria-hidde
|
|
|
8072
8137
|
background: testnet
|
|
8073
8138
|
? 'linear-gradient(180deg, #8995A9 0%, #424D5F 99.48%)'
|
|
8074
8139
|
: '#FF0420',
|
|
8075
|
-
}, children: [jsx("path", { d: "M15.5877 27.8473C14.2777 27.8473 13.2045 27.539 12.3679 26.9226C11.5422 26.2952 11.1294 25.4035 11.1294 24.2477C11.1294 24.0055 11.157 23.7082 11.212 23.356C11.3552 22.5634 11.5588 21.6112 11.823 20.4994C12.5715 17.4722 14.5034 15.9586 17.6187 15.9586C18.4664 15.9586 19.2259 16.1017 19.8974 16.3879C20.5689 16.663 21.0973 17.0814 21.4826 17.6428C21.8678 18.1932 22.0605 18.8537 22.0605 19.6242C22.0605 19.8554 22.033 20.1471 21.9779 20.4994C21.8128 21.4791 21.6146 22.4313 21.3835 23.356C20.9982 24.8641 20.3322 25.9924 19.3855 26.741C18.4388 27.4785 17.1729 27.8473 15.5877 27.8473ZM15.8189 25.4695C16.4354 25.4695 16.9582 25.2879 17.3876 24.9247C17.8279 24.5614 18.1416 24.0055 18.3287 23.257C18.5819 22.2222 18.7746 21.3195 18.9067 20.5489C18.9507 20.3178 18.9727 20.0811 18.9727 19.8389C18.9727 18.8372 18.4498 18.3363 17.4041 18.3363C16.7876 18.3363 16.2592 18.5179 15.8189 18.8812C15.3896 19.2445 15.0813 19.8004 14.8943 20.5489C14.6961 21.2865 14.4979 22.1892 14.2998 23.257C14.2557 23.477 14.2337 23.7082 14.2337 23.9504C14.2337 24.9632 14.7622 25.4695 15.8189 25.4695Z", fill: "white" }), jsx("path", { d: "M22.8188 27.6815C22.6977 27.6815 22.6041 27.6429 22.5381 27.5659C22.483 27.4778 22.4665 27.3788 22.4885 27.2687L24.7672 16.5358C24.7892 16.4147 24.8498 16.3156 24.9489 16.2385C25.0479 16.1615 25.1525 16.1229 25.2626 16.1229H29.6548C30.8767 16.1229 31.8564 16.3761 32.5939 16.8825C33.3426 17.3889 33.7168 18.1209 33.7168 19.0786C33.7168 19.3538 33.6838 19.64 33.6177 19.9372C33.3426 21.2032 32.7867 22.1389 31.95 22.7443C31.1244 23.3498 29.9905 23.6525 28.5485 23.6525H26.3194L25.5598 27.2687C25.5377 27.3898 25.4772 27.4888 25.3782 27.5659C25.2791 27.6429 25.1745 27.6815 25.0645 27.6815H22.8188ZM28.6641 21.3738C29.1264 21.3738 29.5282 21.2472 29.8695 20.994C30.2217 20.7408 30.4529 20.3776 30.563 19.9042C30.596 19.717 30.6125 19.552 30.6125 19.4089C30.6125 19.0896 30.519 18.8474 30.3318 18.6823C30.1446 18.5062 29.8255 18.4182 29.3741 18.4182H27.3926L26.7652 21.3738H28.6641Z", fill: "white" })] }));
|
|
8140
|
+
}, children: [jsx("path", { d: "M15.5877 27.8473C14.2777 27.8473 13.2045 27.539 12.3679 26.9226C11.5422 26.2952 11.1294 25.4035 11.1294 24.2477C11.1294 24.0055 11.157 23.7082 11.212 23.356C11.3552 22.5634 11.5588 21.6112 11.823 20.4994C12.5715 17.4722 14.5034 15.9586 17.6187 15.9586C18.4664 15.9586 19.2259 16.1017 19.8974 16.3879C20.5689 16.663 21.0973 17.0814 21.4826 17.6428C21.8678 18.1932 22.0605 18.8537 22.0605 19.6242C22.0605 19.8554 22.033 20.1471 21.9779 20.4994C21.8128 21.4791 21.6146 22.4313 21.3835 23.356C20.9982 24.8641 20.3322 25.9924 19.3855 26.741C18.4388 27.4785 17.1729 27.8473 15.5877 27.8473ZM15.8189 25.4695C16.4354 25.4695 16.9582 25.2879 17.3876 24.9247C17.8279 24.5614 18.1416 24.0055 18.3287 23.257C18.5819 22.2222 18.7746 21.3195 18.9067 20.5489C18.9507 20.3178 18.9727 20.0811 18.9727 19.8389C18.9727 18.8372 18.4498 18.3363 17.4041 18.3363C16.7876 18.3363 16.2592 18.5179 15.8189 18.8812C15.3896 19.2445 15.0813 19.8004 14.8943 20.5489C14.6961 21.2865 14.4979 22.1892 14.2998 23.257C14.2557 23.477 14.2337 23.7082 14.2337 23.9504C14.2337 24.9632 14.7622 25.4695 15.8189 25.4695Z", fill: "white" }), jsx("path", { d: "M22.8188 27.6815C22.6977 27.6815 22.6041 27.6429 22.5381 27.5659C22.483 27.4778 22.4665 27.3788 22.4885 27.2687L24.7672 16.5358C24.7892 16.4147 24.8498 16.3156 24.9489 16.2385C25.0479 16.1615 25.1525 16.1229 25.2626 16.1229H29.6548C30.8767 16.1229 31.8564 16.3761 32.5939 16.8825C33.3426 17.3889 33.7168 18.1209 33.7168 19.0786C33.7168 19.3538 33.6838 19.64 33.6177 19.9372C33.3426 21.2032 32.7867 22.1389 31.95 22.7443C31.1244 23.3498 29.9905 23.6525 28.5485 23.6525H26.3194L25.5598 27.2687C25.5377 27.3898 25.4772 27.4888 25.3782 27.5659C25.2791 27.6429 25.1745 27.6815 25.0645 27.6815H22.8188ZM28.6641 21.3738C29.1264 21.3738 29.5282 21.2472 29.8695 20.994C30.2217 20.7408 30.4529 20.3776 30.563 19.9042C30.596 19.717 30.6125 19.552 30.6125 19.4089C30.6125 19.0896 30.519 18.8474 30.3318 18.6823C30.1446 18.5062 29.8255 18.4182 29.3741 18.4182H27.3926L26.7652 21.3738H28.6641Z", fill: "white" }), jsx("rect", { x: "5.5", y: "5.5", width: "33", height: "33", rx: "16.5", fill: "white" }), jsx("path", { d: "M38.5 22C38.5 12.8924 31.0968 5.52416 22 5.5C12.879 5.5 5.5 12.8924 5.5 22C5.5 31.1076 12.9032 38.4758 22 38.5C31.121 38.5 38.5 31.1076 38.5 22ZM21.9758 30.2379V37.7994C15.3226 37.7994 9.92742 32.4122 9.92742 25.7687C9.92742 19.1252 15.3226 13.7379 21.9758 13.7379V6.17643C28.629 6.17643 34.0242 11.5637 34.0242 18.2072C34.0242 24.8507 28.629 30.2379 21.9758 30.2379Z", fill: "#FF0420" }), jsx("path", { d: "M22.0239 16.3223H21.9271C20.6691 18.8347 18.8062 20.6949 16.29 21.9511V22.0477C18.8062 23.304 20.6691 25.1641 21.9271 27.6766H22.0239C23.282 25.1641 25.1449 23.304 27.661 22.0477V21.9511C25.1449 20.6949 23.282 18.8347 22.0239 16.3223Z", fill: "#FF0420" })] }));
|
|
8076
8141
|
const Arbitrum = ({ testnet, ...props }) => {
|
|
8077
8142
|
const fill = testnet ? '#ffffff' : '#28A0F0';
|
|
8078
8143
|
const outlineFill = testnet ? '#ffffff' : '#96BEDC';
|
|
@@ -8155,6 +8220,7 @@ const Zora = ({ testnet, ...props }) => (jsxs("svg", { ...props, width: "44", he
|
|
|
8155
8220
|
var ChainIcons = {
|
|
8156
8221
|
UnknownChain,
|
|
8157
8222
|
Base,
|
|
8223
|
+
LensChain,
|
|
8158
8224
|
Ethereum,
|
|
8159
8225
|
Polygon,
|
|
8160
8226
|
Optimism,
|
|
@@ -8197,6 +8263,16 @@ const chainConfigs = [
|
|
|
8197
8263
|
},
|
|
8198
8264
|
},
|
|
8199
8265
|
},
|
|
8266
|
+
{
|
|
8267
|
+
id: 232,
|
|
8268
|
+
name: 'Lens Chain',
|
|
8269
|
+
logo: jsx(ChainIcons.LensChain, {}),
|
|
8270
|
+
},
|
|
8271
|
+
{
|
|
8272
|
+
id: 37111,
|
|
8273
|
+
name: 'Lens Chain Testnet',
|
|
8274
|
+
logo: jsx(ChainIcons.LensChain, { testnet: true }),
|
|
8275
|
+
},
|
|
8200
8276
|
{
|
|
8201
8277
|
id: 3,
|
|
8202
8278
|
name: 'Rinkeby',
|
|
@@ -10040,7 +10116,11 @@ const ConnectWithInjector = ({ switchConnectMethod, forceState }) => {
|
|
|
10040
10116
|
transform: 'scale(1.14)',
|
|
10041
10117
|
position: 'relative',
|
|
10042
10118
|
width: '100%',
|
|
10043
|
-
}, children: walletInfo.icon })) : (jsx(Fragment, { children: walletInfo.icon })), connecting: status === states$2.CONNECTING }))] }) }), jsx(ModalContentContainer, { children: jsxs(AnimatePresence, { initial: false, children: [status === states$2.FAILED && (jsx(Content, { initial: 'initial', animate: 'animate', exit: 'exit', variants: contentVariants$1, children: jsxs(ModalContent, { children: [jsxs(ModalH1, { "$error": true, children: [jsx(AlertIcon, {}), locales.injectionScreen_failed_h1] }), jsx(ModalBody, { children: locales.injectionScreen_failed_p })] }) }, states$2.FAILED)), status === states$2.REJECTED && (jsx(Content, { initial: 'initial', animate: 'animate', exit: 'exit', variants: contentVariants$1, children: jsxs(ModalContent, { style: {
|
|
10119
|
+
}, children: walletInfo.icon })) : (jsx(Fragment, { children: walletInfo.icon })), connecting: status === states$2.CONNECTING }))] }) }), jsx(ModalContentContainer, { children: jsxs(AnimatePresence, { initial: false, children: [status === states$2.FAILED && (jsx(Content, { initial: 'initial', animate: 'animate', exit: 'exit', variants: contentVariants$1, children: jsxs(ModalContent, { children: [jsxs(ModalH1, { "$error": true, children: [jsx(AlertIcon, {}), locales.injectionScreen_failed_h1] }), jsx(ModalBody, { children: locales.injectionScreen_failed_p })] }) }, states$2.FAILED)), status === states$2.REJECTED && (jsx(Content, { initial: 'initial', animate: 'animate', exit: 'exit', variants: contentVariants$1, children: jsxs(ModalContent, { style: {
|
|
10120
|
+
paddingBottom: 28,
|
|
10121
|
+
}, children: [jsx(ModalH1, { children: locales.injectionScreen_rejected_h1 }), jsx(ModalBody, { children: locales.injectionScreen_rejected_p })] }) }, states$2.REJECTED)), status === states$2.DUPLICATED && (jsx(Content, { initial: 'initial', animate: 'animate', exit: 'exit', variants: contentVariants$1, children: jsxs(ModalContent, { style: { paddingBottom: 28 }, children: [jsxs(ModalH1, { "$error": true, children: [jsx(AlertIcon, {}), locales.injectionScreen_failed_h1] }), jsx(ModalBody, { children: "This wallet is already linked to another player. Please try another wallet." })] }) }, states$2.DUPLICATED)), (status === states$2.CONNECTING || status === states$2.EXPIRING) && (jsx(Content, { initial: 'initial', animate: 'animate', exit: 'exit', variants: contentVariants$1, children: jsxs(ModalContent, { style: {
|
|
10122
|
+
paddingBottom: 28,
|
|
10123
|
+
}, children: [jsx(ModalH1, { children: wallet.connector.id === 'injected'
|
|
10044
10124
|
? locales.injectionScreen_connecting_injected_h1
|
|
10045
10125
|
: locales.injectionScreen_connecting_h1 }), jsx(ModalBody, { children: wallet.connector.id === 'injected'
|
|
10046
10126
|
? locales.injectionScreen_connecting_injected_p
|
|
@@ -10149,7 +10229,7 @@ const ConnectWithQRCode = ({ switchConnectMethod }) => {
|
|
|
10149
10229
|
? locales.copyToClipboard
|
|
10150
10230
|
: locales.copyCode })), ((_g = context.uiConfig) === null || _g === void 0 ? void 0 : _g.walletConnectCTA) !== 'link' && (jsx(Button, { icon: jsx(ExternalLinkIcon, {}), onClick: openW3M, disabled: isOpenW3M, waiting: isOpenW3M, children: ((_h = context.uiConfig) === null || _h === void 0 ? void 0 : _h.walletConnectCTA) === 'modal'
|
|
10151
10231
|
? locales.useWalletConnectModal
|
|
10152
|
-
: locales.useModal }))] })), hasApps && (jsx(Fragment, { children: jsx(Button, { onClick: () => {
|
|
10232
|
+
: locales.useModal }))] })), isFamilyAccountsConnector(wallet.id) && (jsxs(Fragment, { children: [jsx(OrDivider, {}), jsx(Button, { onClick: () => switchConnectMethod(id), children: locales.loginWithEmailOrPhone })] })), hasApps && (jsx(Fragment, { children: jsx(Button, { onClick: () => {
|
|
10153
10233
|
context.setRoute(routes.DOWNLOAD);
|
|
10154
10234
|
},
|
|
10155
10235
|
/*
|
|
@@ -10247,11 +10327,13 @@ const states$1 = {
|
|
|
10247
10327
|
INIT: "init",
|
|
10248
10328
|
REDIRECT: "redirect",
|
|
10249
10329
|
CONNECTING: "connecting",
|
|
10330
|
+
ERROR: "error"
|
|
10250
10331
|
};
|
|
10251
10332
|
const ConnectWithOAuth = ({}) => {
|
|
10252
10333
|
const { connector, setRoute, log } = useOpenfort();
|
|
10253
10334
|
const { client, user } = useOpenfortCore();
|
|
10254
10335
|
const [status, setStatus] = useState(states$1.INIT);
|
|
10336
|
+
const [description, setDescription] = useState(undefined);
|
|
10255
10337
|
useEffect(() => {
|
|
10256
10338
|
(async () => {
|
|
10257
10339
|
if (connector.type !== "oauth")
|
|
@@ -10333,12 +10415,24 @@ const ConnectWithOAuth = ({}) => {
|
|
|
10333
10415
|
catch (e) {
|
|
10334
10416
|
console.error("Error during OAuth initialization:", e);
|
|
10335
10417
|
setRoute(routes.CONNECT);
|
|
10418
|
+
setStatus(states$1.ERROR);
|
|
10419
|
+
if (e instanceof Error) {
|
|
10420
|
+
if (e.message.includes("not enabled")) {
|
|
10421
|
+
setDescription(`The ${provider} provider is not enabled. Please contact support.`);
|
|
10422
|
+
}
|
|
10423
|
+
else {
|
|
10424
|
+
setDescription("There was an error during authentication. Please try again.");
|
|
10425
|
+
}
|
|
10426
|
+
}
|
|
10336
10427
|
}
|
|
10337
10428
|
break;
|
|
10338
10429
|
}
|
|
10339
10430
|
})();
|
|
10340
10431
|
}, [status]);
|
|
10341
|
-
return (jsx(PageContent, { children: jsx(Loader, { header: `Connecting with ${connector.id}`, icon: providersLogos[connector.id]
|
|
10432
|
+
return (jsx(PageContent, { children: jsx(Loader, { header: `Connecting with ${connector.id}`, icon: providersLogos[connector.id], isError: status === states$1.ERROR, description: description, onRetry: () => {
|
|
10433
|
+
setStatus(states$1.INIT);
|
|
10434
|
+
setDescription(undefined);
|
|
10435
|
+
} }) }));
|
|
10342
10436
|
};
|
|
10343
10437
|
|
|
10344
10438
|
const states = {
|
|
@@ -10376,9 +10470,11 @@ const ConnectUsing = () => {
|
|
|
10376
10470
|
return (jsxs(AnimatePresence, { children: [status === states.QRCODE && (jsx(motion.div, { initial: 'initial', animate: 'animate', exit: 'exit', variants: contentVariants$2, children: jsx(ConnectWithQRCode, { switchConnectMethod: (id) => {
|
|
10377
10471
|
//if (id) setId(id);
|
|
10378
10472
|
setStatus(states.INJECTOR);
|
|
10473
|
+
setTimeout(context.triggerResize, 10); // delay required here for modal to resize
|
|
10379
10474
|
} }) }, states.QRCODE)), status === states.INJECTOR && (jsx(motion.div, { initial: 'initial', animate: 'animate', exit: 'exit', variants: contentVariants$2, children: jsx(ConnectWithInjector, { switchConnectMethod: (id) => {
|
|
10380
10475
|
//if (id) setId(id);
|
|
10381
10476
|
setStatus(states.QRCODE);
|
|
10477
|
+
setTimeout(context.triggerResize, 10); // delay required here for modal to resize
|
|
10382
10478
|
} }) }, states.INJECTOR))] }));
|
|
10383
10479
|
};
|
|
10384
10480
|
|
|
@@ -10963,6 +11059,8 @@ const ProviderButtonSwitch = ({ provider }) => {
|
|
|
10963
11059
|
return (jsx(AuthProviderButton, { provider: OAuthProvider.TWITTER, title: "X", icon: providersLogos[provider] }));
|
|
10964
11060
|
case UIAuthProvider.FACEBOOK:
|
|
10965
11061
|
return (jsx(AuthProviderButton, { provider: OAuthProvider.FACEBOOK, title: "Facebook", icon: providersLogos[provider] }));
|
|
11062
|
+
case UIAuthProvider.DISCORD:
|
|
11063
|
+
return (jsx(AuthProviderButton, { provider: OAuthProvider.DISCORD, title: "Discord", icon: providersLogos[provider] }));
|
|
10966
11064
|
default:
|
|
10967
11065
|
throw new Error(`NOT IMPLEMENTED: ${provider}`);
|
|
10968
11066
|
}
|
|
@@ -12352,6 +12450,8 @@ const OpenfortProvider = ({ children, uiConfig, onConnect, onDisconnect, debugMo
|
|
|
12352
12450
|
useThemeFont(ckTheme);
|
|
12353
12451
|
// Other Configuration
|
|
12354
12452
|
useEffect(() => { var _a; return setTheme((_a = uiConfig === null || uiConfig === void 0 ? void 0 : uiConfig.theme) !== null && _a !== void 0 ? _a : 'auto'); }, [uiConfig === null || uiConfig === void 0 ? void 0 : uiConfig.theme]);
|
|
12453
|
+
useEffect(() => { var _a; return setMode((_a = uiConfig === null || uiConfig === void 0 ? void 0 : uiConfig.mode) !== null && _a !== void 0 ? _a : 'auto'); }, [uiConfig === null || uiConfig === void 0 ? void 0 : uiConfig.mode]);
|
|
12454
|
+
useEffect(() => { var _a; return setCustomTheme((_a = uiConfig === null || uiConfig === void 0 ? void 0 : uiConfig.customTheme) !== null && _a !== void 0 ? _a : {}); }, [uiConfig === null || uiConfig === void 0 ? void 0 : uiConfig.customTheme]);
|
|
12355
12455
|
useEffect(() => setLang(safeUiConfig.language || 'en-US'), [safeUiConfig.language]);
|
|
12356
12456
|
useEffect(() => setErrorMessage(null), [route, open]);
|
|
12357
12457
|
// Check if chain is supported, elsewise redirect to switches page
|