Mimboku Swap Components
A modern, self-contained React component for building token swap interfaces, built with TypeScript.
Installation
npm install @tentou-tech/mimboku-swap-component
Peer Dependencies
This package requires the following peer dependencies to be installed in your project:
npm install react react-dom wagmi @wagmi/core @tanstack/react-query react-hot-toast
react: >=16.8.0
react-dom: >=16.8.0
wagmi: ^2.16.0 (for wallet integration)
@wagmi/core: ^2.18.0 (for blockchain interactions)
@tanstack/react-query: ^5.0.0 (required by wagmi for data fetching)
react-hot-toast: ^2.4.1 (for transaction notifications)
Features
Self-Contained: The component manages its own state, including fetching tokens and quotes.
Wagmi Integration: Seamlessly connects with your existing Wagmi configuration for wallet interactions.
Automatic Token Fetching: Fetches and displays a list of swappable tokens automatically.
Quote Fetching: Gets real-time swap quotes.
Toast Notifications: Provides clear feedback on transaction status.
Advanced Token Selection: Includes a modal with search, favorites, and history.
Responsive Design: Works on desktop and mobile.
TypeScript Support: Full type safety.
Usage
The SwapForm
component is designed to be a drop-in solution. Simply wrap your application with the necessary providers from Wagmi, React Query, and RainbowKit, then render the component with your Wagmi config.
import React from 'react';
import { SwapForm } from '@tentou-tech/mimboku-swap-components';
import '@tentou-tech/mimboku-swap-components/dist/styles.css'; // Don't forget to import the styles
// Your existing provider setup
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { WagmiProvider } from 'wagmi';
import { RainbowKitProvider } from '@rainbow-me/rainbowkit';
import '@rainbow-me/rainbowkit/styles.css';
import { config } from './wagmi-config'; // Your wagmi config
const queryClient = new QueryClient();
function App() {
return (
<WagmiProvider config={config}>
<QueryClientProvider client={queryClient}>
<RainbowKitProvider>
<SwapForm config={config} />
</RainbowKitProvider>
</QueryClientProvider>
</WagmiProvider>
);
}
export default App;
Components
SwapForm
The main, self-contained swap interface component.
Props
config
: Config - Your Wagmi config object. This is the only prop required.
Styling
The components come with built-in CSS styles. You can import them directly into your application:
import '@tentou-tech/mimboku-swap-components/dist/styles.css';
Development
Building the library
npm run build
Publishing
See PUBLISHING.md for detailed publishing instructions.
License
MIT
Last updated