mersui
v0.5.0
Published
[](https://badge.fury.io/js/mersui) [](https://bundlephobia.com/result?p=mersui) [ {
return (
<MerSuiProvider network="mainnet">
<YourApp />
</MerSuiProvider>
);
}MerSuiProvider Props (IMerSuiProvider)
| Prop | Type | Default | Description | | ------------------- | -------- | ------- | ----------- | | network | "localnet", "devnet", "testnet", "mainnet" | "mainnet" | Network type |
Then, use the MerSuiWidget component to render the button.
import { MerSuiWidget } from "mersui";
function App() {
return (
<div>
<MerSuiWidget recipientAddress="0x..." />
</div>
);
}MerSuiWidget Props (IMerSuiWidget)
| Prop | Type | Default | Description |
| ------------------- | -------- | ------- | ----------- |
| recipientAddress | string | - | Sui address of the recipient |
| amount | number | 3 | Optional amount in USD |
| buttonLabel | string | "MerSui" | Optional button label |
| containerClassName | string | - | Optional class name for the button container |
| buttonClassName | string | - | Optional class name for the button |
| statusClassName | string | - | Optional class name for the status message. The status-success and status-error classes are automatically added for your convenience. |
That's it! Enjoy!
Pyth integration
MerSui uses Pyth's Sponsored Feed for SUI/USD to properly calculate the transaction amount in SUI. See lib/MerSuiWidget.tsx/fetchSuiPrice.
Known issues
- Next.js: Global CSS cannot be imported from within node_modules https://github.com/vercel/next.js/issues/19936
Development
The lib folder contains the source code of the library.
The src folder contains a demo app that you can use to play with the library locally.
But before that, you need to set up the environment variables:
# .env.local
VITE_RECIPIENT_ADDRESS=0x...Then, run the development server:
pnpm devBuild the library
pnpm buildLicense & copyright
Copyright (c) 2024 Konstantin Komelin
Licensed under the MIT License.
