Stock Ledger Integrate
Adjustments

Splits, mergers and what actually changes

A split changes nothing about what a holder owns and everything about the numbers describing it. Under ERC-8056 it changes even less than you would expect: the balance in the contract does not move at all.

What a four for one split looks like

This is not hypothetical. CRWD carries exactly this step in the log, from 1.000000000 to 4.000000000.

BeforeAfter
Your balance in the contract100100
uiMultiplier()1.0000000004.000000000
Shares standing behind them100400
Price per underlying share$400.00$100.00
Value of the position$40,000$40,000

Nothing was transferred, no balance was rewritten, and the oracle price of the token did not jump, because the feed already includes the multiplier. Anything reading balanceOf() alone sees an unchanged number and concludes, wrongly, that no event happened.

Why the factor is published before the event

A consumer that stores its own price or position history needs the factor to normalise it, and it needs it before the step rather than after. The registry publishes the cumulative factor per contract so a stored series can be adjusted without refetching it.

Mergers

A merger ends the wrapper: the underlying share is exchanged for cash, stock, or both. How this is handled on chain is not described in the issuer documentation we have, and we are not going to invent it. The registry marks a contract terminated when it stops being redeemable and records what the position converted into, once that is known from a public announcement.

Ordering. When a ratio event and a cash event share an effective time, the ratio applies first and the cash amount is expressed in post split terms. The registry states the order explicitly on every affected event rather than leaving it to be inferred.