Skip to content

Events

fact Copied from contracts/src/core/NoteCore.sol.

EventEmitted byWhen
SeriesCreated(uint256 indexed seriesId, address indexed underlying, address indexed feed, SeriesParams params)createSeriesNew series
CouponDeposited(uint256 indexed seriesId, address indexed account, uint256 quoteAmount)depositCoupon
ShieldDeposited(uint256 indexed seriesId, address indexed account, uint256 stockAmount, uint256 prefundQuote)depositShield
StrikeDeferred(uint256 indexed seriesId, uint40 closeTs)finalizeStrikeOracle not ready
StrikeFinalized(uint256 indexed seriesId, uint256 s0, uint256 matchedNotional, uint16 couponBps, uint256 notionalFee)finalizeStrikeSeries Live
SeriesCancelled(uint256 indexed seriesId)finalizeStrikeNo match or cancelled strike
Observed(uint256 indexed seriesId, uint32 indexed index, uint256 price, bool barrierHolds, bool autocall, Status status)observeSuccessful observation
ObservationDeferred(uint256 indexed seriesId, uint32 indexed index, uint40 closeTs)observeOracle not ready
ObservationSkipped(uint256 indexed seriesId, uint32 indexed index, uint40 closeTs)observeGovernance-cancelled observation
CouponAccrued(uint256 indexed seriesId, uint32 indexed index, uint256 gross, uint256 fee, uint256 couponIndex)observeBarrier held
PositionSettled(uint256 indexed seriesId, address indexed account, uint256 couponUnits, uint256 shieldUnits, uint256 refundQuote, uint256 refundStock)settle and implicit settlesLazy mint
Claimed(uint256 indexed seriesId, address indexed account, uint256 quoteOut)claim
Redeemed(uint256 indexed seriesId, address indexed account, uint8 leg, uint256 units, uint256 quoteOut, uint256 stockOut)redeem, redeemShield
Refunded(uint256 indexed seriesId, address indexed account, uint256 quoteOut, uint256 stockOut)refund
FeesSwept(uint256 indexed seriesId, address indexed feeSink, uint256 amount)sweepFees
KeeperPaid(uint256 indexed seriesId, address indexed keeper, uint256 amount)finalizeStrike, observe, and lazily from claim, redeem, redeemShield, settle, refund
FeeSinkSet(address indexed feeSink), OracleSet(address indexed oracle), CalendarSet(address indexed calendar)admin
FeesSet(uint16 couponFeeBps, uint16 notionalFeeBps), KeeperRewardSet(uint256 keeperRewardQuote), LimitsSet(uint16 maxCouponCapBps, uint16 maxObservations)admin
SeriesCreatorSet(address indexed oldCreator, address indexed newCreator)setSeriesCreator

Plus OpenZeppelin Paused(address), Unpaused(address), OwnershipTransferStarted and OwnershipTransferred (Ownable2Step), and GuardianUpdated from Governed.

fact Added by the Upgradeability and recovery addendum. Status.Unwound is terminal; Observed and CouponAccrued never follow SeriesUnwound.

EventWhen
ModuleUpdated(bytes32 indexed key, address oldValue, address newValue, uint40 effectiveAt)setOracle, setCalendar, setFeeSink; effectiveAt = now + 24 h
ParamUpdated(bytes32 indexed key, uint256 oldValue, uint256 newValue, uint40 effectiveAt)setKeeperReward
UnwindProposed(uint256 indexed seriesId, uint40 at)proposeUnwind; unwind is possible from at + 48 h
UnwindCancelled(uint256 indexed seriesId)cancelUnwind by owner or guardian
SeriesUnwound(uint256 indexed seriesId, uint256 quoteLiabilities, uint256 stockLiabilities)unwind; status becomes Unwound, entitlements frozen
UnwoundWithdrawn(uint256 indexed seriesId, address indexed account, uint256 quoteOut, uint256 stockOut)withdrawUnwound
ExcessSwept(address indexed token, address indexed to, uint256 amount)sweepExcess; amount = balance − recordedLiabilities(token)
EventWhen
CoreRegistered(uint256 indexed version, address indexed core)register
CoreDeprecated(uint256 indexed version, address indexed core)deprecate; the core stops accepting createSeries

Standard ERC-1155 TransferSingle, TransferBatch, ApprovalForAll, URI.

fact From contracts/src/oracle/.

