Submit a quote
Approve ERC20 transfer (if applicable)
import { useWriteContract, useReadContract } from 'wagmi';
const quote = {}; // HTTP POST to https://opencover.com/api/quote, see "Get a quote"
// If a user decides to pay in USDC, find the corresponding payment quote
const paymentQuote = quote.quotes.find(q => q.premium.currency.symbol === 'USDC');
// Base mainnet Quote contract address
const contractAddress = '0xD68647555e5da198d50866334EEd647cbE3d1556';
// Read asset metadata to get ERC20 contract address
const { data: asset } = useReadContract({
address: contractAddress,
abi: QuoteAbi,
functionName: 'assets',
args: [quote.providerId, paymentQuote.premium.currency.assetId]
});
const { writeContract } = useWriteContract();
// Approve OpenCover Quote contract to allow ERC20 payment
writeContract({
address: asset.assetAddress,
abi: ERC20Abi,
functionName: 'approve',
args: [
contractAddress,
BigInt(paymentQuote.premium.value),
],
});Submit selected quote
Track quote status
Last updated

