Discontinued
This package is deprecated and no longer maintained. Its Decent Box based cross-chain mint flow depends on discontinued Decent API endpoints. Do not use this package for new integrations.
React component library for token swapping and Hunt Building mint flows β wagmi + viem, Mint Club bonding curve + Uniswap routing in one widget.
- π MintSwap Component: Seamless token swapping interface
- ποΈ HuntBuildingsModal: Building minting and management interface
- π Wagmi Integration: Robust wallet connection
- β‘ Viem/Wagmi Support: Robust Web3 interactions
- π¨ Modern UI with Tailwind CSS
npm install hunt-mint-swap
# or
yarn add hunt-mint-swap
# or
pnpm add hunt-mint-swapThis package requires the following peer dependencies:
{
"react": ">=19.1.0",
"react-dom": ">=19.1.0",
"viem": ">=2.29.2",
"wagmi": ">=2.15.3"
}The components use Tailwind CSS for styling. You must import the component styles in your application:
// In your app's entry point (e.g., App.tsx or index.tsx)
import "hunt-mint-swap/style.css";If you're using Tailwind CSS in your project, add the component paths to your tailwind.config.js:
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
// ... your other content paths
"./node_modules/hunt-mint-swap/**/*.{js,jsx,ts,tsx}",
],
theme: {
extend: {},
},
plugins: [],
};The library requires specific providers to be set up in your app. Create a wrapper component like this:
// App.tsx or your root component
import { WagmiProvider, createConfig, http } from "wagmi";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { mainnet, base } from "viem/chains";
import { HuntMintSwapProvider } from "hunt-mint-swap";
// Get your project ID from WalletConnect Cloud
const projectId = "YOUR_WALLET_CONNECT_PROJECT_ID";
// Create wagmi config
const config = createConfig({
chains: [mainnet, base],
transports: {
[mainnet.id]: http(),
[base.id]: http(),
},
});
const queryClient = new QueryClient();
function App() {
return (
<WagmiProvider config={config}>
<QueryClientProvider client={queryClient}>
<HuntMintSwapProvider>{/* Your app content */}</HuntMintSwapProvider>
</QueryClientProvider>
</WagmiProvider>
);
}
export default App;Make sure to set up the following environment variables in your .env file:
VITE_DECENT_API_KEY=your_decent_api_keyimport { MintSwap } from "hunt-mint-swap";
function App() {
const [isOpen, setIsOpen] = useState(false);
return (
<MintSwap
isOpen={isOpen}
onClose={() => setIsOpen(false)}
className="custom-class"
/>
);
}import { HuntBuildingsModal } from "hunt-mint-swap";
function App() {
const [isOpen, setIsOpen] = useState(false);
return (
<HuntBuildingsModal
isOpen={isOpen}
onClose={() => setIsOpen(false)}
className="custom-class"
/>
);
}| Prop | Type | Description |
|---|---|---|
| isOpen | boolean | Controls the visibility of the swap modal |
| onClose | () => void | Callback function when modal is closed |
| className | string? | Optional CSS class for custom on container |
| Prop | Type | Description |
|---|---|---|
| isOpen | boolean | Controls the visibility of the buildings modal |
| onClose | () => void | Callback function when modal is closed |
| className | string? | Optional CSS class for custom on container |
-
White Screen: If you see a white screen, make sure you have:
- Imported the CSS file
- Set up all required providers
- Set the WalletConnect project ID
- Set the DECENT API key in your environment variables
-
Provider Errors: Ensure your providers are in the correct order:
WagmiProvider -> QueryClientProvider -> HuntMintSwapProvider
-
Style Issues: If styles are not loading:
- Check that you've imported the CSS file
- Verify your Tailwind configuration includes the package path
- Make sure PostCSS is properly configured in your build setup
We welcome contributions! Please see our contributing guide for details.
MIT
For support, please open an issue in the GitHub repository: https://github.com/Steemhunt/hunt-mint-swap/issues
