Autovault (A)
26 of 30 properties passed and none failed at block 111,240,343. 4 could not be exercised.
Known to the watcher from a backfill scan in block 109,195,820, 2026-09-30 08:11 UTC.
Request a re-checkRuns the same 30 properties at the latest block and attests the new report.
What the watcher saw
Every event the watcher recorded for this vault, newest first. Each check is a statement about one block; a re-check with the same outcome is recorded here without a new attestation.
- CheckedPartly checked
26 pass, 0 fail, 0 inconclusive, 4 not applicable at block 111,240,343, 1 min. Report
Why: scheduled re-check.
- Queued
Waiting for a check: scheduled re-check.
JSON: this vault's history
All 30 properties
In report order. Bit i is the bit the registry's passedBitmap and failedBitmap use for that property.
| Bit | Property | Result | What was found |
|---|---|---|---|
| a16z/erc4626-tests at ac48546, 26 properties: 16 on EIP-4626 MUST sentences, 10 on SHOULD guidance (the round trips and the allowance checks) | |||
| 0 | assettest_assetEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: asset() does not revert |
| 1 | totalAssetstest_totalAssetsEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: totalAssets() does not revert |
| 2 | convertToSharestest_convertToSharesEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: convertToShares gives the same result for any caller |
| 3 | convertToAssetstest_convertToAssetsEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: convertToAssets gives the same result for any caller |
| 4 | maxDeposittest_maxDepositEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: maxDeposit does not revert |
| 5 | previewDeposittest_previewDepositEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: deposit mints at least the shares previewDeposit quoted |
| 6 | deposittest_depositEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: deposit moves assets from the caller, credits shares to the receiver and spends allowance |
| 7 | maxMinttest_maxMintEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: maxMint does not revert |
| 8 | previewMinttest_previewMintEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: mint pulls at most the assets previewMint quoted |
| 9 | minttest_mintEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: mint moves assets from the caller, credits shares to the receiver and spends allowance |
| 10 | maxWithdrawtest_maxWithdrawEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: maxWithdraw does not revert |
| 11 | previewWithdrawtest_previewWithdrawEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: withdraw burns at most the shares previewWithdraw quoted |
| 12 | withdrawtest_withdrawEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: withdraw burns owner shares, pays the receiver and spends share allowance |
| 13 | withdraw-zero-allowancetest_withdraw_zero_allowanceEIP-4626 SHOULD | Pass | No counterexample in 16 fuzz runs at this block. Checks: withdraw on behalf of an owner without allowance reverts |
| 14 | maxRedeemtest_maxRedeemEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: maxRedeem does not revert |
| 15 | previewRedeemtest_previewRedeemEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: redeem pays at least the assets previewRedeem quoted |
| 16 | redeemtest_redeemEIP-4626 MUST | Pass | No counterexample in 16 fuzz runs at this block. Checks: redeem burns owner shares, pays the receiver and spends share allowance |
| 17 | redeem-zero-allowancetest_redeem_zero_allowanceEIP-4626 SHOULD | Pass | No counterexample in 16 fuzz runs at this block. Checks: redeem on behalf of an owner without allowance reverts |
| 18 | RT-deposit-redeemtest_RT_deposit_redeemEIP-4626 SHOULD | Pass | No counterexample in 16 fuzz runs at this block. Checks: redeem(deposit(a)) returns no more than a |
| 19 | RT-deposit-withdrawtest_RT_deposit_withdrawEIP-4626 SHOULD | Pass | No counterexample in 16 fuzz runs at this block. Checks: withdraw(a) burns at least the shares deposit(a) minted |
| 20 | RT-redeem-deposittest_RT_redeem_depositEIP-4626 SHOULD | Pass | No counterexample in 16 fuzz runs at this block. Checks: deposit(redeem(s)) mints no more than s |
| 21 | RT-redeem-minttest_RT_redeem_mintEIP-4626 SHOULD | Pass | No counterexample in 16 fuzz runs at this block. Checks: mint(s) costs at least the assets redeem(s) paid |
| 22 | RT-mint-withdrawtest_RT_mint_withdrawEIP-4626 SHOULD | Pass | No counterexample in 16 fuzz runs at this block. Checks: withdraw(mint(s)) burns at least s shares |
| 23 | RT-mint-redeemtest_RT_mint_redeemEIP-4626 SHOULD | Pass | No counterexample in 16 fuzz runs at this block. Checks: redeem(s) pays no more than mint(s) cost |
| 24 | RT-withdraw-minttest_RT_withdraw_mintEIP-4626 SHOULD | Pass | No counterexample in 16 fuzz runs at this block. Checks: mint(withdraw(a)) costs at least a |
| 25 | RT-withdraw-deposittest_RT_withdraw_depositEIP-4626 SHOULD | Pass | No counterexample in 16 fuzz runs at this block. Checks: deposit(a) mints no more than the shares withdraw(a) burned |
| Specfirst max-honored properties, MIT, each on one EIP-4626 MUST sentence about a max function | |||
| 26 | sf-maxDeposit-honoredtest_sf_maxDeposit_honoredEIP-4626 MUST | Not applicable | Nothing to honor: maxDeposit returned 0 for every test user. EIP-4626 allows a max to underestimate, so there was no advertised amount to hold the vault to. Checks: deposit goes through up to min(maxDeposit, 1e6 tokens); when a smaller amount is refused the bound must go through, and refusals are counted (EIP-4626: maxDeposit MUST NOT be higher than what deposit accepts) Raw resultreason: maxDeposit returned 0 for every test user; there is no max value to honor (EIP-4626 allows underestimating) runs: 0 |
| 27 | sf-maxMint-honoredtest_sf_maxMint_honoredEIP-4626 MUST | Not applicable | Nothing to honor: maxMint returned 0 for every test user. EIP-4626 allows a max to underestimate, so there was no advertised amount to hold the vault to. Checks: mint goes through up to min(maxMint, shares of 1e6 tokens); when a smaller amount is refused the bound must go through, and refusals are counted (EIP-4626: maxMint MUST NOT be higher than what mint accepts) Raw resultreason: maxMint returned 0 for every test user; there is no max value to honor (EIP-4626 allows underestimating) runs: 0 |
| 28 | sf-maxWithdraw-honoredtest_sf_maxWithdraw_honoredEIP-4626 MUST | Not applicable | Nothing to honor: maxWithdraw returned 0 for every test user. EIP-4626 allows a max to underestimate, so there was no advertised amount to hold the vault to. Checks: withdraw goes through up to maxWithdraw; when a smaller amount is refused maxWithdraw must go through, and refusals are counted (EIP-4626: maxWithdraw MUST NOT be higher than what withdraw accepts, and MUST be 0 when withdrawals are disabled) Raw resultreason: maxWithdraw returned 0 for every test user; there is no max value to honor (EIP-4626 allows underestimating) runs: 0 |
| 29 | sf-maxRedeem-honoredtest_sf_maxRedeem_honoredEIP-4626 MUST | Not applicable | Nothing to honor: maxRedeem returned 0 for every test user. EIP-4626 allows a max to underestimate, so there was no advertised amount to hold the vault to. Checks: redeem goes through up to maxRedeem; when a smaller amount is refused maxRedeem must go through, and refusals are counted (EIP-4626: maxRedeem MUST NOT be higher than what redeem accepts, and MUST be 0 when redemptions are disabled) Raw resultreason: maxRedeem returned 0 for every test user; there is no max value to honor (EIP-4626 allows underestimating) runs: 0 |