SocialFeeVault
Fletcher fee escrow, social claims, wallet claims, and attester management.
EIP-712 vault for ETH owed to social identities and wallet beneficiaries. Owner manages attesters only. Owner can never touch escrowed ETH.
Constants
| Name | Value |
|---|---|
CLAIM_TYPEHASH | SocialClaim(uint8 platform,bytes32 handleHash,address claimer,uint256 nonce,uint256 deadline) |
ATTESTER_DELAY | 24 hours |
MAX_ATTESTATION_TTL | 1 hour |
| EIP-712 domain | name MintFastSocialFeeVault, version 1 |
Escrow
deposit
function deposit(bytes32 identityKey) external payable;Permissionless accrual. Launchpad calls this on harvest. Emits Deposited.
claim
function claim(
uint8 platform,
bytes32 handleHash,
address claimer,
uint256 nonce,
uint256 deadline,
bytes calldata signature
) external nonReentrant;Platform must be X (1) or GitHub (2). Signature must be from an active attester. Nonce must match. Deadline must be in the future and within MAX_ATTESTATION_TTL of now. Pays full accrued to claimer, bumps nonce, zeroes accrued. Emits Claimed.
claimWallet
function claimWallet(address payable to) external nonReentrant;Pays wallet-keyed escrow to to only. No signature. Emits WalletClaimed.
Views / mappings
accrued(identityKey)nonces(identityKey)isAttester(address)attesterActivatableAt(address)
Attester admin
queueAttester (onlyOwner)
Starts 24h timelock. Emits AttesterQueued.
activateAttester
Anyone after delay. Emits AttesterActivated.
removeAttester (onlyOwner)
Immediate remove or cancel queue. Emits AttesterRemoved.
renounceOwnership
Always reverts OwnershipRenounced.
Trust notes
A compromised owner + attester can redirect unclaimed social fee revenue by issuing bad attestations. They still cannot touch curve reserves, user token balances, locked LP, or already-claimed funds. Keep attester keys in multisig or HSM.
See Claim fees.