mint.fast docs

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

NameValue
CLAIM_TYPEHASHSocialClaim(uint8 platform,bytes32 handleHash,address claimer,uint256 nonce,uint256 deadline)
ATTESTER_DELAY24 hours
MAX_ATTESTATION_TTL1 hour
EIP-712 domainname 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.