@b3dotfun/sdk 0.0.65-test.1 → 0.0.65
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/react/components/AnySpend.js +33 -73
- package/dist/cjs/anyspend/react/components/AnySpendCustom.js +1 -1
- package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +1 -1
- package/dist/cjs/anyspend/react/components/common/FeeDetailPanel.js +1 -1
- package/dist/cjs/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
- package/dist/cjs/anyspend/react/components/common/OrderHistory.d.ts +1 -1
- package/dist/cjs/anyspend/react/components/common/OrderHistory.js +3 -7
- package/dist/cjs/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
- package/dist/cjs/anyspend/react/components/common/PointsDetailPanel.js +1 -1
- package/dist/cjs/anyspend/react/components/common/RecipientSelection.js +1 -1
- package/dist/cjs/global-account/react/components/AccountAssets/AccountAssets.js +2 -38
- package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +33 -139
- package/dist/cjs/global-account/react/components/B3DynamicModal.js +6 -25
- package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.d.ts +4 -6
- package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +279 -113
- package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.js +2 -2
- package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +193 -24
- package/dist/cjs/global-account/react/components/index.d.ts +2 -4
- package/dist/cjs/global-account/react/components/index.js +4 -11
- package/dist/cjs/global-account/react/components/ui/Tabs.js +2 -2
- package/dist/cjs/global-account/react/components/ui/dialog.js +2 -2
- package/dist/cjs/global-account/react/hooks/index.d.ts +1 -1
- package/dist/cjs/global-account/react/hooks/index.js +1 -3
- package/dist/cjs/global-account/react/hooks/useB3BalanceFromAddresses.js +0 -1
- package/dist/cjs/global-account/react/stores/index.d.ts +0 -1
- package/dist/cjs/global-account/react/stores/index.js +1 -3
- package/dist/cjs/global-account/react/stores/useModalStore.d.ts +3 -34
- package/dist/cjs/global-account/react/utils/profileDisplay.d.ts +0 -2
- package/dist/cjs/global-account/react/utils/profileDisplay.js +2 -2
- package/dist/cjs/shared/constants/chains/supported.d.ts +2 -2
- package/dist/cjs/shared/utils/ipfs.js +1 -1
- package/dist/esm/anyspend/react/components/AnySpend.js +34 -74
- package/dist/esm/anyspend/react/components/AnySpendCustom.js +1 -1
- package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +1 -1
- package/dist/esm/anyspend/react/components/common/FeeDetailPanel.js +1 -1
- package/dist/esm/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
- package/dist/esm/anyspend/react/components/common/OrderHistory.d.ts +1 -1
- package/dist/esm/anyspend/react/components/common/OrderHistory.js +5 -6
- package/dist/esm/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
- package/dist/esm/anyspend/react/components/common/PointsDetailPanel.js +1 -1
- package/dist/esm/anyspend/react/components/common/RecipientSelection.js +1 -1
- package/dist/esm/global-account/react/components/AccountAssets/AccountAssets.js +2 -38
- package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +34 -140
- package/dist/esm/global-account/react/components/B3DynamicModal.js +6 -25
- package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.d.ts +4 -6
- package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +280 -113
- package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.js +2 -2
- package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +195 -26
- package/dist/esm/global-account/react/components/index.d.ts +2 -4
- package/dist/esm/global-account/react/components/index.js +2 -7
- package/dist/esm/global-account/react/components/ui/Tabs.js +2 -2
- package/dist/esm/global-account/react/components/ui/dialog.js +2 -2
- package/dist/esm/global-account/react/hooks/index.d.ts +1 -1
- package/dist/esm/global-account/react/hooks/index.js +1 -1
- package/dist/esm/global-account/react/hooks/useB3BalanceFromAddresses.js +0 -1
- package/dist/esm/global-account/react/stores/index.d.ts +0 -1
- package/dist/esm/global-account/react/stores/index.js +0 -1
- package/dist/esm/global-account/react/stores/useModalStore.d.ts +3 -34
- package/dist/esm/global-account/react/utils/profileDisplay.d.ts +0 -2
- package/dist/esm/global-account/react/utils/profileDisplay.js +2 -2
- package/dist/esm/shared/constants/chains/supported.d.ts +2 -2
- package/dist/esm/shared/utils/ipfs.js +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/types/anyspend/react/components/common/OrderHistory.d.ts +1 -1
- package/dist/types/global-account/react/components/LinkAccount/LinkAccount.d.ts +4 -6
- package/dist/types/global-account/react/components/index.d.ts +2 -4
- package/dist/types/global-account/react/hooks/index.d.ts +1 -1
- package/dist/types/global-account/react/stores/index.d.ts +0 -1
- package/dist/types/global-account/react/stores/useModalStore.d.ts +3 -34
- package/dist/types/global-account/react/utils/profileDisplay.d.ts +0 -2
- package/dist/types/shared/constants/chains/supported.d.ts +2 -2
- package/package.json +1 -1
- package/src/anyspend/react/components/AnySpend.tsx +167 -225
- package/src/anyspend/react/components/AnySpendCustom.tsx +1 -1
- package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +1 -1
- package/src/anyspend/react/components/common/FeeDetailPanel.tsx +1 -1
- package/src/anyspend/react/components/common/FiatPaymentMethod.tsx +2 -2
- package/src/anyspend/react/components/common/OrderHistory.tsx +13 -8
- package/src/anyspend/react/components/common/PanelOnrampPayment.tsx +1 -1
- package/src/anyspend/react/components/common/PointsDetailPanel.tsx +1 -1
- package/src/anyspend/react/components/common/RecipientSelection.tsx +1 -1
- package/src/global-account/react/components/AccountAssets/AccountAssets.tsx +25 -115
- package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +126 -303
- package/src/global-account/react/components/B3DynamicModal.tsx +6 -28
- package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +433 -332
- package/src/global-account/react/components/ManageAccount/BalanceContent.tsx +3 -2
- package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +589 -73
- package/src/global-account/react/components/index.ts +2 -9
- package/src/global-account/react/components/ui/Tabs.tsx +13 -5
- package/src/global-account/react/components/ui/dialog.tsx +14 -32
- package/src/global-account/react/hooks/index.ts +0 -3
- package/src/global-account/react/hooks/useB3BalanceFromAddresses.ts +0 -1
- package/src/global-account/react/stores/index.ts +0 -1
- package/src/global-account/react/stores/useModalStore.ts +2 -39
- package/src/global-account/react/utils/profileDisplay.ts +2 -4
- package/src/shared/utils/ipfs.ts +1 -1
- package/src/styles/index.css +1 -6
- package/dist/cjs/global-account/react/components/Deposit/Deposit.d.ts +0 -1
- package/dist/cjs/global-account/react/components/Deposit/Deposit.js +0 -65
- package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +0 -4
- package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.js +0 -331
- package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.d.ts +0 -6
- package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.js +0 -34
- package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.d.ts +0 -2
- package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +0 -23
- package/dist/cjs/global-account/react/components/ManageAccount/Header.d.ts +0 -3
- package/dist/cjs/global-account/react/components/ManageAccount/Header.js +0 -120
- package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.d.ts +0 -5
- package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.js +0 -43
- package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.d.ts +0 -6
- package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +0 -16
- package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.d.ts +0 -2
- package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.js +0 -15
- package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.d.ts +0 -2
- package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +0 -44
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.d.ts +0 -7
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +0 -50
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +0 -9
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.js +0 -8
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +0 -2
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +0 -38
- package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.d.ts +0 -2
- package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.js +0 -22
- package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.d.ts +0 -10
- package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.js +0 -12
- package/dist/cjs/global-account/react/components/Send/Send.d.ts +0 -5
- package/dist/cjs/global-account/react/components/Send/Send.js +0 -187
- package/dist/cjs/global-account/react/components/icons/BellIcon.d.ts +0 -3
- package/dist/cjs/global-account/react/components/icons/BellIcon.js +0 -5
- package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.d.ts +0 -2
- package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.js +0 -7
- package/dist/cjs/global-account/react/components/icons/CopyIcon.d.ts +0 -2
- package/dist/cjs/global-account/react/components/icons/CopyIcon.js +0 -7
- package/dist/cjs/global-account/react/components/icons/LinkIcon.d.ts +0 -3
- package/dist/cjs/global-account/react/components/icons/LinkIcon.js +0 -5
- package/dist/cjs/global-account/react/components/icons/LockIcon.d.ts +0 -3
- package/dist/cjs/global-account/react/components/icons/LockIcon.js +0 -5
- package/dist/cjs/global-account/react/components/icons/WalletIcon.d.ts +0 -2
- package/dist/cjs/global-account/react/components/icons/WalletIcon.js +0 -7
- package/dist/cjs/global-account/react/stores/useRecentAddressesStore.d.ts +0 -25
- package/dist/cjs/global-account/react/stores/useRecentAddressesStore.js +0 -36
- package/dist/esm/global-account/react/components/Deposit/Deposit.d.ts +0 -1
- package/dist/esm/global-account/react/components/Deposit/Deposit.js +0 -59
- package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +0 -4
- package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.js +0 -325
- package/dist/esm/global-account/react/components/ManageAccount/AppsContent.d.ts +0 -6
- package/dist/esm/global-account/react/components/ManageAccount/AppsContent.js +0 -32
- package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.d.ts +0 -2
- package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +0 -21
- package/dist/esm/global-account/react/components/ManageAccount/Header.d.ts +0 -3
- package/dist/esm/global-account/react/components/ManageAccount/Header.js +0 -81
- package/dist/esm/global-account/react/components/ManageAccount/HomeActions.d.ts +0 -5
- package/dist/esm/global-account/react/components/ManageAccount/HomeActions.js +0 -41
- package/dist/esm/global-account/react/components/ManageAccount/HomeContent.d.ts +0 -6
- package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +0 -10
- package/dist/esm/global-account/react/components/ManageAccount/NFTContent.d.ts +0 -2
- package/dist/esm/global-account/react/components/ManageAccount/NFTContent.js +0 -13
- package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.d.ts +0 -2
- package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +0 -42
- package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.d.ts +0 -7
- package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +0 -45
- package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +0 -9
- package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.js +0 -6
- package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +0 -2
- package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +0 -36
- package/dist/esm/global-account/react/components/ManageAccount/TokenContent.d.ts +0 -2
- package/dist/esm/global-account/react/components/ManageAccount/TokenContent.js +0 -20
- package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.d.ts +0 -10
- package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.js +0 -10
- package/dist/esm/global-account/react/components/Send/Send.d.ts +0 -5
- package/dist/esm/global-account/react/components/Send/Send.js +0 -181
- package/dist/esm/global-account/react/components/icons/BellIcon.d.ts +0 -3
- package/dist/esm/global-account/react/components/icons/BellIcon.js +0 -3
- package/dist/esm/global-account/react/components/icons/ChevronDownIcon.d.ts +0 -2
- package/dist/esm/global-account/react/components/icons/ChevronDownIcon.js +0 -4
- package/dist/esm/global-account/react/components/icons/CopyIcon.d.ts +0 -2
- package/dist/esm/global-account/react/components/icons/CopyIcon.js +0 -4
- package/dist/esm/global-account/react/components/icons/LinkIcon.d.ts +0 -3
- package/dist/esm/global-account/react/components/icons/LinkIcon.js +0 -3
- package/dist/esm/global-account/react/components/icons/LockIcon.d.ts +0 -3
- package/dist/esm/global-account/react/components/icons/LockIcon.js +0 -3
- package/dist/esm/global-account/react/components/icons/WalletIcon.d.ts +0 -2
- package/dist/esm/global-account/react/components/icons/WalletIcon.js +0 -4
- package/dist/esm/global-account/react/stores/useRecentAddressesStore.d.ts +0 -25
- package/dist/esm/global-account/react/stores/useRecentAddressesStore.js +0 -33
- package/dist/types/global-account/react/components/Deposit/Deposit.d.ts +0 -1
- package/dist/types/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +0 -4
- package/dist/types/global-account/react/components/ManageAccount/AppsContent.d.ts +0 -6
- package/dist/types/global-account/react/components/ManageAccount/BottomNavigation.d.ts +0 -2
- package/dist/types/global-account/react/components/ManageAccount/Header.d.ts +0 -3
- package/dist/types/global-account/react/components/ManageAccount/HomeActions.d.ts +0 -5
- package/dist/types/global-account/react/components/ManageAccount/HomeContent.d.ts +0 -6
- package/dist/types/global-account/react/components/ManageAccount/NFTContent.d.ts +0 -2
- package/dist/types/global-account/react/components/ManageAccount/ProfileSection.d.ts +0 -2
- package/dist/types/global-account/react/components/ManageAccount/SettingsContent.d.ts +0 -7
- package/dist/types/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +0 -9
- package/dist/types/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +0 -2
- package/dist/types/global-account/react/components/ManageAccount/TokenContent.d.ts +0 -2
- package/dist/types/global-account/react/components/ModalHeader/ModalHeader.d.ts +0 -10
- package/dist/types/global-account/react/components/Send/Send.d.ts +0 -5
- package/dist/types/global-account/react/components/icons/BellIcon.d.ts +0 -3
- package/dist/types/global-account/react/components/icons/ChevronDownIcon.d.ts +0 -2
- package/dist/types/global-account/react/components/icons/CopyIcon.d.ts +0 -2
- package/dist/types/global-account/react/components/icons/LinkIcon.d.ts +0 -3
- package/dist/types/global-account/react/components/icons/LockIcon.d.ts +0 -3
- package/dist/types/global-account/react/components/icons/WalletIcon.d.ts +0 -2
- package/dist/types/global-account/react/stores/useRecentAddressesStore.d.ts +0 -25
- package/src/global-account/react/components/Deposit/Deposit.tsx +0 -211
- package/src/global-account/react/components/LinkAccount/LinkNewAccount.tsx +0 -490
- package/src/global-account/react/components/ManageAccount/AppsContent.tsx +0 -79
- package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +0 -83
- package/src/global-account/react/components/ManageAccount/Header.tsx +0 -230
- package/src/global-account/react/components/ManageAccount/HomeActions.tsx +0 -118
- package/src/global-account/react/components/ManageAccount/HomeContent.tsx +0 -42
- package/src/global-account/react/components/ManageAccount/NFTContent.tsx +0 -24
- package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +0 -74
- package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +0 -87
- package/src/global-account/react/components/ManageAccount/SettingsMenuItem.tsx +0 -31
- package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +0 -74
- package/src/global-account/react/components/ManageAccount/TokenContent.tsx +0 -41
- package/src/global-account/react/components/ModalHeader/ModalHeader.tsx +0 -50
- package/src/global-account/react/components/Send/Send.tsx +0 -585
- package/src/global-account/react/components/icons/BellIcon.tsx +0 -15
- package/src/global-account/react/components/icons/ChevronDownIcon.tsx +0 -17
- package/src/global-account/react/components/icons/CopyIcon.tsx +0 -22
- package/src/global-account/react/components/icons/LinkIcon.tsx +0 -15
- package/src/global-account/react/components/icons/LockIcon.tsx +0 -15
- package/src/global-account/react/components/icons/WalletIcon.tsx +0 -21
- package/src/global-account/react/stores/useRecentAddressesStore.ts +0 -55
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
interface RecentAddress {
|
|
2
|
-
address: string;
|
|
3
|
-
timestamp: number;
|
|
4
|
-
}
|
|
5
|
-
interface RecentAddressesStore {
|
|
6
|
-
recentAddresses: RecentAddress[];
|
|
7
|
-
addRecentAddress: (address: string) => void;
|
|
8
|
-
clearRecentAddresses: () => void;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Store for managing recently used addresses in the Send flow
|
|
12
|
-
* Persists to localStorage and keeps the last 6 unique addresses
|
|
13
|
-
*/
|
|
14
|
-
export declare const useRecentAddressesStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<RecentAddressesStore>, "persist"> & {
|
|
15
|
-
persist: {
|
|
16
|
-
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<RecentAddressesStore, RecentAddressesStore>>) => void;
|
|
17
|
-
clearStorage: () => void;
|
|
18
|
-
rehydrate: () => Promise<void> | void;
|
|
19
|
-
hasHydrated: () => boolean;
|
|
20
|
-
onHydrate: (fn: (state: RecentAddressesStore) => void) => () => void;
|
|
21
|
-
onFinishHydration: (fn: (state: RecentAddressesStore) => void) => () => void;
|
|
22
|
-
getOptions: () => Partial<import("zustand/middleware").PersistOptions<RecentAddressesStore, RecentAddressesStore>>;
|
|
23
|
-
};
|
|
24
|
-
}>;
|
|
25
|
-
export {};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { create } from "zustand";
|
|
2
|
-
import { persist } from "zustand/middleware";
|
|
3
|
-
/**
|
|
4
|
-
* Store for managing recently used addresses in the Send flow
|
|
5
|
-
* Persists to localStorage and keeps the last 6 unique addresses
|
|
6
|
-
*/
|
|
7
|
-
export const useRecentAddressesStore = create()(persist(set => ({
|
|
8
|
-
recentAddresses: [],
|
|
9
|
-
/**
|
|
10
|
-
* Add a new address to the recent addresses list
|
|
11
|
-
* Deduplicates and maintains a maximum of 6 addresses
|
|
12
|
-
*/
|
|
13
|
-
addRecentAddress: (address) => {
|
|
14
|
-
set(state => {
|
|
15
|
-
// Remove any existing entry with the same address
|
|
16
|
-
const filtered = state.recentAddresses.filter(item => item.address.toLowerCase() !== address.toLowerCase());
|
|
17
|
-
// Add the new address at the beginning
|
|
18
|
-
const updated = [{ address, timestamp: Date.now() }, ...filtered];
|
|
19
|
-
// Keep only the last 6 addresses
|
|
20
|
-
return {
|
|
21
|
-
recentAddresses: updated.slice(0, 6),
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
},
|
|
25
|
-
/**
|
|
26
|
-
* Clear all recent addresses
|
|
27
|
-
*/
|
|
28
|
-
clearRecentAddresses: () => {
|
|
29
|
-
set({ recentAddresses: [] });
|
|
30
|
-
},
|
|
31
|
-
}), {
|
|
32
|
-
name: "b3-recent-addresses-storage",
|
|
33
|
-
}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function Deposit(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { LinkNewAccountModalProps } from "../../stores/useModalStore";
|
|
2
|
-
export declare function LinkNewAccount({ onSuccess: onSuccessCallback, onError, onClose, chain, partnerId, className, }: LinkNewAccountModalProps & {
|
|
3
|
-
className?: string;
|
|
4
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
interface SettingsMenuItemProps {
|
|
3
|
-
icon: ReactNode;
|
|
4
|
-
title: string;
|
|
5
|
-
subtitle: string;
|
|
6
|
-
onClick?: () => void;
|
|
7
|
-
}
|
|
8
|
-
declare const SettingsMenuItem: ({ icon, title, subtitle, onClick }: SettingsMenuItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export default SettingsMenuItem;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
declare const ModalHeader: ({ handleBack, handleClose, title, children, showCloseButton, className, showBackWord, }: {
|
|
2
|
-
handleBack?: () => void;
|
|
3
|
-
handleClose?: () => void;
|
|
4
|
-
title: string;
|
|
5
|
-
children?: React.ReactNode;
|
|
6
|
-
showCloseButton?: boolean;
|
|
7
|
-
className?: string;
|
|
8
|
-
showBackWord?: boolean;
|
|
9
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export default ModalHeader;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
interface RecentAddress {
|
|
2
|
-
address: string;
|
|
3
|
-
timestamp: number;
|
|
4
|
-
}
|
|
5
|
-
interface RecentAddressesStore {
|
|
6
|
-
recentAddresses: RecentAddress[];
|
|
7
|
-
addRecentAddress: (address: string) => void;
|
|
8
|
-
clearRecentAddresses: () => void;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Store for managing recently used addresses in the Send flow
|
|
12
|
-
* Persists to localStorage and keeps the last 6 unique addresses
|
|
13
|
-
*/
|
|
14
|
-
export declare const useRecentAddressesStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<RecentAddressesStore>, "persist"> & {
|
|
15
|
-
persist: {
|
|
16
|
-
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<RecentAddressesStore, RecentAddressesStore>>) => void;
|
|
17
|
-
clearStorage: () => void;
|
|
18
|
-
rehydrate: () => Promise<void> | void;
|
|
19
|
-
hasHydrated: () => boolean;
|
|
20
|
-
onHydrate: (fn: (state: RecentAddressesStore) => void) => () => void;
|
|
21
|
-
onFinishHydration: (fn: (state: RecentAddressesStore) => void) => () => void;
|
|
22
|
-
getOptions: () => Partial<import("zustand/middleware").PersistOptions<RecentAddressesStore, RecentAddressesStore>>;
|
|
23
|
-
};
|
|
24
|
-
}>;
|
|
25
|
-
export {};
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import { RELAY_SOLANA_MAINNET_CHAIN_ID } from "@b3dotfun/sdk/anyspend/constants";
|
|
2
|
-
import type { components } from "@b3dotfun/sdk/anyspend/types/api";
|
|
3
|
-
import { ALL_CHAINS } from "@b3dotfun/sdk/anyspend/utils/chain";
|
|
4
|
-
import { useAccountWallet, useModalStore } from "@b3dotfun/sdk/global-account/react";
|
|
5
|
-
import { TokenSelector } from "@relayprotocol/relay-kit-ui";
|
|
6
|
-
import { ChevronDown, Copy } from "lucide-react";
|
|
7
|
-
import { QRCodeSVG } from "qrcode.react";
|
|
8
|
-
import { useMemo, useState } from "react";
|
|
9
|
-
import { toast } from "sonner";
|
|
10
|
-
import { base } from "thirdweb/chains";
|
|
11
|
-
import ModalHeader from "../ModalHeader/ModalHeader";
|
|
12
|
-
import { Button } from "../ui/button";
|
|
13
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../ui/dropdown-menu";
|
|
14
|
-
|
|
15
|
-
// Coinbase logo SVG
|
|
16
|
-
const CoinbaseLogo = () => (
|
|
17
|
-
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
18
|
-
<path
|
|
19
|
-
d="M8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16Z"
|
|
20
|
-
fill="#0052FF"
|
|
21
|
-
/>
|
|
22
|
-
<path
|
|
23
|
-
d="M8.00065 11.3337C6.16065 11.3337 4.66732 9.84033 4.66732 8.00033C4.66732 6.16033 6.16065 4.66699 8.00065 4.66699C9.47399 4.66699 10.734 5.64699 11.1607 7.00033H13.2273C12.774 4.54699 10.6273 2.66699 8.00065 2.66699C5.05399 2.66699 2.66732 5.05366 2.66732 8.00033C2.66732 10.947 5.05399 13.3337 8.00065 13.3337C10.6273 13.3337 12.774 11.4537 13.2273 9.00033H11.1607C10.734 10.3537 9.47399 11.3337 8.00065 11.3337Z"
|
|
24
|
-
fill="white"
|
|
25
|
-
/>
|
|
26
|
-
</svg>
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
export function Deposit() {
|
|
30
|
-
const { address } = useAccountWallet();
|
|
31
|
-
const navigateBack = useModalStore(state => state.navigateBack);
|
|
32
|
-
const setB3ModalOpen = useModalStore(state => state.setB3ModalOpen);
|
|
33
|
-
const history = useModalStore(state => state.history);
|
|
34
|
-
|
|
35
|
-
const [selectedChainId, setSelectedChainId] = useState(base.id);
|
|
36
|
-
const [selectedToken, setSelectedToken] = useState<components["schemas"]["Token"]>({
|
|
37
|
-
address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
|
|
38
|
-
chainId: base.id,
|
|
39
|
-
decimals: 6,
|
|
40
|
-
symbol: "USDC",
|
|
41
|
-
name: "USD Coin",
|
|
42
|
-
metadata: {
|
|
43
|
-
logoURI: "https://assets.relay.link/icons/1/light/usdc.png",
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
// Get the selected chain object
|
|
48
|
-
const selectedChain = useMemo(() => ALL_CHAINS[selectedChainId], [selectedChainId]);
|
|
49
|
-
|
|
50
|
-
// Get all supported chains for the dropdown
|
|
51
|
-
const supportedChains = useMemo(() => Object.values(ALL_CHAINS), []);
|
|
52
|
-
|
|
53
|
-
// The deposit address is the user's active wallet address
|
|
54
|
-
const depositAddress = address || "0x0000000000000000000000000000000000000000";
|
|
55
|
-
|
|
56
|
-
const handleTokenSelect = (token: any) => {
|
|
57
|
-
setSelectedChainId(token.chainId);
|
|
58
|
-
setSelectedToken({
|
|
59
|
-
address: token.address,
|
|
60
|
-
chainId: token.chainId,
|
|
61
|
-
decimals: token.decimals,
|
|
62
|
-
metadata: { logoURI: token.logoURI },
|
|
63
|
-
name: token.name,
|
|
64
|
-
symbol: token.symbol,
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
const handleCopyAddress = async () => {
|
|
69
|
-
try {
|
|
70
|
-
await navigator.clipboard.writeText(depositAddress);
|
|
71
|
-
toast.success("Address copied to clipboard");
|
|
72
|
-
} catch (error) {
|
|
73
|
-
toast.error("Failed to copy address");
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
return (
|
|
78
|
-
<div className="flex w-full flex-col">
|
|
79
|
-
<ModalHeader title="Deposit" showCloseButton={false} />
|
|
80
|
-
|
|
81
|
-
{/* Content */}
|
|
82
|
-
<div className="flex flex-col pb-5 pt-5">
|
|
83
|
-
{/* Header text */}
|
|
84
|
-
<div className="mb-4 px-5">
|
|
85
|
-
<p className="font-neue-montreal-medium text-base leading-snug text-[#3f3f46]">
|
|
86
|
-
Send any accepted token and we'll convert it to B3 on Base for you to use.
|
|
87
|
-
</p>
|
|
88
|
-
</div>
|
|
89
|
-
|
|
90
|
-
{/* Chain and Token Selectors */}
|
|
91
|
-
<div className="space-y-3 px-5">
|
|
92
|
-
{/* Chain Selector */}
|
|
93
|
-
<div>
|
|
94
|
-
<label className="mb-1.5 block text-sm font-medium text-[#3f3f46]">Chain</label>
|
|
95
|
-
<DropdownMenu>
|
|
96
|
-
<DropdownMenuTrigger asChild>
|
|
97
|
-
<button className="flex h-10 w-full items-center justify-between rounded-lg border border-[#d1d1d6] bg-white px-2.5 py-2 transition-colors hover:bg-[#fafafa]">
|
|
98
|
-
<div className="flex items-center gap-2">
|
|
99
|
-
{selectedChain?.logoUrl && (
|
|
100
|
-
<img src={selectedChain.logoUrl} alt={selectedChain.name} className="h-6 w-6 rounded-full" />
|
|
101
|
-
)}
|
|
102
|
-
<span className="text-base text-[#18181b]">{selectedChain?.name || "Select Chain"}</span>
|
|
103
|
-
</div>
|
|
104
|
-
<ChevronDown className="h-4 w-4 text-[#51525c]" />
|
|
105
|
-
</button>
|
|
106
|
-
</DropdownMenuTrigger>
|
|
107
|
-
<DropdownMenuContent className="max-h-[300px] w-full overflow-y-auto">
|
|
108
|
-
{supportedChains.map(chain => (
|
|
109
|
-
<DropdownMenuItem key={chain.id} onClick={() => setSelectedChainId(chain.id)}>
|
|
110
|
-
<div className="flex items-center gap-2">
|
|
111
|
-
{chain.logoUrl && <img src={chain.logoUrl} alt={chain.name} className="h-6 w-6 rounded-full" />}
|
|
112
|
-
<span className="text-[#18181b]">{chain.name}</span>
|
|
113
|
-
</div>
|
|
114
|
-
</DropdownMenuItem>
|
|
115
|
-
))}
|
|
116
|
-
</DropdownMenuContent>
|
|
117
|
-
</DropdownMenu>
|
|
118
|
-
</div>
|
|
119
|
-
|
|
120
|
-
{/* Accepted Tokens Selector */}
|
|
121
|
-
<div>
|
|
122
|
-
<label className="mb-1.5 block text-sm font-medium text-[#3f3f46]">Accepted tokens</label>
|
|
123
|
-
<TokenSelector
|
|
124
|
-
address={address}
|
|
125
|
-
chainIdsFilter={[selectedChainId]}
|
|
126
|
-
context="from"
|
|
127
|
-
fromChainWalletVMSupported={true}
|
|
128
|
-
isValidAddress={true}
|
|
129
|
-
lockedChainIds={[selectedChainId]}
|
|
130
|
-
multiWalletSupportEnabled={true}
|
|
131
|
-
onAnalyticEvent={undefined}
|
|
132
|
-
popularChainIds={[1, 8453, RELAY_SOLANA_MAINNET_CHAIN_ID]}
|
|
133
|
-
setToken={handleTokenSelect}
|
|
134
|
-
supportedWalletVMs={["evm", "svm"]}
|
|
135
|
-
token={undefined}
|
|
136
|
-
trigger={
|
|
137
|
-
<button className="flex h-10 w-full items-center justify-between rounded-lg border border-[#d1d1d6] bg-white px-2.5 py-2 transition-colors hover:bg-[#fafafa]">
|
|
138
|
-
<div className="flex items-center gap-2">
|
|
139
|
-
{selectedToken?.metadata?.logoURI && (
|
|
140
|
-
<img
|
|
141
|
-
src={selectedToken.metadata.logoURI}
|
|
142
|
-
alt={selectedToken.symbol}
|
|
143
|
-
className="h-6 w-6 rounded-full"
|
|
144
|
-
/>
|
|
145
|
-
)}
|
|
146
|
-
<span className="text-base text-[#18181b]">{selectedToken.symbol}</span>
|
|
147
|
-
</div>
|
|
148
|
-
<ChevronDown className="h-4 w-4 text-[#51525c]" />
|
|
149
|
-
</button>
|
|
150
|
-
}
|
|
151
|
-
/>
|
|
152
|
-
</div>
|
|
153
|
-
</div>
|
|
154
|
-
|
|
155
|
-
{/* QR Code and Address Container */}
|
|
156
|
-
<div className="mx-5 mt-4 flex items-start rounded-xl border border-[#e4e4e7] bg-[#fafafa]">
|
|
157
|
-
{/* QR Code Section */}
|
|
158
|
-
<div className="flex flex-1 flex-col items-center gap-2 px-5 pb-3 pt-5">
|
|
159
|
-
<div className="flex w-full items-center justify-center">
|
|
160
|
-
<div className="w-full">
|
|
161
|
-
<div className="flex aspect-[144/146] w-full flex-col items-center justify-center overflow-hidden">
|
|
162
|
-
<QRCodeSVG value={depositAddress} size={144} level="M" />
|
|
163
|
-
</div>
|
|
164
|
-
</div>
|
|
165
|
-
</div>
|
|
166
|
-
<div className="flex items-center gap-2">
|
|
167
|
-
<span className="text-xs font-semibold leading-[18px] text-[#0b57c2]">SCAN WITH</span>
|
|
168
|
-
<CoinbaseLogo />
|
|
169
|
-
</div>
|
|
170
|
-
</div>
|
|
171
|
-
|
|
172
|
-
{/* Deposit Address Section */}
|
|
173
|
-
<div className="relative flex flex-1 flex-col gap-2 self-stretch border-l border-[#e4e4e7] p-6">
|
|
174
|
-
<label className="text-sm font-medium leading-5 text-[#3f3f46]">Deposit address:</label>
|
|
175
|
-
<div className="relative flex w-full flex-wrap items-center gap-2">
|
|
176
|
-
<p className="h-[74px] flex-1 overflow-hidden text-ellipsis whitespace-pre-wrap break-all pr-6 text-base font-semibold leading-6 text-[#18181b]">
|
|
177
|
-
{depositAddress}
|
|
178
|
-
</p>
|
|
179
|
-
<button
|
|
180
|
-
onClick={handleCopyAddress}
|
|
181
|
-
className="absolute bottom-0 right-0 h-4 w-4 transition-opacity hover:opacity-70"
|
|
182
|
-
aria-label="Copy address"
|
|
183
|
-
>
|
|
184
|
-
<Copy className="h-full w-full text-[#51525c]" />
|
|
185
|
-
</button>
|
|
186
|
-
</div>
|
|
187
|
-
</div>
|
|
188
|
-
</div>
|
|
189
|
-
|
|
190
|
-
{/* Warning Text */}
|
|
191
|
-
<div className="mx-5 mt-4">
|
|
192
|
-
<p className="font-neue-montreal-italic text-center text-sm leading-[1.3] text-[#3f3f46]">
|
|
193
|
-
Do not send any tokens other than the ones specified.
|
|
194
|
-
<br />
|
|
195
|
-
Tokens not accepted will not be converted.
|
|
196
|
-
</p>
|
|
197
|
-
</div>
|
|
198
|
-
|
|
199
|
-
{/* Action Button */}
|
|
200
|
-
<div className="mt-4 px-5">
|
|
201
|
-
<Button
|
|
202
|
-
onClick={handleCopyAddress}
|
|
203
|
-
className="h-12 w-full rounded-xl bg-[#0c68e9] text-base font-semibold text-white shadow-[inset_0px_0px_0px_1px_rgba(10,13,18,0.18),inset_0px_-2px_0px_0px_rgba(10,13,18,0.05)] hover:bg-[#0b5fd4]"
|
|
204
|
-
>
|
|
205
|
-
Copy deposit address
|
|
206
|
-
</Button>
|
|
207
|
-
</div>
|
|
208
|
-
</div>
|
|
209
|
-
</div>
|
|
210
|
-
);
|
|
211
|
-
}
|