@b3dotfun/sdk 0.0.1-alpha.9 → 0.0.3-alpha.1

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 (75) hide show
  1. package/dist/cjs/anyspend/react/components/AnySpend.d.ts +2 -1
  2. package/dist/cjs/anyspend/react/components/AnySpend.js +4 -4
  3. package/dist/cjs/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
  4. package/dist/cjs/anyspend/react/components/AnySpendBuySpin.js +124 -53
  5. package/dist/cjs/global-account/react/components/B3DynamicModal.js +2 -2
  6. package/dist/cjs/global-account/react/components/{B3Provider.d.ts → B3Provider/B3Provider.d.ts} +3 -29
  7. package/dist/cjs/global-account/react/components/{B3Provider.js → B3Provider/B3Provider.js} +6 -34
  8. package/dist/{esm/global-account/react/components → cjs/global-account/react/components/B3Provider}/B3Provider.native.d.ts +2 -25
  9. package/dist/cjs/global-account/react/components/{B3Provider.native.js → B3Provider/B3Provider.native.js} +5 -28
  10. package/dist/cjs/global-account/react/components/B3Provider/types.d.ts +25 -0
  11. package/dist/cjs/global-account/react/components/B3Provider/types.js +20 -0
  12. package/dist/cjs/global-account/react/components/B3Provider/useB3.d.ts +5 -0
  13. package/dist/cjs/global-account/react/components/B3Provider/useB3.js +17 -0
  14. package/dist/cjs/global-account/react/components/StyleRoot.js +2 -2
  15. package/dist/cjs/global-account/react/components/index.d.ts +8 -6
  16. package/dist/cjs/global-account/react/components/index.js +18 -16
  17. package/dist/cjs/global-account/react/index.native.d.ts +5 -4
  18. package/dist/cjs/global-account/react/index.native.js +10 -8
  19. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +2 -0
  20. package/dist/cjs/global-account/types/chain-networks.d.ts +34 -34
  21. package/dist/cjs/global-account/types/feature-flags.d.ts +5 -5
  22. package/dist/cjs/shared/constants/chains/b3Chain.d.ts +1 -1
  23. package/dist/cjs/shared/constants/chains/supported.d.ts +4 -3
  24. package/dist/cjs/shared/constants/chains/supported.js +3 -1
  25. package/dist/esm/anyspend/react/components/AnySpend.d.ts +2 -1
  26. package/dist/esm/anyspend/react/components/AnySpend.js +4 -4
  27. package/dist/esm/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
  28. package/dist/esm/anyspend/react/components/AnySpendBuySpin.js +124 -53
  29. package/dist/esm/global-account/react/components/B3DynamicModal.js +1 -1
  30. package/dist/esm/global-account/react/components/{B3Provider.d.ts → B3Provider/B3Provider.d.ts} +3 -29
  31. package/dist/esm/global-account/react/components/{B3Provider.js → B3Provider/B3Provider.js} +5 -32
  32. package/dist/{cjs/global-account/react/components → esm/global-account/react/components/B3Provider}/B3Provider.native.d.ts +2 -25
  33. package/dist/esm/global-account/react/components/{B3Provider.native.js → B3Provider/B3Provider.native.js} +5 -26
  34. package/dist/esm/global-account/react/components/B3Provider/types.d.ts +25 -0
  35. package/dist/esm/global-account/react/components/B3Provider/types.js +17 -0
  36. package/dist/esm/global-account/react/components/B3Provider/useB3.d.ts +5 -0
  37. package/dist/esm/global-account/react/components/B3Provider/useB3.js +14 -0
  38. package/dist/esm/global-account/react/components/StyleRoot.js +1 -1
  39. package/dist/esm/global-account/react/components/index.d.ts +8 -6
  40. package/dist/esm/global-account/react/components/index.js +7 -5
  41. package/dist/esm/global-account/react/index.native.d.ts +5 -4
  42. package/dist/esm/global-account/react/index.native.js +5 -4
  43. package/dist/esm/global-account/react/stores/useModalStore.d.ts +2 -0
  44. package/dist/esm/global-account/types/chain-networks.d.ts +34 -34
  45. package/dist/esm/global-account/types/feature-flags.d.ts +5 -5
  46. package/dist/esm/shared/constants/chains/b3Chain.d.ts +1 -1
  47. package/dist/esm/shared/constants/chains/supported.d.ts +4 -3
  48. package/dist/esm/shared/constants/chains/supported.js +2 -0
  49. package/dist/styles/index.css +1 -1
  50. package/dist/types/anyspend/react/components/AnySpend.d.ts +2 -1
  51. package/dist/types/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
  52. package/dist/types/global-account/react/components/{B3Provider.d.ts → B3Provider/B3Provider.d.ts} +2 -28
  53. package/dist/types/global-account/react/components/{B3Provider.native.d.ts → B3Provider/B3Provider.native.d.ts} +1 -24
  54. package/dist/types/global-account/react/components/B3Provider/types.d.ts +25 -0
  55. package/dist/types/global-account/react/components/B3Provider/useB3.d.ts +5 -0
  56. package/dist/types/global-account/react/components/index.d.ts +8 -6
  57. package/dist/types/global-account/react/index.native.d.ts +5 -4
  58. package/dist/types/global-account/react/stores/useModalStore.d.ts +2 -0
  59. package/dist/types/global-account/types/chain-networks.d.ts +34 -34
  60. package/dist/types/global-account/types/feature-flags.d.ts +5 -5
  61. package/dist/types/shared/constants/chains/b3Chain.d.ts +1 -1
  62. package/dist/types/shared/constants/chains/supported.d.ts +4 -3
  63. package/package.json +4 -3
  64. package/src/anyspend/react/components/AnySpend.tsx +6 -5
  65. package/src/anyspend/react/components/AnySpendBuySpin.tsx +233 -184
  66. package/src/global-account/react/components/B3DynamicModal.tsx +1 -1
  67. package/src/global-account/react/components/{B3Provider.native.tsx → B3Provider/B3Provider.native.tsx} +4 -45
  68. package/src/global-account/react/components/{B3Provider.tsx → B3Provider/B3Provider.tsx} +4 -53
  69. package/src/global-account/react/components/B3Provider/types.ts +40 -0
  70. package/src/global-account/react/components/B3Provider/useB3.ts +17 -0
  71. package/src/global-account/react/components/StyleRoot.tsx +1 -1
  72. package/src/global-account/react/components/index.ts +8 -6
  73. package/src/global-account/react/index.native.ts +5 -4
  74. package/src/global-account/react/stores/useModalStore.ts +2 -0
  75. package/src/shared/constants/chains/supported.ts +2 -0
