@b3dotfun/sdk 0.0.35 → 0.0.36

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.
Files changed (160) hide show
  1. package/dist/cjs/anyspend/react/components/AnySpend.js +5 -3
  2. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +2 -2
  3. package/dist/cjs/anyspend/react/components/common/ConnectWalletPayment.d.ts +3 -1
  4. package/dist/cjs/anyspend/react/components/common/ConnectWalletPayment.js +5 -2
  5. package/dist/cjs/anyspend/react/components/common/CryptoPaySection.d.ts +16 -0
  6. package/dist/cjs/anyspend/react/components/common/CryptoPaySection.js +58 -0
  7. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.d.ts +1 -0
  8. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +22 -15
  9. package/dist/cjs/anyspend/react/components/common/OrderDetails.js +12 -4
  10. package/dist/cjs/anyspend/react/components/common/PaySection.d.ts +2 -6
  11. package/dist/cjs/anyspend/react/components/common/PaySection.js +10 -15
  12. package/dist/cjs/anyspend/react/components/index.d.ts +2 -2
  13. package/dist/cjs/anyspend/react/components/index.js +5 -5
  14. package/dist/cjs/global-account/bsmnt.d.ts +2 -0
  15. package/dist/cjs/global-account/bsmnt.js +42 -1
  16. package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +6 -0
  17. package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.js +55 -0
  18. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.d.ts +6 -0
  19. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +108 -0
  20. package/dist/cjs/global-account/react/components/B3DynamicModal.js +9 -1
  21. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.d.ts +3 -1
  22. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +21 -11
  23. package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.d.ts +3 -1
  24. package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.js +19 -5
  25. package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.d.ts +3 -1
  26. package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +6 -6
  27. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3.js +2 -2
  28. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -13
  29. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +1 -3
  30. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStep.js +0 -3
  31. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +0 -3
  32. package/dist/cjs/global-account/react/components/icons/AppleIcon.d.ts +9 -0
  33. package/dist/cjs/global-account/react/components/icons/AppleIcon.js +8 -0
  34. package/dist/cjs/global-account/react/components/icons/DiscordIcon.d.ts +9 -0
  35. package/dist/cjs/global-account/react/components/icons/DiscordIcon.js +8 -0
  36. package/dist/cjs/global-account/react/components/icons/FarcasterIcon.d.ts +9 -0
  37. package/dist/cjs/global-account/react/components/icons/FarcasterIcon.js +8 -0
  38. package/dist/cjs/global-account/react/components/icons/GoogleIcon.d.ts +8 -0
  39. package/dist/cjs/global-account/react/components/icons/GoogleIcon.js +8 -0
  40. package/dist/cjs/global-account/react/components/icons/XIcon.d.ts +9 -0
  41. package/dist/cjs/global-account/react/components/icons/XIcon.js +8 -0
  42. package/dist/cjs/global-account/react/hooks/useAccountWallet.js +3 -2
  43. package/dist/cjs/global-account/react/hooks/useAuthentication.d.ts +1 -2
  44. package/dist/cjs/global-account/react/hooks/useAuthentication.js +16 -15
  45. package/dist/cjs/global-account/react/hooks/useProfile.d.ts +1 -1
  46. package/dist/cjs/global-account/react/hooks/useRPMToken.d.ts +7 -0
  47. package/dist/cjs/global-account/react/hooks/useRPMToken.js +11 -0
  48. package/dist/cjs/global-account/react/stores/useAuthStore.d.ts +2 -4
  49. package/dist/cjs/global-account/react/stores/useAuthStore.js +2 -4
  50. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +11 -1
  51. package/dist/cjs/global-account/react/utils/updateAvatar.d.ts +4 -0
  52. package/dist/cjs/global-account/react/utils/updateAvatar.js +54 -0
  53. package/dist/esm/anyspend/react/components/AnySpend.js +5 -3
  54. package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +2 -2
  55. package/dist/esm/anyspend/react/components/common/ConnectWalletPayment.d.ts +3 -1
  56. package/dist/esm/anyspend/react/components/common/ConnectWalletPayment.js +5 -2
  57. package/dist/esm/anyspend/react/components/common/CryptoPaySection.d.ts +16 -0
  58. package/dist/esm/anyspend/react/components/common/CryptoPaySection.js +55 -0
  59. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.d.ts +1 -0
  60. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +22 -15
  61. package/dist/esm/anyspend/react/components/common/OrderDetails.js +12 -4
  62. package/dist/esm/anyspend/react/components/common/PaySection.d.ts +2 -6
  63. package/dist/esm/anyspend/react/components/common/PaySection.js +10 -15
  64. package/dist/esm/anyspend/react/components/index.d.ts +2 -2
  65. package/dist/esm/anyspend/react/components/index.js +2 -2
  66. package/dist/esm/global-account/bsmnt.d.ts +2 -0
  67. package/dist/esm/global-account/bsmnt.js +39 -0
  68. package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +6 -0
  69. package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.js +52 -0
  70. package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.d.ts +6 -0
  71. package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +102 -0
  72. package/dist/esm/global-account/react/components/B3DynamicModal.js +9 -1
  73. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.d.ts +3 -1
  74. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +22 -12
  75. package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.d.ts +3 -1
  76. package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.js +20 -6
  77. package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.d.ts +3 -1
  78. package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +6 -6
  79. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3.js +2 -2
  80. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -13
  81. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +1 -3
  82. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStep.js +0 -3
  83. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +0 -3
  84. package/dist/esm/global-account/react/components/icons/AppleIcon.d.ts +9 -0
  85. package/dist/esm/global-account/react/components/icons/AppleIcon.js +5 -0
  86. package/dist/esm/global-account/react/components/icons/DiscordIcon.d.ts +9 -0
  87. package/dist/esm/global-account/react/components/icons/DiscordIcon.js +5 -0
  88. package/dist/esm/global-account/react/components/icons/FarcasterIcon.d.ts +9 -0
  89. package/dist/esm/global-account/react/components/icons/FarcasterIcon.js +5 -0
  90. package/dist/esm/global-account/react/components/icons/GoogleIcon.d.ts +8 -0
  91. package/dist/esm/global-account/react/components/icons/GoogleIcon.js +5 -0
  92. package/dist/esm/global-account/react/components/icons/XIcon.d.ts +9 -0
  93. package/dist/esm/global-account/react/components/icons/XIcon.js +5 -0
  94. package/dist/esm/global-account/react/hooks/useAccountWallet.js +3 -2
  95. package/dist/esm/global-account/react/hooks/useAuthentication.d.ts +1 -2
  96. package/dist/esm/global-account/react/hooks/useAuthentication.js +16 -15
  97. package/dist/esm/global-account/react/hooks/useProfile.d.ts +1 -1
  98. package/dist/esm/global-account/react/hooks/useRPMToken.d.ts +7 -0
  99. package/dist/esm/global-account/react/hooks/useRPMToken.js +8 -0
  100. package/dist/esm/global-account/react/stores/useAuthStore.d.ts +2 -4
  101. package/dist/esm/global-account/react/stores/useAuthStore.js +2 -4
  102. package/dist/esm/global-account/react/stores/useModalStore.d.ts +11 -1
  103. package/dist/esm/global-account/react/utils/updateAvatar.d.ts +4 -0
  104. package/dist/esm/global-account/react/utils/updateAvatar.js +18 -0
  105. package/dist/styles/index.css +1 -1
  106. package/dist/types/anyspend/react/components/common/ConnectWalletPayment.d.ts +3 -1
  107. package/dist/types/anyspend/react/components/common/CryptoPaySection.d.ts +16 -0
  108. package/dist/types/anyspend/react/components/common/CryptoPaymentMethod.d.ts +1 -0
  109. package/dist/types/anyspend/react/components/common/PaySection.d.ts +2 -6
  110. package/dist/types/anyspend/react/components/index.d.ts +2 -2
  111. package/dist/types/global-account/bsmnt.d.ts +2 -0
  112. package/dist/types/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +6 -0
  113. package/dist/types/global-account/react/components/AvatarEditor/AvatarEditor.d.ts +6 -0
  114. package/dist/types/global-account/react/components/LinkAccount/LinkAccount.d.ts +3 -1
  115. package/dist/types/global-account/react/components/ManageAccount/BalanceContent.d.ts +3 -1
  116. package/dist/types/global-account/react/components/ManageAccount/ManageAccount.d.ts +3 -1
  117. package/dist/types/global-account/react/components/icons/AppleIcon.d.ts +9 -0
  118. package/dist/types/global-account/react/components/icons/DiscordIcon.d.ts +9 -0
  119. package/dist/types/global-account/react/components/icons/FarcasterIcon.d.ts +9 -0
  120. package/dist/types/global-account/react/components/icons/GoogleIcon.d.ts +8 -0
  121. package/dist/types/global-account/react/components/icons/XIcon.d.ts +9 -0
  122. package/dist/types/global-account/react/hooks/useAuthentication.d.ts +1 -2
  123. package/dist/types/global-account/react/hooks/useProfile.d.ts +1 -1
  124. package/dist/types/global-account/react/hooks/useRPMToken.d.ts +7 -0
  125. package/dist/types/global-account/react/stores/useAuthStore.d.ts +2 -4
  126. package/dist/types/global-account/react/stores/useModalStore.d.ts +11 -1
  127. package/dist/types/global-account/react/utils/updateAvatar.d.ts +4 -0
  128. package/package.json +8 -7
  129. package/src/anyspend/react/components/AnySpend.tsx +7 -6
  130. package/src/anyspend/react/components/AnyspendDepositHype.tsx +2 -5
  131. package/src/anyspend/react/components/common/ConnectWalletPayment.tsx +6 -1
  132. package/src/anyspend/react/components/common/CryptoPaySection.tsx +153 -0
  133. package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +80 -43
  134. package/src/anyspend/react/components/common/OrderDetails.tsx +13 -4
  135. package/src/anyspend/react/components/common/PaySection.tsx +64 -140
  136. package/src/anyspend/react/components/index.ts +2 -2
  137. package/src/global-account/bsmnt.ts +47 -0
  138. package/src/global-account/react/components/AvatarCreator/AvatarCreator.tsx +90 -0
  139. package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +233 -0
  140. package/src/global-account/react/components/B3DynamicModal.tsx +27 -2
  141. package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +40 -18
  142. package/src/global-account/react/components/ManageAccount/BalanceContent.tsx +63 -35
  143. package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +106 -78
  144. package/src/global-account/react/components/SignInWithB3/SignInWithB3.tsx +2 -2
  145. package/src/global-account/react/components/SignInWithB3/SignInWithB3Flow.tsx +1 -13
  146. package/src/global-account/react/components/SignInWithB3/SignInWithB3Privy.tsx +1 -3
  147. package/src/global-account/react/components/SignInWithB3/steps/LoginStep.tsx +0 -3
  148. package/src/global-account/react/components/SignInWithB3/steps/LoginStepCustom.tsx +0 -3
  149. package/src/global-account/react/components/icons/AppleIcon.tsx +33 -0
  150. package/src/global-account/react/components/icons/DiscordIcon.tsx +32 -0
  151. package/src/global-account/react/components/icons/FarcasterIcon.tsx +37 -0
  152. package/src/global-account/react/components/icons/GoogleIcon.tsx +40 -0
  153. package/src/global-account/react/components/icons/XIcon.tsx +28 -0
  154. package/src/global-account/react/hooks/useAccountWallet.tsx +3 -2
  155. package/src/global-account/react/hooks/useAuthentication.ts +18 -15
  156. package/src/global-account/react/hooks/useProfile.ts +1 -1
  157. package/src/global-account/react/hooks/useRPMToken.ts +17 -0
  158. package/src/global-account/react/stores/useAuthStore.ts +4 -8
  159. package/src/global-account/react/stores/useModalStore.ts +13 -1
  160. package/src/global-account/react/utils/updateAvatar.ts +21 -0
