Events
NoteCore
Section titled “NoteCore”fact Copied from contracts/src/core/NoteCore.sol.
| Event | Emitted by | When |
|---|---|---|
SeriesCreated(uint256 indexed seriesId, address indexed underlying, address indexed feed, SeriesParams params) | createSeries | New 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) | finalizeStrike | Oracle not ready |
StrikeFinalized(uint256 indexed seriesId, uint256 s0, uint256 matchedNotional, uint16 couponBps, uint256 notionalFee) | finalizeStrike | Series Live |
SeriesCancelled(uint256 indexed seriesId) | finalizeStrike | No match or cancelled strike |
Observed(uint256 indexed seriesId, uint32 indexed index, uint256 price, bool barrierHolds, bool autocall, Status status) | observe | Successful observation |
ObservationDeferred(uint256 indexed seriesId, uint32 indexed index, uint40 closeTs) | observe | Oracle not ready |
ObservationSkipped(uint256 indexed seriesId, uint32 indexed index, uint40 closeTs) | observe | Governance-cancelled observation |
CouponAccrued(uint256 indexed seriesId, uint32 indexed index, uint256 gross, uint256 fee, uint256 couponIndex) | observe | Barrier held |
PositionSettled(uint256 indexed seriesId, address indexed account, uint256 couponUnits, uint256 shieldUnits, uint256 refundQuote, uint256 refundStock) | settle and implicit settles | Lazy 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.
Recovery and module events
Section titled “Recovery and module events”fact Added by the Upgradeability and recovery addendum. Status.Unwound is terminal; Observed and CouponAccrued never follow SeriesUnwound.
| Event | When |
|---|---|
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) |
SeriesRegistry
Section titled “SeriesRegistry”| Event | When |
|---|---|
CoreRegistered(uint256 indexed version, address indexed core) | register |
CoreDeprecated(uint256 indexed version, address indexed core) | deprecate; the core stops accepting createSeries |
NoteLegs
Section titled “NoteLegs”Standard ERC-1155 TransferSingle, TransferBatch, ApprovalForAll, URI.
OracleAdapter and MarketCalendar
Section titled “OracleAdapter and MarketCalendar”fact From contracts/src/oracle/.
| Event | When |
|---|---|
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 |
Token engine
Section titled “Token engine”fact From the contract sources.
| Contract | Events |
|---|---|
NOTE | MinterUpdated(address indexed account, bool allowed), MintCapPerEpochUpdated(uint256 previousCap, uint256 newCap), Minted(address indexed minter, address indexed to, uint256 amount, uint256 indexed epoch) |
sNOTE | RewardNotified(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 |
Treasury | AssetAdded(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) |
BondDepository | MarketCreated(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) |
RevenueRouter | FeeNotified(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) |
Desk | ERC-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) |
Governance
Section titled “Governance”fact From contracts/src/governance/. OpenZeppelin Governor and TimelockController events are standard and listed by name only.
| Contract | Events |
|---|---|
veNOTE | Deposit(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, UpgradeGovernor | OZ 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 |
GaugeController | AddType(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) |
EmissionSchedule | ScheduleUpdated(uint256 initialWeekly, uint256 decayBps, uint256 decayPeriodWeeks, uint256 floorWeekly) |
Minter | ScheduleUpdated(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, SeriesGauge | MinterUpdated(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) |
Indexer notes
Section titled “Indexer notes”- Reconstruct a series timeline from
SeriesCreated → (CouponDeposited | ShieldDeposited)* → (StrikeDeferred)* → StrikeFinalized | SeriesCancelled → (Observed | ObservationDeferred | ObservationSkipped | CouponAccrued)* → (Claimed | Redeemed | Refunded)*. Observed.statusreports the status after the observation, soAutocalledandMaturedare detectable from the event alone.CouponAccrued.couponIndexis cumulative; the net coupon for that observation isgross − fee.StrikeFinalized.notionalFeeplus the sum ofCouponAccrued.feeminusKeeperPaid.amountequals the total available forFeesSwept.- Gauge weights for a week are final once
VoteForGaugeevents withtime < weekStartare summed;CapSyncedfor that week reports the resulting Desk cap per underlying, andWeeklyMintplusGaugeMintedgive the emission split.WeeklyMint.minted < budgetmeans the NOTE epoch cap bound that week. - A series is in recovery when
UnwindProposedhas no laterUnwindCancelledorSeriesUnwound; afterSeriesUnwound,UnwoundWithdrawnsums per token converge toquoteLiabilitiesandstockLiabilities.