
RobinPay harvests against the dividend factor, never the raw multiplier. A stock token moves the same number for a dividend and for a split, but only a dividend is income.
RobinPay sells exactly the surplus a dividend creates: stockHeld times (D1 minus D0) over D1. A split moves nothing, so principal is never touched.

English