@privy-io/react-auth 2.3.0 → 2.3.1-beta-20250206150405
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/cjs/constants.js +1 -1
- package/dist/cjs/screens/MfaScreens/EnrollPasskey.js +1 -1
- package/dist/cjs/screens/MfaScreens/EnrollSms.js +1 -1
- package/dist/cjs/screens/MfaScreens/EnrollTotp.js +1 -1
- package/dist/cjs/screens/MfaScreens/MfaEnrollmentFlowScreen.js +1 -1
- package/dist/cjs/screens/SendSolanaTransactionScreen/SendSolanaTransactionScreen.js +1 -1
- package/dist/esm/constants.mjs +1 -1
- package/dist/esm/screens/MfaScreens/EnrollPasskey.mjs +1 -1
- package/dist/esm/screens/MfaScreens/EnrollSms.mjs +1 -1
- package/dist/esm/screens/MfaScreens/EnrollTotp.mjs +1 -1
- package/dist/esm/screens/MfaScreens/MfaEnrollmentFlowScreen.mjs +1 -1
- package/dist/esm/screens/SendSolanaTransactionScreen/SendSolanaTransactionScreen.mjs +1 -1
- package/package.json +1 -1
package/dist/cjs/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.CHAIN_ID_MAINNET=1,exports.CLIENT_ANALYTICS_ID_KEY="privy:caid",exports.CODE_VERIFIER_KEY="privy:code_verifier",exports.CONNECTIONS_HISTORY_KEY="privy:connections",exports.CONNECTORS_STATE_KEY="privy:connectors",exports.CUSTOMER_ACCESS_TOKEN_COOKIE_KEY="privy-token",exports.CUSTOMER_ACCESS_TOKEN_STORAGE_KEY="privy:token",exports.DEFAULT_API_TIMEOUT_MS=2e4,exports.DEFAULT_NETWORK="0x1",exports.DEFAULT_PRIVY_API_URL="https://auth.privy.io",exports.DEFAULT_RPC_TIMEOUT=12e4,exports.DEFAULT_SUCCESS_SCREEN_DURATION_MS=1400,exports.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS=4e3,exports.DEFAULT_SUCCESS_SCREEN_LONG_DURATION_MS=2500,exports.DEPRECATED_REFRESH_TOKEN="deprecated",exports.FORKED_TOKEN_STORAGE_KEY="privy:session_transfer_token",exports.HEADLESS_OAUTH_KEY="privy:headless_oauth",exports.IDENTITY_TOKEN_COOKIE_KEY="privy-id-token",exports.IDENTITY_TOKEN_STORAGE_KEY="privy:id_token",exports.JWT_ALGORITHM="ES256",exports.JWT_ISSUER="privy.io",exports.MOONPAY_API_URL="https://api.moonpay.com/v1",exports.MOONPAY_API_URL_SANDBOX="https://api.moonpay.com/v1",exports.MOONPAY_PUBLIC_KEY="pk_live_hirbpu0cVcLHrjktC9l7fbc9ctjv0SL",exports.MOONPAY_PUBLIC_KEY_SANDBOX="pk_test_fqWjXZMSFwloh7orvJsRfjiUHXJqFzI",exports.OAUTH_DISABLE_SIGNUP_KEY="privy:oauth_disable_signup",exports.OPTIMISM_STACK_GAS_PRICE_ORACLE_ABI=["function getL1Fee(bytes memory _data) external view returns (uint256)"],exports.OPTIMISM_STACK_GAS_PRICE_ORACLE_ADDRESS="0x420000000000000000000000000000000000000F",exports.PRIVY_ACCESS_TOKEN_STORAGE_KEY="privy:pat",exports.PRIVY_WALLETCONNECT_CLOUD_ID="34357d3c125c2bcf2ce2bc3309d98715",exports.PRIVY_WALLET_KEY_PREFIX="privy:wallet",exports.REFRESH_TOKEN_COOKIE_KEY="privy-refresh-token",exports.REFRESH_TOKEN_STORAGE_KEY="privy:refresh_token",exports.SESSION_COOKIE_KEY="privy-session",exports.STATE_CODE_KEY="privy:state_code",exports.VERSION="2.3.
|
|
1
|
+
"use strict";exports.CHAIN_ID_MAINNET=1,exports.CLIENT_ANALYTICS_ID_KEY="privy:caid",exports.CODE_VERIFIER_KEY="privy:code_verifier",exports.CONNECTIONS_HISTORY_KEY="privy:connections",exports.CONNECTORS_STATE_KEY="privy:connectors",exports.CUSTOMER_ACCESS_TOKEN_COOKIE_KEY="privy-token",exports.CUSTOMER_ACCESS_TOKEN_STORAGE_KEY="privy:token",exports.DEFAULT_API_TIMEOUT_MS=2e4,exports.DEFAULT_NETWORK="0x1",exports.DEFAULT_PRIVY_API_URL="https://auth.privy.io",exports.DEFAULT_RPC_TIMEOUT=12e4,exports.DEFAULT_SUCCESS_SCREEN_DURATION_MS=1400,exports.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS=4e3,exports.DEFAULT_SUCCESS_SCREEN_LONG_DURATION_MS=2500,exports.DEPRECATED_REFRESH_TOKEN="deprecated",exports.FORKED_TOKEN_STORAGE_KEY="privy:session_transfer_token",exports.HEADLESS_OAUTH_KEY="privy:headless_oauth",exports.IDENTITY_TOKEN_COOKIE_KEY="privy-id-token",exports.IDENTITY_TOKEN_STORAGE_KEY="privy:id_token",exports.JWT_ALGORITHM="ES256",exports.JWT_ISSUER="privy.io",exports.MOONPAY_API_URL="https://api.moonpay.com/v1",exports.MOONPAY_API_URL_SANDBOX="https://api.moonpay.com/v1",exports.MOONPAY_PUBLIC_KEY="pk_live_hirbpu0cVcLHrjktC9l7fbc9ctjv0SL",exports.MOONPAY_PUBLIC_KEY_SANDBOX="pk_test_fqWjXZMSFwloh7orvJsRfjiUHXJqFzI",exports.OAUTH_DISABLE_SIGNUP_KEY="privy:oauth_disable_signup",exports.OPTIMISM_STACK_GAS_PRICE_ORACLE_ABI=["function getL1Fee(bytes memory _data) external view returns (uint256)"],exports.OPTIMISM_STACK_GAS_PRICE_ORACLE_ADDRESS="0x420000000000000000000000000000000000000F",exports.PRIVY_ACCESS_TOKEN_STORAGE_KEY="privy:pat",exports.PRIVY_WALLETCONNECT_CLOUD_ID="34357d3c125c2bcf2ce2bc3309d98715",exports.PRIVY_WALLET_KEY_PREFIX="privy:wallet",exports.REFRESH_TOKEN_COOKIE_KEY="privy-refresh-token",exports.REFRESH_TOKEN_STORAGE_KEY="privy:refresh_token",exports.SESSION_COOKIE_KEY="privy-session",exports.STATE_CODE_KEY="privy:state_code",exports.VERSION="2.3.1-beta-20250206150405",exports.WALLET_CONNECT_INFURA_POLLING_INTERVAL=3e4,exports.WALLET_CONNECT_STORAGE_KEY="walletconnect",exports.WALLET_PROXY_TIMEOUT=3e4,exports.getGuestCredentialStorageKey=_=>`privy:guest:${_}`,exports.getPrivyWalletKey=_=>`privy:wallet:${_}`,exports.getProviderAccessTokenStorageKey=_=>`privy:cross-app:${_}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),n=require("@heroicons/react/24/outline/CheckCircleIcon"),o=require("@heroicons/react/24/outline/ClockIcon"),i=require("@heroicons/react/24/outline/ShieldCheckIcon"),s=require("react"),t=require("styled-components"),c=require("../../components/Button.js"),a=require("../../components/Loader.js"),l=require("../../components/ModalFooter.js"),u=require("../../components/ModalHeader.js"),d=require("../../hooks/internal-context.js"),h=require("../../hooks/modal-context.js"),j=require("../../hooks/privy-context.js"),m=require("../../hooks/useMfaEnrollment.js"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),n=require("@heroicons/react/24/outline/CheckCircleIcon"),o=require("@heroicons/react/24/outline/ClockIcon"),i=require("@heroicons/react/24/outline/ShieldCheckIcon"),s=require("react"),t=require("styled-components"),c=require("../../components/Button.js"),a=require("../../components/Loader.js"),l=require("../../components/ModalFooter.js"),u=require("../../components/ModalHeader.js"),d=require("../../hooks/internal-context.js"),h=require("../../hooks/modal-context.js"),j=require("../../hooks/privy-context.js"),m=require("../../hooks/useMfaEnrollment.js"),p=require("../../svg/face-id.js"),q=require("../../svg/fingerprint.js"),y=require("../ErrorScreen.js"),g=require("../LinkPasskeyScreen.js"),x=require("./StyledComponents.js");function k(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../svg/protected-by-privy.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../hooks/index.js"),require("../../components/PrefetchedImage.js"),require("../index.js"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("../../components/CircleBorder.js"),require("../../components/layout/StackedContainer.js"),require("../../embedded-wallets/errors.js"),require("../../embedded-wallets/types.js"),require("../../errors.js"),require("ofetch"),require("../../hooks/captcha-context.js"),require("../../utils/index.js"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../utils/eth/getPublicClient.js"),require("viem"),require("../../svg/lock-closed.js"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/LockClosedIcon");var f=/*#__PURE__*/k(r),C=/*#__PURE__*/k(n),b=/*#__PURE__*/k(o),I=/*#__PURE__*/k(i);let w=({onReset:r,onClose:n,onClick:o,isCreating:i})=>/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(u.ModalHeader,{backFn:r,onClose:n},"header"),/*#__PURE__*/e.jsx(x.AppLogoContainer,{children:/*#__PURE__*/e.jsxs(g.DoubleIconWrapper,{children:[/*#__PURE__*/e.jsx(p.FaceId,{}),/*#__PURE__*/e.jsx(q.FingerPrint,{})]})}),/*#__PURE__*/e.jsx(x.Title,{children:"Set up passkey verification"}),/*#__PURE__*/e.jsxs(x.List,{children:[/*#__PURE__*/e.jsxs(x.ListItem,{children:[/*#__PURE__*/e.jsx(x.ListItemIcon,{children:/*#__PURE__*/e.jsx(I.default,{})}),"Verify with Touch ID, Face ID, PIN, or hardware key"]}),/*#__PURE__*/e.jsxs(x.ListItem,{children:[/*#__PURE__*/e.jsx(x.ListItemIcon,{children:/*#__PURE__*/e.jsx(b.default,{})}),"Takes seconds to set up and use"]}),/*#__PURE__*/e.jsxs(x.ListItem,{children:[/*#__PURE__*/e.jsx(x.ListItemIcon,{children:/*#__PURE__*/e.jsx(f.default,{})}),"Use your passkey to verify transactions and login to your account"]})]}),/*#__PURE__*/e.jsx(c.PrimaryButton,{style:{marginTop:"2.25rem"},onClick:o,loading:i,children:"Add a new passkey"}),/*#__PURE__*/e.jsx(l.ModalFooter,{})]}),v=({onReset:r,onClose:n,onAddPasskey:o,onSubmitEnrollment:i,passkeys:t,isSubmitting:d,isCreating:h})=>{let[j,m]=s.useState(!1),y=j?t.length:t.length>3?2:3;/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(u.ModalHeader,{backFn:j?()=>m(!1):r,onClose:n},"header"),!j&&/*#__PURE__*/e.jsx(x.AppLogoContainer,{children:/*#__PURE__*/e.jsxs(g.DoubleIconWrapper,{children:[/*#__PURE__*/e.jsx(p.FaceId,{}),/*#__PURE__*/e.jsx(q.FingerPrint,{})]})}),/*#__PURE__*/e.jsx(x.Title,{children:"Enable your passkeys for verification"}),/*#__PURE__*/e.jsxs(x.List,{children:[t.slice(0,y).map((r=>/*#__PURE__*/e.jsxs(P,{children:[/*#__PURE__*/e.jsx(L,{children:A(r)}),/*#__PURE__*/e.jsxs(F,{children:["Last used: ",r.latestVerifiedAt?.toLocaleString()]})]},r.credentialId))),!j&&t.length>3&&/*#__PURE__*/e.jsx(E,{onClick:()=>m(!0),children:"View All"})]}),/*#__PURE__*/e.jsx(c.PrimaryButton,{style:{marginTop:"1.5rem"},onClick:i,loading:d,children:"Enable passkeys"}),t.length<5&&/*#__PURE__*/e.jsx(E,{style:{marginTop:"0.5rem"},onClick:o,disabled:h,children:h?/*#__PURE__*/e.jsx(a.Loader,{style:{height:"1rem",width:"1rem",borderWidth:2}}):"Add new passkey"}),/*#__PURE__*/e.jsx(l.ModalFooter,{})]})},S=({appName:r,onClick:n,onClose:o})=>/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(u.ModalHeader,{onClose:o},"header"),/*#__PURE__*/e.jsx(x.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(C.default,{})}),/*#__PURE__*/e.jsx(x.Title,{children:"Passkey verification added"}),/*#__PURE__*/e.jsxs(x.SubTitle,{children:["From now on, you'll use the passkey whenever you use your ",r," wallet."]}),/*#__PURE__*/e.jsx(x.BottomSection,{children:/*#__PURE__*/e.jsx(c.PrimaryButton,{onClick:n,children:"Done"})}),/*#__PURE__*/e.jsx(l.ModalFooter,{})]}),P=/*#__PURE__*/t.styled.div.withConfig({displayName:"PasskeyItem",componentId:"sc-d5b2bf9c-0"})(["&&{padding:0.75rem 1rem;text-align:left;border-radius:0.5rem;border:1px solid var(--privy-color-foreground-4);width:100%;}"]),L=/*#__PURE__*/t.styled.div.withConfig({displayName:"PasskeyItemTitle",componentId:"sc-d5b2bf9c-1"})(["font-size:0.875rem;line-height:1.375rem;font-weight:500;color:var(--privy-color-foreground-1);"]),F=/*#__PURE__*/t.styled.div.withConfig({displayName:"PasskeyItemSubtitle",componentId:"sc-d5b2bf9c-2"})(["font-size:0.75rem;font-weight:400;line-height:1.125rem;color:var(--privy-color-foreground-2);"]),A=e=>e.authenticatorName?e.createdWithBrowser?`${e.authenticatorName} on ${e.createdWithBrowser}`:e.authenticatorName:e.createdWithBrowser?e.createdWithOs?`${e.createdWithBrowser} on ${e.createdWithOs}`:`${e.createdWithBrowser}`:"Unknown device";const E=/*#__PURE__*/t.styled.button.withConfig({displayName:"StyledLink",componentId:"sc-d5b2bf9c-3"})(["&&{width:100%;font-size:0.875rem;line-height:1rem;@media (min-width:440px){font-size:14px;}display:flex;gap:12px;justify-content:center;padding:0.75rem 1rem;background-color:var(--privy-color-background);transition:background-color 200ms ease;color:var(--privy-color-accent);:focus{outline:none;box-shadow:none;}}"]);exports.EnrollPasskey=({appName:r,onComplete:n,onClose:o,onReset:i})=>{let{user:t}=j.usePrivyContext(),{data:c}=h.usePrivyModal(),{initLinkWithPasskey:a,linkWithPasskey:l}=d.usePrivyInternal(),{initEnrollmentWithPasskey:u,submitEnrollmentWithPasskey:p}=m.useMfaEnrollment(),[q,g]=s.useState(!1),[x,k]=s.useState(!1),[f,C]=s.useState(!1),[b,I]=s.useState(null),P=s.useMemo((()=>t?.linkedAccounts.filter((e=>"passkey"===e.type))??[]),[t]),L=()=>{c?.mfaEnrollmentFlow?.onSuccess(),n()},F=async e=>{g(!0);try{await u(),await p({credentialIds:e},{removeForLogin:c?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa}),C(!0)}catch(e){I(e)}finally{g(!1)}},A=async()=>{k(!0),I(null);try{await a();let e=await l(),r=e?.linkedAccounts.filter((e=>"passkey"===e.type)).map((e=>e.credentialId))??[];await F(r)}catch(e){I(e)}finally{k(!1)}};return 0===P.length||x?/*#__PURE__*/e.jsx(w,{onReset:i,onClose:o,onClick:A,isCreating:x}):f?/*#__PURE__*/e.jsx(S,{appName:r,onClick:L,onClose:L}):b?/*#__PURE__*/e.jsx(y.ErrorScreenView,{error:b,backFn:()=>I(null),onClick:()=>I(null)}):/*#__PURE__*/e.jsx(v,{passkeys:P,isSubmitting:q,isCreating:x,onReset:i,onClose:o,onSubmitEnrollment:()=>F(P.map((e=>e.credentialId))),onAddPasskey:A})},exports.StyledLink=E;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),o=require("@heroicons/react/24/outline/PhoneIcon"),n=require("react"),i=require("@privy-io/js-sdk-core"),s=require("../../components/Button.js"),t=require("../../components/ConnectPhoneForm.js"),c=require("../../components/ModalFooter.js"),a=require("../../components/ModalHeader.js"),u=require("../../components/PinInput.js"),l=require("../../embedded-wallets/errors.js"),h=require("../../hooks/modal-context.js"),j=require("../../hooks/useMfaEnrollment.js"),d=require("../ErrorScreen.js"),m=require("./StyledComponents.js");function q(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../components/Loader.js"),require("../../recent-login/context.js"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/events-context.js"),require("../../storage.js"),require("../../components/PhoneCountryDropdown.js"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/PrefetchedImage.js"),require("../index.js"),require("../../hooks/index.js"),require("../../svg/protected-by-privy.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../hooks/internal-context.js"),require("react-device-detect"),require("../../embedded-wallets/types.js"),require("../../hooks/privy-context.js"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("../../components/CircleBorder.js"),require("../../components/layout/StackedContainer.js"),require("../../errors.js"),require("ofetch"),require("../../hooks/captcha-context.js"),require("../../utils/index.js"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../utils/eth/getPublicClient.js"),require("viem"),require("../../svg/lock-closed.js");var p=/*#__PURE__*/q(r),x=/*#__PURE__*/q(o);exports.EnrollSms=({
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),o=require("@heroicons/react/24/outline/PhoneIcon"),n=require("react"),i=require("@privy-io/js-sdk-core"),s=require("../../components/Button.js"),t=require("../../components/ConnectPhoneForm.js"),c=require("../../components/ModalFooter.js"),a=require("../../components/ModalHeader.js"),u=require("../../components/PinInput.js"),l=require("../../embedded-wallets/errors.js"),h=require("../../hooks/modal-context.js"),j=require("../../hooks/useMfaEnrollment.js"),d=require("../ErrorScreen.js"),m=require("./StyledComponents.js");function q(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../components/Loader.js"),require("../../recent-login/context.js"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../hooks/events-context.js"),require("../../storage.js"),require("../../components/PhoneCountryDropdown.js"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/PrefetchedImage.js"),require("../index.js"),require("../../hooks/index.js"),require("../../svg/protected-by-privy.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../hooks/internal-context.js"),require("react-device-detect"),require("../../embedded-wallets/types.js"),require("../../hooks/privy-context.js"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("../../components/CircleBorder.js"),require("../../components/layout/StackedContainer.js"),require("../../errors.js"),require("ofetch"),require("../../hooks/captcha-context.js"),require("../../utils/index.js"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../utils/eth/getPublicClient.js"),require("viem"),require("../../svg/lock-closed.js");var p=/*#__PURE__*/q(r),x=/*#__PURE__*/q(o);exports.EnrollSms=({appName:r,onComplete:o,onReset:q,onClose:f})=>{let[y,g]=n.useState(""),[b,v]=n.useState(!1),[S,C]=n.useState(null),[k,w]=n.useState("enroll"),{initEnrollmentWithSms:M,submitEnrollmentWithSms:F}=j.useMfaEnrollment(),{app:I,data:E}=h.usePrivyModal();function T(){E?.mfaEnrollmentFlow?.onSuccess(),o()}return S?/*#__PURE__*/e.jsx(d.ErrorScreenView,{error:S,backFn:()=>C(null),onClick:()=>C(null)}):"enroll"===k?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.ModalHeader,{backFn:q,onClose:f},"header"),/*#__PURE__*/e.jsx(m.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(x.default,{})}),/*#__PURE__*/e.jsx(m.Title,{children:"Set up SMS verification"}),/*#__PURE__*/e.jsxs(m.SubTitle,{children:["We'll text a verification code to this mobile device whenever you use your ",r," ","wallet."]}),/*#__PURE__*/e.jsxs(m.Container,{children:[/*#__PURE__*/e.jsx(t.ConnectPhoneNumberForm,{onSubmit:async function({qualifiedPhoneNumber:e}){try{await M({phoneNumber:e}),g(e),w("verify")}catch(e){C(e)}},hideRecent:!0}),/*#__PURE__*/e.jsxs(m.TermsText,{children:["By providing your mobile number, you agree to receive text messages from ",I?.name,". Some carrier charges may apply"]})]}),/*#__PURE__*/e.jsx(c.ModalFooter,{})]}):b?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.ModalHeader,{onClose:T},"header"),/*#__PURE__*/e.jsx(m.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(p.default,{})}),/*#__PURE__*/e.jsx(m.Title,{children:"SMS verification added"}),/*#__PURE__*/e.jsxs(m.SubTitle,{children:["From now on, you'll enter the verification code sent to your mobile device whenever you use your ",r," wallet."]}),/*#__PURE__*/e.jsx(m.BottomSection,{children:/*#__PURE__*/e.jsx(s.PrimaryButton,{onClick:T,children:"Done"})}),/*#__PURE__*/e.jsx(c.ModalFooter,{})]}):/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.ModalHeader,{backFn:function(){"verify"===k?w("enroll"):q()},onClose:f},"header"),/*#__PURE__*/e.jsx(m.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(x.default,{})}),/*#__PURE__*/e.jsx(m.Title,{children:"Enter enrollment code"}),/*#__PURE__*/e.jsxs(m.Container,{children:[/*#__PURE__*/e.jsx(u.NumericPinInput,{onChange:async function(e){try{if(!e)return;await F({phoneNumber:y,mfaCode:e}),v(!0)}catch(e){if(l.errorIndicatesMfaRateLimit(e))throw Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.");if(l.errorIndicatesMfaVerificationFailed(e))throw Error("The code you entered is not valid");if(l.errorIndicatesMfaTimeout(e))throw Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.");throw l.errorIndicatesMfaCanceled(e)?Error("Verification canceled"):Error("Unknown error")}}}),/*#__PURE__*/e.jsxs(m.SubTitle,{children:["To continue, enter the 6-digit code sent to ",/*#__PURE__*/e.jsx("strong",{children:i.lastFourDigits(y)})]})]}),/*#__PURE__*/e.jsx(c.ModalFooter,{})]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),o=require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),n=require("react"),i=require("../../components/Button.js"),s=require("../../components/CopyToClipboard.js"),t=require("../../components/Layouts.js"),c=require("../../components/ModalFooter.js"),a=require("../../components/ModalHeader.js"),u=require("../../components/PinInput.js"),l=require("../../embedded-wallets/errors.js"),d=require("../../hooks/modal-context.js"),h=require("../../hooks/useMfaEnrollment.js"),j=require("../../svg/qr-codes.js"),q=require("./StyledComponents.js");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../components/Loader.js"),require("../../svg/checkmark.js"),require("../../svg/copy.js"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../svg/protected-by-privy.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../hooks/internal-context.js"),require("../../hooks/index.js"),require("react-device-detect"),require("../../embedded-wallets/types.js"),require("../../components/PrefetchedImage.js"),require("../index.js"),require("../../hooks/privy-context.js"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("../../components/QrCode.js"),require("qrcode"),require("../../svg/black-rounded-square.js"),require("../../utils/index.js"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../errors.js"),require("ofetch"),require("../../utils/eth/getPublicClient.js"),require("viem"),require("../../svg/coinbase-wallet.js");var p=/*#__PURE__*/m(r),f=/*#__PURE__*/m(o);exports.EnrollTotp=({onComplete:r,onClose:o,onReset:m,totpInfo:x})=>{let[y,g]=n.useState("enroll"),[C,b]=n.useState(!1),{submitEnrollmentWithTotp:v}=h.useMfaEnrollment(),{data:k}=d.usePrivyModal();function w(){k?.mfaEnrollmentFlow?.onSuccess(),r()}return"enroll"===y?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.ModalHeader,{backFn:m,onClose:o},"header"),/*#__PURE__*/e.jsx(q.Title,{children:"Scan QR code"}),/*#__PURE__*/e.jsx(q.SubTitle,{children:"Open your authenticator app and scan the QR code to continue."}),/*#__PURE__*/e.jsx(t.CenteredItemWithPadding,{children:/*#__PURE__*/e.jsx(j.AddTotpProviderQr,{authUrl:x.authUrl,size:200})}),/*#__PURE__*/e.jsxs(q.BottomSection,{children:[/*#__PURE__*/e.jsx(t.CenteredItem,{children:/*#__PURE__*/e.jsx(s.CopytoClipboardButton,{itemName:"
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),o=require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),n=require("react"),i=require("../../components/Button.js"),s=require("../../components/CopyToClipboard.js"),t=require("../../components/Layouts.js"),c=require("../../components/ModalFooter.js"),a=require("../../components/ModalHeader.js"),u=require("../../components/PinInput.js"),l=require("../../embedded-wallets/errors.js"),d=require("../../hooks/modal-context.js"),h=require("../../hooks/useMfaEnrollment.js"),j=require("../../svg/qr-codes.js"),q=require("./StyledComponents.js");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../components/Loader.js"),require("../../svg/checkmark.js"),require("../../svg/copy.js"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../svg/protected-by-privy.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../hooks/internal-context.js"),require("../../hooks/index.js"),require("react-device-detect"),require("../../embedded-wallets/types.js"),require("../../components/PrefetchedImage.js"),require("../index.js"),require("../../hooks/privy-context.js"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("../../components/QrCode.js"),require("qrcode"),require("../../svg/black-rounded-square.js"),require("../../utils/index.js"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../errors.js"),require("ofetch"),require("../../utils/eth/getPublicClient.js"),require("viem"),require("../../svg/coinbase-wallet.js");var p=/*#__PURE__*/m(r),f=/*#__PURE__*/m(o);exports.EnrollTotp=({onComplete:r,onClose:o,onReset:m,totpInfo:x})=>{let[y,g]=n.useState("enroll"),[C,b]=n.useState(!1),{submitEnrollmentWithTotp:v}=h.useMfaEnrollment(),{data:k}=d.usePrivyModal();function w(){k?.mfaEnrollmentFlow?.onSuccess(),r()}return"enroll"===y?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.ModalHeader,{backFn:m,onClose:o},"header"),/*#__PURE__*/e.jsx(q.Title,{children:"Scan QR code"}),/*#__PURE__*/e.jsx(q.SubTitle,{children:"Open your authenticator app and scan the QR code to continue."}),/*#__PURE__*/e.jsx(t.CenteredItemWithPadding,{children:/*#__PURE__*/e.jsx(j.AddTotpProviderQr,{authUrl:x.authUrl,size:200})}),/*#__PURE__*/e.jsxs(q.BottomSection,{children:[/*#__PURE__*/e.jsx(t.CenteredItem,{children:/*#__PURE__*/e.jsx(s.CopytoClipboardButton,{itemName:"setup key",text:x.secret})}),/*#__PURE__*/e.jsx(i.PrimaryButton,{onClick:function(){g("verify")},children:"Continue"})]}),/*#__PURE__*/e.jsx(c.ModalFooter,{})]}):C?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.ModalHeader,{onClose:w},"header"),/*#__PURE__*/e.jsx(q.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(p.default,{})}),/*#__PURE__*/e.jsx(q.Title,{children:"Authenticator app verification added"}),/*#__PURE__*/e.jsxs(q.SubTitle,{children:["From now on, you'll enter the verification code generated by your authenticator app whenever you use your ",x.appName," wallet."]}),/*#__PURE__*/e.jsx(q.BottomSection,{children:/*#__PURE__*/e.jsx(i.PrimaryButton,{onClick:w,children:"Done"})}),/*#__PURE__*/e.jsx(c.ModalFooter,{})]}):/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(a.ModalHeader,{backFn:function(){"verify"===y?g("enroll"):m()},onClose:o},"header"),/*#__PURE__*/e.jsx(q.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(f.default,{})}),/*#__PURE__*/e.jsx(q.Title,{children:"Enter enrollment code"}),/*#__PURE__*/e.jsx(q.Container,{children:/*#__PURE__*/e.jsx(u.NumericPinInput,{onChange:async function(e){try{if(!e)return;await v({mfaCode:e}),b(!0)}catch(e){if(l.errorIndicatesMfaRateLimit(e))throw Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.");if(l.errorIndicatesMfaVerificationFailed(e))throw Error("The code you entered is not valid");if(l.errorIndicatesMfaTimeout(e))throw Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.");throw l.errorIndicatesMfaCanceled(e)?Error("Verification canceled"):Error("Unknown error")}}})}),/*#__PURE__*/e.jsxs(q.SubTitle,{children:["To continue, enter the 6-digit code generated from your ",/*#__PURE__*/e.jsx("strong",{children:"authenticator app"})]}),/*#__PURE__*/e.jsx(c.ModalFooter,{})]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),o=require("@heroicons/react/24/outline/ShieldCheckIcon"),n=require("@heroicons/react/24/solid/CheckBadgeIcon"),s=require("@heroicons/react/24/solid/IdentificationIcon"),i=require("react"),t=require("../../components/Button.js"),c=require("../../components/Loader.js"),a=require("../../components/ModalFooter.js"),l=require("../../components/ModalHeader.js"),u=require("../../hooks/internal-context.js"),h=require("../../hooks/modal-context.js"),d=require("../../hooks/privy-context.js"),j=require("../../hooks/useMfa.js"),m=require("../../hooks/useMfaEnrollment.js"),q=require("../../svg/mfa-shield.js"),p=require("./EnrollLandingScreen.js"),y=require("./EnrollPasskey.js"),f=require("./EnrollSms.js"),x=require("./EnrollTotp.js"),g=require("./StyledComponents.js");function k(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../svg/protected-by-privy.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../hooks/index.js"),require("../../components/PrefetchedImage.js"),require("../index.js"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../LandingScreen/styles.js"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../ErrorScreen.js"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("../../components/CircleBorder.js"),require("../../components/layout/StackedContainer.js"),require("../../embedded-wallets/errors.js"),require("../../embedded-wallets/types.js"),require("../../errors.js"),require("ofetch"),require("../../hooks/captcha-context.js"),require("../../utils/index.js"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../utils/eth/getPublicClient.js"),require("viem"),require("../../svg/lock-closed.js"),require("../LinkPasskeyScreen.js"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@privy-io/js-sdk-core"),require("../../components/ConnectPhoneForm.js"),require("../../recent-login/context.js"),require("../../hooks/events-context.js"),require("../../storage.js"),require("../../components/PhoneCountryDropdown.js"),require("../../components/PinInput.js"),require("react-device-detect"),require("../../components/CopyToClipboard.js"),require("../../svg/checkmark.js"),require("../../svg/copy.js"),require("../../components/Layouts.js"),require("../../svg/qr-codes.js"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("../../components/QrCode.js"),require("qrcode"),require("../../svg/black-rounded-square.js"),require("../../svg/coinbase-wallet.js");var M=/*#__PURE__*/k(r),v=/*#__PURE__*/k(o),C=/*#__PURE__*/k(n),S=/*#__PURE__*/k(s);exports.MfaEnrollmentFlowScreen=()=>{let{user:r,enrollInMfa:o}=d.usePrivyContext(),[n,s]=i.useState(null),{unenrollWithSms:k,unenrollWithTotp:I,unenrollWithPasskey:b}=m.useMfaEnrollment(),{app:w,ready:F,data:E,onUserCloseViaDialogOrKeybindRef:P}=h.usePrivyModal(),{closePrivyModal:T}=u.usePrivyInternal(),{promptMfa:A}=j.useMfa(),{initEnrollmentWithTotp:B}=m.useMfaEnrollment(),[L,R]=i.useState(!1),[W,H]=i.useState(null),[U,O]=i.useState(null),z=()=>{T({shouldCallAuthOnSuccess:!0}),o(!1),setTimeout((()=>{s(null),H(null)}),500)},{initEnrollmentWithPasskey:D,submitEnrollmentWithPasskey:Q}=m.useMfaEnrollment(),[Y,K]=i.useState(!1),[N,V]=i.useState(null);P.current=z;let X=r?.mfaMethods.includes("sms"),G=!!r?.phone,J=r?.mfaMethods.includes("totp"),Z=r?.mfaMethods.includes("passkey"),$=X||J||Z,_=r?.linkedAccounts.filter((e=>"passkey"===e.type)).map((e=>e.credentialId))??[];function ee(){s(null),H(null)}if(i.useEffect((()=>{$&&R(!0)}),[$]),!F||!r||!w/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{onClose:z},"header"),/*#__PURE__*/e.jsx(g.AppLogoContainer,{children:/*#__PURE__*/e.jsx(q.MfaShieldIcon,{})}),/*#__PURE__*/e.jsx(g.Container,{children:/*#__PURE__*/e.jsx(c.Loader,{})}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]});if("sms"===n)/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{backFn:ee,onClose:z},"header"),/*#__PURE__*/e.jsx(g.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(M.default,{})}),/*#__PURE__*/e.jsx(g.Title,{children:"Remove SMS verification?"}),/*#__PURE__*/e.jsxs(g.SubTitle,{children:["MFA adds an extra layer of security to your ",w?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/e.jsx(g.BottomSection,{children:/*#__PURE__*/e.jsx(t.PrimaryButton,{warn:!0,onClick:async function(){s(null);try{await k()}catch(e){s(null)}},children:"Remove SMS for MFA"})}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]});if("totp"===n)/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{backFn:ee,onClose:z},"header"),/*#__PURE__*/e.jsx(g.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(M.default,{})}),/*#__PURE__*/e.jsx(g.Title,{children:"Remove Authenticator App verification?"}),/*#__PURE__*/e.jsxs(g.SubTitle,{children:["MFA adds an extra layer of security to your ",w?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/e.jsx(g.BottomSection,{children:/*#__PURE__*/e.jsx(t.PrimaryButton,{warn:!0,onClick:async function(){s(null);try{await I()}catch(e){s(null)}},children:"Remove Authenticator App for MFA"})}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]});if("passkey"===n){let r=E?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa??!0;/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{backFn:ee,onClose:z},"header"),/*#__PURE__*/e.jsx(g.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(M.default,{})}),/*#__PURE__*/e.jsx(g.Title,{children:"Are you sure you want to remove this passkey?"}),/*#__PURE__*/e.jsx(g.SubTitle,{children:r?"Removing your passkey will remove as both a verification method and a login method.":"Removing your passkey will remove as a verification method."}),/*#__PURE__*/e.jsx(g.BottomSection,{children:/*#__PURE__*/e.jsx(t.PrimaryButton,{warn:!0,onClick:async function(){s(null);try{await b({removeForLogin:E?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch(e){s(null)}},children:"Yes, remove"})}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]})}if(0===E.mfaEnrollmentFlow.mfaMethods.length&&!$)/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{onClose:z},"header"),/*#__PURE__*/e.jsx(g.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(v.default,{})}),/*#__PURE__*/e.jsx(g.Title,{children:"Add more security"}),/*#__PURE__*/e.jsxs(g.SubTitle,{children:[w?.name," does not have any verification methods enabled."]}),/*#__PURE__*/e.jsx(g.BottomSection,{children:/*#__PURE__*/e.jsx(t.PrimaryButton,{onClick:z,children:"Close"})}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]});let re=!$&&!L;return re?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{onClose:z},"header"),/*#__PURE__*/e.jsx(g.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(v.default,{})}),/*#__PURE__*/e.jsx(g.Title,{children:"Transaction Protection"}),/*#__PURE__*/e.jsx(g.SubTitle,{children:"Set up transaction protection to add an extra layer of security to your account"}),/*#__PURE__*/e.jsxs(g.List,{children:[/*#__PURE__*/e.jsxs(g.ListItem,{children:[/*#__PURE__*/e.jsx(g.ListItemIcon,{children:/*#__PURE__*/e.jsx(C.default,{})}),"Enable 2-Step verification for your ",w?.name," wallet."]}),/*#__PURE__*/e.jsxs(g.ListItem,{children:[/*#__PURE__*/e.jsx(g.ListItemIcon,{children:/*#__PURE__*/e.jsx(S.default,{})}),"You'll be prompted to authenticate to complete transactions."]})]}),/*#__PURE__*/e.jsxs(g.BottomSection,{children:[/*#__PURE__*/e.jsx(t.PrimaryButton,{onClick:()=>R(!0),children:"Continue"}),/*#__PURE__*/e.jsx(t.SecondaryButton,{onClick:z,children:"Not now"})]}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]}):"sms"===W?/*#__PURE__*/e.jsx(f.EnrollSms,{onComplete:z,onReset:ee,onClose:z}):"totp"===W&&U?/*#__PURE__*/e.jsx(x.EnrollTotp,{onComplete:z,onClose:z,onReset:ee,totpInfo:U}):"passkey"===W?/*#__PURE__*/e.jsx(y.EnrollPasskey,{onComplete:z,onReset:ee,onClose:z}):/*#__PURE__*/e.jsx(p.EnrollLandingScreen,{showIntro:re,userMfaMethods:r.mfaMethods,appMfaMethods:w.mfa.methods,userHasAuthSms:G,onBackToIntro:function(){R(!1)},handleSelectMethod:async function(e){return await A().catch(V),"totp"===e?(H(e),O(null),void B().then((e=>{O(e)})).catch((()=>{O(null),ee()}))):"passkey"===e&&1===_.length?await async function(){K(!0);try{await D(),await Q({credentialIds:_},{removeForLogin:E?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch(e){V(e)}finally{K(!1)}}():void H(e)},isTotpLoading:"totp"===W&&!U,isPasskeyLoading:Y,error:N,onClose:z,setRemovingMfaMethod:async e=>{await A().catch(V),s(e)}})};
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),o=require("@heroicons/react/24/outline/ShieldCheckIcon"),n=require("@heroicons/react/24/solid/CheckBadgeIcon"),s=require("@heroicons/react/24/solid/IdentificationIcon"),i=require("react"),t=require("../../components/Button.js"),c=require("../../components/Loader.js"),a=require("../../components/ModalFooter.js"),l=require("../../components/ModalHeader.js"),u=require("../../hooks/internal-context.js"),h=require("../../hooks/modal-context.js"),d=require("../../hooks/privy-context.js"),j=require("../../hooks/useMfa.js"),m=require("../../hooks/useMfaEnrollment.js"),q=require("../../svg/mfa-shield.js"),p=require("./EnrollLandingScreen.js"),y=require("./EnrollPasskey.js"),f=require("./EnrollSms.js"),x=require("./EnrollTotp.js"),g=require("./StyledComponents.js");function k(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("../../configuration/context.js"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../lib/solana/index.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../svg/protected-by-privy.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../hooks/index.js"),require("../../components/PrefetchedImage.js"),require("../index.js"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../LandingScreen/styles.js"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("../../svg/face-id.js"),require("../../svg/fingerprint.js"),require("../ErrorScreen.js"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("../../components/CircleBorder.js"),require("../../components/layout/StackedContainer.js"),require("../../embedded-wallets/errors.js"),require("../../embedded-wallets/types.js"),require("../../errors.js"),require("ofetch"),require("../../hooks/captcha-context.js"),require("../../utils/index.js"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../utils/eth/getPublicClient.js"),require("viem"),require("../../svg/lock-closed.js"),require("../LinkPasskeyScreen.js"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@privy-io/js-sdk-core"),require("../../components/ConnectPhoneForm.js"),require("../../recent-login/context.js"),require("../../hooks/events-context.js"),require("../../storage.js"),require("../../components/PhoneCountryDropdown.js"),require("../../components/PinInput.js"),require("react-device-detect"),require("../../components/CopyToClipboard.js"),require("../../svg/checkmark.js"),require("../../svg/copy.js"),require("../../components/Layouts.js"),require("../../svg/qr-codes.js"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("../../components/QrCode.js"),require("qrcode"),require("../../svg/black-rounded-square.js"),require("../../svg/coinbase-wallet.js");var v=/*#__PURE__*/k(r),M=/*#__PURE__*/k(o),C=/*#__PURE__*/k(n),S=/*#__PURE__*/k(s);exports.MfaEnrollmentFlowScreen=()=>{let{user:r,enrollInMfa:o}=d.usePrivyContext(),[n,s]=i.useState(null),{unenrollWithSms:k,unenrollWithTotp:I,unenrollWithPasskey:b}=m.useMfaEnrollment(),{app:w,ready:F,data:P,onUserCloseViaDialogOrKeybindRef:E}=h.usePrivyModal(),{closePrivyModal:T}=u.usePrivyInternal(),{promptMfa:A}=j.useMfa(),{initEnrollmentWithTotp:B}=m.useMfaEnrollment(),[L,R]=i.useState(!1),[W,H]=i.useState(null),[U,O]=i.useState(null),N=()=>{T({shouldCallAuthOnSuccess:!0}),o(!1),setTimeout((()=>{s(null),H(null)}),500)},{initEnrollmentWithPasskey:z,submitEnrollmentWithPasskey:D}=m.useMfaEnrollment(),[Q,Y]=i.useState(!1),[K,V]=i.useState(null);E.current=N;let X=r?.mfaMethods.includes("sms"),G=!!r?.phone,J=r?.mfaMethods.includes("totp"),Z=r?.mfaMethods.includes("passkey"),$=X||J||Z,_=r?.linkedAccounts.filter((e=>"passkey"===e.type)).map((e=>e.credentialId))??[];function ee(){s(null),H(null)}if(i.useEffect((()=>{$&&R(!0)}),[$]),!F||!r||!w/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{onClose:N},"header"),/*#__PURE__*/e.jsx(g.AppLogoContainer,{children:/*#__PURE__*/e.jsx(q.MfaShieldIcon,{})}),/*#__PURE__*/e.jsx(g.Container,{children:/*#__PURE__*/e.jsx(c.Loader,{})}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]});if("sms"===n)/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{backFn:ee,onClose:N},"header"),/*#__PURE__*/e.jsx(g.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(v.default,{})}),/*#__PURE__*/e.jsx(g.Title,{children:"Remove SMS verification?"}),/*#__PURE__*/e.jsxs(g.SubTitle,{children:["MFA adds an extra layer of security to your ",w?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/e.jsx(g.BottomSection,{children:/*#__PURE__*/e.jsx(t.PrimaryButton,{warn:!0,onClick:async function(){s(null);try{await k()}catch(e){s(null)}},children:"Remove SMS for MFA"})}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]});if("totp"===n)/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{backFn:ee,onClose:N},"header"),/*#__PURE__*/e.jsx(g.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(v.default,{})}),/*#__PURE__*/e.jsx(g.Title,{children:"Remove Authenticator App verification?"}),/*#__PURE__*/e.jsxs(g.SubTitle,{children:["MFA adds an extra layer of security to your ",w?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/e.jsx(g.BottomSection,{children:/*#__PURE__*/e.jsx(t.PrimaryButton,{warn:!0,onClick:async function(){s(null);try{await I()}catch(e){s(null)}},children:"Remove Authenticator App for MFA"})}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]});if("passkey"===n){let r=P?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa??!0;/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{backFn:ee,onClose:N},"header"),/*#__PURE__*/e.jsx(g.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(v.default,{})}),/*#__PURE__*/e.jsx(g.Title,{children:"Are you sure you want to remove this passkey?"}),/*#__PURE__*/e.jsx(g.SubTitle,{children:r?"Removing your passkey will remove as both a verification method and a login method.":"Removing your passkey will remove as a verification method."}),/*#__PURE__*/e.jsx(g.BottomSection,{children:/*#__PURE__*/e.jsx(t.PrimaryButton,{warn:!0,onClick:async function(){s(null);try{await b({removeForLogin:P?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch(e){s(null)}},children:"Yes, remove"})}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]})}if(0===P.mfaEnrollmentFlow.mfaMethods.length&&!$)/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{onClose:N},"header"),/*#__PURE__*/e.jsx(g.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(M.default,{})}),/*#__PURE__*/e.jsx(g.Title,{children:"Add more security"}),/*#__PURE__*/e.jsxs(g.SubTitle,{children:[w?.name," does not have any verification methods enabled."]}),/*#__PURE__*/e.jsx(g.BottomSection,{children:/*#__PURE__*/e.jsx(t.PrimaryButton,{onClick:N,children:"Close"})}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]});let re=!$&&!L;return re?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{onClose:N},"header"),/*#__PURE__*/e.jsx(g.IconWrapper,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/e.jsx(M.default,{})}),/*#__PURE__*/e.jsx(g.Title,{children:"Transaction Protection"}),/*#__PURE__*/e.jsx(g.SubTitle,{children:"Set up transaction protection to add an extra layer of security to your account"}),/*#__PURE__*/e.jsxs(g.List,{children:[/*#__PURE__*/e.jsxs(g.ListItem,{children:[/*#__PURE__*/e.jsx(g.ListItemIcon,{children:/*#__PURE__*/e.jsx(C.default,{})}),"Enable 2-Step verification for your ",w?.name," wallet."]}),/*#__PURE__*/e.jsxs(g.ListItem,{children:[/*#__PURE__*/e.jsx(g.ListItemIcon,{children:/*#__PURE__*/e.jsx(S.default,{})}),"You'll be prompted to authenticate to complete transactions."]})]}),/*#__PURE__*/e.jsxs(g.BottomSection,{children:[/*#__PURE__*/e.jsx(t.PrimaryButton,{onClick:()=>R(!0),children:"Continue"}),/*#__PURE__*/e.jsx(t.SecondaryButton,{onClick:N,children:"Not now"})]}),/*#__PURE__*/e.jsx(a.ModalFooter,{})]}):"sms"===W?/*#__PURE__*/e.jsx(f.EnrollSms,{appName:w?.name||"Privy",onComplete:N,onReset:ee,onClose:N}):"totp"===W&&U?/*#__PURE__*/e.jsx(x.EnrollTotp,{onComplete:N,onClose:N,onReset:ee,totpInfo:{...U,appName:w?.name||"Privy"}}):"passkey"===W?/*#__PURE__*/e.jsx(y.EnrollPasskey,{appName:w?.name||"Privy",onComplete:N,onReset:ee,onClose:N}):/*#__PURE__*/e.jsx(p.EnrollLandingScreen,{showIntro:re,userMfaMethods:r.mfaMethods,appMfaMethods:w.mfa.methods,userHasAuthSms:G,onBackToIntro:function(){R(!1)},handleSelectMethod:async function(e){return await A().catch(V),"totp"===e?(H(e),O(null),void B().then((e=>{O(e)})).catch((()=>{O(null),ee()}))):"passkey"===e&&1===_.length?await async function(){Y(!0);try{await z(),await D({credentialIds:_},{removeForLogin:P?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch(e){V(e)}finally{Y(!1)}}():void H(e)},isTotpLoading:"totp"===W&&!U,isPasskeyLoading:Q,error:K,onClose:N,setRemovingMfaMethod:async e=>{await A().catch(V),s(e)}})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),n=require("react"),r=require("viem"),o=require("@privy-io/js-sdk-core"),t=require("../../client/user.js"),s=require("../../configuration/context.js"),i=require("../../embedded-wallets/solana/transaction.js"),a=require("../../hooks/internal-context.js"),c=require("../../hooks/modal-context.js"),l=require("../../hooks/privy-context.js"),u=require("../../hooks/useGetSolPrice.js"),d=require("../../lib/solana/index.js"),p=require("../../lib/solana/transaction.js"),m=require("../ErrorScreen.js"),q=require("../SendTransactionScreen/SendTransactionScreenView.js"),j=require("../SendTransactionScreen/TransactionErrorView.js"),h=require("../index.js"),f=require("./SolanaTransactionReceiptView.js");require("viem/utils"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../utils/buffer/readBigInt64LE.js"),require("../../lib/attempt.js"),require("../../hooks/index.js"),require("../../components/PrefetchedImage.js"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("styled-components"),require("../../components/Button.js"),require("../../components/Loader.js"),require("../../components/CircleBorder.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../components/layout/StackedContainer.js"),require("../../embedded-wallets/errors.js"),require("../../embedded-wallets/types.js"),require("../../errors.js"),require("ofetch"),require("../../hooks/captcha-context.js"),require("../../utils/index.js"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../utils/eth/getPublicClient.js"),require("../../svg/lock-closed.js"),require("@heroicons/react/24/outline"),require("../../components/ModalFooter.js"),require("../../svg/protected-by-privy.js"),require("../../components/primitives/InteractiveLabel.js"),require("../../components/ui/typography/LabelSm.js"),require("../../components/ui/layout/Row.js"),require("../../components/ui/typography/ErrorMessage.js"),require("../../components/ui/typography/Subtitle.js"),require("../../components/ui/typography/Title.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("../../components/ui/wallet/WalletInfoCard.js"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/layout/Column.js"),require("../../components/ui/typography/LabelXs.js"),require("../../components/ui/wallet/shared.js"),require("../LandingScreen/styles.js"),require("../SendTransactionScreen/TokenDescription.js"),require("../SendTransactionScreen/TransactionDetail.js"),require("../SendTransactionScreen/TransactionValidation.js"),require("../../components/Checkbox.js"),require("../../components/Pill.js"),require("../SendTransactionScreen/useTransactionDetails.js"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("../../components/CircleBackground.js"),require("../../components/Layouts.js"),require("../../components/ScreenHeader.js"),require("../../components/embedded-wallets/SolanaTransactionDetails.js"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("../../components/embedded-wallets/PriceDisplay.js"),require("../../lib/ethers.js"),require("../../components/embedded-wallets/WalletLink.js");exports.SendSolanaTransactionScreen=()=>{let{data:g,onUserCloseViaDialogOrKeybindRef:y,setModalData:S,navigate:k}=c.usePrivyModal(),{client:b,closePrivyModal:T,walletProxy:w}=a.usePrivyInternal(),v=s.useAppConfig(),{user:I,getAccessToken:A}=l.usePrivyContext(),[x,C]=n.useState(g?.sendSolanaTransaction?.transactionRequest),[E,L]=n.useState(),[O,P]=n.useState(),[D,F]=n.useState(0),[M,V]=n.useState({value:0n,isLoading:!1}),[W,R]=n.useState(!1),[B,N]=n.useState(),[U,H]=n.useState(),$=g?.sendSolanaTransaction?.connection,z=g?.sendSolanaTransaction?.transactingWallet,G=g?.sendSolanaTransaction?.signOnly??!1,_=E?.instructions.length??1,X=z?.imported?t.getImportedPrivySolanaWallet(I):t.getPrivyPrimaryWallet(I),K=d.getSolanaNetworkFromRpcEndpoint($?.rpcEndpoint||""),Q="fiat-currency"===v.embeddedWallets.priceDisplay.primary,{solPrice:J,isSolPriceLoading:Y}=u.useGetSolPrice({enabled:Q}),Z=n.useMemo((()=>{let e,n;if(!E)return;let o=E.spender;0===D&&z?.address===o&&(e=p.getNativeCurrencyFromLamports(E.fee));let t=p.getNativeCurrencyFromLamports(M.value,3,!0),s=E.instructions[D];if(!s)return{fee:e,spender:o,balance:t};if("unknown"===s.type)return{fee:e,spender:o,program:s.program,balance:t};if("ata-creation"===s.type)return{fee:e,spender:o,balance:t,tokenAccountOwner:s.owner,tokenAccount:s.ata,tokenAddress:s.mint};let i=s.fromAccount,a="sol-transfer"===s.type?s.toAccount:s.toAccount||s.toAta,c="spl-transfer"===s.type?s.token.address:void 0;return null!=e&&"SOL"===s.token.symbol&&(n=p.getNativeCurrencyFromLamports(s.value+E.fee)),{fee:e,spender:o,from:i,to:a,tokenAddress:c,amount:`${r.formatUnits(s.value,s.token.decimals)} ${s.token.symbol}`.trim(),total:n,balance:t}}),[E,D,z?.address,M]),ee=n.useMemo((()=>{let e,n;if(!E||!Q||!J||Y)return;function o(...e){return p.getDollarsFromLamport(e.reduce(((e,n)=>e+n),0n),J??0)}0===D&&z?.address===E.spender&&(e=o(E.fee));let t=o(M.value),s=E.instructions[D];return s&&"unknown"!==s.type&&"ata-creation"!==s.type?(null!=e&&"SOL"===s.token.symbol&&(n=o(s.value,E.fee)),{fee:e,amount:"SOL"===s.token.symbol?o(s.value):`${r.formatUnits(s.value,s.token.decimals)} ${s.token.symbol}`.trim(),total:n,balance:t}):{fee:e,balance:t}}),[E,Q,J,Y,z?.address,D,M]),ne=n.useMemo((()=>{if(G||!E||M.isLoading||D>0)return!1;let e=E.instructions[D];if(!e)return!1;let n=0n;return z?.address===E.spender&&(n+=E.fee),"value"in e&&z?.address===e.fromAccount&&"SOL"===e.token.symbol&&(n+=e.value),M.value<n}),[E,M,D,G]);if(n.useEffect((()=>{!async function(){if(x&&$&&b)try{P(void 0);let e=await p.parseSolanaTransaction({tx:x,connection:$,client:b});L(e),F(0)}catch(e){console.error("Failed to prepare transaction",e),P(e)}}()}),[x,$,b]),n.useEffect((()=>{(async function(){if(!z||!$)return;V({value:M.value,isLoading:!0});let e=new o.SolanaClient({name:"mainnet-beta",rpcUrl:$.rpcEndpoint});V({value:await e.getBalance(z.address).catch((()=>0n))??0n,isLoading:!1})})().catch(console.error)}),[E,$]),!(x&&g?.sendSolanaTransaction&&z&&$)){let n=Error("Invalid transaction request");/*#__PURE__*/return e.jsx(m.ErrorScreenView,{error:n,onClick:()=>{g?.sendSolanaTransaction?.onFailure(n),T({shouldCallAuthOnSuccess:!1})}})}let re=()=>{if(!W)return B?g?.sendSolanaTransaction?.onSuccess(B):(g?.sendSolanaTransaction?.onFailure(U??O??Error("User exited the modal before submitting the transaction")),F(0)),T({shouldCallAuthOnSuccess:!1})};y.current=re;let oe=g.sendTransaction?.uiOptions?.transactionInfo?.contractInfo?.imgUrl?/*#__PURE__*/e.jsx("img",{src:g.sendTransaction.uiOptions.transactionInfo.contractInfo.imgUrl,alt:g.sendTransaction.uiOptions.transactionInfo.contractInfo.imgAltText}):null,te=!!(g.funding&&g.funding.supportedOptions.length>0),se=ne&&te;return B?/*#__PURE__*/e.jsx(f.SolanaTransactionReceiptView,{instructions:E?.instructions.reduce(((e,n)=>("ata-creation"===n.type&&e.push({tokenAccountOwner:n.owner,tokenAccount:n.ata}),"spl-transfer"===n.type&&e.push({from:n.fromAccount,to:n.toAccount||n.toAta,amount:n.value,token:n.token}),"sol-transfer"===n.type&&e.push({from:n.fromAccount,to:n.toAccount,amount:n.value,token:n.token}),e)),[])??[],fees:0===D?B.fees:0n,onClose:re,transactionInfo:g.sendTransaction?.uiOptions.transactionInfo,solPrice:J,receiptHeader:g.sendTransaction?.uiOptions.successHeader,receiptDescription:g.sendTransaction?.uiOptions.successDescription,rpcEndpoint:$.rpcEndpoint,signOnly:G}):U?/*#__PURE__*/e.jsx(j.TransactionErrorView,{transactionError:U,connection:$,onClose:re,network:"solana",onRetry:async()=>{H(void 0);let{blockhash:e}=await $.getLatestBlockhash();p.isVersionedTransaction(x)?x.message.recentBlockhash=e:x.recentBlockhash=e,C(x)}}):/*#__PURE__*/e.jsx(q.SendSolanaTransactionScreenView,{img:oe,title:g.sendTransaction?.uiOptions?.transactionInfo?.title||"Confirm transaction",subtitle:g.sendTransaction?.uiOptions?.description||`${v.name} wants your permission to approve the following transaction.`,cta:se?"Add funds":g.sendTransaction?.uiOptions?.buttonText||"Approve",transactionIndex:D,maxIndex:_-1,network:"mainnet-beta"==K?"Solana":K,blockExplorerUrl:"https://explorer.solana.com",total:Q?ee?.total:Z?.total,amount:Q?ee?.amount:Z?.amount,fee:Q?ee?.fee:Z?.fee,balance:Q?ee?.balance:Z?.balance,from:Z?.from,to:Z?.to,tokenAccount:Z?.tokenAccount,tokenAccountOwner:Z?.tokenAccountOwner,tokenAddress:Z?.tokenAddress,transactingWalletAddress:z.address,programAddress:Z?.program,disabled:ne&&!te,isSubmitting:W,isPreparing:!E||M.isLoading,isTokenPriceLoading:Q&&Y,isMissingFunds:ne,submitError:U??void 0,parseError:O,onClick:se?async()=>{if(!z)return;if(!te)throw Error("Funding wallet is not enabled");let e=h.ModalScreen.FUNDING_METHOD_SELECTION_SCREEN;S({...g,funding:{...g.funding,methodScreen:e}}),k(e)}:async()=>{if(D<(E?.instructions.length??1)-1)F(D+1);else try{R(!0);let e=await A();if(W||!e||!z||!w||!I||!X)return;let{rootWallet:n}=t.getSolanaSigningAndRootWallet(I,z.address);if(!n)throw Error("No root wallet for transacting wallet found");let{entropyId:r,entropyIdVerifier:o}=t.getEntropyDetailsFromAccount(n);if(G)await i.signSolanaTransaction({tx:x,accessToken:e,walletProxy:w,entropyId:r,entropyIdVerifier:o,transactingWalletAddress:z.address,transactingWalletIndex:z.walletIndex??0}),N(p.createSolanaTransactionReceipt("",x,null));else{let{signature:n,receipt:t}=await i.sendSolanaTransaction({tx:x,accessToken:e,connection:$,walletProxy:w,entropyId:r,entropyIdVerifier:o,transactingWalletAddress:z.address,transactingWalletIndex:z.walletIndex??0,transactionOptions:g.sendSolanaTransaction?.transactionOptions});N(p.createSolanaTransactionReceipt(n,x,t))}}catch(e){console.warn({transaction:x,error:e}),H(e)}finally{R(!1)}},onClose:re,onBack:D>0&&_>1?()=>F(D-1):void 0})};
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),n=require("react"),r=require("viem"),o=require("@privy-io/js-sdk-core"),t=require("../../client/user.js"),s=require("../../configuration/context.js"),a=require("../../embedded-wallets/solana/transaction.js"),i=require("../../hooks/internal-context.js"),c=require("../../hooks/modal-context.js"),l=require("../../hooks/privy-context.js"),u=require("../../hooks/useGetSolPrice.js"),d=require("../../lib/solana/index.js"),p=require("../../lib/solana/transaction.js"),m=require("../ErrorScreen.js"),q=require("../SendTransactionScreen/SendTransactionScreenView.js"),j=require("../SendTransactionScreen/TransactionErrorView.js"),h=require("../index.js"),f=require("./SolanaTransactionReceiptView.js");require("viem/utils"),require("../../config.js"),require("../../configuration/defaultClientConfig.js"),require("../../constants.js"),require("../../configuration/login-methods.js"),require("../../configuration/wallets.js"),require("../../connectors/chains/index.js"),require("../../connectors/chains/arbitrum.js"),require("../../connectors/chains/arbitrumSepolia.js"),require("../../connectors/chains/avalanche.js"),require("../../connectors/chains/avalancheFuji.js"),require("../../connectors/chains/base.js"),require("../../connectors/chains/baseSepolia.js"),require("../../connectors/chains/berachainArtio.js"),require("../../connectors/chains/celo.js"),require("../../connectors/chains/celoAlfajores.js"),require("../../connectors/chains/filecoin.js"),require("../../connectors/chains/filecoinCalibration.js"),require("../../connectors/chains/garnetHolesky.js"),require("../../connectors/chains/holesky.js"),require("../../connectors/chains/linea.js"),require("../../connectors/chains/lineaTestnet.js"),require("../../connectors/chains/lukso.js"),require("../../connectors/chains/mainnet.js"),require("../../connectors/chains/optimism.js"),require("../../connectors/chains/optimismSepolia.js"),require("../../connectors/chains/polygon.js"),require("../../connectors/chains/polygonAmoy.js"),require("../../connectors/chains/redstone.js"),require("../../connectors/chains/sepolia.js"),require("../../connectors/chains/zora.js"),require("../../connectors/chains/zoraSepolia.js"),require("../../connectors/chains/zoraTestnet.js"),require("../../connectors/chains/utils.js"),require("../../theme.js"),require("tinycolor2"),require("../../lib/cybr53.js"),require("../../utils/buffer/readBigInt64LE.js"),require("../../lib/attempt.js"),require("../../hooks/index.js"),require("../../components/PrefetchedImage.js"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("styled-components"),require("../../components/Button.js"),require("../../components/Loader.js"),require("../../components/CircleBorder.js"),require("../../components/ModalHeader.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("../../components/layout/StackedContainer.js"),require("../../embedded-wallets/errors.js"),require("../../embedded-wallets/types.js"),require("../../errors.js"),require("ofetch"),require("../../hooks/captcha-context.js"),require("../../utils/index.js"),require("../../connectors/get-legacy-injected-providers.js"),require("../../connectors/is-wallet-installed.js"),require("../../utils/eth/getPublicClient.js"),require("../../svg/lock-closed.js"),require("@heroicons/react/24/outline"),require("../../components/ModalFooter.js"),require("../../svg/protected-by-privy.js"),require("../../components/primitives/InteractiveLabel.js"),require("../../components/ui/typography/LabelSm.js"),require("../../components/ui/layout/Row.js"),require("../../components/ui/typography/ErrorMessage.js"),require("../../components/ui/typography/Subtitle.js"),require("../../components/ui/typography/Title.js"),require("../../components/ui/typography/Value.js"),require("../../components/ui/animation/LoadingSkeleton.js"),require("../../components/ui/wallet/Address.js"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("../../components/ui/wallet/WalletInfoCard.js"),require("../../components/ui/chips/Chip.js"),require("../../components/ui/layout/Column.js"),require("../../components/ui/typography/LabelXs.js"),require("../../components/ui/wallet/shared.js"),require("../LandingScreen/styles.js"),require("../SendTransactionScreen/TokenDescription.js"),require("../SendTransactionScreen/TransactionDetail.js"),require("../SendTransactionScreen/TransactionValidation.js"),require("../../components/Checkbox.js"),require("../../components/Pill.js"),require("../SendTransactionScreen/useTransactionDetails.js"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("../../components/CircleBackground.js"),require("../../components/Layouts.js"),require("../../components/ScreenHeader.js"),require("../../components/embedded-wallets/SolanaTransactionDetails.js"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("../../components/embedded-wallets/PriceDisplay.js"),require("../../lib/ethers.js"),require("../../components/embedded-wallets/WalletLink.js");exports.SendSolanaTransactionScreen=()=>{let{data:S,onUserCloseViaDialogOrKeybindRef:g,setModalData:y,navigate:k}=c.usePrivyModal(),{client:b,closePrivyModal:T,walletProxy:w}=i.usePrivyInternal(),v=s.useAppConfig(),{user:I,getAccessToken:A}=l.usePrivyContext(),[x,C]=n.useState(S?.sendSolanaTransaction?.transactionRequest),[E,L]=n.useState(),[O,P]=n.useState(),[D,F]=n.useState(0),[M,V]=n.useState({value:0n,isLoading:!1}),[W,R]=n.useState(!1),[B,N]=n.useState(),[U,H]=n.useState(),$=S?.sendSolanaTransaction?.connection,z=S?.sendSolanaTransaction?.transactingWallet,G=S?.sendSolanaTransaction?.signOnly??!1,_=E?.instructions.length??1,X=z?.imported?t.getImportedPrivySolanaWallet(I):t.getPrivyPrimaryWallet(I),K=d.getSolanaNetworkFromRpcEndpoint($?.rpcEndpoint||""),Q="fiat-currency"===v.embeddedWallets.priceDisplay.primary,{solPrice:J,isSolPriceLoading:Y}=u.useGetSolPrice({enabled:Q}),Z=n.useMemo((()=>{let e,n;if(!E)return;let o=E.spender;0===D&&z?.address===o&&(e=p.getNativeCurrencyFromLamports(E.fee));let t=p.getNativeCurrencyFromLamports(M.value,3,!0),s=E.instructions[D];if(!s)return{fee:e,spender:o,balance:t};if("unknown"===s.type)return{fee:e,spender:o,program:s.program,balance:t};if("ata-creation"===s.type)return{fee:e,spender:o,balance:t,tokenAccountOwner:s.owner,tokenAccount:s.ata,tokenAddress:s.mint};let a=s.fromAccount,i="sol-transfer"===s.type?s.toAccount:s.toAccount||s.toAta,c="spl-transfer"===s.type?s.token.address:void 0;return null!=e&&"SOL"===s.token.symbol&&(n=p.getNativeCurrencyFromLamports(s.value+E.fee)),{fee:e,spender:o,from:a,to:i,tokenAddress:c,amount:`${r.formatUnits(s.value,s.token.decimals)} ${s.token.symbol}`.trim(),total:n,balance:t}}),[E,D,z?.address,M]),ee=n.useMemo((()=>{let e,n;if(!E||!Q||!J||Y)return;function o(...e){return p.getDollarsFromLamport(e.reduce(((e,n)=>e+n),0n),J??0)}0===D&&z?.address===E.spender&&(e=o(E.fee));let t=o(M.value),s=E.instructions[D];return s&&"unknown"!==s.type&&"ata-creation"!==s.type?(null!=e&&"SOL"===s.token.symbol&&(n=o(s.value,E.fee)),{fee:e,amount:"SOL"===s.token.symbol?o(s.value):`${r.formatUnits(s.value,s.token.decimals)} ${s.token.symbol}`.trim(),total:n,balance:t}):{fee:e,balance:t}}),[E,Q,J,Y,z?.address,D,M]),ne=n.useMemo((()=>{if(G||!E||M.isLoading||D>0)return!1;let e=E.instructions[D];if(!e)return!1;let n=0n;return z?.address===E.spender&&(n+=E.fee),"value"in e&&z?.address===e.fromAccount&&"SOL"===e.token.symbol&&(n+=e.value),M.value<n}),[E,M,D,G]);if(n.useEffect((()=>{!async function(){if(x&&$&&b)try{P(void 0);let e=await p.parseSolanaTransaction({tx:x,connection:$,client:b});L(e),F(0)}catch(e){console.error("Failed to prepare transaction",e),P(e)}}()}),[x,$,b]),n.useEffect((()=>{(async function(){if(!z||!$)return;V({value:M.value,isLoading:!0});let e=new o.SolanaClient({name:"mainnet-beta",rpcUrl:$.rpcEndpoint});V({value:await e.getBalance(z.address).catch((()=>0n))??0n,isLoading:!1})})().catch(console.error)}),[E,$]),!(x&&S?.sendSolanaTransaction&&z&&$)){let n=Error("Invalid transaction request");/*#__PURE__*/return e.jsx(m.ErrorScreenView,{error:n,onClick:()=>{S?.sendSolanaTransaction?.onFailure(n),T({shouldCallAuthOnSuccess:!1})}})}let re=()=>{if(!W)return B?S?.sendSolanaTransaction?.onSuccess(B):(S?.sendSolanaTransaction?.onFailure(U??O??Error("User exited the modal before submitting the transaction")),F(0)),T({shouldCallAuthOnSuccess:!1})};g.current=re;let oe=S.sendSolanaTransaction?.uiOptions?.transactionInfo?.contractInfo?.imgUrl?/*#__PURE__*/e.jsx("img",{src:S.sendSolanaTransaction.uiOptions.transactionInfo.contractInfo.imgUrl,alt:S.sendSolanaTransaction.uiOptions.transactionInfo.contractInfo.imgAltText}):null,te=!!(S.funding&&S.funding.supportedOptions.length>0),se=ne&&te;return B?/*#__PURE__*/e.jsx(f.SolanaTransactionReceiptView,{instructions:E?.instructions.reduce(((e,n)=>("ata-creation"===n.type&&e.push({tokenAccountOwner:n.owner,tokenAccount:n.ata}),"spl-transfer"===n.type&&e.push({from:n.fromAccount,to:n.toAccount||n.toAta,amount:n.value,token:n.token}),"sol-transfer"===n.type&&e.push({from:n.fromAccount,to:n.toAccount,amount:n.value,token:n.token}),e)),[])??[],fees:0===D?B.fees:0n,onClose:re,transactionInfo:S.sendSolanaTransaction?.uiOptions.transactionInfo,solPrice:J,receiptHeader:S.sendSolanaTransaction?.uiOptions.successHeader,receiptDescription:S.sendSolanaTransaction?.uiOptions.successDescription,rpcEndpoint:$.rpcEndpoint,signOnly:G}):U?/*#__PURE__*/e.jsx(j.TransactionErrorView,{transactionError:U,connection:$,onClose:re,network:"solana",onRetry:async()=>{H(void 0);let{blockhash:e}=await $.getLatestBlockhash();p.isVersionedTransaction(x)?x.message.recentBlockhash=e:x.recentBlockhash=e,C(x)}}):/*#__PURE__*/e.jsx(q.SendSolanaTransactionScreenView,{img:oe,title:S.sendSolanaTransaction?.uiOptions?.transactionInfo?.title||"Confirm transaction",subtitle:S.sendSolanaTransaction?.uiOptions?.description||`${v.name} wants your permission to approve the following transaction.`,cta:se?"Add funds":S.sendSolanaTransaction?.uiOptions?.buttonText||"Approve",transactionIndex:D,maxIndex:_-1,network:"mainnet-beta"==K?"Solana":K,blockExplorerUrl:"https://explorer.solana.com",total:Q?ee?.total:Z?.total,amount:Q?ee?.amount:Z?.amount,fee:Q?ee?.fee:Z?.fee,balance:Q?ee?.balance:Z?.balance,from:Z?.from,to:Z?.to,tokenAccount:Z?.tokenAccount,tokenAccountOwner:Z?.tokenAccountOwner,tokenAddress:Z?.tokenAddress,transactingWalletAddress:z.address,programAddress:Z?.program,disabled:ne&&!te,isSubmitting:W,isPreparing:!E||M.isLoading,isTokenPriceLoading:Q&&Y,isMissingFunds:ne,submitError:U??void 0,parseError:O,onClick:se?async()=>{if(!z)return;if(!te)throw Error("Funding wallet is not enabled");let e=h.ModalScreen.FUNDING_METHOD_SELECTION_SCREEN;y({...S,funding:{...S.funding,methodScreen:e}}),k(e)}:async()=>{if(D<(E?.instructions.length??1)-1)F(D+1);else try{R(!0);let e=await A();if(W||!e||!z||!w||!I||!X)return;let{rootWallet:n}=t.getSolanaSigningAndRootWallet(I,z.address);if(!n)throw Error("No root wallet for transacting wallet found");let{entropyId:r,entropyIdVerifier:o}=t.getEntropyDetailsFromAccount(n);if(G)await a.signSolanaTransaction({tx:x,accessToken:e,walletProxy:w,entropyId:r,entropyIdVerifier:o,transactingWalletAddress:z.address,transactingWalletIndex:z.walletIndex??0}),N(p.createSolanaTransactionReceipt("",x,null));else{let{signature:n,receipt:t}=await a.sendSolanaTransaction({tx:x,accessToken:e,connection:$,walletProxy:w,entropyId:r,entropyIdVerifier:o,transactingWalletAddress:z.address,transactingWalletIndex:z.walletIndex??0,transactionOptions:S.sendSolanaTransaction?.transactionOptions});N(p.createSolanaTransactionReceipt(n,x,t))}}catch(e){console.warn({transaction:x,error:e}),H(e)}finally{R(!1)}},onClose:re,onBack:D>0&&_>1?()=>F(D-1):void 0})};
|
package/dist/esm/constants.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="34357d3c125c2bcf2ce2bc3309d98715",i="https://auth.privy.io",
|
|
1
|
+
const e="34357d3c125c2bcf2ce2bc3309d98715",i="https://auth.privy.io",t=2e4,r=1400,p=2500,o=4e3,v="2.3.1-beta-20250206150405",s="ES256",n="privy.io",y="privy:token",c="privy-token",a="privy:refresh_token",_="privy-refresh-token",d="privy:pat",l="privy:id_token",h="privy-id-token",k="privy-session",f="privy:session_transfer_token",u="privy:wallet",b="privy:caid",m=e=>`privy:guest:${e}`,w=e=>`privy:cross-app:${e}`,j="privy:state_code",x="privy:code_verifier",F="privy:headless_oauth",g="privy:oauth_disable_signup",L=e=>`privy:wallet:${e}`,S="privy:connectors",$="privy:connections",q="walletconnect",H=3e4,J=12e4,X=1,z="0x1",C=3e4,E="https://api.moonpay.com/v1",I="https://api.moonpay.com/v1",M="pk_live_hirbpu0cVcLHrjktC9l7fbc9ctjv0SL",R="pk_test_fqWjXZMSFwloh7orvJsRfjiUHXJqFzI",U="0x420000000000000000000000000000000000000F",V=["function getL1Fee(bytes memory _data) external view returns (uint256)"],W="deprecated";export{X as CHAIN_ID_MAINNET,b as CLIENT_ANALYTICS_ID_KEY,x as CODE_VERIFIER_KEY,$ as CONNECTIONS_HISTORY_KEY,S as CONNECTORS_STATE_KEY,c as CUSTOMER_ACCESS_TOKEN_COOKIE_KEY,y as CUSTOMER_ACCESS_TOKEN_STORAGE_KEY,t as DEFAULT_API_TIMEOUT_MS,z as DEFAULT_NETWORK,i as DEFAULT_PRIVY_API_URL,J as DEFAULT_RPC_TIMEOUT,r as DEFAULT_SUCCESS_SCREEN_DURATION_MS,o as DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS,p as DEFAULT_SUCCESS_SCREEN_LONG_DURATION_MS,W as DEPRECATED_REFRESH_TOKEN,f as FORKED_TOKEN_STORAGE_KEY,F as HEADLESS_OAUTH_KEY,h as IDENTITY_TOKEN_COOKIE_KEY,l as IDENTITY_TOKEN_STORAGE_KEY,s as JWT_ALGORITHM,n as JWT_ISSUER,E as MOONPAY_API_URL,I as MOONPAY_API_URL_SANDBOX,M as MOONPAY_PUBLIC_KEY,R as MOONPAY_PUBLIC_KEY_SANDBOX,g as OAUTH_DISABLE_SIGNUP_KEY,V as OPTIMISM_STACK_GAS_PRICE_ORACLE_ABI,U as OPTIMISM_STACK_GAS_PRICE_ORACLE_ADDRESS,d as PRIVY_ACCESS_TOKEN_STORAGE_KEY,e as PRIVY_WALLETCONNECT_CLOUD_ID,u as PRIVY_WALLET_KEY_PREFIX,_ as REFRESH_TOKEN_COOKIE_KEY,a as REFRESH_TOKEN_STORAGE_KEY,k as SESSION_COOKIE_KEY,j as STATE_CODE_KEY,v as VERSION,H as WALLET_CONNECT_INFURA_POLLING_INTERVAL,q as WALLET_CONNECT_STORAGE_KEY,C as WALLET_PROXY_TIMEOUT,m as getGuestCredentialStorageKey,L as getPrivyWalletKey,w as getProviderAccessTokenStorageKey};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,jsxs as e,Fragment as n}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon";import r from"@heroicons/react/24/outline/CheckCircleIcon";import t from"@heroicons/react/24/outline/ClockIcon";import s from"@heroicons/react/24/outline/ShieldCheckIcon";import{useState as c,useMemo as m}from"react";import{styled as a}from"styled-components";import{PrimaryButton as l}from"../../components/Button.mjs";import{Loader as p}from"../../components/Loader.mjs";import{ModalFooter as d}from"../../components/ModalFooter.mjs";import{ModalHeader as h}from"../../components/ModalHeader.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as
|
|
1
|
+
import{jsx as o,jsxs as e,Fragment as n}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon";import r from"@heroicons/react/24/outline/CheckCircleIcon";import t from"@heroicons/react/24/outline/ClockIcon";import s from"@heroicons/react/24/outline/ShieldCheckIcon";import{useState as c,useMemo as m}from"react";import{styled as a}from"styled-components";import{PrimaryButton as l}from"../../components/Button.mjs";import{Loader as p}from"../../components/Loader.mjs";import{ModalFooter as d}from"../../components/ModalFooter.mjs";import{ModalHeader as h}from"../../components/ModalHeader.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as f}from"../../hooks/modal-context.mjs";import{usePrivyContext as y}from"../../hooks/privy-context.mjs";import{useMfaEnrollment as j}from"../../hooks/useMfaEnrollment.mjs";import{FaceId as k}from"../../svg/face-id.mjs";import{FingerPrint as g}from"../../svg/fingerprint.mjs";import{ErrorScreenView as C}from"../ErrorScreen.mjs";import{DoubleIconWrapper as b}from"../LinkPasskeyScreen.mjs";import{AppLogoContainer as w,Title as v,List as I,ListItem as x,ListItemIcon as S,IconWrapper as P,SubTitle as A,BottomSection as E}from"./StyledComponents.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/CircleBorder.mjs";import"../../components/layout/StackedContainer.mjs";import"../../embedded-wallets/errors.mjs";import"../../embedded-wallets/types.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/lock-closed.mjs";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/CheckBadgeIcon";import"@heroicons/react/24/solid/LockClosedIcon";const W=({appName:e,onComplete:n,onClose:i,onReset:r})=>{let{user:t}=y(),{data:s}=f(),{initLinkWithPasskey:a,linkWithPasskey:l}=u(),{initEnrollmentWithPasskey:p,submitEnrollmentWithPasskey:d}=j(),[h,k]=c(!1),[g,b]=c(!1),[w,v]=c(!1),[I,x]=c(null),S=m((()=>t?.linkedAccounts.filter((o=>"passkey"===o.type))??[]),[t]),P=()=>{s?.mfaEnrollmentFlow?.onSuccess(),n()},A=async o=>{k(!0);try{await p(),await d({credentialIds:o},{removeForLogin:s?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa}),v(!0)}catch(o){x(o)}finally{k(!1)}},E=async()=>{b(!0),x(null);try{await a();let o=await l(),e=o?.linkedAccounts.filter((o=>"passkey"===o.type)).map((o=>o.credentialId))??[];await A(e)}catch(o){x(o)}finally{b(!1)}};return 0===S.length||g?/*#__PURE__*/o(N,{onReset:r,onClose:i,onClick:E,isCreating:g}):w?/*#__PURE__*/o(T,{appName:e,onClick:P,onClose:P}):I?/*#__PURE__*/o(C,{error:I,backFn:()=>x(null),onClick:()=>x(null)}):/*#__PURE__*/o(F,{passkeys:S,isSubmitting:h,isCreating:g,onReset:r,onClose:i,onSubmitEnrollment:()=>A(S.map((o=>o.credentialId))),onAddPasskey:E})};let N=({onReset:r,onClose:c,onClick:m,isCreating:a})=>/*#__PURE__*/e(n,{children:[/*#__PURE__*/o(h,{backFn:r,onClose:c},"header"),/*#__PURE__*/o(w,{children:/*#__PURE__*/e(b,{children:[/*#__PURE__*/o(k,{}),/*#__PURE__*/o(g,{})]})}),/*#__PURE__*/o(v,{children:"Set up passkey verification"}),/*#__PURE__*/e(I,{children:[/*#__PURE__*/e(x,{children:[/*#__PURE__*/o(S,{children:/*#__PURE__*/o(s,{})}),"Verify with Touch ID, Face ID, PIN, or hardware key"]}),/*#__PURE__*/e(x,{children:[/*#__PURE__*/o(S,{children:/*#__PURE__*/o(t,{})}),"Takes seconds to set up and use"]}),/*#__PURE__*/e(x,{children:[/*#__PURE__*/o(S,{children:/*#__PURE__*/o(i,{})}),"Use your passkey to verify transactions and login to your account"]})]}),/*#__PURE__*/o(l,{style:{marginTop:"2.25rem"},onClick:m,loading:a,children:"Add a new passkey"}),/*#__PURE__*/o(d,{})]}),F=({onReset:i,onClose:r,onAddPasskey:t,onSubmitEnrollment:s,passkeys:m,isSubmitting:a,isCreating:u})=>{let[f,y]=c(!1),j=f?m.length:m.length>3?2:3;/*#__PURE__*/return e(n,{children:[/*#__PURE__*/o(h,{backFn:f?()=>y(!1):i,onClose:r},"header"),!f&&/*#__PURE__*/o(w,{children:/*#__PURE__*/e(b,{children:[/*#__PURE__*/o(k,{}),/*#__PURE__*/o(g,{})]})}),/*#__PURE__*/o(v,{children:"Enable your passkeys for verification"}),/*#__PURE__*/e(I,{children:[m.slice(0,j).map((n=>/*#__PURE__*/e(B,{children:[/*#__PURE__*/o(L,{children:z(n)}),/*#__PURE__*/e(R,{children:["Last used: ",n.latestVerifiedAt?.toLocaleString()]})]},n.credentialId))),!f&&m.length>3&&/*#__PURE__*/o(M,{onClick:()=>y(!0),children:"View All"})]}),/*#__PURE__*/o(l,{style:{marginTop:"1.5rem"},onClick:s,loading:a,children:"Enable passkeys"}),m.length<5&&/*#__PURE__*/o(M,{style:{marginTop:"0.5rem"},onClick:t,disabled:u,children:u?/*#__PURE__*/o(p,{style:{height:"1rem",width:"1rem",borderWidth:2}}):"Add new passkey"}),/*#__PURE__*/o(d,{})]})},T=({appName:i,onClick:t,onClose:s})=>/*#__PURE__*/e(n,{children:[/*#__PURE__*/o(h,{onClose:s},"header"),/*#__PURE__*/o(P,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(r,{})}),/*#__PURE__*/o(v,{children:"Passkey verification added"}),/*#__PURE__*/e(A,{children:["From now on, you'll use the passkey whenever you use your ",i," wallet."]}),/*#__PURE__*/o(E,{children:/*#__PURE__*/o(l,{onClick:t,children:"Done"})}),/*#__PURE__*/o(d,{})]}),B=/*#__PURE__*/a.div.withConfig({displayName:"PasskeyItem",componentId:"sc-d5b2bf9c-0"})(["&&{padding:0.75rem 1rem;text-align:left;border-radius:0.5rem;border:1px solid var(--privy-color-foreground-4);width:100%;}"]),L=/*#__PURE__*/a.div.withConfig({displayName:"PasskeyItemTitle",componentId:"sc-d5b2bf9c-1"})(["font-size:0.875rem;line-height:1.375rem;font-weight:500;color:var(--privy-color-foreground-1);"]),R=/*#__PURE__*/a.div.withConfig({displayName:"PasskeyItemSubtitle",componentId:"sc-d5b2bf9c-2"})(["font-size:0.75rem;font-weight:400;line-height:1.125rem;color:var(--privy-color-foreground-2);"]),z=o=>o.authenticatorName?o.createdWithBrowser?`${o.authenticatorName} on ${o.createdWithBrowser}`:o.authenticatorName:o.createdWithBrowser?o.createdWithOs?`${o.createdWithBrowser} on ${o.createdWithOs}`:`${o.createdWithBrowser}`:"Unknown device";const M=/*#__PURE__*/a.button.withConfig({displayName:"StyledLink",componentId:"sc-d5b2bf9c-3"})(["&&{width:100%;font-size:0.875rem;line-height:1rem;@media (min-width:440px){font-size:14px;}display:flex;gap:12px;justify-content:center;padding:0.75rem 1rem;background-color:var(--privy-color-background);transition:background-color 200ms ease;color:var(--privy-color-accent);:focus{outline:none;box-shadow:none;}}"]);export{W as EnrollPasskey,M as StyledLink};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,jsxs as e,Fragment as n}from"react/jsx-runtime";import r from"@heroicons/react/24/outline/CheckCircleIcon";import t from"@heroicons/react/24/outline/PhoneIcon";import{useState as i}from"react";import{lastFourDigits as m}from"@privy-io/js-sdk-core";import{PrimaryButton as s}from"../../components/Button.mjs";import{ConnectPhoneNumberForm as c}from"../../components/ConnectPhoneForm.mjs";import{ModalFooter as a}from"../../components/ModalFooter.mjs";import{ModalHeader as l}from"../../components/ModalHeader.mjs";import{NumericPinInput as p}from"../../components/PinInput.mjs";import{errorIndicatesMfaRateLimit as h,errorIndicatesMfaVerificationFailed as d,errorIndicatesMfaTimeout as j,errorIndicatesMfaCanceled as u}from"../../embedded-wallets/errors.mjs";import{usePrivyModal as f}from"../../hooks/modal-context.mjs";import{useMfaEnrollment as y}from"../../hooks/useMfaEnrollment.mjs";import{ErrorScreenView as g}from"../ErrorScreen.mjs";import{IconWrapper as
|
|
1
|
+
import{jsx as o,jsxs as e,Fragment as n}from"react/jsx-runtime";import r from"@heroicons/react/24/outline/CheckCircleIcon";import t from"@heroicons/react/24/outline/PhoneIcon";import{useState as i}from"react";import{lastFourDigits as m}from"@privy-io/js-sdk-core";import{PrimaryButton as s}from"../../components/Button.mjs";import{ConnectPhoneNumberForm as c}from"../../components/ConnectPhoneForm.mjs";import{ModalFooter as a}from"../../components/ModalFooter.mjs";import{ModalHeader as l}from"../../components/ModalHeader.mjs";import{NumericPinInput as p}from"../../components/PinInput.mjs";import{errorIndicatesMfaRateLimit as h,errorIndicatesMfaVerificationFailed as d,errorIndicatesMfaTimeout as j,errorIndicatesMfaCanceled as u}from"../../embedded-wallets/errors.mjs";import{usePrivyModal as f}from"../../hooks/modal-context.mjs";import{useMfaEnrollment as y}from"../../hooks/useMfaEnrollment.mjs";import{ErrorScreenView as g}from"../ErrorScreen.mjs";import{IconWrapper as b,Title as v,SubTitle as k,Container as w,TermsText as C,BottomSection as x}from"./StyledComponents.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../recent-login/context.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../components/PhoneCountryDropdown.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/index.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/internal-context.mjs";import"react-device-detect";import"../../embedded-wallets/types.mjs";import"../../hooks/privy-context.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"../../components/CircleBorder.mjs";import"../../components/layout/StackedContainer.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/lock-closed.mjs";const S=({appName:S,onComplete:E,onReset:I,onClose:P})=>{let[F,M]=i(""),[B,A]=i(!1),[T,N]=i(null),[z,L]=i("enroll"),{initEnrollmentWithSms:R,submitEnrollmentWithSms:W}=y(),{app:D,data:H}=f();function Y(){H?.mfaEnrollmentFlow?.onSuccess(),E()}return T?/*#__PURE__*/o(g,{error:T,backFn:()=>N(null),onClick:()=>N(null)}):/*#__PURE__*/e(n,"enroll"===z?{children:[/*#__PURE__*/o(l,{backFn:I,onClose:P},"header"),/*#__PURE__*/o(b,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(t,{})}),/*#__PURE__*/o(v,{children:"Set up SMS verification"}),/*#__PURE__*/e(k,{children:["We'll text a verification code to this mobile device whenever you use your ",S," ","wallet."]}),/*#__PURE__*/e(w,{children:[/*#__PURE__*/o(c,{onSubmit:async function({qualifiedPhoneNumber:o}){try{await R({phoneNumber:o}),M(o),L("verify")}catch(o){N(o)}},hideRecent:!0}),/*#__PURE__*/e(C,{children:["By providing your mobile number, you agree to receive text messages from ",D?.name,". Some carrier charges may apply"]})]}),/*#__PURE__*/o(a,{})]}:B?{children:[/*#__PURE__*/o(l,{onClose:Y},"header"),/*#__PURE__*/o(b,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(r,{})}),/*#__PURE__*/o(v,{children:"SMS verification added"}),/*#__PURE__*/e(k,{children:["From now on, you'll enter the verification code sent to your mobile device whenever you use your ",S," wallet."]}),/*#__PURE__*/o(x,{children:/*#__PURE__*/o(s,{onClick:Y,children:"Done"})}),/*#__PURE__*/o(a,{})]}:{children:[/*#__PURE__*/o(l,{backFn:function(){"verify"===z?L("enroll"):I()},onClose:P},"header"),/*#__PURE__*/o(b,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(t,{})}),/*#__PURE__*/o(v,{children:"Enter enrollment code"}),/*#__PURE__*/e(w,{children:[/*#__PURE__*/o(p,{onChange:async function(o){try{if(!o)return;await W({phoneNumber:F,mfaCode:o}),A(!0)}catch(o){if(h(o))throw Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.");if(d(o))throw Error("The code you entered is not valid");if(j(o))throw Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.");throw u(o)?Error("Verification canceled"):Error("Unknown error")}}}),/*#__PURE__*/e(k,{children:["To continue, enter the 6-digit code sent to ",/*#__PURE__*/o("strong",{children:m(F)})]})]}),/*#__PURE__*/o(a,{})]})};export{S as EnrollSms};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as o,Fragment as e,jsx as
|
|
1
|
+
import{jsxs as o,Fragment as e,jsx as t}from"react/jsx-runtime";import r from"@heroicons/react/24/outline/CheckCircleIcon";import n from"@heroicons/react/24/outline/DevicePhoneMobileIcon";import{useState as i}from"react";import{PrimaryButton as c}from"../../components/Button.mjs";import{CopytoClipboardButton as s}from"../../components/CopyToClipboard.mjs";import{CenteredItemWithPadding as m,CenteredItem as a}from"../../components/Layouts.mjs";import{ModalFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as l}from"../../components/ModalHeader.mjs";import{NumericPinInput as h}from"../../components/PinInput.mjs";import{errorIndicatesMfaRateLimit as d,errorIndicatesMfaVerificationFailed as j,errorIndicatesMfaTimeout as u,errorIndicatesMfaCanceled as f}from"../../embedded-wallets/errors.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{useMfaEnrollment as g}from"../../hooks/useMfaEnrollment.mjs";import{AddTotpProviderQr as b}from"../../svg/qr-codes.mjs";import{Title as v,SubTitle as C,BottomSection as k,IconWrapper as w,Container as x}from"./StyledComponents.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/checkmark.mjs";import"../../svg/copy.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/internal-context.mjs";import"../../hooks/index.mjs";import"react-device-detect";import"../../embedded-wallets/types.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/privy-context.mjs";import"@heroicons/react/24/solid/ShieldCheckIcon";import"../../components/QrCode.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/coinbase-wallet.mjs";const I=({onComplete:I,onClose:E,onReset:S,totpInfo:A})=>{let[F,M]=i("enroll"),[P,T]=i(!1),{submitEnrollmentWithTotp:z}=g(),{data:Q}=y();function R(){Q?.mfaEnrollmentFlow?.onSuccess(),I()}/*#__PURE__*/return o(e,"enroll"===F?{children:[/*#__PURE__*/t(l,{backFn:S,onClose:E},"header"),/*#__PURE__*/t(v,{children:"Scan QR code"}),/*#__PURE__*/t(C,{children:"Open your authenticator app and scan the QR code to continue."}),/*#__PURE__*/t(m,{children:/*#__PURE__*/t(b,{authUrl:A.authUrl,size:200})}),/*#__PURE__*/o(k,{children:[/*#__PURE__*/t(a,{children:/*#__PURE__*/t(s,{itemName:"setup key",text:A.secret})}),/*#__PURE__*/t(c,{onClick:function(){M("verify")},children:"Continue"})]}),/*#__PURE__*/t(p,{})]}:P?{children:[/*#__PURE__*/t(l,{onClose:R},"header"),/*#__PURE__*/t(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/t(r,{})}),/*#__PURE__*/t(v,{children:"Authenticator app verification added"}),/*#__PURE__*/o(C,{children:["From now on, you'll enter the verification code generated by your authenticator app whenever you use your ",A.appName," wallet."]}),/*#__PURE__*/t(k,{children:/*#__PURE__*/t(c,{onClick:R,children:"Done"})}),/*#__PURE__*/t(p,{})]}:{children:[/*#__PURE__*/t(l,{backFn:function(){"verify"===F?M("enroll"):S()},onClose:E},"header"),/*#__PURE__*/t(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/t(n,{})}),/*#__PURE__*/t(v,{children:"Enter enrollment code"}),/*#__PURE__*/t(x,{children:/*#__PURE__*/t(h,{onChange:async function(o){try{if(!o)return;await z({mfaCode:o}),T(!0)}catch(o){if(d(o))throw Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.");if(j(o))throw Error("The code you entered is not valid");if(u(o))throw Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.");throw f(o)?Error("Verification canceled"):Error("Unknown error")}}})}),/*#__PURE__*/o(C,{children:["To continue, enter the 6-digit code generated from your ",/*#__PURE__*/t("strong",{children:"authenticator app"})]}),/*#__PURE__*/t(p,{})]})};export{I as EnrollTotp};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as o,Fragment as e,jsx as n}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/QuestionMarkCircleIcon";import r from"@heroicons/react/24/outline/ShieldCheckIcon";import i from"@heroicons/react/24/solid/CheckBadgeIcon";import s from"@heroicons/react/24/solid/IdentificationIcon";import{useState as c,useEffect as m}from"react";import{PrimaryButton as a,SecondaryButton as l}from"../../components/Button.mjs";import{Loader as p}from"../../components/Loader.mjs";import{ModalFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{usePrivyContext as f}from"../../hooks/privy-context.mjs";import{useMfa as y}from"../../hooks/useMfa.mjs";import{useMfaEnrollment as k}from"../../hooks/useMfaEnrollment.mjs";import{MfaShieldIcon as g}from"../../svg/mfa-shield.mjs";import{EnrollLandingScreen as v}from"./EnrollLandingScreen.mjs";import{EnrollPasskey as C}from"./EnrollPasskey.mjs";import{EnrollSms as M}from"./EnrollSms.mjs";import{EnrollTotp as w}from"./EnrollTotp.mjs";import{AppLogoContainer as I,Container as b,IconWrapper as S,Title as A,SubTitle as x,BottomSection as F,List as E,ListItem as P,ListItemIcon as R}from"./StyledComponents.mjs";import"styled-components";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/DevicePhoneMobileIcon";import"@heroicons/react/24/outline/FingerPrintIcon";import"@heroicons/react/24/outline/MinusCircleIcon";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../LandingScreen/styles.mjs";import"@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/ClockIcon";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../ErrorScreen.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"../../components/CircleBorder.mjs";import"../../components/layout/StackedContainer.mjs";import"../../embedded-wallets/errors.mjs";import"../../embedded-wallets/types.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/lock-closed.mjs";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"@privy-io/js-sdk-core";import"../../components/ConnectPhoneForm.mjs";import"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../components/PhoneCountryDropdown.mjs";import"../../components/PinInput.mjs";import"react-device-detect";import"../../components/CopyToClipboard.mjs";import"../../svg/checkmark.mjs";import"../../svg/copy.mjs";import"../../components/Layouts.mjs";import"../../svg/qr-codes.mjs";import"@heroicons/react/24/solid/ShieldCheckIcon";import"../../components/QrCode.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../svg/coinbase-wallet.mjs";const L=()=>{let{user:L,enrollInMfa:T}=f(),[B,U]=c(null),{unenrollWithSms:O,unenrollWithTotp:W,unenrollWithPasskey:q}=k(),{app:z,ready:D,data:H,onUserCloseViaDialogOrKeybindRef:Q}=j(),{closePrivyModal:Y}=u(),{promptMfa:K}=y(),{initEnrollmentWithTotp:N}=k(),[V,X]=c(!1),[G,J]=c(null),[Z,$]=c(null),_=()=>{Y({shouldCallAuthOnSuccess:!0}),T(!1),setTimeout((()=>{U(null),J(null)}),500)},{initEnrollmentWithPasskey:oo,submitEnrollmentWithPasskey:eo}=k(),[no,to]=c(!1),[ro,io]=c(null);Q.current=_;let so=L?.mfaMethods.includes("sms"),co=!!L?.phone,mo=L?.mfaMethods.includes("totp"),ao=L?.mfaMethods.includes("passkey"),lo=so||mo||ao,po=L?.linkedAccounts.filter((o=>"passkey"===o.type)).map((o=>o.credentialId))??[];function ho(){U(null),J(null)}if(m((()=>{lo&&X(!0)}),[lo]),!D||!L||!z/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(I,{children:/*#__PURE__*/n(g,{})}),/*#__PURE__*/n(b,{children:/*#__PURE__*/n(p,{})}),/*#__PURE__*/n(h,{})]});if("sms"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove SMS verification?"}),/*#__PURE__*/o(x,{children:["MFA adds an extra layer of security to your ",z?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(F,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){U(null);try{await O()}catch(o){U(null)}},children:"Remove SMS for MFA"})}),/*#__PURE__*/n(h,{})]});if("totp"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove Authenticator App verification?"}),/*#__PURE__*/o(x,{children:["MFA adds an extra layer of security to your ",z?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(F,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){U(null);try{await W()}catch(o){U(null)}},children:"Remove Authenticator App for MFA"})}),/*#__PURE__*/n(h,{})]});if("passkey"===B){let r=H?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa??!0;/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Are you sure you want to remove this passkey?"}),/*#__PURE__*/n(x,{children:r?"Removing your passkey will remove as both a verification method and a login method.":"Removing your passkey will remove as a verification method."}),/*#__PURE__*/n(F,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){U(null);try{await q({removeForLogin:H?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch(o){U(null)}},children:"Yes, remove"})}),/*#__PURE__*/n(h,{})]})}if(0===H.mfaEnrollmentFlow.mfaMethods.length&&!lo)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Add more security"}),/*#__PURE__*/o(x,{children:[z?.name," does not have any verification methods enabled."]}),/*#__PURE__*/n(F,{children:/*#__PURE__*/n(a,{onClick:_,children:"Close"})}),/*#__PURE__*/n(h,{})]});let uo=!lo&&!V;return uo?/*#__PURE__*/o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Transaction Protection"}),/*#__PURE__*/n(x,{children:"Set up transaction protection to add an extra layer of security to your account"}),/*#__PURE__*/o(E,{children:[/*#__PURE__*/o(P,{children:[/*#__PURE__*/n(R,{children:/*#__PURE__*/n(i,{})}),"Enable 2-Step verification for your ",z?.name," wallet."]}),/*#__PURE__*/o(P,{children:[/*#__PURE__*/n(R,{children:/*#__PURE__*/n(s,{})}),"You'll be prompted to authenticate to complete transactions."]})]}),/*#__PURE__*/o(F,{children:[/*#__PURE__*/n(a,{onClick:()=>X(!0),children:"Continue"}),/*#__PURE__*/n(l,{onClick:_,children:"Not now"})]}),/*#__PURE__*/n(h,{})]}):"sms"===G?/*#__PURE__*/n(M,{onComplete:_,onReset:ho,onClose:_}):"totp"===G&&Z?/*#__PURE__*/n(w,{onComplete:_,onClose:_,onReset:ho,totpInfo:Z}):"passkey"===G?/*#__PURE__*/n(C,{onComplete:_,onReset:ho,onClose:_}):/*#__PURE__*/n(v,{showIntro:uo,userMfaMethods:L.mfaMethods,appMfaMethods:z.mfa.methods,userHasAuthSms:co,onBackToIntro:function(){X(!1)},handleSelectMethod:async function(o){return await K().catch(io),"totp"===o?(J(o),$(null),void N().then((o=>{$(o)})).catch((()=>{$(null),ho()}))):"passkey"===o&&1===po.length?await async function(){to(!0);try{await oo(),await eo({credentialIds:po},{removeForLogin:H?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch(o){io(o)}finally{to(!1)}}():void J(o)},isTotpLoading:"totp"===G&&!Z,isPasskeyLoading:no,error:ro,onClose:_,setRemovingMfaMethod:async o=>{await K().catch(io),U(o)}})};export{L as MfaEnrollmentFlowScreen};
|
|
1
|
+
import{jsxs as o,Fragment as e,jsx as n}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/QuestionMarkCircleIcon";import r from"@heroicons/react/24/outline/ShieldCheckIcon";import i from"@heroicons/react/24/solid/CheckBadgeIcon";import s from"@heroicons/react/24/solid/IdentificationIcon";import{useState as c,useEffect as m}from"react";import{PrimaryButton as a,SecondaryButton as l}from"../../components/Button.mjs";import{Loader as p}from"../../components/Loader.mjs";import{ModalFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{usePrivyContext as f}from"../../hooks/privy-context.mjs";import{useMfa as y}from"../../hooks/useMfa.mjs";import{useMfaEnrollment as k}from"../../hooks/useMfaEnrollment.mjs";import{MfaShieldIcon as g}from"../../svg/mfa-shield.mjs";import{EnrollLandingScreen as v}from"./EnrollLandingScreen.mjs";import{EnrollPasskey as C}from"./EnrollPasskey.mjs";import{EnrollSms as M}from"./EnrollSms.mjs";import{EnrollTotp as w}from"./EnrollTotp.mjs";import{AppLogoContainer as I,Container as b,IconWrapper as S,Title as A,SubTitle as P,BottomSection as x,List as F,ListItem as E,ListItemIcon as R}from"./StyledComponents.mjs";import"styled-components";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/DevicePhoneMobileIcon";import"@heroicons/react/24/outline/FingerPrintIcon";import"@heroicons/react/24/outline/MinusCircleIcon";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../LandingScreen/styles.mjs";import"@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/ClockIcon";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../ErrorScreen.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"../../components/CircleBorder.mjs";import"../../components/layout/StackedContainer.mjs";import"../../embedded-wallets/errors.mjs";import"../../embedded-wallets/types.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/lock-closed.mjs";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"@privy-io/js-sdk-core";import"../../components/ConnectPhoneForm.mjs";import"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../components/PhoneCountryDropdown.mjs";import"../../components/PinInput.mjs";import"react-device-detect";import"../../components/CopyToClipboard.mjs";import"../../svg/checkmark.mjs";import"../../svg/copy.mjs";import"../../components/Layouts.mjs";import"../../svg/qr-codes.mjs";import"@heroicons/react/24/solid/ShieldCheckIcon";import"../../components/QrCode.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../svg/coinbase-wallet.mjs";const L=()=>{let{user:L,enrollInMfa:T}=f(),[B,U]=c(null),{unenrollWithSms:O,unenrollWithTotp:W,unenrollWithPasskey:N}=k(),{app:q,ready:z,data:D,onUserCloseViaDialogOrKeybindRef:H}=j(),{closePrivyModal:Q}=u(),{promptMfa:Y}=y(),{initEnrollmentWithTotp:K}=k(),[V,X]=c(!1),[G,J]=c(null),[Z,$]=c(null),_=()=>{Q({shouldCallAuthOnSuccess:!0}),T(!1),setTimeout((()=>{U(null),J(null)}),500)},{initEnrollmentWithPasskey:oo,submitEnrollmentWithPasskey:eo}=k(),[no,to]=c(!1),[ro,io]=c(null);H.current=_;let so=L?.mfaMethods.includes("sms"),co=!!L?.phone,mo=L?.mfaMethods.includes("totp"),ao=L?.mfaMethods.includes("passkey"),lo=so||mo||ao,po=L?.linkedAccounts.filter((o=>"passkey"===o.type)).map((o=>o.credentialId))??[];function ho(){U(null),J(null)}if(m((()=>{lo&&X(!0)}),[lo]),!z||!L||!q/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(I,{children:/*#__PURE__*/n(g,{})}),/*#__PURE__*/n(b,{children:/*#__PURE__*/n(p,{})}),/*#__PURE__*/n(h,{})]});if("sms"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove SMS verification?"}),/*#__PURE__*/o(P,{children:["MFA adds an extra layer of security to your ",q?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(x,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){U(null);try{await O()}catch(o){U(null)}},children:"Remove SMS for MFA"})}),/*#__PURE__*/n(h,{})]});if("totp"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove Authenticator App verification?"}),/*#__PURE__*/o(P,{children:["MFA adds an extra layer of security to your ",q?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(x,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){U(null);try{await W()}catch(o){U(null)}},children:"Remove Authenticator App for MFA"})}),/*#__PURE__*/n(h,{})]});if("passkey"===B){let r=D?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa??!0;/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Are you sure you want to remove this passkey?"}),/*#__PURE__*/n(P,{children:r?"Removing your passkey will remove as both a verification method and a login method.":"Removing your passkey will remove as a verification method."}),/*#__PURE__*/n(x,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){U(null);try{await N({removeForLogin:D?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch(o){U(null)}},children:"Yes, remove"})}),/*#__PURE__*/n(h,{})]})}if(0===D.mfaEnrollmentFlow.mfaMethods.length&&!lo)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Add more security"}),/*#__PURE__*/o(P,{children:[q?.name," does not have any verification methods enabled."]}),/*#__PURE__*/n(x,{children:/*#__PURE__*/n(a,{onClick:_,children:"Close"})}),/*#__PURE__*/n(h,{})]});let uo=!lo&&!V;return uo?/*#__PURE__*/o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Transaction Protection"}),/*#__PURE__*/n(P,{children:"Set up transaction protection to add an extra layer of security to your account"}),/*#__PURE__*/o(F,{children:[/*#__PURE__*/o(E,{children:[/*#__PURE__*/n(R,{children:/*#__PURE__*/n(i,{})}),"Enable 2-Step verification for your ",q?.name," wallet."]}),/*#__PURE__*/o(E,{children:[/*#__PURE__*/n(R,{children:/*#__PURE__*/n(s,{})}),"You'll be prompted to authenticate to complete transactions."]})]}),/*#__PURE__*/o(x,{children:[/*#__PURE__*/n(a,{onClick:()=>X(!0),children:"Continue"}),/*#__PURE__*/n(l,{onClick:_,children:"Not now"})]}),/*#__PURE__*/n(h,{})]}):"sms"===G?/*#__PURE__*/n(M,{appName:q?.name||"Privy",onComplete:_,onReset:ho,onClose:_}):"totp"===G&&Z?/*#__PURE__*/n(w,{onComplete:_,onClose:_,onReset:ho,totpInfo:{...Z,appName:q?.name||"Privy"}}):"passkey"===G?/*#__PURE__*/n(C,{appName:q?.name||"Privy",onComplete:_,onReset:ho,onClose:_}):/*#__PURE__*/n(v,{showIntro:uo,userMfaMethods:L.mfaMethods,appMfaMethods:q.mfa.methods,userHasAuthSms:co,onBackToIntro:function(){X(!1)},handleSelectMethod:async function(o){return await Y().catch(io),"totp"===o?(J(o),$(null),void K().then((o=>{$(o)})).catch((()=>{$(null),ho()}))):"passkey"===o&&1===po.length?await async function(){to(!0);try{await oo(),await eo({credentialIds:po},{removeForLogin:D?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch(o){io(o)}finally{to(!1)}}():void J(o)},isTotpLoading:"totp"===G&&!Z,isPasskeyLoading:no,error:ro,onClose:_,setRemovingMfaMethod:async o=>{await Y().catch(io),U(o)}})};export{L as MfaEnrollmentFlowScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{useState as n,useMemo as t,useEffect as e}from"react";import{formatUnits as r}from"viem";import{SolanaClient as i}from"@privy-io/js-sdk-core";import{getImportedPrivySolanaWallet as s,getPrivyPrimaryWallet as a,getSolanaSigningAndRootWallet as c,getEntropyDetailsFromAccount as m}from"../../client/user.mjs";import{useAppConfig as l}from"../../configuration/context.mjs";import{signSolanaTransaction as p,sendSolanaTransaction as d}from"../../embedded-wallets/solana/transaction.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as f}from"../../hooks/modal-context.mjs";import{usePrivyContext as h}from"../../hooks/privy-context.mjs";import{useGetSolPrice as j}from"../../hooks/useGetSolPrice.mjs";import{getSolanaNetworkFromRpcEndpoint as g}from"../../lib/solana/index.mjs";import{getNativeCurrencyFromLamports as y,parseSolanaTransaction as k,isVersionedTransaction as b,getDollarsFromLamport as S,createSolanaTransactionReceipt as w}from"../../lib/solana/transaction.mjs";import{ErrorScreenView as T}from"../ErrorScreen.mjs";import{SendSolanaTransactionScreenView as I}from"../SendTransactionScreen/SendTransactionScreenView.mjs";import{TransactionErrorView as v}from"../SendTransactionScreen/TransactionErrorView.mjs";import{ModalScreen as A}from"../index.mjs";import{SolanaTransactionReceiptView as x}from"./SolanaTransactionReceiptView.mjs";import"viem/utils";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../lib/attempt.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"@heroicons/react/24/outline/PhoneIcon";import"styled-components";import"../../components/Button.mjs";import"../../components/Loader.mjs";import"../../components/CircleBorder.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../components/layout/StackedContainer.mjs";import"../../embedded-wallets/errors.mjs";import"../../embedded-wallets/types.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"../../svg/lock-closed.mjs";import"@heroicons/react/24/outline";import"../../components/ModalFooter.mjs";import"../../svg/protected-by-privy.mjs";import"../../components/primitives/InteractiveLabel.mjs";import"../../components/ui/typography/LabelSm.mjs";import"../../components/ui/layout/Row.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../components/ui/typography/Subtitle.mjs";import"../../components/ui/typography/Title.mjs";import"../../components/ui/typography/Value.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/wallet/Address.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"../../components/ui/wallet/WalletInfoCard.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/layout/Column.mjs";import"../../components/ui/typography/LabelXs.mjs";import"../../components/ui/wallet/shared.mjs";import"../LandingScreen/styles.mjs";import"../SendTransactionScreen/TokenDescription.mjs";import"../SendTransactionScreen/TransactionDetail.mjs";import"../SendTransactionScreen/TransactionValidation.mjs";import"../../components/Checkbox.mjs";import"../../components/Pill.mjs";import"../SendTransactionScreen/useTransactionDetails.mjs";import"@heroicons/react/24/outline/ClipboardDocumentCheckIcon";import"@heroicons/react/24/outline/ClipboardDocumentIcon";import"@heroicons/react/24/outline/ExclamationCircleIcon";import"@heroicons/react/24/outline/CheckCircleIcon";import"../../components/CircleBackground.mjs";import"../../components/Layouts.mjs";import"../../components/ScreenHeader.mjs";import"../../components/embedded-wallets/SolanaTransactionDetails.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/embedded-wallets/PriceDisplay.mjs";import"../../lib/ethers.mjs";import"../../components/embedded-wallets/WalletLink.mjs";const C=()=>{let{data:C,onUserCloseViaDialogOrKeybindRef:O,setModalData:E,navigate:L}=f(),{client:D,closePrivyModal:P,walletProxy:W}=u(),B=l(),{user:M,getAccessToken:V}=h(),[F,R]=n(C?.sendSolanaTransaction?.transactionRequest),[U,H]=n(),[N,$]=n(),[q,z]=n(0),[_,G]=n({value:0n,isLoading:!1}),[X,K]=n(!1),[Q,J]=n(),[Y,Z]=n(),oo=C?.sendSolanaTransaction?.connection,no=C?.sendSolanaTransaction?.transactingWallet,to=C?.sendSolanaTransaction?.signOnly??!1,eo=U?.instructions.length??1,ro=no?.imported?s(M):a(M),io=g(oo?.rpcEndpoint||""),so="fiat-currency"===B.embeddedWallets.priceDisplay.primary,{solPrice:ao,isSolPriceLoading:co}=j({enabled:so}),mo=t((()=>{let o,n;if(!U)return;let t=U.spender;0===q&&no?.address===t&&(o=y(U.fee));let e=y(_.value,3,!0),i=U.instructions[q];if(!i)return{fee:o,spender:t,balance:e};if("unknown"===i.type)return{fee:o,spender:t,program:i.program,balance:e};if("ata-creation"===i.type)return{fee:o,spender:t,balance:e,tokenAccountOwner:i.owner,tokenAccount:i.ata,tokenAddress:i.mint};let s=i.fromAccount,a="sol-transfer"===i.type?i.toAccount:i.toAccount||i.toAta,c="spl-transfer"===i.type?i.token.address:void 0;return null!=o&&"SOL"===i.token.symbol&&(n=y(i.value+U.fee)),{fee:o,spender:t,from:s,to:a,tokenAddress:c,amount:`${r(i.value,i.token.decimals)} ${i.token.symbol}`.trim(),total:n,balance:e}}),[U,q,no?.address,_]),lo=t((()=>{let o,n;if(!U||!so||!ao||co)return;function t(...o){return S(o.reduce(((o,n)=>o+n),0n),ao??0)}0===q&&no?.address===U.spender&&(o=t(U.fee));let e=t(_.value),i=U.instructions[q];return i&&"unknown"!==i.type&&"ata-creation"!==i.type?(null!=o&&"SOL"===i.token.symbol&&(n=t(i.value,U.fee)),{fee:o,amount:"SOL"===i.token.symbol?t(i.value):`${r(i.value,i.token.decimals)} ${i.token.symbol}`.trim(),total:n,balance:e}):{fee:o,balance:e}}),[U,so,ao,co,no?.address,q,_]),po=t((()=>{if(to||!U||_.isLoading||q>0)return!1;let o=U.instructions[q];if(!o)return!1;let n=0n;return no?.address===U.spender&&(n+=U.fee),"value"in o&&no?.address===o.fromAccount&&"SOL"===o.token.symbol&&(n+=o.value),_.value<n}),[U,_,q,to]);if(e((()=>{!async function(){if(F&&oo&&D)try{$(void 0);let o=await k({tx:F,connection:oo,client:D});H(o),z(0)}catch(o){console.error("Failed to prepare transaction",o),$(o)}}()}),[F,oo,D]),e((()=>{(async function(){if(!no||!oo)return;G({value:_.value,isLoading:!0});let o=new i({name:"mainnet-beta",rpcUrl:oo.rpcEndpoint});G({value:await o.getBalance(no.address).catch((()=>0n))??0n,isLoading:!1})})().catch(console.error)}),[U,oo]),!(F&&C?.sendSolanaTransaction&&no&&oo)){let n=Error("Invalid transaction request");/*#__PURE__*/return o(T,{error:n,onClick:()=>{C?.sendSolanaTransaction?.onFailure(n),P({shouldCallAuthOnSuccess:!1})}})}let uo=()=>{if(!X)return Q?C?.sendSolanaTransaction?.onSuccess(Q):(C?.sendSolanaTransaction?.onFailure(Y??N??Error("User exited the modal before submitting the transaction")),z(0)),P({shouldCallAuthOnSuccess:!1})};O.current=uo;let fo=C.sendTransaction?.uiOptions?.transactionInfo?.contractInfo?.imgUrl?/*#__PURE__*/o("img",{src:C.sendTransaction.uiOptions.transactionInfo.contractInfo.imgUrl,alt:C.sendTransaction.uiOptions.transactionInfo.contractInfo.imgAltText}):null,ho=!!(C.funding&&C.funding.supportedOptions.length>0),jo=po&&ho;return Q?/*#__PURE__*/o(x,{instructions:U?.instructions.reduce(((o,n)=>("ata-creation"===n.type&&o.push({tokenAccountOwner:n.owner,tokenAccount:n.ata}),"spl-transfer"===n.type&&o.push({from:n.fromAccount,to:n.toAccount||n.toAta,amount:n.value,token:n.token}),"sol-transfer"===n.type&&o.push({from:n.fromAccount,to:n.toAccount,amount:n.value,token:n.token}),o)),[])??[],fees:0===q?Q.fees:0n,onClose:uo,transactionInfo:C.sendTransaction?.uiOptions.transactionInfo,solPrice:ao,receiptHeader:C.sendTransaction?.uiOptions.successHeader,receiptDescription:C.sendTransaction?.uiOptions.successDescription,rpcEndpoint:oo.rpcEndpoint,signOnly:to}):Y?/*#__PURE__*/o(v,{transactionError:Y,connection:oo,onClose:uo,network:"solana",onRetry:async()=>{Z(void 0);let{blockhash:o}=await oo.getLatestBlockhash();b(F)?F.message.recentBlockhash=o:F.recentBlockhash=o,R(F)}}):/*#__PURE__*/o(I,{img:fo,title:C.sendTransaction?.uiOptions?.transactionInfo?.title||"Confirm transaction",subtitle:C.sendTransaction?.uiOptions?.description||`${B.name} wants your permission to approve the following transaction.`,cta:jo?"Add funds":C.sendTransaction?.uiOptions?.buttonText||"Approve",transactionIndex:q,maxIndex:eo-1,network:"mainnet-beta"==io?"Solana":io,blockExplorerUrl:"https://explorer.solana.com",total:so?lo?.total:mo?.total,amount:so?lo?.amount:mo?.amount,fee:so?lo?.fee:mo?.fee,balance:so?lo?.balance:mo?.balance,from:mo?.from,to:mo?.to,tokenAccount:mo?.tokenAccount,tokenAccountOwner:mo?.tokenAccountOwner,tokenAddress:mo?.tokenAddress,transactingWalletAddress:no.address,programAddress:mo?.program,disabled:po&&!ho,isSubmitting:X,isPreparing:!U||_.isLoading,isTokenPriceLoading:so&&co,isMissingFunds:po,submitError:Y??void 0,parseError:N,onClick:jo?async()=>{if(!no)return;if(!ho)throw Error("Funding wallet is not enabled");let o=A.FUNDING_METHOD_SELECTION_SCREEN;E({...C,funding:{...C.funding,methodScreen:o}}),L(o)}:async()=>{if(q<(U?.instructions.length??1)-1)z(q+1);else try{K(!0);let o=await V();if(X||!o||!no||!W||!M||!ro)return;let{rootWallet:n}=c(M,no.address);if(!n)throw Error("No root wallet for transacting wallet found");let{entropyId:t,entropyIdVerifier:e}=m(n);if(to)await p({tx:F,accessToken:o,walletProxy:W,entropyId:t,entropyIdVerifier:e,transactingWalletAddress:no.address,transactingWalletIndex:no.walletIndex??0}),J(w("",F,null));else{let{signature:n,receipt:r}=await d({tx:F,accessToken:o,connection:oo,walletProxy:W,entropyId:t,entropyIdVerifier:e,transactingWalletAddress:no.address,transactingWalletIndex:no.walletIndex??0,transactionOptions:C.sendSolanaTransaction?.transactionOptions});J(w(n,F,r))}}catch(o){console.warn({transaction:F,error:o}),Z(o)}finally{K(!1)}},onClose:uo,onBack:q>0&&eo>1?()=>z(q-1):void 0})};export{C as SendSolanaTransactionScreen};
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{useState as n,useMemo as t,useEffect as e}from"react";import{formatUnits as r}from"viem";import{SolanaClient as i}from"@privy-io/js-sdk-core";import{getImportedPrivySolanaWallet as s,getPrivyPrimaryWallet as a,getSolanaSigningAndRootWallet as c,getEntropyDetailsFromAccount as m}from"../../client/user.mjs";import{useAppConfig as l}from"../../configuration/context.mjs";import{signSolanaTransaction as p,sendSolanaTransaction as d}from"../../embedded-wallets/solana/transaction.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as f}from"../../hooks/modal-context.mjs";import{usePrivyContext as h}from"../../hooks/privy-context.mjs";import{useGetSolPrice as j}from"../../hooks/useGetSolPrice.mjs";import{getSolanaNetworkFromRpcEndpoint as g}from"../../lib/solana/index.mjs";import{getNativeCurrencyFromLamports as y,parseSolanaTransaction as k,isVersionedTransaction as S,getDollarsFromLamport as b,createSolanaTransactionReceipt as w}from"../../lib/solana/transaction.mjs";import{ErrorScreenView as T}from"../ErrorScreen.mjs";import{SendSolanaTransactionScreenView as I}from"../SendTransactionScreen/SendTransactionScreenView.mjs";import{TransactionErrorView as v}from"../SendTransactionScreen/TransactionErrorView.mjs";import{ModalScreen as A}from"../index.mjs";import{SolanaTransactionReceiptView as x}from"./SolanaTransactionReceiptView.mjs";import"viem/utils";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../lib/attempt.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"@heroicons/react/24/outline/PhoneIcon";import"styled-components";import"../../components/Button.mjs";import"../../components/Loader.mjs";import"../../components/CircleBorder.mjs";import"../../components/ModalHeader.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../components/layout/StackedContainer.mjs";import"../../embedded-wallets/errors.mjs";import"../../embedded-wallets/types.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"../../svg/lock-closed.mjs";import"@heroicons/react/24/outline";import"../../components/ModalFooter.mjs";import"../../svg/protected-by-privy.mjs";import"../../components/primitives/InteractiveLabel.mjs";import"../../components/ui/typography/LabelSm.mjs";import"../../components/ui/layout/Row.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../components/ui/typography/Subtitle.mjs";import"../../components/ui/typography/Title.mjs";import"../../components/ui/typography/Value.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/wallet/Address.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"../../components/ui/wallet/WalletInfoCard.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/layout/Column.mjs";import"../../components/ui/typography/LabelXs.mjs";import"../../components/ui/wallet/shared.mjs";import"../LandingScreen/styles.mjs";import"../SendTransactionScreen/TokenDescription.mjs";import"../SendTransactionScreen/TransactionDetail.mjs";import"../SendTransactionScreen/TransactionValidation.mjs";import"../../components/Checkbox.mjs";import"../../components/Pill.mjs";import"../SendTransactionScreen/useTransactionDetails.mjs";import"@heroicons/react/24/outline/ClipboardDocumentCheckIcon";import"@heroicons/react/24/outline/ClipboardDocumentIcon";import"@heroicons/react/24/outline/ExclamationCircleIcon";import"@heroicons/react/24/outline/CheckCircleIcon";import"../../components/CircleBackground.mjs";import"../../components/Layouts.mjs";import"../../components/ScreenHeader.mjs";import"../../components/embedded-wallets/SolanaTransactionDetails.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/embedded-wallets/PriceDisplay.mjs";import"../../lib/ethers.mjs";import"../../components/embedded-wallets/WalletLink.mjs";const C=()=>{let{data:C,onUserCloseViaDialogOrKeybindRef:O,setModalData:E,navigate:L}=f(),{client:D,closePrivyModal:P,walletProxy:W}=u(),B=l(),{user:M,getAccessToken:V}=h(),[F,R]=n(C?.sendSolanaTransaction?.transactionRequest),[U,H]=n(),[N,$]=n(),[q,z]=n(0),[_,G]=n({value:0n,isLoading:!1}),[X,K]=n(!1),[Q,J]=n(),[Y,Z]=n(),oo=C?.sendSolanaTransaction?.connection,no=C?.sendSolanaTransaction?.transactingWallet,to=C?.sendSolanaTransaction?.signOnly??!1,eo=U?.instructions.length??1,ro=no?.imported?s(M):a(M),io=g(oo?.rpcEndpoint||""),so="fiat-currency"===B.embeddedWallets.priceDisplay.primary,{solPrice:ao,isSolPriceLoading:co}=j({enabled:so}),mo=t((()=>{let o,n;if(!U)return;let t=U.spender;0===q&&no?.address===t&&(o=y(U.fee));let e=y(_.value,3,!0),i=U.instructions[q];if(!i)return{fee:o,spender:t,balance:e};if("unknown"===i.type)return{fee:o,spender:t,program:i.program,balance:e};if("ata-creation"===i.type)return{fee:o,spender:t,balance:e,tokenAccountOwner:i.owner,tokenAccount:i.ata,tokenAddress:i.mint};let s=i.fromAccount,a="sol-transfer"===i.type?i.toAccount:i.toAccount||i.toAta,c="spl-transfer"===i.type?i.token.address:void 0;return null!=o&&"SOL"===i.token.symbol&&(n=y(i.value+U.fee)),{fee:o,spender:t,from:s,to:a,tokenAddress:c,amount:`${r(i.value,i.token.decimals)} ${i.token.symbol}`.trim(),total:n,balance:e}}),[U,q,no?.address,_]),lo=t((()=>{let o,n;if(!U||!so||!ao||co)return;function t(...o){return b(o.reduce(((o,n)=>o+n),0n),ao??0)}0===q&&no?.address===U.spender&&(o=t(U.fee));let e=t(_.value),i=U.instructions[q];return i&&"unknown"!==i.type&&"ata-creation"!==i.type?(null!=o&&"SOL"===i.token.symbol&&(n=t(i.value,U.fee)),{fee:o,amount:"SOL"===i.token.symbol?t(i.value):`${r(i.value,i.token.decimals)} ${i.token.symbol}`.trim(),total:n,balance:e}):{fee:o,balance:e}}),[U,so,ao,co,no?.address,q,_]),po=t((()=>{if(to||!U||_.isLoading||q>0)return!1;let o=U.instructions[q];if(!o)return!1;let n=0n;return no?.address===U.spender&&(n+=U.fee),"value"in o&&no?.address===o.fromAccount&&"SOL"===o.token.symbol&&(n+=o.value),_.value<n}),[U,_,q,to]);if(e((()=>{!async function(){if(F&&oo&&D)try{$(void 0);let o=await k({tx:F,connection:oo,client:D});H(o),z(0)}catch(o){console.error("Failed to prepare transaction",o),$(o)}}()}),[F,oo,D]),e((()=>{(async function(){if(!no||!oo)return;G({value:_.value,isLoading:!0});let o=new i({name:"mainnet-beta",rpcUrl:oo.rpcEndpoint});G({value:await o.getBalance(no.address).catch((()=>0n))??0n,isLoading:!1})})().catch(console.error)}),[U,oo]),!(F&&C?.sendSolanaTransaction&&no&&oo)){let n=Error("Invalid transaction request");/*#__PURE__*/return o(T,{error:n,onClick:()=>{C?.sendSolanaTransaction?.onFailure(n),P({shouldCallAuthOnSuccess:!1})}})}let uo=()=>{if(!X)return Q?C?.sendSolanaTransaction?.onSuccess(Q):(C?.sendSolanaTransaction?.onFailure(Y??N??Error("User exited the modal before submitting the transaction")),z(0)),P({shouldCallAuthOnSuccess:!1})};O.current=uo;let fo=C.sendSolanaTransaction?.uiOptions?.transactionInfo?.contractInfo?.imgUrl?/*#__PURE__*/o("img",{src:C.sendSolanaTransaction.uiOptions.transactionInfo.contractInfo.imgUrl,alt:C.sendSolanaTransaction.uiOptions.transactionInfo.contractInfo.imgAltText}):null,ho=!!(C.funding&&C.funding.supportedOptions.length>0),jo=po&&ho;return Q?/*#__PURE__*/o(x,{instructions:U?.instructions.reduce(((o,n)=>("ata-creation"===n.type&&o.push({tokenAccountOwner:n.owner,tokenAccount:n.ata}),"spl-transfer"===n.type&&o.push({from:n.fromAccount,to:n.toAccount||n.toAta,amount:n.value,token:n.token}),"sol-transfer"===n.type&&o.push({from:n.fromAccount,to:n.toAccount,amount:n.value,token:n.token}),o)),[])??[],fees:0===q?Q.fees:0n,onClose:uo,transactionInfo:C.sendSolanaTransaction?.uiOptions.transactionInfo,solPrice:ao,receiptHeader:C.sendSolanaTransaction?.uiOptions.successHeader,receiptDescription:C.sendSolanaTransaction?.uiOptions.successDescription,rpcEndpoint:oo.rpcEndpoint,signOnly:to}):Y?/*#__PURE__*/o(v,{transactionError:Y,connection:oo,onClose:uo,network:"solana",onRetry:async()=>{Z(void 0);let{blockhash:o}=await oo.getLatestBlockhash();S(F)?F.message.recentBlockhash=o:F.recentBlockhash=o,R(F)}}):/*#__PURE__*/o(I,{img:fo,title:C.sendSolanaTransaction?.uiOptions?.transactionInfo?.title||"Confirm transaction",subtitle:C.sendSolanaTransaction?.uiOptions?.description||`${B.name} wants your permission to approve the following transaction.`,cta:jo?"Add funds":C.sendSolanaTransaction?.uiOptions?.buttonText||"Approve",transactionIndex:q,maxIndex:eo-1,network:"mainnet-beta"==io?"Solana":io,blockExplorerUrl:"https://explorer.solana.com",total:so?lo?.total:mo?.total,amount:so?lo?.amount:mo?.amount,fee:so?lo?.fee:mo?.fee,balance:so?lo?.balance:mo?.balance,from:mo?.from,to:mo?.to,tokenAccount:mo?.tokenAccount,tokenAccountOwner:mo?.tokenAccountOwner,tokenAddress:mo?.tokenAddress,transactingWalletAddress:no.address,programAddress:mo?.program,disabled:po&&!ho,isSubmitting:X,isPreparing:!U||_.isLoading,isTokenPriceLoading:so&&co,isMissingFunds:po,submitError:Y??void 0,parseError:N,onClick:jo?async()=>{if(!no)return;if(!ho)throw Error("Funding wallet is not enabled");let o=A.FUNDING_METHOD_SELECTION_SCREEN;E({...C,funding:{...C.funding,methodScreen:o}}),L(o)}:async()=>{if(q<(U?.instructions.length??1)-1)z(q+1);else try{K(!0);let o=await V();if(X||!o||!no||!W||!M||!ro)return;let{rootWallet:n}=c(M,no.address);if(!n)throw Error("No root wallet for transacting wallet found");let{entropyId:t,entropyIdVerifier:e}=m(n);if(to)await p({tx:F,accessToken:o,walletProxy:W,entropyId:t,entropyIdVerifier:e,transactingWalletAddress:no.address,transactingWalletIndex:no.walletIndex??0}),J(w("",F,null));else{let{signature:n,receipt:r}=await d({tx:F,accessToken:o,connection:oo,walletProxy:W,entropyId:t,entropyIdVerifier:e,transactingWalletAddress:no.address,transactingWalletIndex:no.walletIndex??0,transactionOptions:C.sendSolanaTransaction?.transactionOptions});J(w(n,F,r))}}catch(o){console.warn({transaction:F,error:o}),Z(o)}finally{K(!1)}},onClose:uo,onBack:q>0&&eo>1?()=>z(q-1):void 0})};export{C as SendSolanaTransactionScreen};
|