EventWhen
ParamsUpdated(uint40 settlementWindow, uint40 maxLookback, uint16 maxDeviationBps, uint40 deferralWindow, uint40 forceDelay, uint16 maxRoundWalk, uint40 freshLag)setParams
CloseWindowUpdated(uint40 closeGrace, uint40 maxPreCloseLag)setCloseWindow
BackupFeedSet(address indexed primary, address indexed backup)Backup registration
ObservationDeferred(address indexed feed, uint40 indexed closeTs, uint40 at)First failed read for a close
ObservationResolved(address indexed feed, uint40 indexed closeTs, uint256 price, bool forced)Read succeeded or force executed
ForceObserveProposed(address indexed feed, uint40 indexed closeTs, uint256 price, uint40 executeAfter)Governance proposal after deferralWindow
ForceObserveRevoked(address indexed feed, uint40 indexed closeTs)Owner or guardian revoke
ForceObserveExecuted(address indexed feed, uint40 indexed closeTs, uint256 price)After forceDelay
ObservationCancelled(address indexed feed, uint40 indexed closeTs)Governance cancel
HolidaySet(uint32 indexed dayIndex, bool isHoliday), EarlyCloseSet(uint32 indexed dayIndex, uint40 closeTs)Calendar
GuardianUpdated(address indexed previousGuardian, address indexed newGuardian)All Governed modules

fact From the contract sources.

ContractEvents
NOTEMinterUpdated(address indexed account, bool allowed), MintCapPerEpochUpdated(uint256 previousCap, uint256 newCap), Minted(address indexed minter, address indexed to, uint256 amount, uint256 indexed epoch)
sNOTERewardNotified(address indexed notifier, uint256 amount, uint256 unvestedCarried, uint256 streamEnd), RewardNotifierUpdated(address indexed previous, address indexed current), CooldownUpdated(uint256 previous, uint256 current), WithdrawRequested(address indexed owner, uint256 shares, uint256 totalPending, uint256 unlockAt), WithdrawRequestCancelled(address indexed owner, uint256 shares), ERC-4626 Deposit/Withdraw
TreasuryAssetAdded(address indexed token, AssetKind kind, address indexed feed), AssetEnabled(address indexed token, bool enabled), LegSeriesRegistered(uint256 indexed seriesId), DeskUpdated(address indexed previous, address indexed current), BondDepositoryUpdated(address indexed previous, address indexed current), MaxFeedStalenessUpdated(uint256 previous, uint256 current), RedemptionParamsUpdated(uint16 haircutBps, uint16 dailyCapBps), Redeemed(address indexed account, uint256 noteAmount, uint256 quoteOut), SeriesHarvested(uint256 indexed seriesId, uint256 couponOut, uint256 unitsRedeemed, uint256 quoteOut, uint256 stockOut), StockPurchased(address indexed token, uint256 amount, uint256 quotePaid), NoteMinted(address indexed to, uint256 amount), Withdrawn(address indexed token, address indexed to, uint256 amount), LegsWithdrawn(uint256 indexed seriesId, address indexed to, uint256 units)
BondDepositoryMarketCreated(uint256 indexed id, QuoteKind kind, address indexed quoteToken, uint256 legSeriesId, uint256 capacity, uint256 controlVariable, uint256 minPriceWad, uint256 maxDebt, uint48 vestingSeconds, uint48 conclusion), MarketClosed(uint256 indexed id), ControlVariableUpdated(uint256 indexed id, uint256 previous, uint256 current), DiscountParamsUpdated(uint16 k, uint16 maxDiscountBps), DeskUpdated(address indexed previous, address indexed current), Bonded(uint256 indexed id, address indexed depositor, address indexed recipient, uint256 amount, uint256 payout, uint256 priceWad, uint256 bondIndex), Redeemed(address indexed recipient, uint256 indexed bondIndex, uint256 amount)
RevenueRouterFeeNotified(address indexed token, uint256 amount, address indexed from), FeesRouted(uint256 toBuyback, uint256 toTreasury), SplitUpdated(uint16 buybackBps), AuctionParamsUpdated(uint256 halfLifeSeconds, uint16 bumpBps, uint16 maxFillBps), AuctionReset(uint256 startPriceWad), Buyback(address indexed seller, uint256 noteAmount, uint256 quoteOut, uint256 priceWad, uint256 newStartPriceWad), Swept(address indexed token, address indexed to, uint256 amount)
DeskERC-4626 Deposit/Withdraw, CapsUpdated(uint16 perSeriesCapBps, uint16 perUnderlyingCapBps, uint16 totalDeployedCapBps), MaxFeedStalenessUpdated(uint256 previous, uint256 current), QueueProcessLimitUpdated(uint256 previous, uint256 current), CouponFilled(uint256 indexed seriesId, address indexed underlying, uint256 amount), Refunded(uint256 indexed seriesId, uint256 quoteOut, uint256 stockOut), Harvested(uint256 indexed seriesId, INoteCore.Status status, uint256 couponOut, uint256 units, uint256 quoteOut, uint256 stockOut), PrincipalReleased(uint256 indexed seriesId, uint256 principal, uint256 recovered), StockTracked(address indexed token), StockLiquidated(address indexed token, uint256 amount, uint256 quoteIn), StockSwept(address indexed token, address indexed to, uint256 amount), WithdrawRequested(uint256 indexed id, address indexed owner, address indexed receiver, uint256 shares), WithdrawRequestCancelled(uint256 indexed id, address indexed owner, uint256 shares), WithdrawRequestFilled(uint256 indexed id, address indexed owner, address indexed receiver, uint256 shares, uint256 assets), PerUnderlyingCapSet(address indexed underlying, uint16 bps, address indexed source), GaugeControllerUpdated(address indexed previous, address indexed current)
UUPS modules (Treasury, BondDepository, RevenueRouter, Desk)ERC-1967 Upgraded(address indexed implementation), UpgradeTimelockUpdated(address indexed previous, address indexed current), Initialized(uint64 version), OwnershipTransferStarted, OwnershipTransferred, GuardianUpdated(address indexed previousGuardian, address indexed newGuardian), Paused(address account), Unpaused(address account)

