WEEDSWAP
WeedSwap Docs

Events

The indexer routes known event topics by signature and preserves unknown logs as raw protocol events.

#Farming events

EventUse
PoolAdded / PoolConfiguredPool terms and active state
DepositRequested, received, fee, and credited stake
WithdrawReturned credited principal
HarvestTransferred base reward
RewardLockedReward held until the user timer opens
EmergencyWithdrawReturned principal and stored locked reward forfeiture; its forfeitedRewards field excludes unsettled pending base rewards that the exit also abandons

#Emission and referral events

EventUse
RateScheduledEmission checkpoint change
RewardsReleasedBase budget release and cumulative total
ReferralBoundPermanent invitee to referrer binding
TierSnapshotTier inputs observed at a base reward
CommissionPaid / InviteeBoostPaidReferral-category payment
ReferralPayoutClippedA nonzero vault payment was below the request because of remaining budget, the per-payout cap, or the recipient/category lifetime cap
ReferralReserveExhaustedWeedReferral observed a payment below its preview; despite the name, this does not prove that the global referral reserve is empty

#Programs and v3 events

  • ProgramCreated, ProgramScheduled, Staked, Withdrawn, RewardPaid, and EmergencyWithdrawal describe finite programs.
  • IncentiveCreated and IncentiveEnded describe a funded direct-v3 reward window.
  • TokenDeposited, TokenStaked, TokenUnstaked, RewardClaimed, and TokenWithdrawn describe NFT custody and rewards.
  • VaultCreated, Deposited, Redeemed, and FeesCollected describe vault identity and share flows.
  • PositionLocked and PositionWithdrawn describe locker custody. BootstrapFundsReleased describes only a reserve transfer; it does not prove position creation or NFT locking.

#Indexing rules

Use chain ID, transaction hash, and log index as an idempotent event key. Preserve block hash and parent hash, wait for the configured confirmation depth, and rewind canonical data when a parent mismatch indicates a reorg.

#Events are not complete state

Read current contract state alongside events. A configuration event can be superseded, an index can lag, and event fields can require contract decimals or pool context. Never derive a live balance from marketing copy or an unconfirmed log alone.

#Current phase