@@ -0,0 +1,25 @@
1
+ import { Account } from "thirdweb/wallets";
2
+ import { User } from "@b3dotfun/sdk/global-account/types/b3-api.types";
3
+ import { Wallet } from "thirdweb/wallets";
4
+ import { PermissionsConfig } from "@b3dotfun/sdk/global-account/types/permissions";
5
+ /**
6
+ * Context type for B3Provider
7
+ */
8
+ export interface B3ContextType {
9
+ account?: Account;
10
+ automaticallySetFirstEoa: boolean;
11
+ user?: User;
12
+ setAccount: (account: Account) => void;
13
+ setWallet: (wallet: Wallet) => void;
14
+ wallet?: Wallet;
15
+ setUser: (user?: User) => void;
16
+ initialized: boolean;
17
+ ready: boolean;
18
+ environment?: "development" | "production";
19
+ defaultPermissions?: PermissionsConfig;
20
+ theme: "light" | "dark";
21
+ }
22
+ /**
23
+ * Context for B3 provider
24
+ */
25
+ export declare const B3Context: import("react").Context<B3ContextType>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Hook to access the B3 context
3
+ * @throws Error if used outside a B3Provider
4
+ */
5
+ export declare function useB3(): import("./types").B3ContextType;
@@ -1,15 +1,17 @@
1
1
  export { B3DynamicModal } from "./B3DynamicModal";
2
- export { B3Context, B3Provider, InnerProvider, useB3, type B3ContextType } from "./B3Provider";
2
+ export { B3Provider, InnerProvider } from "./B3Provider/B3Provider";
3
+ export { useB3 } from "./B3Provider/useB3";
4
+ export { B3Context, type B3ContextType } from "./B3Provider/types";
3
5
  export { RelayKitProviderWrapper } from "./RelayKitProviderWrapper";
4
6
  export { StyleRoot } from "./StyleRoot";
7
+ export { AuthButton } from "./SignInWithB3/components/AuthButton";
8
+ export { PermissionItem } from "./SignInWithB3/components/PermissionItem";
9
+ export { WalletRow } from "./SignInWithB3/components/WalletRow";
5
10
  export { SignInWithB3 } from "./SignInWithB3/SignInWithB3";
