Questions
The obvious objections
Does a Deposit event not already tell you the price?
Yes, and that is the honest version of the finding. Deposit(sender, owner, assets, shares)
pins the conversion rate at that instant, so a vault's price is recoverable at the blocks where
somebody entered or left. What it cannot tell you is the price at any other moment — the ones where you
were holding and nobody transacted. Median across 49 live vaults: 0.0000% of
blocks over a common 4.7-day window, and a typical gap of 3.4 days between two knowable moments.
Is this not just a pruned node?
It is, and that is the point rather than a complaint. An event is part of the chain's own record and every node that syncs carries it; a historical state read is a service somebody chooses to offer. The public endpoint for this chain offers about 10.2 minutes of it. Run an archive node and the answer depends on who runs it; put the number in a log and it does not.
Why not index the vault yourself?
Then the history exists as long as your indexer does, and a reader has to trust it. chronology()
is the difference: one word, in the contract, that any reader can compare their reconstruction against. An
indexer that dropped a layer is indistinguishable from an honest one until you have that word.
What does the extra event cost?
About 1,100 gas per mutation — one LOG2 with two words of data, plus the storage write for the
accumulator. On a chain with 0.10-second blocks that is not the constraint. The site would
rather state the cost than imply there isn't one.
Is the vault audited?
No. 29 properties are executed on Robinhood Chain's own EVM and 21 deliberate defects are each confirmed caught by a named property or declared a survivor with a reason, and the ABI surface is read mechanically. That is a self-review, not an audit, and the state page says so per part.
Can the steward steal the assets?
Not in the configuration the app deploys, where steward is the zero address and
report() reverts for everybody including the deployer — property 19, with a control proving the
same call succeeds on a vault that does have a steward. Where a steward is set, it can mark the position by
at most reportCapPpm per report and no more often than reportGap blocks, and it can never
move an asset: there is no transfer path out of the contract that does not burn shares.
Why is it called Varve?
A varve is the pair of sediment layers a lake lays down in one year. The Lake Suigetsu core has more than 50,000 of them and calibrates radiocarbon dating for everybody, and it works because every layer was laid down while the year it records was happening. The argument is the same shape.