サポートされているトークンにオンランプし、ご自身のカスタムトークンへスワップします。
Web SDKで接続する
サポートされているトークンにオンランプする
オンランプが成功した後に状態を更新する
onOrderSuccessful
import { useState } from 'react' import { useAddFundsModal } from '@0xsequence/checkout' import { useAccount } from 'wagmi' export const OnRampAndSwap = () => { const { triggerAddFunds: toggleAddFunds } = useAddFundsModal() const { address: smartWalletAddress } = useAccount() const [canSwap, setCanSwap] = useState(true) const onTriggerAddFunds = () => { if (smartWalletAddress) { toggleAddFunds({ walletAddress: smartWalletAddress, onOrderSuccessful(data) { console.log('Order successful', data) setCanSwap(true) }, }) } } return ( <> <button onClick={onTriggerAddFunds}>On Ramp</button> </> ) }
Smart Swapsでカスタムトークンにスワップする
useSwapModal
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 toTokenAmount = '10000000000' // amount in wei const toTokenAddress = '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, toTokenAddress, toTokenAmount, 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>} </> ) }
Was this page helpful?