6
11
  export { SignInWithB3Flow } from "./SignInWithB3/SignInWithB3Flow";
7
12
  export { SignInWithB3Privy } from "./SignInWithB3/SignInWithB3Privy";
8
- export { PermissionItem } from "./SignInWithB3/components/PermissionItem";
9
- export { WalletRow } from "./SignInWithB3/components/WalletRow";
10
- export { AuthButton } from "./SignInWithB3/components/AuthButton";
11
13
  export { LoginStepContainer } from "./SignInWithB3/steps/LoginStep";
12
- export { type AllowedStrategy, getConnectOptionsFromStrategy, isWalletType } from "./SignInWithB3/utils/signInUtils";
14
+ export { getConnectOptionsFromStrategy, isWalletType, type AllowedStrategy } from "./SignInWithB3/utils/signInUtils";
13
15
  export { ManageAccount } from "./ManageAccount/ManageAccount";
14
16
  export { RequestPermissions } from "./RequestPermissions/RequestPermissions";
15
17
  export { RequestPermissionsButton } from "./RequestPermissions/RequestPermissionsButton";
@@ -34,8 +36,8 @@ export { Popover, PopoverContent, PopoverTrigger } from "./ui/popover";
34
36
  export { ScrollArea, ScrollBar } from "./ui/scroll-area";
35
37
  export { ShinyButton } from "./ui/ShinyButton";
36
38
  export { Skeleton } from "./ui/skeleton";
37
- export { Tabs, TabsContent, TabsList, TabsTransitionWrapper, TabTrigger } from "./ui/TabSystem";
38
39
  export { TabsContent as TabsContentPrimitive, TabsList as TabsListPrimitive, Tabs as TabsPrimitive, TabTrigger as TabTriggerPrimitive } from "./ui/Tabs";
40
+ export { Tabs, TabsContent, TabsList, TabsTransitionWrapper, TabTrigger } from "./ui/TabSystem";
39
41
  export { TextLoop } from "./ui/text-loop";
40
42
  export { TextShimmer } from "./ui/text-shimmer";
41
43
  export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/tooltip";
@@ -1,6 +1,7 @@
1
- export { B3Provider } from "./components/B3Provider.native";
2
- export { useB3 } from "./components/B3Provider.native";
1
+ export { B3Provider } from "./components/B3Provider/B3Provider.native";
2
+ export { useB3 } from "./components/B3Provider/useB3";
3
+ export { B3Context, type B3ContextType } from "./components/B3Provider/types";
4
+ export { useAccountWallet } from "./hooks/useAccountWallet";
3
5
  export { useAuthentication } from "./hooks/useAuthentication";
4
- export { useAuthStore } from "./stores/useAuthStore";
5
6
  export { useSiwe } from "./hooks/useSiwe";
6
- export { useAccountWallet } from "./hooks/useAccountWallet";
7
+ export { useAuthStore } from "./stores/useAuthStore";
@@ -231,6 +231,8 @@ export interface AnySpendBuySpinProps extends BaseModalProps {
231
231
  recipientAddress: string;
232
232
  /** Callback function called when the spin purchase is successful */
233
233
  onSuccess?: (txHash?: string) => void;
234
+ /** Prefill quantity of spins to purchase */
235
+ prefillQuantity?: string;
234
236
  }
