Fast Transfer
avail-widgets/transferFreeComponent
Deprecated: use Nexus Widget instead. A legacy component built with Nexus to enable cross chain transfer.
Install it
npx shadcn@latest add https://elements.nexus.availproject.org/r/transfer.jsonSource
1"use client";2import { type FC, useEffect, useState } from "react";3import { Card, CardContent } from "../ui/card";4import ChainSelect from "./components/chain-select";5import TokenSelect from "./components/token-select";6import { Button } from "../ui/button";7import { LoaderPinwheel, X } from "lucide-react";8import { useNexus } from "../nexus/NexusProvider";9import AmountInput from "./components/amount-input";10import FeeBreakdown from "./components/fee-breakdown";11import {12 Dialog,13 DialogContent,14 DialogHeader,15 DialogTitle,16 DialogTrigger,17} from "../ui/dialog";18import TransactionProgress from "./components/transaction-progress";19import SourceBreakdown from "./components/source-breakdown";20import { type Address } from "viem";21import { Skeleton } from "../ui/skeleton";22import RecipientAddress from "./components/recipient-address";23import useTransfer from "./hooks/useTransfer";24import AllowanceModal from "./components/allowance-modal";25import ViewHistory from "../view-history/view-history";2627interface FastTransferProps {28 maxAmount?: string | number;29 prefill?: {30 token: string;31 chainId: number;32 amount?: string;33 recipient?: Address;34 };35 onComplete?: (explorerUrl?: string) => void;36 onStart?: () => void;37 onError?: (message: string) => void;38}3940const FastTransfer: FC<FastTransferProps> = ({41 maxAmount,42 onComplete,43 onStart,44 onError,45 prefill,46}) => {47 const [isSourceMenuOpen, setIsSourceMenuOpen] = useState(false);48 const {49 nexusSDK,50 intent,51 bridgableBalance,52 fetchBridgableBalance,53 allowance,54 network,55 } = useNexus();5657 const {58 inputs,59 setInputs,60 timer,61 loading,62 refreshing,63 isDialogOpen,64 txError,65 setTxError,66 handleTransaction,67 reset,68 filteredBridgableBalance,69 startTransaction,70 setIsDialogOpen,71 commitAmount,72 lastExplorerUrl,73 steps,74 status,75 availableSources,76 selectedSourceChains,77 toggleSourceChain,78 isSourceSelectionInsufficient,79 isSourceSelectionReadyForAccept,80 sourceCoverageState,81 sourceCoveragePercent,82 missingToProceed,83 missingToSafety,84 selectedTotal,85 requiredTotal,86 requiredSafetyTotal,87 maxAvailableAmount,88 isInputsValid,89 } = useTransfer({90 prefill,91 network: network ?? "mainnet",92 nexusSDK,93 intent,94 bridgableBalance,95 onComplete,96 onStart,97 onError,98 allowance,99 fetchBalance: fetchBridgableBalance,100 maxAmount,101 isSourceMenuOpen,102 });103// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from avail-widgets
All 27 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | avail-widgets | Components | Free | 2 deps | |
| All Elementsall | avail-widgets | Components | Free | no deps | |
| Animated Spinneranimated-spinner | avail-widgets | Components | Free | no deps | |
| Badgebadge | avail-widgets | Components | Free | 2 deps | |
| Bridge Depositbridge-deposit | avail-widgets | Components | Free | 3 deps · 32 files | |
| Buttonbutton | avail-widgets | Components | Free | 2 deps | |
| Cardcard | avail-widgets | Components | Free | no deps | |
| Checkboxcheckbox | avail-widgets | Components | Free | 2 deps |