fact From contracts/src/governance/. OpenZeppelin Governor and TimelockController events are standard and listed by name only.

ContractEvents
veNOTEDeposit(address indexed provider, uint256 value, uint256 indexed lockEnd, DepositKind kind, uint256 timestamp) with DepositKind { DepositFor, CreateLock, IncreaseAmount, IncreaseUnlockTime, LockFromStaked }, StakedDeposit(address indexed provider, uint256 shares, uint256 noteEquivalent), Withdraw(address indexed provider, uint256 value, uint256 stakedShares, uint256 timestamp), Supply(uint256 previousSupply, uint256 newSupply)
NoteGovernor, UpgradeGovernorOZ ProposalCreated, ProposalQueued, ProposalExecuted, ProposalCanceled, VoteCast, VoteCastWithParams (fractional votes carry params), VotingDelaySet, VotingPeriodSet, ProposalThresholdSet, QuorumNumeratorUpdated, TimelockChange; NoteGovernor adds ProposalThresholdBpsSet(uint256 previous, uint256 current)
Timelock (48 h), UpgradeTimelock (7 d)OZ CallScheduled, CallSalt, CallExecuted, Cancelled, MinDelayChange, RoleGranted, RoleRevoked
GaugeControllerAddType(string name, int128 indexed typeId), NewTypeWeight(int128 indexed typeId, uint256 time, uint256 weight, uint256 totalWeight), NewGaugeWeight(address indexed gauge, uint256 time, uint256 weight, uint256 totalWeight), VoteForGauge(uint256 time, address indexed user, address indexed gauge, uint256 weight), NewGauge(address indexed gauge, int128 indexed gaugeType, uint256 weight, address indexed underlying), DeskUpdated(address indexed previous, address indexed current), CapSynced(address indexed underlying, uint256 relativeWeight, uint16 bps, uint256 week)
EmissionScheduleScheduleUpdated(uint256 initialWeekly, uint256 decayBps, uint256 decayPeriodWeeks, uint256 floorWeekly)
MinterScheduleUpdated(address indexed previous, address indexed current), WeeklyMint(uint256 indexed week, uint256 budget, uint256 minted), GaugeMinted(uint256 indexed week, address indexed gauge, uint256 relativeWeight, uint256 amount)
DeskGauge, StakingGauge, SeriesGaugeMinterUpdated(address indexed previous, address indexed current), RewardAdded(uint256 amount, uint256 carried, uint256 periodFinish), Staked(address indexed account, uint256 amount), Withdrawn(address indexed account, uint256 amount), RewardPaid(address indexed account, uint256 amount)
  • Reconstruct a series timeline from SeriesCreated → (CouponDeposited | ShieldDeposited)* → (StrikeDeferred)* → StrikeFinalized | SeriesCancelled → (Observed | ObservationDeferred | ObservationSkipped | CouponAccrued)* → (Claimed | Redeemed | Refunded)*.
  • Observed.status reports the status after the observation, so Autocalled and Matured are detectable from the event alone.
  • CouponAccrued.couponIndex is cumulative; the net coupon for that observation is gross − fee.
  • StrikeFinalized.notionalFee plus the sum of CouponAccrued.fee minus KeeperPaid.amount equals the total available for FeesSwept.
  • Gauge weights for a week are final once VoteForGauge events with time < weekStart are summed; CapSynced for that week reports the resulting Desk cap per underlying, and WeeklyMint plus GaugeMinted give the emission split. WeeklyMint.minted < budget means the NOTE epoch cap bound that week.
  • A series is in recovery when UnwindProposed has no later UnwindCancelled or SeriesUnwound; after SeriesUnwound, UnwoundWithdrawn sums per token converge to quoteLiabilities and stockLiabilities.