Recording Holding Periods Without a Hard Fork: A Design Review of SecurityToken.sol
In the previous article, we explored whether the history of ownership over a
period—not merely the balance at a single moment—could be reflected in income rights and voting power. The idea was to
checkpoint only the points at which a balance changed and add up the area between them, producing an address's
balance × number of blocks held.
After writing that article, we reopened the code from 2023. The implementation had existed before the formula was ever written down.
SecurityToken.sol in nigo-protocol-v0 is a prototype that stores each address's change history alongside its ERC-20
balance, then uses that history to let holders claim income allocated over a specified block range. This time, the
question is much more concrete.
How was proof of holding period represented as smart-contract state, and what did that code leave for the next design?