235
237
  /**
236
238
  * Union type of all possible modal content types
@@ -1,44 +1,44 @@
1
1
  import { Static } from "@feathersjs/typebox";
2
- export declare const chainNetworksSchema: import("@sinclair/typebox").TObject<{
3
- _id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TObject<{}>]>;
4
- id: import("@sinclair/typebox").TInteger;
5
- name: import("@sinclair/typebox").TString<string>;
6
- rpcUrls: import("@sinclair/typebox").TObject<{
7
- default: import("@sinclair/typebox").TObject<{
8
- http: import("@sinclair/typebox").TString<"uri">;
9
- ws: import("@sinclair/typebox").TString<"uri">;
2
+ export declare const chainNetworksSchema: import("@feathersjs/typebox").TObject<{
3
+ _id: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
4
+ id: import("@feathersjs/typebox").TInteger;
5
+ name: import("@feathersjs/typebox").TString<string>;
6
+ rpcUrls: import("@feathersjs/typebox").TObject<{
7
+ default: import("@feathersjs/typebox").TObject<{
8
+ http: import("@feathersjs/typebox").TString<"uri">;
9
+ ws: import("@feathersjs/typebox").TString<"uri">;
10
10
  }>;
11
- backups: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
12
- type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"http">, import("@sinclair/typebox").TLiteral<"ws">]>;
13
- uri: import("@sinclair/typebox").TString<string>;
11
+ backups: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
12
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"http">, import("@feathersjs/typebox").TLiteral<"ws">]>;
13
+ uri: import("@feathersjs/typebox").TString<string>;
14
14
  }>>;
15
15
  }>;
16
- icon: import("@sinclair/typebox").TObject<{
17
- url: import("@sinclair/typebox").TString<"uri">;
18
- width: import("@sinclair/typebox").TInteger;
19
- height: import("@sinclair/typebox").TInteger;
20
- format: import("@sinclair/typebox").TString<string>;
16
+ icon: import("@feathersjs/typebox").TObject<{
17
+ url: import("@feathersjs/typebox").TString<"uri">;
18
+ width: import("@feathersjs/typebox").TInteger;
19
+ height: import("@feathersjs/typebox").TInteger;
20
+ format: import("@feathersjs/typebox").TString<string>;
21
21
  }>;
22
- blockExplorers: import("@sinclair/typebox").TObject<{
23
- explorerTitle: import("@sinclair/typebox").TString<string>;
24
- default: import("@sinclair/typebox").TString<"uri">;
22
+ blockExplorers: import("@feathersjs/typebox").TObject<{
23
+ explorerTitle: import("@feathersjs/typebox").TString<string>;
24
+ default: import("@feathersjs/typebox").TString<"uri">;
25
25
  }>;
26
- nativeCurrency: import("@sinclair/typebox").TObject<{
27
- name: import("@sinclair/typebox").TString<string>;
28
- symbol: import("@sinclair/typebox").TString<string>;
29
- decimals: import("@sinclair/typebox").TInteger;
26
+ nativeCurrency: import("@feathersjs/typebox").TObject<{
27
+ name: import("@feathersjs/typebox").TString<string>;
28
+ symbol: import("@feathersjs/typebox").TString<string>;
29
+ decimals: import("@feathersjs/typebox").TInteger;
30
30
  }>;
31
- testnet: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
32
- testnetConfigID: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
33
- sourceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
34
- contracts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TObject<{
35
- address: import("@sinclair/typebox").TString<string>;
36
- blockCreated: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
31
+ testnet: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
32
+ testnetConfigID: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
33
+ sourceId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
34
+ contracts: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TRecord<import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{
35
+ address: import("@feathersjs/typebox").TString<string>;
36
+ blockCreated: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
37
37
  }>>>;
38
- formatters: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TAny>>;
39
- fees: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TAny>>;
40
- badge: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<"uri">>;
41
- color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
42
- enabledFeatures: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString<string>>>;
38
+ formatters: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TRecord<import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TAny>>;
39
+ fees: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TRecord<import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TAny>>;
40
+ badge: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<"uri">>;
41
+ color: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
42
+ enabledFeatures: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>>;
43
43
  }>;
44
44
  export type ChainNetworks = Static<typeof chainNetworksSchema>;
@@ -1,8 +1,8 @@
1
1
  import { Static } from "@feathersjs/typebox";
2
- export declare const featureFlagsSchema: import("@sinclair/typebox").TObject<{
3
- _id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TObject<{}>]>;
4
- id: import("@sinclair/typebox").TString<string>;
5
- enabled: import("@sinclair/typebox").TBoolean;
6
- description: import("@sinclair/typebox").TString<string>;
2
+ export declare const featureFlagsSchema: import("@feathersjs/typebox").TObject<{
3
+ _id: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
4
+ id: import("@feathersjs/typebox").TString<string>;
5
+ enabled: import("@feathersjs/typebox").TBoolean;
6
+ description: import("@feathersjs/typebox").TString<string>;
7
7
  }>;
8
8
  export type FeatureFlags = Static<typeof featureFlagsSchema>;
@@ -89,8 +89,8 @@ export declare const getViemChainConfig: (config: ChainNetworks) => {
89
89
  readonly icon: {
90
90
  format: string;
91
91
  url: string;
92
- width: number;
93
92
  height: number;
93
+ width: number;
94
94
  };
95
95
  };
96
96
  export declare const thirdwebB3Testnet: ThirdwebChain;
@@ -10,9 +10,9 @@ export declare const supportedChainNetworks: {
10
10
  testnet?: boolean | undefined;
11
11
  fees?: Record<string, any> | undefined;
12
12
  formatters?: Record<string, any> | undefined;
13
+ color?: string | undefined;
13
14
  testnetConfigID?: number | undefined;
14
15
  badge?: string | undefined;
15
- color?: string | undefined;
16
16
  enabledFeatures?: string[] | undefined;
17
17
  name: string;
18
18
  id: number;
@@ -35,16 +35,17 @@ export declare const supportedChainNetworks: {
35
35
  uri: string;
36
36
  }[];
37
37
  };
38
- _id: string | {};
39
38
  icon: {
40
39
  format: string;
41
40
  url: string;
42
- width: number;
43
41
  height: number;
42
+ width: number;
44
43
  };
44
+ _id: string | {};
45
45
  }[];
46
46
  export declare const b3Mainnet: import("viem").Chain;
47
47
  export declare const b3Testnet: import("viem").Chain;
48
+ export declare const baseMainnet: import("viem").Chain | undefined;
48
49
  export declare const b3MainnetThirdWeb: Readonly<import("thirdweb/dist/types/chains/types").ChainOptions & {
49
50
  rpc: string;
50
51
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@b3dotfun/sdk",
3
- "version": "0.0.1-alpha.9",
3
+ "version": "0.0.3-alpha.1",
4
4
  "source": "src/index.ts",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "react-native": "./dist/cjs/index.native.js",
@@ -170,7 +170,7 @@
170
170
  "dependencies": {
171
171
  "@amplitude/analytics-browser": "2.14.0",
172
172
  "@b3dotfun/b3-api": "0.0.21",
173
- "@b3dotfun/basement-api": "0.0.10",
173
+ "@b3dotfun/basement-api": "0.0.11",
174
174
  "@chakra-ui/react": "2.10.7",
175
175
  "@feathersjs/authentication-client": "5.0.33",
176
176
  "@feathersjs/feathers": "5.0.33",
@@ -215,7 +215,8 @@
215
215
  "vaul": "^1.1.2",
216
216
  "viem": "2.27.2",
217
217
  "wagmi": "2.14.15",
218
- "zustand": "4.5.6"
218
+ "zustand": "4.5.6",
219
+ "zod": "3.25.51"
219
220
  },
220
221
  "devDependencies": {
221
222
  "@feathersjs/authentication-client": "5.0.33",
@@ -15,7 +15,6 @@ import {
15
15
  ShinyButton,
16
16
  StyleRoot,
17
17
  TransitionPanel,
18
- useAccountAssets,
19
18
  useAccountWallet,
20
19
  useOnchainName,
21
20
  useRouter,
@@ -23,8 +22,8 @@ import {
23
22
  useTokenData,
24
23
  useTokenFromUrl
25
24
  } from "@b3dotfun/sdk/global-account/react";
26
- import { shortenAddress } from "@b3dotfun/sdk/shared/utils/formatAddress";
27
25
  import { cn } from "@b3dotfun/sdk/shared/utils/cn";
26
+ import { shortenAddress } from "@b3dotfun/sdk/shared/utils/formatAddress";
28
27
  import { formatDisplayNumber, formatTokenAmount } from "@b3dotfun/sdk/shared/utils/number";
29
28
  import { motion } from "framer-motion";
30
29
  import invariant from "invariant";
@@ -66,7 +65,8 @@ export function AnySpend({
66
65
  mode = "modal",
67
66
  defaultActiveTab = "crypto",
68
67
  loadOrder,
69
- hideTransactionHistoryButton
68
+ hideTransactionHistoryButton,
69
+ recipientAddress: recipientAddressFromProps
70
70
  }: {
71
71
  destinationTokenAddress?: string;
72
72
  destinationTokenChainId?: number;
@@ -75,6 +75,7 @@ export function AnySpend({
75
75
  defaultActiveTab?: "crypto" | "fiat";
76
76
  loadOrder?: string;
77
77
  hideTransactionHistoryButton?: boolean;
78
+ recipientAddress?: string;
78
79
  }) {
79
80
  const searchParams = useSearchParamsSSR();
80
81
  const router = useRouter();
@@ -374,8 +375,8 @@ export function AnySpend({
374
375
 
375
376
  // Set default recipient address when wallet changes
376
377
  useEffect(() => {
377
- setRecipientAddress(globalAddress);
378
- }, [globalAddress]);
378
+ setRecipientAddress(recipientAddressFromProps || globalAddress);
379
+ }, [recipientAddressFromProps, globalAddress]);
379
380
 
380
381
  // Get anyspend price
381
382
  const activeInputAmountInWei = isSrcInputDirty