Custom Fees
Overview
Basic Usage
1. Setting Up Beneficiaries
import { BeneficiaryData, WAD, DEAD_ADDRESS } from 'doppler-v4-sdk';
// Define beneficiaries with their share percentages
// WAD is a constant equal to 1e18, representing 100% in fixed-point arithmetic
const beneficiaries: BeneficiaryData[] = [
{
beneficiary: '0x...protocol', // Protocol treasury
shares: BigInt(0.05e18), // 5% in WAD (1e18 = 100%)
},
{
beneficiary: '0x...integrator', // Integrator
shares: BigInt(0.05e18), // 5% in WAD (1e18 = 100%)
},
{
beneficiary: '0x...team', // Team/DAO
shares: BigInt(0.9e18), // 90% in WAD
},
];
// Sort beneficiaries (required for contract validation)
const sortedBeneficiaries = factory.sortBeneficiaries(beneficiaries);2. Creating V4 Migrator Data
Post-Migration Operations
1. Distributing Fees
2. Claiming Fees (Beneficiaries)
3. Updating Beneficiary Address
Complete Examples
Quick Example
Key Points
Last updated