0x91C2d23a5af43Bd48Ec6B61C34Ed42DA1cF6F41B
0 of 30 properties passed and none failed at block 111,384,827. 30 could not be exercised.
Found by the watcher at its first Deposit event in block 111,378,910, 2026-10-07 17:13 UTC. No factory the watcher follows announced it. It was not on the hand-made list the board started from.
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.
- First resultPartly checked
0 pass, 0 fail, 28 inconclusive, 2 not applicable.
- CheckedPartly checked
0 pass, 0 fail, 28 inconclusive, 2 not applicable at block 111,384,827, 1 min. Report
Why: first Deposit event from an unknown address.
- Queued
Waiting for a check: first Deposit event from an unknown address.
- Found
First Deposit event from an unknown address in block 111,378,910 tx 0x40b634...5459a3
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 | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: asset() does not revert Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 1 | totalAssetstest_totalAssetsEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: totalAssets() does not revert Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 2 | convertToSharestest_convertToSharesEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: convertToShares gives the same result for any caller Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 3 | convertToAssetstest_convertToAssetsEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: convertToAssets gives the same result for any caller Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 4 | maxDeposittest_maxDepositEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: maxDeposit does not revert Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 5 | previewDeposittest_previewDepositEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: deposit mints at least the shares previewDeposit quoted Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 6 | deposittest_depositEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: deposit moves assets from the caller, credits shares to the receiver and spends allowance Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 7 | maxMinttest_maxMintEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: maxMint does not revert Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 8 | previewMinttest_previewMintEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: mint pulls at most the assets previewMint quoted Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 9 | minttest_mintEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: mint moves assets from the caller, credits shares to the receiver and spends allowance Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 10 | maxWithdrawtest_maxWithdrawEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: maxWithdraw does not revert Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 11 | previewWithdrawtest_previewWithdrawEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: withdraw burns at most the shares previewWithdraw quoted Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 12 | withdrawtest_withdrawEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: withdraw burns owner shares, pays the receiver and spends share allowance Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 13 | withdraw-zero-allowancetest_withdraw_zero_allowanceEIP-4626 SHOULD | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: withdraw on behalf of an owner without allowance reverts Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 14 | maxRedeemtest_maxRedeemEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: maxRedeem does not revert Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 15 | previewRedeemtest_previewRedeemEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: redeem pays at least the assets previewRedeem quoted Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 16 | redeemtest_redeemEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: redeem burns owner shares, pays the receiver and spends share allowance Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 17 | redeem-zero-allowancetest_redeem_zero_allowanceEIP-4626 SHOULD | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: redeem on behalf of an owner without allowance reverts Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 18 | RT-deposit-redeemtest_RT_deposit_redeemEIP-4626 SHOULD | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: redeem(deposit(a)) returns no more than a Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 19 | RT-deposit-withdrawtest_RT_deposit_withdrawEIP-4626 SHOULD | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: withdraw(a) burns at least the shares deposit(a) minted Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 20 | RT-redeem-deposittest_RT_redeem_depositEIP-4626 SHOULD | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: deposit(redeem(s)) mints no more than s Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 21 | RT-redeem-minttest_RT_redeem_mintEIP-4626 SHOULD | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: mint(s) costs at least the assets redeem(s) paid Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 22 | RT-mint-withdrawtest_RT_mint_withdrawEIP-4626 SHOULD | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: withdraw(mint(s)) burns at least s shares Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 23 | RT-mint-redeemtest_RT_mint_redeemEIP-4626 SHOULD | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: redeem(s) pays no more than mint(s) cost Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 24 | RT-withdraw-minttest_RT_withdraw_mintEIP-4626 SHOULD | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: mint(withdraw(a)) costs at least a Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 25 | RT-withdraw-deposittest_RT_withdraw_depositEIP-4626 SHOULD | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. Checks: deposit(a) mints no more than the shares withdraw(a) burned Raw resultreason: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 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 | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. 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: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |
| 29 | sf-maxRedeem-honoredtest_sf_maxRedeem_honoredEIP-4626 MUST | Inconclusive | Never exercised: the vault rejected nearly every amount the fuzzer tried, and forge gave up after 4096 discarded inputs. 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: `vm.assume` rejected too many inputs (4096 allowed) runs: 0 |