Smart Accounts v1 to v3
Example usage
"use-client"
import { useConvertB3tr } from "@/hooks"
import { useWallet, useUpgradeRequired, useUpgradeSmartAccountModal } from "@vechain/vechain-kit"
// Example component allowing for B3TR to VOT3 conversion
export const ConvertModal = ({ isOpen, onClose }: Props) => {
const { account, connectedWallet, connection } = useWallet()
const isSmartAccountUpgradeRequired = useUpgradeRequired(
account?.address ?? "",
connectedWallet?.address ?? "",
3
)
const { open: openUpgradeModal } = useUpgradeSmartAccountModal()
// A custom convert b3tr to vot3 hook
const convertB3trMutation = useConvertB3tr({
amount,
})
const handleConvertB3tr = useCallback(() => {
if (connection.isConnectedWithPrivy && isSmartAccountUpgradeRequired) {
//Open Upgrade Modal
openUpgradeModal()
return
}
convertB3trMutation.resetStatus()
convertB3trMutation.sendTransaction(undefined)
}, [isSmartAccountUpgradeRequired, convertB3trMutation, openUpgradeModal, connection])
return (
<button onClick={handleConvertB3tr}> Convert my B3TR to VOT3 </button>
)
}Example demo
With UI from the Kit
With custom UI
Last updated
Was this helpful?