@b3dotfun/sdk 0.1.69 → 0.1.70
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/anyspend/constants/rpc.d.ts +1 -1
- package/dist/cjs/anyspend/constants/rpc.js +1 -1
- package/dist/cjs/anyspend/react/components/AnySpend.d.ts +2 -0
- package/dist/cjs/anyspend/react/components/AnySpend.js +12 -4
- package/dist/cjs/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
- package/dist/cjs/anyspend/react/components/AnySpendBondKit.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnySpendBuySpin.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
- package/dist/cjs/anyspend/react/components/AnySpendCollectorClubPurchase.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendCustom.d.ts +2 -0
- package/dist/cjs/anyspend/react/components/AnySpendCustom.js +7 -3
- package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
- package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +21 -14
- package/dist/cjs/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/AnySpendDeposit.js +12 -6
- package/dist/cjs/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnySpendDepositUpside.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendNFT.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/AnySpendNFT.js +4 -4
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3.js +3 -3
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.js +3 -3
- package/dist/cjs/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/AnySpendStakeUpside.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnySpendStakeUpsideExactIn.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/AnySpendWorkflowTrigger.js +2 -2
- package/dist/cjs/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +2 -2
- package/dist/cjs/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnyspendSignatureMint.js +2 -2
- package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.d.ts +5 -1
- package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.js +15 -6
- package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckoutTrigger.js +2 -2
- package/dist/cjs/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
- package/dist/cjs/anyspend/react/components/checkout/CartSummary.js +13 -11
- package/dist/cjs/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/checkout/CheckoutCartPanel.js +5 -4
- package/dist/cjs/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/checkout/CheckoutFormPanel.js +2 -2
- package/dist/cjs/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/checkout/CheckoutPaymentPanel.js +15 -7
- package/dist/cjs/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/checkout/CheckoutSuccess.js +5 -3
- package/dist/cjs/anyspend/react/components/checkout/CryptoPayPanel.js +43 -23
- package/dist/cjs/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/checkout/DiscountCodeInput.js +3 -6
- package/dist/cjs/anyspend/react/components/checkout/FiatCheckoutPanel.js +1 -2
- package/dist/cjs/anyspend/react/components/checkout/KycGate.js +1 -2
- package/dist/cjs/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
- package/dist/cjs/anyspend/react/components/checkout/PriceSkeleton.js +9 -0
- package/dist/cjs/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/checkout/ShippingSelector.js +3 -2
- package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
- package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +10 -9
- package/dist/cjs/anyspend/react/components/common/InsufficientDepositPayment.js +2 -2
- package/dist/cjs/anyspend/react/components/common/OrderDetails.js +7 -2
- package/dist/cjs/anyspend/react/components/common/OrderDetailsCollapsible.js +2 -2
- package/dist/cjs/anyspend/react/components/common/OrderStatus.js +37 -6
- package/dist/cjs/anyspend/react/components/common/StepProgress.d.ts +2 -0
- package/dist/cjs/anyspend/react/components/common/StepProgress.js +7 -2
- package/dist/cjs/anyspend/react/components/common/TransferCryptoDetails.js +2 -2
- package/dist/cjs/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +4 -6
- package/dist/cjs/anyspend/react/hooks/useKycStatus.d.ts +3 -1
- package/dist/cjs/anyspend/react/hooks/useKycStatus.js +11 -7
- package/dist/cjs/anyspend/utils/chain.js +8 -7
- package/dist/cjs/app.shared.js +9 -7
- package/dist/cjs/global-account/better-auth-client.d.ts +1883 -0
- package/dist/cjs/global-account/better-auth-client.js +17 -0
- package/dist/cjs/global-account/bsmnt.d.ts +0 -1
- package/dist/cjs/global-account/bsmnt.js +0 -6
- package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +3 -1
- package/dist/cjs/global-account/react/components/B3DynamicModal.js +5 -2
- package/dist/cjs/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
- package/dist/cjs/global-account/react/components/B3Provider/AuthenticationProvider.js +2 -1
- package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +4 -1
- package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.js +2 -1
- package/dist/cjs/global-account/react/components/B3Provider/B3Provider.d.ts +11 -2
- package/dist/cjs/global-account/react/components/B3Provider/B3Provider.js +10 -13
- package/dist/cjs/global-account/react/components/B3Provider/B3Provider.native.js +6 -8
- package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
- package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.js +120 -0
- package/dist/cjs/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
- package/dist/cjs/global-account/react/components/B3Provider/LocalSDKProvider.js +3 -1
- package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
- package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +4 -2
- package/dist/cjs/global-account/react/components/LinkAccount/LinkedAccountItem.js +2 -1
- package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +4 -2
- package/dist/cjs/global-account/react/components/ManageAccount/Header.js +36 -4
- package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +4 -1
- package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +6 -0
- package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +17 -6
- package/dist/cjs/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
- package/dist/cjs/global-account/react/components/ManageAccount/SessionDurationContent.js +57 -0
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +14 -29
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +27 -16
- package/dist/cjs/global-account/react/components/Send/Send.js +5 -2
- package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthResetPassword.js +68 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +173 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.js +85 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/SignIn.js +14 -4
- package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
- package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +14 -5
- package/dist/cjs/global-account/react/components/SignInWithB3/components/AuthButton.js +10 -1
- package/dist/cjs/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/components/PasswordInput.js +10 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +141 -0
- package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +96 -15
- package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +5 -3
- package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.js +20 -3
- package/dist/cjs/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.js +2 -1
- package/dist/cjs/global-account/react/components/Toast/ToastContext.d.ts +3 -0
- package/dist/cjs/global-account/react/components/Toast/ToastContext.js +30 -7
- package/dist/cjs/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
- package/dist/cjs/global-account/react/components/UserAvatar/UserAvatar.js +27 -0
- package/dist/cjs/global-account/react/components/custom/Button.d.ts +1 -1
- package/dist/cjs/global-account/react/components/index.d.ts +5 -0
- package/dist/cjs/global-account/react/components/index.js +12 -3
- package/dist/cjs/global-account/react/components/ui/button.d.ts +1 -1
- package/dist/cjs/global-account/react/hooks/index.d.ts +1 -0
- package/dist/cjs/global-account/react/hooks/index.js +5 -2
- package/dist/cjs/global-account/react/hooks/useAuth.js +26 -15
- package/dist/cjs/global-account/react/hooks/useAuthentication.js +23 -12
- package/dist/cjs/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
- package/dist/cjs/global-account/react/hooks/useAutoSelectWallet.js +31 -3
- package/dist/cjs/global-account/react/hooks/useBetterAuth.d.ts +973 -0
- package/dist/cjs/global-account/react/hooks/useBetterAuth.js +158 -0
- package/dist/cjs/global-account/react/hooks/useConnect.d.ts +2 -2
- package/dist/cjs/global-account/react/hooks/useFirstEOA.d.ts +8 -8
- package/dist/cjs/global-account/react/hooks/useTWAuth.js +0 -1
- package/dist/cjs/global-account/react/stores/useModalStore.d.ts +42 -1
- package/dist/cjs/global-account/react/utils/createWagmiConfig.d.ts +4 -31
- package/dist/cjs/global-account/react/utils/createWagmiConfig.js +5 -24
- package/dist/cjs/global-account/react/utils/index.d.ts +0 -1
- package/dist/cjs/global-account/react/utils/index.js +0 -1
- package/dist/cjs/global-account/react/utils/profileDisplay.js +17 -18
- package/dist/cjs/shared/constants/chains/b3Chain.d.ts +7 -7
- package/dist/cjs/shared/constants/chains/b3Chain.js +4 -4
- package/dist/cjs/shared/constants/chains/b3Viem.d.ts +6 -0
- package/dist/cjs/shared/constants/chains/b3Viem.js +19 -0
- package/dist/cjs/shared/constants/chains/supported.d.ts +1 -1
- package/dist/cjs/shared/constants/index.d.ts +1 -0
- package/dist/cjs/shared/constants/index.js +2 -1
- package/dist/cjs/shared/generated/chain-networks.json +2 -2
- package/dist/cjs/shared/utils/chains.d.ts +1 -1
- package/dist/cjs/shared/utils/chains.js +2 -2
- package/dist/cjs/shared/utils/session-duration.d.ts +15 -0
- package/dist/cjs/shared/utils/session-duration.js +69 -0
- package/dist/cjs/wallet/react/components/ConnectWallet.d.ts +11 -0
- package/dist/cjs/wallet/react/components/ConnectWallet.js +467 -0
- package/dist/cjs/wallet/react/components/WalletProvider.d.ts +35 -0
- package/dist/cjs/wallet/react/components/WalletProvider.js +20 -0
- package/dist/cjs/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
- package/dist/cjs/wallet/react/hooks/useWalletDisconnect.js +22 -0
- package/dist/cjs/wallet/react/hooks/useWalletState.d.ts +31 -0
- package/dist/cjs/wallet/react/hooks/useWalletState.js +63 -0
- package/dist/cjs/wallet/react/index.d.ts +5 -0
- package/dist/cjs/wallet/react/index.js +16 -0
- package/dist/cjs/wallet/utils/createWalletConfig.d.ts +21 -0
- package/dist/cjs/wallet/utils/createWalletConfig.js +24 -0
- package/dist/esm/anyspend/constants/rpc.d.ts +1 -1
- package/dist/esm/anyspend/constants/rpc.js +1 -1
- package/dist/esm/anyspend/react/components/AnySpend.d.ts +2 -0
- package/dist/esm/anyspend/react/components/AnySpend.js +12 -4
- package/dist/esm/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
- package/dist/esm/anyspend/react/components/AnySpendBondKit.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnySpendBuySpin.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
- package/dist/esm/anyspend/react/components/AnySpendCollectorClubPurchase.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendCustom.d.ts +2 -0
- package/dist/esm/anyspend/react/components/AnySpendCustom.js +7 -3
- package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
- package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +21 -14
- package/dist/esm/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
- package/dist/esm/anyspend/react/components/AnySpendDeposit.js +13 -7
- package/dist/esm/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnySpendDepositUpside.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendNFT.d.ts +3 -1
- package/dist/esm/anyspend/react/components/AnySpendNFT.js +4 -4
- package/dist/esm/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnySpendStakeB3.js +4 -4
- package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.js +4 -4
- package/dist/esm/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
- package/dist/esm/anyspend/react/components/AnySpendStakeUpside.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnySpendStakeUpsideExactIn.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
- package/dist/esm/anyspend/react/components/AnySpendWorkflowTrigger.js +2 -2
- package/dist/esm/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +2 -2
- package/dist/esm/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnyspendSignatureMint.js +2 -2
- package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.d.ts +5 -1
- package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.js +15 -6
- package/dist/esm/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
- package/dist/esm/anyspend/react/components/checkout/AnySpendCheckoutTrigger.js +2 -2
- package/dist/esm/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
- package/dist/esm/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
- package/dist/esm/anyspend/react/components/checkout/CartSummary.js +13 -11
- package/dist/esm/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
- package/dist/esm/anyspend/react/components/checkout/CheckoutCartPanel.js +5 -4
- package/dist/esm/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
- package/dist/esm/anyspend/react/components/checkout/CheckoutFormPanel.js +2 -2
- package/dist/esm/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
- package/dist/esm/anyspend/react/components/checkout/CheckoutPaymentPanel.js +16 -8
- package/dist/esm/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
- package/dist/esm/anyspend/react/components/checkout/CheckoutSuccess.js +5 -3
- package/dist/esm/anyspend/react/components/checkout/CryptoPayPanel.js +44 -24
- package/dist/esm/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
- package/dist/esm/anyspend/react/components/checkout/DiscountCodeInput.js +3 -6
- package/dist/esm/anyspend/react/components/checkout/FiatCheckoutPanel.js +2 -3
- package/dist/esm/anyspend/react/components/checkout/KycGate.js +2 -3
- package/dist/esm/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
- package/dist/esm/anyspend/react/components/checkout/PriceSkeleton.js +6 -0
- package/dist/esm/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
- package/dist/esm/anyspend/react/components/checkout/ShippingSelector.js +3 -2
- package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
- package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +9 -8
- package/dist/esm/anyspend/react/components/common/InsufficientDepositPayment.js +2 -2
- package/dist/esm/anyspend/react/components/common/OrderDetails.js +8 -3
- package/dist/esm/anyspend/react/components/common/OrderDetailsCollapsible.js +2 -2
- package/dist/esm/anyspend/react/components/common/OrderStatus.js +34 -3
- package/dist/esm/anyspend/react/components/common/StepProgress.d.ts +2 -0
- package/dist/esm/anyspend/react/components/common/StepProgress.js +4 -2
- package/dist/esm/anyspend/react/components/common/TransferCryptoDetails.js +2 -2
- package/dist/esm/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +5 -7
- package/dist/esm/anyspend/react/hooks/useKycStatus.d.ts +3 -1
- package/dist/esm/anyspend/react/hooks/useKycStatus.js +9 -5
- package/dist/esm/anyspend/utils/chain.js +10 -9
- package/dist/esm/app.shared.js +9 -7
- package/dist/esm/global-account/better-auth-client.d.ts +1883 -0
- package/dist/esm/global-account/better-auth-client.js +13 -0
- package/dist/esm/global-account/bsmnt.d.ts +0 -1
- package/dist/esm/global-account/bsmnt.js +0 -5
- package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +3 -1
- package/dist/esm/global-account/react/components/B3DynamicModal.js +5 -2
- package/dist/esm/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
- package/dist/esm/global-account/react/components/B3Provider/AuthenticationProvider.js +2 -1
- package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +4 -1
- package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.js +2 -1
- package/dist/esm/global-account/react/components/B3Provider/B3Provider.d.ts +11 -2
- package/dist/esm/global-account/react/components/B3Provider/B3Provider.js +5 -8
- package/dist/esm/global-account/react/components/B3Provider/B3Provider.native.js +4 -6
- package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
- package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.js +115 -0
- package/dist/esm/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
- package/dist/esm/global-account/react/components/B3Provider/LocalSDKProvider.js +3 -1
- package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
- package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +4 -2
- package/dist/esm/global-account/react/components/LinkAccount/LinkedAccountItem.js +2 -1
- package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +5 -3
- package/dist/esm/global-account/react/components/ManageAccount/Header.js +37 -5
- package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +4 -1
- package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +7 -1
- package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +16 -8
- package/dist/esm/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
- package/dist/esm/global-account/react/components/ManageAccount/SessionDurationContent.js +52 -0
- package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +16 -31
- package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +27 -16
- package/dist/esm/global-account/react/components/Send/Send.js +5 -2
- package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
- package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthResetPassword.js +65 -0
- package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
- package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +170 -0
- package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
- package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.js +82 -0
- package/dist/esm/global-account/react/components/SignInWithB3/SignIn.js +15 -5
- package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
- package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +14 -5
- package/dist/esm/global-account/react/components/SignInWithB3/components/AuthButton.js +11 -2
- package/dist/esm/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
- package/dist/esm/global-account/react/components/SignInWithB3/components/PasswordInput.js +7 -0
- package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
- package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +138 -0
- package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +100 -19
- package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +5 -3
- package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.js +19 -2
- package/dist/esm/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.js +2 -1
- package/dist/esm/global-account/react/components/Toast/ToastContext.d.ts +3 -0
- package/dist/esm/global-account/react/components/Toast/ToastContext.js +30 -7
- package/dist/esm/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
- package/dist/esm/global-account/react/components/UserAvatar/UserAvatar.js +21 -0
- package/dist/esm/global-account/react/components/custom/Button.d.ts +1 -1
- package/dist/esm/global-account/react/components/index.d.ts +5 -0
- package/dist/esm/global-account/react/components/index.js +5 -0
- package/dist/esm/global-account/react/components/ui/button.d.ts +1 -1
- package/dist/esm/global-account/react/hooks/index.d.ts +1 -0
- package/dist/esm/global-account/react/hooks/index.js +1 -0
- package/dist/esm/global-account/react/hooks/useAuth.js +28 -17
- package/dist/esm/global-account/react/hooks/useAuthentication.js +24 -13
- package/dist/esm/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
- package/dist/esm/global-account/react/hooks/useAutoSelectWallet.js +33 -5
- package/dist/esm/global-account/react/hooks/useBetterAuth.d.ts +973 -0
- package/dist/esm/global-account/react/hooks/useBetterAuth.js +150 -0
- package/dist/esm/global-account/react/hooks/useConnect.d.ts +2 -2
- package/dist/esm/global-account/react/hooks/useFirstEOA.d.ts +8 -8
- package/dist/esm/global-account/react/hooks/useTWAuth.js +0 -1
- package/dist/esm/global-account/react/stores/useModalStore.d.ts +42 -1
- package/dist/esm/global-account/react/utils/createWagmiConfig.d.ts +4 -31
- package/dist/esm/global-account/react/utils/createWagmiConfig.js +5 -23
- package/dist/esm/global-account/react/utils/index.d.ts +0 -1
- package/dist/esm/global-account/react/utils/index.js +0 -1
- package/dist/esm/global-account/react/utils/profileDisplay.js +17 -18
- package/dist/esm/shared/constants/chains/b3Chain.d.ts +7 -7
- package/dist/esm/shared/constants/chains/b3Chain.js +4 -4
- package/dist/esm/shared/constants/chains/b3Viem.d.ts +6 -0
- package/dist/esm/shared/constants/chains/b3Viem.js +16 -0
- package/dist/esm/shared/constants/chains/supported.d.ts +1 -1
- package/dist/esm/shared/constants/index.d.ts +1 -0
- package/dist/esm/shared/constants/index.js +1 -0
- package/dist/esm/shared/generated/chain-networks.json +2 -2
- package/dist/esm/shared/utils/chains.d.ts +1 -1
- package/dist/esm/shared/utils/chains.js +2 -2
- package/dist/esm/shared/utils/session-duration.d.ts +15 -0
- package/dist/esm/shared/utils/session-duration.js +64 -0
- package/dist/esm/wallet/react/components/ConnectWallet.d.ts +11 -0
- package/dist/esm/wallet/react/components/ConnectWallet.js +431 -0
- package/dist/esm/wallet/react/components/WalletProvider.d.ts +35 -0
- package/dist/esm/wallet/react/components/WalletProvider.js +17 -0
- package/dist/esm/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
- package/dist/esm/wallet/react/hooks/useWalletDisconnect.js +19 -0
- package/dist/esm/wallet/react/hooks/useWalletState.d.ts +31 -0
- package/dist/esm/wallet/react/hooks/useWalletState.js +60 -0
- package/dist/esm/wallet/react/index.d.ts +5 -0
- package/dist/esm/wallet/react/index.js +8 -0
- package/dist/esm/wallet/utils/createWalletConfig.d.ts +21 -0
- package/dist/esm/wallet/utils/createWalletConfig.js +21 -0
- package/dist/styles/index.css +1 -1
- package/dist/types/anyspend/constants/rpc.d.ts +1 -1
- package/dist/types/anyspend/react/components/AnySpend.d.ts +2 -0
- package/dist/types/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
- package/dist/types/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
- package/dist/types/anyspend/react/components/AnySpendCustom.d.ts +2 -0
- package/dist/types/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
- package/dist/types/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
- package/dist/types/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnySpendNFT.d.ts +3 -1
- package/dist/types/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
- package/dist/types/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
- package/dist/types/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
- package/dist/types/anyspend/react/components/checkout/AnySpendCheckout.d.ts +5 -1
- package/dist/types/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
- package/dist/types/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
- package/dist/types/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
- package/dist/types/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
- package/dist/types/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
- package/dist/types/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
- package/dist/types/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
- package/dist/types/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
- package/dist/types/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
- package/dist/types/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
- package/dist/types/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
- package/dist/types/anyspend/react/components/common/StepProgress.d.ts +2 -0
- package/dist/types/anyspend/react/hooks/useKycStatus.d.ts +3 -1
- package/dist/types/global-account/better-auth-client.d.ts +1883 -0
- package/dist/types/global-account/bsmnt.d.ts +0 -1
- package/dist/types/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
- package/dist/types/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +4 -1
- package/dist/types/global-account/react/components/B3Provider/B3Provider.d.ts +11 -2
- package/dist/types/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
- package/dist/types/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
- package/dist/types/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
- package/dist/types/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
- package/dist/types/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
- package/dist/types/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
- package/dist/types/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
- package/dist/types/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
- package/dist/types/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
- package/dist/types/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
- package/dist/types/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +5 -3
- package/dist/types/global-account/react/components/Toast/ToastContext.d.ts +3 -0
- package/dist/types/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
- package/dist/types/global-account/react/components/custom/Button.d.ts +1 -1
- package/dist/types/global-account/react/components/index.d.ts +5 -0
- package/dist/types/global-account/react/components/ui/button.d.ts +1 -1
- package/dist/types/global-account/react/hooks/index.d.ts +1 -0
- package/dist/types/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
- package/dist/types/global-account/react/hooks/useBetterAuth.d.ts +973 -0
- package/dist/types/global-account/react/hooks/useConnect.d.ts +2 -2
- package/dist/types/global-account/react/hooks/useFirstEOA.d.ts +8 -8
- package/dist/types/global-account/react/stores/useModalStore.d.ts +42 -1
- package/dist/types/global-account/react/utils/createWagmiConfig.d.ts +4 -31
- package/dist/types/global-account/react/utils/index.d.ts +0 -1
- package/dist/types/shared/constants/chains/b3Chain.d.ts +7 -7
- package/dist/types/shared/constants/chains/b3Viem.d.ts +6 -0
- package/dist/types/shared/constants/chains/supported.d.ts +1 -1
- package/dist/types/shared/constants/index.d.ts +1 -0
- package/dist/types/shared/utils/chains.d.ts +1 -1
- package/dist/types/shared/utils/session-duration.d.ts +15 -0
- package/dist/types/wallet/react/components/ConnectWallet.d.ts +11 -0
- package/dist/types/wallet/react/components/WalletProvider.d.ts +35 -0
- package/dist/types/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
- package/dist/types/wallet/react/hooks/useWalletState.d.ts +31 -0
- package/dist/types/wallet/react/index.d.ts +5 -0
- package/dist/types/wallet/utils/createWalletConfig.d.ts +21 -0
- package/package.json +15 -6
- package/src/anyspend/constants/rpc.ts +2 -1
- package/src/anyspend/react/components/AnySpend.tsx +24 -12
- package/src/anyspend/react/components/AnySpendBondKit.tsx +2 -0
- package/src/anyspend/react/components/AnySpendBuySpin.tsx +3 -0
- package/src/anyspend/react/components/AnySpendCollectorClubPurchase.tsx +6 -0
- package/src/anyspend/react/components/AnySpendCustom.tsx +12 -2
- package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +29 -14
- package/src/anyspend/react/components/AnySpendDeposit.tsx +51 -34
- package/src/anyspend/react/components/AnySpendDepositUpside.tsx +3 -0
- package/src/anyspend/react/components/AnySpendNFT.tsx +6 -2
- package/src/anyspend/react/components/AnySpendStakeB3.tsx +5 -2
- package/src/anyspend/react/components/AnySpendStakeB3ExactIn.tsx +5 -2
- package/src/anyspend/react/components/AnySpendStakeUpside.tsx +4 -0
- package/src/anyspend/react/components/AnySpendStakeUpsideExactIn.tsx +3 -0
- package/src/anyspend/react/components/AnySpendWorkflowTrigger.tsx +4 -0
- package/src/anyspend/react/components/AnyspendDepositHype.tsx +3 -0
- package/src/anyspend/react/components/AnyspendSignatureMint.tsx +3 -0
- package/src/anyspend/react/components/checkout/AnySpendCheckout.tsx +29 -5
- package/src/anyspend/react/components/checkout/AnySpendCheckoutTrigger.tsx +4 -0
- package/src/anyspend/react/components/checkout/CartItemRow.tsx +2 -1
- package/src/anyspend/react/components/checkout/CartSummary.tsx +24 -20
- package/src/anyspend/react/components/checkout/CheckoutCartPanel.tsx +12 -3
- package/src/anyspend/react/components/checkout/CheckoutFormPanel.tsx +5 -0
- package/src/anyspend/react/components/checkout/CheckoutPaymentPanel.tsx +99 -83
- package/src/anyspend/react/components/checkout/CheckoutSuccess.tsx +13 -3
- package/src/anyspend/react/components/checkout/CryptoPayPanel.tsx +45 -27
- package/src/anyspend/react/components/checkout/DiscountCodeInput.tsx +15 -5
- package/src/anyspend/react/components/checkout/FiatCheckoutPanel.tsx +9 -3
- package/src/anyspend/react/components/checkout/KycGate.tsx +8 -3
- package/src/anyspend/react/components/checkout/PriceSkeleton.tsx +19 -0
- package/src/anyspend/react/components/checkout/ShippingSelector.tsx +5 -1
- package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +10 -8
- package/src/anyspend/react/components/common/InsufficientDepositPayment.tsx +2 -2
- package/src/anyspend/react/components/common/OrderDetails.tsx +10 -2
- package/src/anyspend/react/components/common/OrderDetailsCollapsible.tsx +4 -4
- package/src/anyspend/react/components/common/OrderStatus.tsx +38 -3
- package/src/anyspend/react/components/common/StepProgress.tsx +15 -5
- package/src/anyspend/react/components/common/TransferCryptoDetails.tsx +2 -2
- package/src/anyspend/react/hooks/useAnyspendCreateOnrampOrder.ts +5 -7
- package/src/anyspend/react/hooks/useKycStatus.ts +8 -5
- package/src/anyspend/utils/chain.ts +9 -9
- package/src/app.shared.ts +9 -8
- package/src/global-account/better-auth-client.ts +17 -0
- package/src/global-account/bsmnt.ts +0 -6
- package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +3 -1
- package/src/global-account/react/components/B3DynamicModal.tsx +5 -2
- package/src/global-account/react/components/B3Provider/AuthenticationProvider.tsx +4 -0
- package/src/global-account/react/components/B3Provider/B3ConfigProvider.tsx +6 -0
- package/src/global-account/react/components/B3Provider/B3Provider.native.tsx +16 -21
- package/src/global-account/react/components/B3Provider/B3Provider.tsx +56 -37
- package/src/global-account/react/components/B3Provider/BetterAuthProvider.tsx +127 -0
- package/src/global-account/react/components/B3Provider/LocalSDKProvider.tsx +5 -0
- package/src/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.tsx +17 -10
- package/src/global-account/react/components/LinkAccount/LinkedAccountItem.tsx +2 -1
- package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +18 -14
- package/src/global-account/react/components/ManageAccount/Header.tsx +71 -4
- package/src/global-account/react/components/ManageAccount/HomeContent.tsx +25 -19
- package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +13 -0
- package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +40 -15
- package/src/global-account/react/components/ManageAccount/SessionDurationContent.tsx +107 -0
- package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +35 -54
- package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +31 -22
- package/src/global-account/react/components/Send/Send.tsx +8 -5
- package/src/global-account/react/components/SignInWithB3/BetterAuthResetPassword.tsx +145 -0
- package/src/global-account/react/components/SignInWithB3/BetterAuthSignIn.tsx +446 -0
- package/src/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.tsx +155 -0
- package/src/global-account/react/components/SignInWithB3/SignIn.tsx +42 -13
- package/src/global-account/react/components/SignInWithB3/SignInWithB3Flow.tsx +20 -4
- package/src/global-account/react/components/SignInWithB3/components/AuthButton.tsx +21 -2
- package/src/global-account/react/components/SignInWithB3/components/PasswordInput.tsx +62 -0
- package/src/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.tsx +315 -0
- package/src/global-account/react/components/SignInWithB3/steps/LoginStepCustom.tsx +207 -54
- package/src/global-account/react/components/SignInWithB3/utils/signInUtils.ts +24 -4
- package/src/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.tsx +2 -1
- package/src/global-account/react/components/Toast/ToastContext.tsx +39 -7
- package/src/global-account/react/components/UserAvatar/UserAvatar.tsx +45 -0
- package/src/global-account/react/components/index.ts +11 -0
- package/src/global-account/react/hooks/index.ts +1 -0
- package/src/global-account/react/hooks/useAuth.ts +28 -17
- package/src/global-account/react/hooks/useAuthentication.ts +24 -13
- package/src/global-account/react/hooks/useAutoSelectWallet.ts +40 -6
- package/src/global-account/react/hooks/useBetterAuth.ts +192 -0
- package/src/global-account/react/hooks/useConnect.tsx +2 -2
- package/src/global-account/react/hooks/useTWAuth.tsx +0 -1
- package/src/global-account/react/stores/useModalStore.ts +43 -0
- package/src/global-account/react/utils/createWagmiConfig.tsx +6 -25
- package/src/global-account/react/utils/index.ts +0 -1
- package/src/global-account/react/utils/profileDisplay.ts +21 -19
- package/src/shared/constants/chains/b3Chain.ts +5 -5
- package/src/shared/constants/chains/b3Viem.ts +18 -0
- package/src/shared/constants/index.ts +2 -0
- package/src/shared/generated/chain-networks.json +2 -2
- package/src/shared/utils/chains.ts +3 -2
- package/src/shared/utils/session-duration.ts +64 -0
- package/src/types/torph.d.ts +4 -0
- package/src/wallet/__tests__/createWalletConfig.test.ts +39 -0
- package/src/wallet/react/components/ConnectWallet.tsx +665 -0
- package/src/wallet/react/components/WalletProvider.tsx +64 -0
- package/src/wallet/react/hooks/useWalletDisconnect.ts +22 -0
- package/src/wallet/react/hooks/useWalletState.ts +93 -0
- package/src/wallet/react/index.ts +10 -0
- package/src/wallet/utils/createWalletConfig.ts +39 -0
- package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
- package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.js +0 -54
- package/dist/cjs/global-account/react/components/ProfileAvatar.d.ts +0 -0
- package/dist/cjs/global-account/react/components/ProfileAvatar.js +0 -127
- package/dist/cjs/global-account/react/hooks/useRPMToken.d.ts +0 -7
- package/dist/cjs/global-account/react/hooks/useRPMToken.js +0 -11
- package/dist/cjs/global-account/react/utils/updateAvatar.d.ts +0 -4
- package/dist/cjs/global-account/react/utils/updateAvatar.js +0 -54
- package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
- package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.js +0 -51
- package/dist/esm/global-account/react/components/ProfileAvatar.d.ts +0 -0
- package/dist/esm/global-account/react/components/ProfileAvatar.js +0 -127
- package/dist/esm/global-account/react/hooks/useRPMToken.d.ts +0 -7
- package/dist/esm/global-account/react/hooks/useRPMToken.js +0 -8
- package/dist/esm/global-account/react/utils/updateAvatar.d.ts +0 -4
- package/dist/esm/global-account/react/utils/updateAvatar.js +0 -18
- package/dist/types/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
- package/dist/types/global-account/react/components/ProfileAvatar.d.ts +0 -0
- package/dist/types/global-account/react/hooks/useRPMToken.d.ts +0 -7
- package/dist/types/global-account/react/utils/updateAvatar.d.ts +0 -4
- package/src/global-account/react/components/AvatarCreator/AvatarCreator.tsx +0 -90
- package/src/global-account/react/components/ProfileAvatar.tsx +0 -138
- package/src/global-account/react/hooks/useRPMToken.ts +0 -17
- package/src/global-account/react/utils/updateAvatar.ts +0 -21
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
2
|
+
import { useMemo, useState } from "react";
|
|
3
|
+
import { ThirdwebProvider } from "thirdweb/react";
|
|
4
|
+
import { type Config, WagmiProvider, type CreateConnectorFn } from "wagmi";
|
|
5
|
+
import type { Chain } from "viem";
|
|
6
|
+
import { createWalletConfig } from "../../utils/createWalletConfig";
|
|
7
|
+
|
|
8
|
+
export interface WalletProviderProps {
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* Chains to support. Defaults to SDK's supportedChains.
|
|
12
|
+
* Must be memoized or defined outside the component — inline arrays cause the
|
|
13
|
+
* wagmi config to rebuild on every render, losing wallet connection state.
|
|
14
|
+
*/
|
|
15
|
+
chains?: Chain[];
|
|
16
|
+
/**
|
|
17
|
+
* Wagmi connectors. Must be memoized or defined outside the component — inline
|
|
18
|
+
* arrays cause the wagmi config to rebuild on every render, losing wallet connection state.
|
|
19
|
+
*/
|
|
20
|
+
connectors?: CreateConnectorFn[];
|
|
21
|
+
/**
|
|
22
|
+
* Optional RPC URL overrides per chain ID.
|
|
23
|
+
* Must be memoized or defined outside the component — inline objects cause the
|
|
24
|
+
* wagmi config to rebuild on every render, losing wallet connection state.
|
|
25
|
+
*/
|
|
26
|
+
rpcUrls?: Record<number, string>;
|
|
27
|
+
/** Escape hatch: pass a fully custom wagmi config. Overrides chains/connectors/rpcUrls. */
|
|
28
|
+
wagmiConfig?: Config;
|
|
29
|
+
/** Provide your own QueryClient for React Query. Defaults to an internal instance. */
|
|
30
|
+
queryClient?: QueryClient;
|
|
31
|
+
/** Whether to auto-reconnect the last wallet on mount. Defaults to false. */
|
|
32
|
+
reconnectOnMount?: boolean;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Standalone wallet connection provider.
|
|
37
|
+
* Wraps ThirdwebProvider, WagmiProvider, and QueryClientProvider.
|
|
38
|
+
* Use wagmi hooks (useAccount, useConnect, useDisconnect) directly inside.
|
|
39
|
+
*/
|
|
40
|
+
export function WalletProvider({
|
|
41
|
+
children,
|
|
42
|
+
chains,
|
|
43
|
+
connectors,
|
|
44
|
+
rpcUrls,
|
|
45
|
+
wagmiConfig: wagmiConfigProp,
|
|
46
|
+
queryClient: queryClientProp,
|
|
47
|
+
reconnectOnMount = false,
|
|
48
|
+
}: WalletProviderProps) {
|
|
49
|
+
const [defaultQueryClient] = useState(() => new QueryClient());
|
|
50
|
+
const queryClient = queryClientProp ?? defaultQueryClient;
|
|
51
|
+
|
|
52
|
+
const wagmiConfig = useMemo(
|
|
53
|
+
() => wagmiConfigProp ?? createWalletConfig({ chains, connectors, rpcUrls }),
|
|
54
|
+
[wagmiConfigProp, chains, connectors, rpcUrls],
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
return (
|
|
58
|
+
<ThirdwebProvider>
|
|
59
|
+
<WagmiProvider config={wagmiConfig} reconnectOnMount={reconnectOnMount}>
|
|
60
|
+
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
|
|
61
|
+
</WagmiProvider>
|
|
62
|
+
</ThirdwebProvider>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { useDisconnect } from "wagmi";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Disconnect the current wallet via wagmi.
|
|
6
|
+
* Consumers should use this instead of wagmi's useDisconnect directly
|
|
7
|
+
* to ensure a consistent disconnect API across the wallet module.
|
|
8
|
+
*
|
|
9
|
+
* Note: this only disconnects the wagmi layer. When used inside B3Provider,
|
|
10
|
+
* the thirdweb auth session is managed separately by B3Provider's own logout
|
|
11
|
+
* flow (useAuthentication). ConnectWallet is intended for standalone
|
|
12
|
+
* WalletProvider usage where thirdweb auth is not involved.
|
|
13
|
+
*/
|
|
14
|
+
export function useWalletDisconnect() {
|
|
15
|
+
const { disconnect: wagmiDisconnect } = useDisconnect();
|
|
16
|
+
|
|
17
|
+
const disconnect = useCallback(() => {
|
|
18
|
+
wagmiDisconnect();
|
|
19
|
+
}, [wagmiDisconnect]);
|
|
20
|
+
|
|
21
|
+
return { disconnect };
|
|
22
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { useEffect, useMemo, useRef } from "react";
|
|
2
|
+
import { useAccount, useConnect, useConnectors } from "wagmi";
|
|
3
|
+
import type { Chain } from "viem";
|
|
4
|
+
import type { Connector } from "wagmi";
|
|
5
|
+
|
|
6
|
+
export interface WalletConnector {
|
|
7
|
+
/** Display name of the wallet */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Unique identifier for this connector instance */
|
|
10
|
+
uid: string;
|
|
11
|
+
/** Whether the wallet extension/app is detected in the browser */
|
|
12
|
+
isInstalled: boolean;
|
|
13
|
+
/** Connect using this connector. Returns a promise that resolves on success or rejects on failure/rejection. */
|
|
14
|
+
connect: () => Promise<void>;
|
|
15
|
+
/** Raw wagmi connector for advanced use */
|
|
16
|
+
connector: Connector;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface WalletState {
|
|
20
|
+
/** Connected wallet address, or undefined if not connected */
|
|
21
|
+
address: string | undefined;
|
|
22
|
+
/** Whether a wallet is currently connected */
|
|
23
|
+
isConnected: boolean;
|
|
24
|
+
/** Current chain the wallet is connected to */
|
|
25
|
+
chain: Chain | undefined;
|
|
26
|
+
/** Whether a connection attempt is in progress */
|
|
27
|
+
isPending: boolean;
|
|
28
|
+
/** Available wallet connectors, deduplicated by name */
|
|
29
|
+
connectors: WalletConnector[];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Unified wallet state from both thirdweb and wagmi layers.
|
|
34
|
+
* Provides available connectors with install status and connect functions.
|
|
35
|
+
*/
|
|
36
|
+
export function useWalletState(): WalletState {
|
|
37
|
+
const { address, isConnected, chain } = useAccount();
|
|
38
|
+
const { connectAsync, isPending } = useConnect();
|
|
39
|
+
const wagmiConnectors = useConnectors();
|
|
40
|
+
|
|
41
|
+
// Ref to avoid connectAsync in useMemo deps — wagmi returns a new reference on state
|
|
42
|
+
// changes, which would recreate the connectors array on every render.
|
|
43
|
+
const connectAsyncRef = useRef(connectAsync);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
connectAsyncRef.current = connectAsync;
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
const connectors: WalletConnector[] = useMemo(() => {
|
|
49
|
+
const seen = new Set<string>();
|
|
50
|
+
const mapped = wagmiConnectors
|
|
51
|
+
.filter(c => {
|
|
52
|
+
// Hide generic "Injected" — it duplicates the actual wallet (MetaMask, Rabby, etc.)
|
|
53
|
+
if (c.name === "Injected") return false;
|
|
54
|
+
if (seen.has(c.name)) return false;
|
|
55
|
+
seen.add(c.name);
|
|
56
|
+
return true;
|
|
57
|
+
})
|
|
58
|
+
.map(connector => ({
|
|
59
|
+
name: connector.name,
|
|
60
|
+
uid: connector.uid,
|
|
61
|
+
isInstalled: isConnectorInstalled(connector),
|
|
62
|
+
connect: async () => {
|
|
63
|
+
await connectAsyncRef.current({ connector });
|
|
64
|
+
},
|
|
65
|
+
connector,
|
|
66
|
+
}));
|
|
67
|
+
|
|
68
|
+
// Sort: installed connectors first
|
|
69
|
+
return mapped.sort((a, b) => (a.isInstalled === b.isInstalled ? 0 : a.isInstalled ? -1 : 1));
|
|
70
|
+
}, [wagmiConnectors]);
|
|
71
|
+
|
|
72
|
+
return { address, isConnected, chain, isPending, connectors };
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** Check if a wallet connector's provider is available in the browser. */
|
|
76
|
+
function isConnectorInstalled(connector: Connector): boolean {
|
|
77
|
+
// WalletConnect is always "available" (uses QR code, no extension needed)
|
|
78
|
+
if (connector.id === "walletConnect") return true;
|
|
79
|
+
|
|
80
|
+
// For injected connectors, check if any provider exists. This may report
|
|
81
|
+
// false positives (e.g., Rabby shows as installed when only MetaMask is)
|
|
82
|
+
// because multiple injected connectors share window.ethereum. This is
|
|
83
|
+
// intentional — we surface all options and let the wallet handle conflicts.
|
|
84
|
+
if (connector.type === "injected") {
|
|
85
|
+
return typeof window !== "undefined" && !!window.ethereum;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Coinbase Wallet SDK works without extension (has mobile/QR fallback)
|
|
89
|
+
if (connector.id === "coinbaseWalletSDK") return true;
|
|
90
|
+
|
|
91
|
+
// Default: assume available (better UX than hiding connectors)
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Provider
|
|
2
|
+
export { WalletProvider, type WalletProviderProps } from "./components/WalletProvider";
|
|
3
|
+
export { createWalletConfig, type CreateWalletConfigOptions } from "../utils/createWalletConfig";
|
|
4
|
+
|
|
5
|
+
// Hooks
|
|
6
|
+
export { useWalletDisconnect } from "./hooks/useWalletDisconnect";
|
|
7
|
+
export { useWalletState, type WalletConnector, type WalletState } from "./hooks/useWalletState";
|
|
8
|
+
|
|
9
|
+
// Components
|
|
10
|
+
export { ConnectWallet, type ConnectWalletProps } from "./components/ConnectWallet";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { supportedChains } from "@b3dotfun/sdk/shared/constants/chains/supported";
|
|
2
|
+
import { http } from "viem";
|
|
3
|
+
import { createConfig, type CreateConnectorFn } from "wagmi";
|
|
4
|
+
import { coinbaseWallet, injected } from "wagmi/connectors";
|
|
5
|
+
import type { Chain } from "viem";
|
|
6
|
+
|
|
7
|
+
/** Default connectors: injected (MetaMask, Rabby, Brave, etc.) + Coinbase Wallet. */
|
|
8
|
+
const DEFAULT_CONNECTORS: CreateConnectorFn[] = [injected(), coinbaseWallet({ appName: "B3" })];
|
|
9
|
+
|
|
10
|
+
export interface CreateWalletConfigOptions {
|
|
11
|
+
/** Chains to support. Defaults to SDK's supportedChains. Must be non-empty. */
|
|
12
|
+
chains?: Chain[];
|
|
13
|
+
/**
|
|
14
|
+
* Wagmi connectors. Defaults to injected + Coinbase Wallet.
|
|
15
|
+
* Must be memoized if passed to WalletProvider — inline arrays
|
|
16
|
+
* will cause the config to rebuild on every render, losing wallet connection state.
|
|
17
|
+
*/
|
|
18
|
+
connectors?: CreateConnectorFn[];
|
|
19
|
+
/** Optional RPC URL overrides per chain ID. */
|
|
20
|
+
rpcUrls?: Record<number, string>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Creates a generic wagmi config with sensible defaults.
|
|
25
|
+
* No ecosystem wallet, no B3-specific concerns.
|
|
26
|
+
*/
|
|
27
|
+
export function createWalletConfig(options: CreateWalletConfigOptions = {}) {
|
|
28
|
+
const { chains = supportedChains, connectors = DEFAULT_CONNECTORS, rpcUrls } = options;
|
|
29
|
+
|
|
30
|
+
if (chains.length === 0) {
|
|
31
|
+
throw new Error("createWalletConfig: at least one chain must be provided");
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return createConfig({
|
|
35
|
+
chains: [chains[0], ...chains.slice(1)],
|
|
36
|
+
transports: Object.fromEntries(chains.map(chain => [chain.id, http(rpcUrls?.[chain.id])])),
|
|
37
|
+
connectors,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.AvatarCreator = AvatarCreator;
|
|
5
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const react_1 = require("../../../../global-account/react");
|
|
7
|
-
const useRPMToken_1 = require("../../../../global-account/react/hooks/useRPMToken");
|
|
8
|
-
const updateAvatar_1 = require("../../../../global-account/react/utils/updateAvatar");
|
|
9
|
-
const cn_1 = require("../../../../shared/utils/cn");
|
|
10
|
-
const debug_1 = require("../../../../shared/utils/debug");
|
|
11
|
-
const react_avatar_creator_1 = require("@readyplayerme/react-avatar-creator");
|
|
12
|
-
const react_2 = require("react");
|
|
13
|
-
const react_3 = require("thirdweb/react");
|
|
14
|
-
const debug = (0, debug_1.debugB3React)("AvatarCreator");
|
|
15
|
-
const config = {
|
|
16
|
-
clearCache: true,
|
|
17
|
-
bodyType: "fullbody",
|
|
18
|
-
quickStart: true,
|
|
19
|
-
language: "en",
|
|
20
|
-
};
|
|
21
|
-
function AvatarCreator({ onSetAvatar, className }) {
|
|
22
|
-
const { token, refetch: refetchRPMToken } = (0, useRPMToken_1.useRPMToken)();
|
|
23
|
-
const [loading, setIsLoading] = (0, react_2.useState)(false);
|
|
24
|
-
const account = (0, react_3.useActiveAccount)();
|
|
25
|
-
const { data: profile, refetch: refreshProfile } = (0, react_1.useProfile)({
|
|
26
|
-
address: account?.address,
|
|
27
|
-
fresh: true,
|
|
28
|
-
});
|
|
29
|
-
const hasAvatar = profile?.avatar;
|
|
30
|
-
const handleOnAvatarExported = async (event) => {
|
|
31
|
-
setIsLoading(true);
|
|
32
|
-
debug("@@AvatarExportedEvent", event);
|
|
33
|
-
try {
|
|
34
|
-
const avatarUpload = await (0, updateAvatar_1.updateAvatar)(event.data.url);
|
|
35
|
-
debug("@@avatarUpload", avatarUpload);
|
|
36
|
-
await refreshProfile();
|
|
37
|
-
react_1.toast.success(hasAvatar ? "Nice look! Your avatar has been updated!" : "Looks great! Your avatar has been saved!");
|
|
38
|
-
onSetAvatar?.();
|
|
39
|
-
await refetchRPMToken(undefined);
|
|
40
|
-
}
|
|
41
|
-
catch (e) {
|
|
42
|
-
debug("@@error:AvatarCreator", e);
|
|
43
|
-
react_1.toast.error("Failed to update avatar. Please try again.");
|
|
44
|
-
}
|
|
45
|
-
setIsLoading(false);
|
|
46
|
-
};
|
|
47
|
-
if (loading) {
|
|
48
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex h-[80vh] w-full flex-col items-center justify-center gap-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "border-primary h-8 w-8 animate-spin rounded-full border-4 border-t-transparent" }), (0, jsx_runtime_1.jsx)("p", { className: "text-muted-foreground text-sm font-medium", children: "Saving your avatar" })] }));
|
|
49
|
-
}
|
|
50
|
-
if (!token) {
|
|
51
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex h-[80vh] w-full flex-col items-center justify-center gap-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "border-primary h-8 w-8 animate-spin rounded-full border-4 border-t-transparent" }), (0, jsx_runtime_1.jsx)("p", { className: "text-muted-foreground text-sm font-medium", children: "Loading avatar creator" })] }));
|
|
52
|
-
}
|
|
53
|
-
return ((0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)("h-[calc(90vh-2px)] w-full", className), children: (0, jsx_runtime_1.jsx)(react_avatar_creator_1.AvatarCreator, { className: "h-full w-full", subdomain: "b3", config: { ...config, token }, onAvatarExported: handleOnAvatarExported }) }));
|
|
54
|
-
}
|
|
File without changes
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// "use client";
|
|
3
|
-
// import { AnimatePresence, motion } from "motion/react";
|
|
4
|
-
// import { useEffect, useState } from "react";
|
|
5
|
-
// import ClientOnly from "./custom/ClientOnly";
|
|
6
|
-
// interface ProfileAvatarProps {
|
|
7
|
-
// avatarId: string;
|
|
8
|
-
// timestamp?: number;
|
|
9
|
-
// }
|
|
10
|
-
// // this function was taken from b3-shared
|
|
11
|
-
// function createUrlFromAvatarId(avatarId: string, extension: string = "png"): string {
|
|
12
|
-
// if (extension === "png") {
|
|
13
|
-
// return `https://avatars.basement.fun/${avatarId}.png`;
|
|
14
|
-
// }
|
|
15
|
-
// return `https://models.readyplayer.me/${avatarId}.${extension}`;
|
|
16
|
-
// }
|
|
17
|
-
// // Sub component for the avatar image
|
|
18
|
-
// const ProfileAvatar = ({ avatarId, timestamp }: ProfileAvatarProps) => {
|
|
19
|
-
// const [avatarLoading, setAvatarLoading] = useState(true);
|
|
20
|
-
// const [avatarError, setAvatarError] = useState(false);
|
|
21
|
-
// const [ReadyPlayerMeAvatar, setReadyPlayerMeAvatar] = useState<any>(null);
|
|
22
|
-
// const [Vector3, setVector3] = useState<any>(null);
|
|
23
|
-
// const [dependenciesLoaded, setDependenciesLoaded] = useState(false);
|
|
24
|
-
// // Dynamically import dependencies only when component is used
|
|
25
|
-
// useEffect(() => {
|
|
26
|
-
// let isMounted = true;
|
|
27
|
-
// const loadDependencies = async () => {
|
|
28
|
-
// try {
|
|
29
|
-
// const [visageModule, threeModule] = await Promise.all([
|
|
30
|
-
// // @ts-ignore - Optional peer dependency
|
|
31
|
-
// import("@readyplayerme/visage"),
|
|
32
|
-
// // @ts-ignore - Optional peer dependency
|
|
33
|
-
// import("three")
|
|
34
|
-
// ]);
|
|
35
|
-
// if (isMounted) {
|
|
36
|
-
// setReadyPlayerMeAvatar(() => visageModule.Avatar);
|
|
37
|
-
// setVector3(() => threeModule.Vector3);
|
|
38
|
-
// setDependenciesLoaded(true);
|
|
39
|
-
// }
|
|
40
|
-
// } catch (error) {
|
|
41
|
-
// console.warn("ProfileAvatar: 3D dependencies not available, falling back to 2D avatar:", error);
|
|
42
|
-
// if (isMounted) {
|
|
43
|
-
// setAvatarLoading(false);
|
|
44
|
-
// setDependenciesLoaded(false);
|
|
45
|
-
// }
|
|
46
|
-
// }
|
|
47
|
-
// };
|
|
48
|
-
// loadDependencies();
|
|
49
|
-
// return () => {
|
|
50
|
-
// isMounted = false;
|
|
51
|
-
// };
|
|
52
|
-
// }, []);
|
|
53
|
-
// if (!avatarId) {
|
|
54
|
-
// return (
|
|
55
|
-
// <div className="flex h-full w-full items-center justify-center">
|
|
56
|
-
// <p className="text-white/50">No avatar available</p>
|
|
57
|
-
// </div>
|
|
58
|
-
// );
|
|
59
|
-
// }
|
|
60
|
-
// return (
|
|
61
|
-
// <AnimatePresence mode="wait">
|
|
62
|
-
// {(avatarLoading || !dependenciesLoaded) && !avatarError && (
|
|
63
|
-
// <motion.img
|
|
64
|
-
// key="avatar-image"
|
|
65
|
-
// src={`https://models.readyplayer.me/${avatarId}.png?camera=fullbody&size=1024&expression=happy&t=${timestamp || ""}`}
|
|
66
|
-
// alt="avatar"
|
|
67
|
-
// className="absolute left-0 top-0 h-full w-full object-cover"
|
|
68
|
-
// initial={{ opacity: 0 }}
|
|
69
|
-
// animate={{ opacity: 1 }}
|
|
70
|
-
// exit={{ opacity: 0 }}
|
|
71
|
-
// transition={{ duration: 0.3, ease: "easeInOut" }}
|
|
72
|
-
// onError={() => setAvatarError(true)}
|
|
73
|
-
// />
|
|
74
|
-
// )}
|
|
75
|
-
// {dependenciesLoaded && (
|
|
76
|
-
// <ClientOnly>
|
|
77
|
-
// <motion.div
|
|
78
|
-
// key={`avatar-3d-${timestamp}`}
|
|
79
|
-
// className="absolute left-0 top-0 h-full w-full"
|
|
80
|
-
// initial={{ opacity: 0 }}
|
|
81
|
-
// animate={{ opacity: avatarLoading ? 0 : 1 }}
|
|
82
|
-
// exit={{ opacity: 0 }}
|
|
83
|
-
// transition={{ duration: 0.3, ease: "easeInOut" }}
|
|
84
|
-
// >
|
|
85
|
-
// {ReadyPlayerMeAvatar && Vector3 && (
|
|
86
|
-
// <ReadyPlayerMeAvatar
|
|
87
|
-
// animationSrc="https://readyplayerme-assets.s3.amazonaws.com/animations/visage/male-idle.glb"
|
|
88
|
-
// onLoadedAnimation={{
|
|
89
|
-
// src: "https://readyplayerme-assets.s3.amazonaws.com/animations/visage/male-spawn-animation.fbx",
|
|
90
|
-
// loop: 4
|
|
91
|
-
// }}
|
|
92
|
-
// modelSrc={createUrlFromAvatarId(avatarId, "glb")}
|
|
93
|
-
// idleRotation={true}
|
|
94
|
-
// headMovement={true}
|
|
95
|
-
// scale={0.9}
|
|
96
|
-
// keyLightColor="#bca1f4"
|
|
97
|
-
// keyLightIntensity={1}
|
|
98
|
-
// fillLightColor="#8d4cf6"
|
|
99
|
-
// fov={50}
|
|
100
|
-
// emotion={{
|
|
101
|
-
// browInnerUp: 0.3,
|
|
102
|
-
// browOuterUpLeft: 0.37,
|
|
103
|
-
// browOuterUpRight: 0.49,
|
|
104
|
-
// eyeSquintLeft: 0.4,
|
|
105
|
-
// eyeSquintRight: 0.2,
|
|
106
|
-
// mouthShrugUpper: 0.27,
|
|
107
|
-
// mouthSmileLeft: 0.37,
|
|
108
|
-
// mouthSmileRight: 0.36
|
|
109
|
-
// }}
|
|
110
|
-
// cameraZoomTarget={new Vector3(0, 0.1, 3.2)}
|
|
111
|
-
// cameraInitialDistance={3.2}
|
|
112
|
-
// cameraTarget={1.55}
|
|
113
|
-
// className="h-full w-full"
|
|
114
|
-
// onLoaded={() => {
|
|
115
|
-
// setAvatarLoading(false);
|
|
116
|
-
// setAvatarError(false);
|
|
117
|
-
// }}
|
|
118
|
-
// shadows
|
|
119
|
-
// />
|
|
120
|
-
// )}
|
|
121
|
-
// </motion.div>
|
|
122
|
-
// </ClientOnly>
|
|
123
|
-
// )}
|
|
124
|
-
// </AnimatePresence>
|
|
125
|
-
// );
|
|
126
|
-
// };
|
|
127
|
-
// export default ProfileAvatar;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.useRPMToken = useRPMToken;
|
|
5
|
-
const useQueryBSMNT_1 = require("../../../global-account/react/hooks/useQueryBSMNT");
|
|
6
|
-
function useRPMToken() {
|
|
7
|
-
const { data, runQuery: refetch, isLoading, error: isError, } = (0, useQueryBSMNT_1.useQueryBSMNT)("profiles", "getReadyPlayerMeToken", undefined, true);
|
|
8
|
-
const token = data?.token || "";
|
|
9
|
-
const accountId = data?.accountId || "";
|
|
10
|
-
return { token, accountId, refetch, isLoading, isError };
|
|
11
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.updateAvatar = updateAvatar;
|
|
37
|
-
const bsmnt_1 = __importStar(require("../../../global-account/bsmnt"));
|
|
38
|
-
const debug_1 = require("../../../shared/utils/debug");
|
|
39
|
-
const debug = (0, debug_1.debugB3React)("updateAvatar");
|
|
40
|
-
async function updateAvatar(avatar) {
|
|
41
|
-
try {
|
|
42
|
-
// Extract avatar ID from URL
|
|
43
|
-
const avatarID = (0, bsmnt_1.extractAvatarIdFromUrl)(avatar);
|
|
44
|
-
if (!avatarID) {
|
|
45
|
-
throw new Error("Invalid avatar URL");
|
|
46
|
-
}
|
|
47
|
-
// Set the avatar in the profiles service
|
|
48
|
-
return await bsmnt_1.default.service("profiles").setAvatar({ avatarUrl: String(avatar), avatarID: String(avatarID) }, {});
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
debug("Failed to update avatar:", error);
|
|
52
|
-
throw error; // Re-throw to handle in component
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { toast, useProfile } from "../../../../global-account/react/index.js";
|
|
4
|
-
import { useRPMToken } from "../../../../global-account/react/hooks/useRPMToken.js";
|
|
5
|
-
import { updateAvatar } from "../../../../global-account/react/utils/updateAvatar.js";
|
|
6
|
-
import { cn } from "../../../../shared/utils/cn.js";
|
|
7
|
-
import { debugB3React } from "../../../../shared/utils/debug.js";
|
|
8
|
-
import { AvatarCreator as AvatarCreatorRPM, } from "@readyplayerme/react-avatar-creator";
|
|
9
|
-
import { useState } from "react";
|
|
10
|
-
import { useActiveAccount } from "thirdweb/react";
|
|
11
|
-
const debug = debugB3React("AvatarCreator");
|
|
12
|
-
const config = {
|
|
13
|
-
clearCache: true,
|
|
14
|
-
bodyType: "fullbody",
|
|
15
|
-
quickStart: true,
|
|
16
|
-
language: "en",
|
|
17
|
-
};
|
|
18
|
-
export function AvatarCreator({ onSetAvatar, className }) {
|
|
19
|
-
const { token, refetch: refetchRPMToken } = useRPMToken();
|
|
20
|
-
const [loading, setIsLoading] = useState(false);
|
|
21
|
-
const account = useActiveAccount();
|
|
22
|
-
const { data: profile, refetch: refreshProfile } = useProfile({
|
|
23
|
-
address: account?.address,
|
|
24
|
-
fresh: true,
|
|
25
|
-
});
|
|
26
|
-
const hasAvatar = profile?.avatar;
|
|
27
|
-
const handleOnAvatarExported = async (event) => {
|
|
28
|
-
setIsLoading(true);
|
|
29
|
-
debug("@@AvatarExportedEvent", event);
|
|
30
|
-
try {
|
|
31
|
-
const avatarUpload = await updateAvatar(event.data.url);
|
|
32
|
-
debug("@@avatarUpload", avatarUpload);
|
|
33
|
-
await refreshProfile();
|
|
34
|
-
toast.success(hasAvatar ? "Nice look! Your avatar has been updated!" : "Looks great! Your avatar has been saved!");
|
|
35
|
-
onSetAvatar?.();
|
|
36
|
-
await refetchRPMToken(undefined);
|
|
37
|
-
}
|
|
38
|
-
catch (e) {
|
|
39
|
-
debug("@@error:AvatarCreator", e);
|
|
40
|
-
toast.error("Failed to update avatar. Please try again.");
|
|
41
|
-
}
|
|
42
|
-
setIsLoading(false);
|
|
43
|
-
};
|
|
44
|
-
if (loading) {
|
|
45
|
-
return (_jsxs("div", { className: "flex h-[80vh] w-full flex-col items-center justify-center gap-4", children: [_jsx("div", { className: "border-primary h-8 w-8 animate-spin rounded-full border-4 border-t-transparent" }), _jsx("p", { className: "text-muted-foreground text-sm font-medium", children: "Saving your avatar" })] }));
|
|
46
|
-
}
|
|
47
|
-
if (!token) {
|
|
48
|
-
return (_jsxs("div", { className: "flex h-[80vh] w-full flex-col items-center justify-center gap-4", children: [_jsx("div", { className: "border-primary h-8 w-8 animate-spin rounded-full border-4 border-t-transparent" }), _jsx("p", { className: "text-muted-foreground text-sm font-medium", children: "Loading avatar creator" })] }));
|
|
49
|
-
}
|
|
50
|
-
return (_jsx("div", { className: cn("h-[calc(90vh-2px)] w-full", className), children: _jsx(AvatarCreatorRPM, { className: "h-full w-full", subdomain: "b3", config: { ...config, token }, onAvatarExported: handleOnAvatarExported }) }));
|
|
51
|
-
}
|
|
File without changes
|