@@ -1,4 +1,5 @@
1
1
  import app from "../../../global-account/app.js";
2
+ import { authenticateWithB3JWT } from "../../../global-account/bsmnt.js";
2
3
  import { useAuthStore, useB3 } from "../../../global-account/react/index.js";
3
4
  import { ecosystemWalletId } from "../../../shared/constants/index.js";
4
5
  import { b3MainnetThirdWeb } from "../../../shared/constants/chains/supported.js";
@@ -17,17 +18,15 @@ export function useAuthentication(partnerId, loginWithSiwe) {
17
18
  const activeWallet = useActiveWallet();
18
19
  const { authenticate } = useSiwe();
19
20
  const { setUser } = useB3();
20
- const isAuthenticating = useAuthStore(state => state.isAuthenticating);
21
21
  const isAuthenticated = useAuthStore(state => state.isAuthenticated);
22
22
  const setIsAuthenticated = useAuthStore(state => state.setIsAuthenticated);
23
- const setIsAuthenticating = useAuthStore(state => state.setIsAuthenticating);
24
23
  const setIsConnecting = useAuthStore(state => state.setIsConnecting);
25
24
  const setIsConnected = useAuthStore(state => state.setIsConnected);
26
25
  const isConnecting = useAuthStore(state => state.isConnecting);
27
26
  const isConnected = useAuthStore(state => state.isConnected);
28
27
  const useAutoConnectLoadingPrevious = useRef(false);
29
- const setIsAuthenticatingV2 = useAuthStore(state => state.setIsAuthenticatingV2);
30
- const isAuthenticatingV2 = useAuthStore(state => state.isAuthenticatingV2);
28
+ const setIsAuthenticating = useAuthStore(state => state.setIsAuthenticating);
29
+ const isAuthenticating = useAuthStore(state => state.isAuthenticating);
31
30
  const hasStartedConnecting = useAuthStore(state => state.hasStartedConnecting);
32
31
  const setHasStartedConnecting = useAuthStore(state => state.setHasStartedConnecting);
33
32
  const { connect } = useConnect(partnerId, b3MainnetThirdWeb);
@@ -44,11 +43,10 @@ export function useAuthentication(partnerId, loginWithSiwe) {
44
43
  if (!loginWithSiwe) {
45
44
  debug("Skipping SIWE login", { loginWithSiwe });
46
45
  setIsAuthenticated(true);
47
- setIsAuthenticatingV2(false);
46
+ setIsAuthenticating(false);
48
47
  return;
49
48
  }
50
49
  debug("setIsAuthenticating:true:4");
51
- setIsAuthenticating(true);
52
50
  const account = await wallet.getAccount();
53
51
  if (!account) {
54
52
  throw new Error("No account found during auto-connect");
@@ -58,8 +56,11 @@ export function useAuthentication(partnerId, loginWithSiwe) {
58
56
  const userAuth = await app.reAuthenticate();
59
57
  setUser(userAuth.user);
60
58
  setIsAuthenticated(true);
61
- setIsAuthenticatingV2(false);
59
+ setIsAuthenticating(false);
62
60
  debug("Re-authenticated successfully", { userAuth });
61
+ // Authenticate on BSMNT with B3 JWT
62
+ const b3Jwt = await authenticateWithB3JWT(userAuth.accessToken);
63
+ console.log("@@b3Jwt", b3Jwt);
63
64
  }
64
65
  catch (error) {
65
66
  // If re-authentication fails, try fresh authentication
@@ -67,8 +68,11 @@ export function useAuthentication(partnerId, loginWithSiwe) {
67
68
  const userAuth = await authenticate(account, partnerId);
68
69
  setUser(userAuth.user);
69
70
  setIsAuthenticated(true);
70
- setIsAuthenticatingV2(false);
71
+ setIsAuthenticating(false);
71
72
  debug("Fresh authentication successful", { userAuth });
73
+ // Authenticate on BSMNT with B3 JWT
74
+ const b3Jwt = await authenticateWithB3JWT(userAuth.accessToken);
75
+ console.log("@@b3Jwt", b3Jwt);
72
76
  }
73
77
  }
74
78
  catch (error) {
@@ -77,7 +81,7 @@ export function useAuthentication(partnerId, loginWithSiwe) {
77
81
  debug("setIsAuthenticating:false:4");
78
82
  setUser();
79
83
  }
80
- setIsAuthenticatingV2(false);
84
+ setIsAuthenticating(false);
81
85
  },
82
86
  });
83
87
  /**
@@ -85,7 +89,7 @@ export function useAuthentication(partnerId, loginWithSiwe) {
85
89
  */
86
90
  useEffect(() => {
87
91
  if (!useAutoConnectLoading && useAutoConnectLoadingPrevious.current && !hasStartedConnecting) {
88
- setIsAuthenticatingV2(false);
92
+ setIsAuthenticating(false);
89
93
  }
90
94
  useAutoConnectLoadingPrevious.current = useAutoConnectLoading;
91
95
  }, [useAutoConnectLoading]);
@@ -99,17 +103,15 @@ export function useAuthentication(partnerId, loginWithSiwe) {
99
103
  // This prevents the flicker state where both isAuthenticating and isAuthenticated are false
100
104
  const timeout = setTimeout(() => {
101
105
  debug("setIsAuthenticating:false:5a");
102
- setIsAuthenticating(false);
103
106
  setIsConnecting(false);
104
107
  }, 100); // Add a small delay to prevent quick flickers
105
108
  return () => clearTimeout(timeout);
106
109
  }
107
110
  else {
108
111
  debug("setIsAuthenticating:false:5b");
109
- setIsAuthenticating(false);
110
112
  setIsConnecting(false);
111
113
  }
112
- }, [useAutoConnectLoading, isAuthenticated, setIsAuthenticating, setIsConnecting, setIsConnected]);
114
+ }, [useAutoConnectLoading, isAuthenticated, setIsConnecting, setIsConnected]);
113
115
  const logout = async (callback) => {
114
116
  if (activeWallet) {
115
117
  debug("@@logout:activeWallet", activeWallet);
@@ -139,7 +141,6 @@ export function useAuthentication(partnerId, loginWithSiwe) {
139
141
  const isReady = isAuthenticated && !useAutoConnectLoading && !isAuthenticating;
140
142
  return {
141
143
  logout,
142
- isAuthenticating: useAutoConnectLoading || isAuthenticating,
143
144
  isAuthenticated,
144
145
  isReady,
145
146
  isConnecting,
@@ -147,6 +148,6 @@ export function useAuthentication(partnerId, loginWithSiwe) {
147
148
  wallet,
148
149
  preAuthenticate,
149
150
  connect,
150
- isAuthenticatingV2,
151
+ isAuthenticating,
151
152
  };
152
153
  }
@@ -9,7 +9,7 @@ export interface Profile {
9
9
  export interface CombinedProfile {
10
10
  name: string | null;
11
11
  address: string | null;
12
- avatar: string | null;
12
+ avatar: string | undefined;
13
13
  bio: string | null;
14
14
  displayName: string | null;
15
15
  profiles: Profile[];
@@ -0,0 +1,7 @@
1
+ export declare function useRPMToken(): {
2
+ token: string;
3
+ accountId: string;
4
+ refetch: (queryParams: undefined) => Promise<any>;
5
+ isLoading: boolean;
6
+ isError: Error | null;
7
+ };
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { useQueryBSMNT } from "../../../global-account/react/hooks/useQueryBSMNT.js";
3
+ export function useRPMToken() {
4
+ const { data, runQuery: refetch, isLoading, error: isError, } = useQueryBSMNT("profiles", "getReadyPlayerMeToken", undefined, true);
5
+ const token = data?.token || "";
6
+ const accountId = data?.accountId || "";
7
+ return { token, accountId, refetch, isLoading, isError };
8
+ }
@@ -5,7 +5,6 @@ interface AuthState {
5
5
  provider?: string;
6
6
  accessToken?: string;
7
7
  chain?: Chain;
8
- isAuthenticating: boolean;
9
8
  isAuthenticated: boolean;
10
9
  isConnecting: boolean;
11
10
  isConnected: boolean;
@@ -15,7 +14,6 @@ interface AuthState {
15
14
  setStep: (step: "login" | "permissions") => void;
16
15
  setIsConnecting: (isConnecting: boolean) => void;
17
16
  setIsConnected: (isConnected: boolean) => void;
18
- setIsAuthenticating: (isAuthenticating: boolean) => void;
19
17
  setIsAuthenticated: (isAuthenticated: boolean) => void;
20
18
  startAuth: (params: {
21
19
  provider: string;
@@ -25,8 +23,8 @@ interface AuthState {
25
23
  onError?: (error: Error) => void;
26
24
  }) => void;
27
25
  reset: () => void;
28
- isAuthenticatingV2: boolean;
29
- setIsAuthenticatingV2: (isAuthenticating: boolean) => void;
26
+ isAuthenticating: boolean;
27
+ setIsAuthenticating: (isAuthenticating: boolean) => void;
30
28
  hasStartedConnecting: boolean;
31
29
  setHasStartedConnecting: (hasStartedConnecting: boolean) => void;
32
30
  }
@@ -5,7 +5,6 @@ export const useAuthStore = create(set => ({
5
5
  provider: undefined,
6
6
  accessToken: undefined,
7
7
  chain: undefined,
8
- isAuthenticating: false,
9
8
  isAuthenticated: false,
10
9
  isConnecting: false,
11
10
  isConnected: false,
@@ -15,7 +14,6 @@ export const useAuthStore = create(set => ({
15
14
  setStep: step => set({ step }),
16
15
  setIsConnecting: isConnecting => set({ isConnecting }),
17
16
  setIsConnected: isConnected => set({ isConnected }),
18
- setIsAuthenticating: isAuthenticating => set({ isAuthenticating }),
19
17
  setIsAuthenticated: isAuthenticated => set({ isAuthenticated }),
20
18
  startAuth: params => set({
21
19
  isOpen: true,
@@ -37,8 +35,8 @@ export const useAuthStore = create(set => ({
37
35
  onSuccess: undefined,
38
36
  onError: undefined,
39
37
  }),
40
- isAuthenticatingV2: true,
41
- setIsAuthenticatingV2: isAuthenticating => set({ isAuthenticatingV2: isAuthenticating }),
38
+ isAuthenticating: true,
39
+ setIsAuthenticating: isAuthenticating => set({ isAuthenticating: isAuthenticating }),
42
40
  hasStartedConnecting: false,
43
41
  setHasStartedConnecting: hasStartedConnecting => set({ hasStartedConnecting }),
44
42
  }));
@@ -84,6 +84,10 @@ export interface ManageAccountModalProps extends BaseModalProps {
84
84
  setActiveTab?: (tab: "overview" | "tokens" | "nfts" | "apps" | "settings") => void;
85
85
  /** Whether to show the referral information */
86
86
  showReferralInfo?: boolean;
87
+ /** Whether to show the swap button */
88
+ showSwap?: boolean;
89
+ /** Whether to show the deposit button */
90
+ showDeposit?: boolean;
87
91
  }
88
92
  /**
89
93
  * Props for the AnySpend modal
@@ -287,10 +291,16 @@ export interface AnySpendDepositHypeProps extends BaseModalProps {
287
291
  /** Callback function called when the deposit is successful */
288
292
  onSuccess?: (amount?: string) => void;
289
293
  }
294
+ export interface AvatarEditorModalProps extends BaseModalProps {
295
+ /** Modal type identifier */
296
+ type: "avatarEditor";
297
+ /** Callback function called when avatar is successfully set */
298
+ onSuccess?: () => void;
299
+ }
290
300
  /**
291
301
  * Union type of all possible modal content types
292
302
  */
293
- export type ModalContentType = SignInWithB3ModalProps | RequestPermissionsModalProps | ManageAccountModalProps | AnySpendModalProps | AnyspendOrderDetailsProps | AnySpendNftProps | AnySpendJoinTournamentProps | AnySpendFundTournamentProps | AnySpendOrderHistoryProps | AnySpendStakeB3Props | AnySpendBuySpinProps | AnySpendSignatureMintProps | AnySpendBondKitProps | LinkAccountModalProps | AnySpendDepositHypeProps;
303
+ export type ModalContentType = SignInWithB3ModalProps | RequestPermissionsModalProps | ManageAccountModalProps | AnySpendModalProps | AnyspendOrderDetailsProps | AnySpendNftProps | AnySpendJoinTournamentProps | AnySpendFundTournamentProps | AnySpendOrderHistoryProps | AnySpendStakeB3Props | AnySpendBuySpinProps | AnySpendSignatureMintProps | AnySpendBondKitProps | LinkAccountModalProps | AnySpendDepositHypeProps | AvatarEditorModalProps;
294
304
  /**
295
305
  * State interface for the modal store
296
306
  */
@@ -0,0 +1,4 @@
1
+ export declare function updateAvatar(avatar: string): Promise<{
2
+ success: boolean;
3
+ error?: string;
4
+ }>;
@@ -0,0 +1,18 @@
1
+ import app, { extractAvatarIdFromUrl } from "../../../global-account/bsmnt.js";
2
+ import { debugB3React } from "../../../shared/utils/debug.js";
3
+ const debug = debugB3React("updateAvatar");
4
+ export async function updateAvatar(avatar) {
5
+ try {
6
+ // Extract avatar ID from URL
7
+ const avatarID = extractAvatarIdFromUrl(avatar);
8
+ if (!avatarID) {
9
+ throw new Error("Invalid avatar URL");
10
+ }
11
+ // Set the avatar in the profiles service
12
+ return await app.service("profiles").setAvatar({ avatarUrl: String(avatar), avatarID: String(avatarID) }, {});
13
+ }
14
+ catch (error) {
15
+ debug("Failed to update avatar:", error);
16
+ throw error; // Re-throw to handle in component
17
+ }
18
+ }