import { useState } from 'react'
import { SwapModalSettings, useAddFundsModal, useSwapModal } from '@0xsequence/checkout'
import { useAccount } from 'wagmi'
export const OnRampAndSwap = () => {
const { triggerAddFunds: toggleAddFunds } = useAddFundsModal()
const { openSwapModal } = useSwapModal()
const { address: smartWalletAddress, chainId } = useAccount()
const [canSwap, setCanSwap] = useState(true)
const buyCurrencyAmount = '10000000000' // amount in wei
const buyCurrencyAddress = '0x...' // custom token address
const onTriggerAddFunds = () => {
if (smartWalletAddress) {
toggleAddFunds({
walletAddress: smartWalletAddress,
onOrderSuccessful(data) {
console.log('Order successful', data)
setCanSwap(true)
},
})
}
}
const onSwap = () => {
const swapModalSettings: SwapModalSettings = {
onSuccess: () => {
console.log('Swap successful')
},
chainId,
currencyAddress: buyCurrencyAddress,
currencyAmount: buyCurrencyAmount,
title: `Buy our custom token`,
description: 'Choose your payment method'
}
openSwapModal(swapModalSettings)
}
return (
<>
{canSwap ? <button onClick={onSwap}>Swap</button> : <button onClick={onTriggerAddFunds}>On Ramp</button>}
</>
)
}