HETHRobinhood Chain Testnet
Sign-in is loading…
Price of 1 HWhat one H costs in ETH in the pool right now.unavailableUSD unavailableThe ETH figure converted at the ETH price our server read from a public exchange, named beside it with its age. It is a conversion for reading, made outside the contract: the contract knows no USD price.
Market capThe circulating supply multiplied by the price: the value, at the price of this moment, of the H in holders' hands. It leaves out the H in the protocol's own liquidity and walls; FDV counts that H too.unavailableUSD unavailable
FDVFully diluted valuation: the total supply multiplied by the price. It counts every H that exists now, the H in the protocol's own liquidity and walls included; market cap counts only the circulating supply.unavailableUSD unavailable
SupplyAll H that exists now: everything minted and mined so far minus everything burned.unavailableunavailableThe H in holders' hands, as the contract itself counts it: the total supply without the H in the protocol's own liquidity and walls. The contract counts that H at an averaged price, not the price of the moment, so the figure follows a large trade a little later.
No dataReading the key figures…

Transparency

The contracts, the numbers of the holders' vote, and every rule the contract must keep with the tests that check it.

Contracts

Robinhood Chain Testnet, chain 46630. Each address links to the explorer, where the source of our contracts is published.

Deployed in chain block 132565304: 0x318e6b2bd18fb23e8bc22877d78811a628753e3692a106300c1df0bd5960ece5

After a crash

What happens after a crash: who buys when you sell, and when a sell cannot be paid.

New versions and the holders' voteHolders decide with a simple YES or NO. A new version is approved when the YES voters hold enough Powered H and their score is higher than the NO voters' score. No team key can decide it or stop it.

Read from the contract at one chain block. What the vote is and how to vote: Vote. Times are counted in The contract's own unit of time, about seven minutes. Mining, rewards and the walls all run on it. It is not the chain's block.; votes weigh by Your Powered H multiplied by the time you have held it, counted by the contract in whole points: 1 point is 1,000 H Powered for one HETH day. It decides your share of the daily holder rewards and the weight of your vote: twice the score, twice the share..

Reading the live state…

The rules the contract must always keep, and their tests

Each rule is checked by the tests named under it. A sabotage is a deliberate break of the contract that one of those tests must catch.

  • INV-0 · 65 tests · 33 sabotages
    • V2NeverStuck.invariant_every_recovery_action_works
    • C1Successor.test_F218_migrate_before_a_successor_says_NoSuccessor_where_the_zero_address_holds_ETH
    • WallAudit.invariant_W0_no_unexpected_revert
    • V2MoneyInvariants.invariant_heartbeats_never_revert_but_for_not_due
    • F09Replay.test_F09_attack_sequence_never_bricks_the_heartbeat
    • F09Replay.test_F09_placement_near_the_edge_never_bricks_the_heartbeat
    • D46.test_D46_gas_is_linear_in_locked_legacy
    • WallAudit.invariant_W3_the_legacy_store_stays_within_its_derivation
    • F09Guard.test_F09_a_placement_near_the_tick_edge_is_declined_not_reverted
    • Falsifier_S08.test_S08_a_flush_over_the_per_tick_maximum_at_the_upper_tick_is_skipped_and_retried
    • Falsifier_S08.test_S08_a_flush_over_the_per_tick_maximum_at_the_lower_tick_is_skipped_and_retried
    • Falsifier_S08.test_S08_a_flush_that_exactly_reaches_the_per_tick_maximum_is_placed
    • Falsifier_S08.test_S08_a_flush_one_unit_over_the_per_tick_maximum_is_skipped
    • WallAudit.invariant_W4_the_price_never_leaves_the_book
    • WallAudit.invariant_W5_every_d46_move_does_what_it_must
    • V2MoneyInvariants.invariant_the_price_never_leaves_the_book
    • V2MoneyInvariants.invariant_every_d46_move_does_what_it_must
    • V2NeverStuck.invariant_every_d46_move_does_what_it_must
    • C1Successor.test_C1_an_exit_at_100_legacy_rungs_fits_the_ceiling
    • F97Proof.testFuzz_F97_a_floored_liquidity_never_costs_more_than_its_amount
    • F97Proof.testFuzz_F97_on_tick_aligned_rungs
    • AuditStuck.test_S03_the_pol_residue_is_settled_once_and_never_flushed_again
    • AuditStuck.test_S03b_ordinary_buys_never_open_a_dust_pol_range
    • D46.test_F95_a_dust_cascade_closes_the_sell_side_until_one_small_buy
    • D78PendingQueue.test_D78_the_queue_resolves_exactly_as_the_range_did
    • S05PendingCatchupGas.test_S05_a_heartbeat_through_a_wide_pending_range_fits_the_gas_ceiling
    • S05PendingCatchupGas.test_S05_the_cost_is_the_per_block_resolution_inside_the_range
    • V2Defects.test_INV20_donate_refused
    • Falsifier_B5.test_B5_A2_a_prepaying_router_sell_rebases_and_completes
    • Falsifier_B5.test_B5_a_call_that_did_nothing_does_not_consume_the_blocks_gate
    • Falsifier_B5.test_B5_a_slot_only_call_pays_nothing
    • Falsifier_B5.test_B5_the_heartbeat_before_the_first_anchor_is_gated_and_unpaid
    • Falsifier_B5.test_B5_F244_a_placement_above_zero_and_under_the_minimum_pays_nothing
    • Falsifier_F313.test_F313_a_count_at_its_maximum_never_reverts_an_exit_or_a_placement
    • Step5eBatch.test_5e2b_fail_succeed_fail_stays_on_native_ETH
    • Step5eBatch.test_5e2b_two_failures_in_a_row_switch_to_WETH_and_WETH_is_delivered
    • Step5eBatch.test_5e2b_a_wallet_that_calls_the_PoolManager_fails_alone_and_the_batch_completes
    • Step5eClaimBound.test_5e2c_a_claim_stops_at_256_entries_and_the_next_claim_pays_the_257th
    • Step5eClaimBound.test_5e2c_a_batch_payout_delivers_256_entries_for_their_fee_and_leaves_the_257th
    • Falsifier_WallCallGates.test_F306_a_second_wall_call_in_one_block_is_refused_though_new_pending_is_due
    • Falsifier_SettleRebateNeverReverts.test_SNR_1_any_arguments_never_revert_with_nothing_reserved
    • Falsifier_SettleRebateNeverReverts.test_SNR_1_any_arguments_never_revert_with_a_reserve_from_real_buys
    • Falsifier_SettleRebateNeverReverts.test_SNR_1_any_arguments_never_revert_after_rebates_were_fixed_and_forfeited
    • Falsifier_SettleRebateNeverReverts.test_SNR_1_any_arguments_never_revert_with_a_successor_active
    • Falsifier_SettleRebateNeverReverts.test_SNR_1_any_arguments_never_revert_with_a_successor_active_and_nothing_reserved
    • Falsifier_SettleRebateNeverReverts.testFuzz_SNR_1_any_arguments_never_revert_with_nothing_reserved
    • Falsifier_SettleRebateNeverReverts.testFuzz_SNR_1_any_arguments_never_revert_with_a_reserve_from_real_buys
    • Falsifier_SettleRebateNeverReverts.testFuzz_SNR_1_any_arguments_never_revert_after_rebates_were_fixed_and_forfeited
    • Falsifier_SettleRebateNeverReverts.testFuzz_SNR_1_any_arguments_never_revert_with_a_successor_active
    • Falsifier_SettleRebateNeverReverts.testFuzz_SNR_1_any_arguments_never_revert_with_a_successor_active_and_nothing_reserved
    • Falsifier_SettleRebateNeverReverts.test_SNR_2_any_caller_but_the_token_is_refused
    • Falsifier_SettleRebateNeverReverts.testFuzz_SNR_2_any_caller_but_the_token_is_refused
    • Falsifier_SettleRebateNeverReverts.test_SNR_3_a_transfer_of_H_with_a_reserved_rebate_in_its_first_day_succeeds_and_settles
    • Falsifier_SettleRebateNeverReverts.test_SNR_3_a_transfer_of_H_whose_rebate_is_due_and_never_settled_succeeds_and_settles
    • Falsifier_SettleRebateNeverReverts.test_SNR_3_a_transfer_of_H_with_no_rebate_succeeds_and_tells_the_hook_nothing
    • Falsifier_SettleRebateNeverReverts.test_SNR_3_transfers_succeed_after_rebates_were_fixed_and_forfeited
    • Falsifier_SettleRebateNeverReverts.test_SNR_3_transfers_succeed_after_a_successor_is_active
    • Falsifier_SettleRebateNeverReverts.test_SNR_3_transfers_succeed_after_a_successor_is_active_with_nothing_reserved
    • Falsifier_SettleRebateNeverReverts.test_SNR_3_with_the_reserve_short_a_transfer_still_succeeds
    • Falsifier_SettleRebateNeverReverts.test_SNR_edge_only_a_book_forged_to_the_top_of_uint256_makes_it_revert
    • Falsifier_LaunchSettleRebateNeverReverts.test_SNR_1_any_arguments_never_revert_with_the_launch_batchs_rebate_recorded
    • Falsifier_LaunchSettleRebateNeverReverts.test_SNR_1_any_arguments_never_revert_with_the_launch_batch_partly_delivered
    • Falsifier_LaunchSettleRebateNeverReverts.testFuzz_SNR_1_any_arguments_never_revert_with_the_launch_batchs_rebate_recorded
    • Falsifier_LaunchSettleRebateNeverReverts.testFuzz_SNR_1_any_arguments_never_revert_with_the_launch_batch_partly_delivered
    • Falsifier_LaunchSettleRebateNeverReverts.test_SNR_3_transfers_by_the_launch_batchs_depositors_succeed_and_settle
  • INV-1 · 25 tests · 13 sabotages
    • WallAudit.invariant_W1_no_rung_pulled_or_moved_at_or_around_the_price
    • V2Defects.test_INV05_rung_in_range_survives_heartbeat
    • V2Defects.test_INV05b_in_range_rung_not_migrated
    • V2Defects.test_INV05c_untouched_rung_with_unplaceable_destination_stays
    • InvariantReplaySynthetic.test_R11_a_removal_inside_an_exit_is_the_exception
    • InvariantReplaySynthetic.test_R12_the_exception_ends_with_the_exit_call
    • InvariantReplaySynthetic.test_R13_a_reverted_exits_nested_removal_never_happened
    • InvariantReplaySynthetic.test_R14_a_pull_after_a_reverted_exit_is_judged
    • InvariantReplaySynthetic.test_R15_the_exit_frames_resume_keeps_the_exception_open
    • Falsifier_B3Ladder.test_B3_a_wall_in_its_zone_4pct_above_is_not_rehung_the_rest_are
    • Falsifier_B3Ladder.test_B3_the_TW_alone_keeps_a_wall_in_its_zone_from_a_rehang
    • InvariantReplaySynthetic.test_R1_a_removal_near_the_price_is_flagged
    • InvariantReplaySynthetic.test_R4_a_shallower_wall_near_the_price_no_longer_locks_a_deeper_one
    • InvariantReplaySynthetic.test_R10_the_zone_and_the_guarantee_are_the_independent_percentages
    • InvariantReplaySynthetic.test_R16_a_guaranteed_wall_removed_without_its_replacement_is_flagged
    • InvariantReplaySynthetic.test_R17_a_guaranteed_wall_moved_up_with_its_ETH_passes
    • InvariantReplaySynthetic.test_R18_a_guaranteed_wall_moved_lower_is_flagged
    • InvariantReplaySynthetic.test_R19_another_walls_placement_does_not_pay_the_debt
    • InvariantReplaySynthetic.test_R20_a_guaranteed_wall_moved_up_with_less_ETH_is_flagged
    • InvariantReplaySynthetic.test_R21_the_debt_settles_by_the_end_of_the_call_into_the_hook
    • WallAuditW1.test_W1_sees_a_wall_rehung_inside_its_zone
    • Falsifier_WallsFollow.test_F235_after_a_small_move_and_after_a_full_step_every_wall_not_reached_is_at_its_new_place
    • Falsifier_WallsFollow.test_F246_after_a_rebase_with_legacy_walls_near_the_price_the_new_ladder_follows_the_next_rise
    • Falsifier_WallsFollow.test_F247_a_wall_skipped_with_the_price_inside_it_is_at_its_place_after_the_next_call
    • Falsifier_WallsFollow.test_F248_after_an_atomic_sell_ratchet_buy_the_next_call_puts_wall0_at_its_place
  • INV-01 · 3 tests · 3 sabotages
    • V2Defects.test_INV01_partial_buy_earns_no_work
    • V2Defects.test_INV01a_a_sell_earns_no_work
    • V2Defects.test_INV01b_exact_output_swaps_are_refused_by_the_rule
  • INV-02 · 1 tests · 1 sabotages
    • V2Defects.test_INV02_third_party_liquidity_refused
  • INV-20 · 1 tests · 1 sabotages
    • V2Defects.test_INV20_donate_refused
  • INV-ATTR · 14 tests · 9 sabotages
    • V2Defects.test_INVATTR_a_splitting_locker_is_the_swapper
    • V2Defects.test_INVATTR_allowlisted_router_credits_its_msgSender
    • V2Defects.test_INVATTR_hookData_cannot_redirect_Work
    • V2Defects.test_INVATTR_smart_wallet_not_the_bundler
    • AuditWorkNoteCaptureTest.test_C01a_a_flash_take_mid_route_captures_nothing
    • AuditWorkNoteCaptureTest.test_C01b_a_later_party_in_the_same_tx_captures_nothing
    • D51Fixes.test_D51_S11_a_malformed_router_answer_never_bricks_a_swap
    • D51Fixes.test_D51_S11_a_dirty_32_byte_router_answer_credits_no_one
    • Falsifier_TollEventSeller.test_D215_a_sale_through_the_allowlisted_router_names_the_selling_wallet_and_notes_its_Power_Down
    • Falsifier_TollEventSeller.test_D215_the_router_is_asked_for_the_wallet_once_per_sale
    • Falsifier_TollEventSeller.test_D215_the_routed_sale_costs_less_gas_than_one_that_asks_the_router_twice
    • Falsifier_TollEventSeller.test_D215_a_sale_through_an_allowlisted_router_that_names_no_wallet_names_nobody_and_is_not_refused
    • Falsifier_TollEventSeller.test_D215_a_buy_is_unchanged_it_names_the_buying_wallet_or_the_unlisted_router
    • Falsifier_TollEventSeller.test_D215_a_sale_by_a_contract_that_is_no_allowlisted_router_names_that_contract
  • INV-04 · 12 tests · 12 sabotages
    • V2MoneyInvariants.invariant_eth_conservation
    • C1Successor.test_C1_an_exit_shrinks_every_rung_by_exactly_f
    • Falsifier_B3Draw.test_B3_a_rebate_draws_pending_first_then_the_walls_reserve_pro_rata
    • Falsifier_B3Exit.test_B3_an_exit_takes_its_share_of_every_walls_reserve
    • Falsifier_F250.test_F250_investigate_exit_then_migrate_harvest_release_deep_in_the_dust_regime
    • Falsifier_F313.test_F313_after_many_exits_the_ledger_check_holds_and_every_wall_is_within_its_count
    • Falsifier_F313.test_F313_the_count_follows_placements_exits_and_closes
    • Falsifier_F313.test_F313_the_view_reads_false_for_a_wall_richer_than_its_ledger_and_for_one_beyond_its_count
    • V2MoneyInvariants.invariant_no_wall_is_richer_than_its_ledger
    • V2MoneyInvariantsDeep.invariant_no_wall_is_richer_than_its_ledger
    • Step5eClaims.test_5e2_a_claim_pays_what_accrued_since_the_wallets_last_settlement_with_no_settle_first
    • Step5eBatch.test_5e2b_a_WETH_that_refuses_transfers_stops_nothing_and_strands_no_WETH
  • INV-21 · 8 tests · 6 sabotages
    • V2MoneyInvariants.invariant_eth_claims_exact
    • V2MoneyInvariants.invariant_eth_solvent
    • D96Custody.test_D96_custodyOk_is_true_exactly_while_the_claims_cover_the_owed_sum
    • V2MoneyInvariants.invariant_custody_view_agrees_with_the_books
    • D51Fixes.test_D51_DRAIN03_placement_never_spends_the_escrow_or_the_holders_eth
    • D51Fixes.test_D51_DRAIN03_the_holders_eth_term_keeps_the_holders_eth_backed
    • D51Fixes.test_D51_DRAIN03_the_rebate_reserve_term_keeps_the_reserve_backed
    • HolderPayoutSolvencyReplay.test_INV21_a_holders_own_payout_that_pays_ETH_leaves_the_claims_covering_what_the_hook_owes
  • INV-03 · 15 tests · 19 sabotages
    • V2MoneyInvariants.invariant_every_claim_that_leaves_arrives_where_the_books_say
    • Step5ePull.test_5e2_the_send_is_made_after_the_unlock_and_every_money_function_is_locked
    • Step5ePull.test_5e2_claimRewardsTo_pays_the_callers_own_rewards_to_a_destination
    • Step5ePull.test_5e2_claimRewards_pays_the_callers_own_ETH_and_H_exactly_once
    • Step5ePull.test_5e2_claimRewardsTo_refuses_the_system_addresses
    • Step5eClaims.test_5e2_a_destination_that_refuses_ETH_reverts_the_whole_claim_and_nothing_is_lost
    • Step5eClaims.test_5e2_a_claim_pays_what_accrued_since_the_wallets_last_settlement_with_no_settle_first
    • Step5eClaims.test_5e2_claimRewardsTo_refuses_every_allowlisted_router
    • Falsifier_F322.test_F322_claimRewardsTo_refuses_the_launch_batch
    • Step5eClaims.test_D151_claimAllRewards_pays_both_kinds_and_tells_the_amounts_apart
    • Step5eClaims.test_D151_a_pushed_payout_reports_holder_H_and_mining_H_apart
    • Step5eLedger.test_5e_the_lifetime_guard_refuses_a_take_beyond_what_was_accrued
    • Step5eLedger.test_5e_only_the_address_itself_can_opt_in_and_it_restarts_the_wait
    • Step5eLedger.test_5e_an_address_that_gains_code_stops_earning_at_its_next_touch
    • Step5eBatch.test_5e2b_two_failures_in_a_row_switch_to_WETH_and_WETH_is_delivered
  • INV-06 · 26 tests · 15 sabotages
    • V2Defects.test_INV06_no_rung_above_conservative_price
    • V2Defects.test_INV06b_lift_before_heartbeat_places_nothing_above_market
    • TrueTwap.test_D19_a_painted_pump_cannot_lift_the_anchor
    • WallAudit.invariant_W2_no_wall_eth_added_at_or_above_the_market
    • AuditStuck.test_S04_the_twap_still_averages_after_2106
    • AuditStuck.test_S04_the_twap_after_2106_equals_the_same_history_before_it
    • F190Boundary.test_F190_a_placement_at_a_rungs_lower_edge_is_refused_by_the_hooks_check
    • B3ZonePredicates.test_B3_untouched_and_reached
    • WallAuditW2.test_W2_sees_wall_eth_placed_into_a_wall_whose_lower_edge_is_the_market
    • WallAuditW2Replay.test_F325_the_counterexamples_wall_is_placed_under_the_price_and_the_same_sell_then_enters_it
    • WallAuditW2Replay.test_F325_W2_does_not_flag_a_wall_placed_under_the_price_and_sold_into_by_the_same_swap
    • InvariantReplaySynthetic.test_R22_an_addition_under_the_price_is_counted_and_passes
    • InvariantReplaySynthetic.test_R23_an_addition_with_the_price_at_the_walls_lower_edge_is_flagged
    • InvariantReplaySynthetic.test_R24_an_addition_with_the_price_inside_or_past_the_wall_is_flagged
    • InvariantReplaySynthetic.test_R25_an_addition_is_judged_at_the_price_of_its_own_moment
    • InvariantReplaySynthetic.test_R26_a_reverted_addition_never_happened
    • InvariantReplaySynthetic.test_R27_only_the_hooks_wall_additions_are_judged
    • Falsifier_TwapTrueMean.test_D19_the_average_is_a_mean_of_prices_in_force_seed_1
    • Falsifier_TwapTrueMean.test_D19_the_average_is_a_mean_of_prices_in_force_seed_2
    • Falsifier_TwapTrueMean.test_D19_the_average_is_a_mean_of_prices_in_force_seed_3
    • Falsifier_TwapTrueMean.test_D19_at_every_cell_of_quiet_blocks_and_first_seconds_the_average_is_a_mean_of_prices_in_force
    • Falsifier_TwapTrueMean.test_D19_after_a_quiet_HETH_day_the_day_average_at_the_first_trade_is_the_true_mean_since_the_last_traded_block
    • Falsifier_TwapTrueMean.test_D19_with_a_full_ring_of_snapshots_the_average_is_still_a_mean_of_prices_in_force
    • Falsifier_TwapTrueMean.test_D19_at_a_negative_tick_the_average_is_a_mean_of_prices_in_force_and_S2s_rounding_is_the_negative_one
    • Falsifier_TwapTrueMean.test_D19_one_second_one_tick_higher_with_positive_ticks_the_average_is_the_means_round_up
    • Falsifier_TwapTrueMean.test_D19_one_second_one_tick_higher_with_negative_ticks_the_average_is_one_tick_under_the_means_round_up
  • INV-07 · 52 tests · 45 sabotages
    • V2Defects.test_INV07_empty_underwater_ladder_rebases_next_beat
    • WallsD42.test_D42_a_genuine_crash_rebases_within_one_block
    • Step4Place.test_4b_underwater_rebases_and_places_the_next_block
    • D46.test_D46_a_cascade_rearms_within_one_block
    • D46.test_D47_a_dust_crumb_rebases_in_the_next_block
    • D46.test_D46_a_rebase_releases_unlocked_legacy_first
    • WallsD42.test_INV07_C1_a_lift_back_into_a_rung_is_not_underwater_under_the_live_price
    • Falsifier_B3Rest.test_B3_after_a_rebase_the_walls_return_one_by_one_as_the_price_recovers
    • B3RecoveryGateMath.test_B3_gate_low_follows_the_fall_and_the_level_has_no_latch
    • B3RecoveryGateMath.test_B3_gate_thresholds_are_the_first_tick_at_n_times_5pct
    • Falsifier_B4.test_F199_a_rebase_under_the_minimum_places_nothing_moves_no_edge_and_pays_nothing
    • Falsifier_B4.test_F256_the_close_is_the_exact_price_not_a_whole_tick
    • Falsifier_B4.test_B4_a_dust_buy_back_into_the_last_wall_does_not_hold_the_rebase_off
    • Falsifier_B4.test_F261_with_L6_absent_a_crash_to_the_deepest_standing_wall_rebases
    • Falsifier_B4.test_F269_the_first_anchor_is_not_a_crash
    • Falsifier_B4.test_F269_after_an_empty_rebase_a_further_fall_is_not_another_crash
    • Falsifier_B5.test_B5_A2_rebases_inside_the_first_buy_of_a_crash_block_and_the_buy_completes
    • Falsifier_B5.test_B5_A2_a_failed_step_is_retried_by_the_next_swap_of_the_block
    • Falsifier_B5.test_B5_A2_runs_before_the_buys_toll
    • Falsifier_B5.test_B5_A2_never_releases_legacy_inside_the_swap
    • Falsifier_WallsBurnRebase.test_F232_a_crash_condition_held_one_second_at_a_boundary_rebases_within_that_block
    • Falsifier_WallsBurnRebase.test_F249_a_crossed_wall_past_its_bounce_zone_is_burned_at_the_next_wall_call
    • D148WatchReplay.test_F320_no_rebase_is_demanded_while_no_wall_has_stood
    • D148WatchReplay.test_a_crash_through_standing_walls_is_watched_and_rebased
    • WatchThereAndBackReplay.test_F330_a_price_that_left_and_came_back_is_a_trade_since
    • Falsifier_PlaceRebaseOrder.test_a_ladder_burned_by_the_calls_own_harvest_is_rebased_in_that_same_call
    • Falsifier_PlaceRebaseOrder.test_the_same_with_the_keepers_calls_after_every_trade_of_the_straddled_blocks
    • Falsifier_PlaceRebaseOrder.test_control_already_underwater_before_the_harvest_rebases_in_that_call
    • Falsifier_EmptyRebase.test_D202_once_the_walls_ETH_reaches_the_minimum_one_wall_call_stands_wall_6_at_the_new_anchor
    • Falsifier_EmptyRebase.test_D202_with_no_wall_call_the_next_blocks_first_trade_stands_wall_6
    • Falsifier_EmptyRebase.test_D202_a_fall_inside_the_block_makes_the_branch_wait_one_block
    • Falsifier_EmptyRebase.test_D202_a_legacy_wall_across_wall_6s_place_holds_the_rebase_until_it_is_released
    • Falsifier_EmptyRebase.test_D202_generation_0_before_its_first_wall_is_not_an_empty_generation
    • Falsifier_EmptyRebase.test_D202_an_empty_generation_under_the_minimum_is_not_rebased_again_in_200_blocks
    • Falsifier_EmptyRebase.test_D202_at_the_ends_of_the_tick_range_a_wall_6_from_the_minimum_up_gets_no_liquidity_or_passes_the_cap
    • Falsifier_EmptyRebaseFit.test_D202_an_empty_generation_whose_wall_6_cannot_be_placed_is_not_rebased_again_by_the_wall_calls
    • Falsifier_EmptyRebaseFit.test_D202_nor_by_the_next_blocks_first_trade
    • Falsifier_EmptyRebaseFit.test_D202_where_a_wall_6_gets_no_liquidity_or_passes_the_cap
    • Measure_EmptyRebase.test_measure_A_after_an_empty_rebase_the_price_falls_on_under_the_minimum_and_a_wall_stands_once_it_is_reached
    • Measure_EmptyRebase.test_measure_B_after_an_empty_rebase_at_the_books_edge_every_sell_is_refused
    • EmptyRebaseCampaignReplay.test_D202_the_campaigns_own_actions_reach_an_empty_generation_and_its_second_rebase
    • DeployPreflight.test_D202_a_wall_minimum_at_its_ceiling_passes_and_one_wei_above_it_is_refused
    • DeployPreflight.test_D202_a_ceiling_of_zero_is_refused
    • DeployPreflight.test_D202_on_the_ETH_pairs_chains_the_ceiling_is_one_thousandth_of_an_ETH
    • V2MoneyInvariants.invariant_D202_no_wall_is_formed_under_the_minimum
    • V2MoneyInvariants.invariant_D202_a_rebase_out_of_an_empty_generation_leaves_a_wall_standing
    • V2MoneyInvariantsBigMinimum.invariant_D202_no_wall_is_formed_under_the_minimum
    • V2MoneyInvariantsBigMinimum.invariant_D202_a_rebase_out_of_an_empty_generation_leaves_a_wall_standing
    • DeployPreflight.test_D202_a_wall_minimum_at_its_floor_passes_and_one_wei_under_it_is_refused
    • DeployPreflight.test_D202_a_floor_of_zero_is_refused
    • DeployPreflight.test_D202_on_the_ETH_pairs_chains_the_floor_is_one_hundred_thousandth_of_an_ETH
    • Falsifier_EmptyRebaseFit.test_D202_from_the_floor_up_the_fit_at_the_minimum_never_refuses_where_the_fit_at_the_whole_pool_does_not
  • INV-08 · 14 tests · 15 sabotages
    • V2MoneyInvariants.invariant_events_rebuild_the_wall
    • Step4Events.test_4d_harvest_of_a_crossed_rung_is_rebuilt_from_events
    • Step4Events.test_lock_legacy_move_reform_release_rebuilt_from_events
    • Falsifier_B3Draw.test_B6_a_draw_beyond_pending_is_rebuilt_from_events
    • Falsifier_B3Exit.test_B6_an_exit_through_a_wall_holding_H_is_rebuilt_from_events
    • Falsifier_B3Exit.test_B3_an_exit_takes_its_share_of_every_walls_reserve
    • Falsifier_B5.test_B5_A2_H_claims_are_not_float_and_are_burned_by_the_next_call
    • Falsifier_F182.test_F182_INV08_a_ratchet_at_the_testnet_price_is_rebuilt_by_its_events
    • Falsifier_F182.test_F182_INV08_a_ratchet_deep_in_the_dust_regime_is_rebuilt_by_its_events
    • Falsifier_B3Merge.test_B3_a_dust_wall_that_would_not_fit_merges_into_its_own_held_ETH
    • Falsifier_B3Merge.test_B3_a_dust_wall_merges_into_the_next_wall_when_it_fits
    • Falsifier_F251.test_F251_dust_walls_left_by_exits_are_merged_by_the_next_wall_call
    • Falsifier_ExitRebate.test_D171_the_events_mirror_rebuilds_pending_across_an_activation
    • Falsifier_B3Draw.test_B6_a_capped_draw_with_nothing_held_is_rebuilt_from_events
  • INV-10 · 18 tests · 8 sabotages
    • F328Replay.test_F328_the_thirteen_calls_never_wrap_the_supply_and_the_mint_goes_through
    • V2MoneyInvariants.invariant_the_schedule_is_never_oversold
    • Step2Bonds.test_2c_a_delivered_bond_is_counted_in_totalMinted
    • V2MoneyInvariants.invariant_the_supply_is_exactly_minted_less_burned
    • D76MintCap.test_D76_a_mint_past_the_cap_reverts_CapExceeded
    • D76MintCap.test_D76_burns_never_lower_mintedTotal
    • D76MintCap.test_D76_a_product_settle_past_the_cap_reverts_whole
    • D76MintCap.test_D76_the_cap_is_the_schedules_hard_cap
    • D76MintCap.test_D76_a_mint_emits_Minted_with_its_kind_and_the_new_total
    • D76MintCap.test_D76_genesis_settle_counts_GENESIS
    • D76MintCap.test_D76_a_miners_settle_counts_MINER
    • D76MintCap.test_D76_a_holders_batch_payout_counts_HOLDER
    • D76MintCap.test_D76_an_own_payout_counts_HOLDER
    • D76MintCap.test_D76_a_bond_delivery_counts_BOND
    • D76MintCap.test_D76_hook_totalMinted_is_the_tokens_count
    • V2MoneyInvariants.invariant_totalMinted_is_the_tokens
    • Falsifier_B5.test_B5_A2_H_claims_are_not_float_and_are_burned_by_the_next_call
    • Step5ePull.test_5e2_the_global_H_cap_refuses_a_mint_beyond_the_H_booked
  • INV-19 · 1 tests · 2 sabotages
    • Step5Maturity.test_5a_reward_is_not_claimable_before_209_confirmations
  • INV-23 · 9 tests · 8 sabotages
    • Step2Release.test_2b_the_release_follows_demand_exactly
    • Step2Release.test_2b_the_vein_holds_closed_blocks_only
    • V2MoneyInvariants.invariant_the_schedule_is_never_oversold
    • AuditStuck.test_S05_a_long_idle_block_waits_then_gets_its_release
    • AuditStuck.test_S05_the_claim_cursor_waits_at_a_pending_block
    • D51DeadMarket.test_D51_F05_a_dust_bot_in_a_dead_market_earns_at_most_1pct_of_the_day
    • Step2Release.test_2b_INV23a_rising_demand_releases_at_most_the_whole_block
    • Step5eClaimBound.test_5e2c_a_claim_stops_at_256_entries_and_the_next_claim_pays_the_257th
    • Falsifier_WallsLaunch.test_F240_the_launch_fill_toll_does_not_seed_the_demand_record
  • INV-24 · 3 tests · 1 sabotages
    • Step2Bonds.test_2c_delivery_after_209_blocks_to_the_buyer_once
    • Step2Bonds.test_2c_a_bond_sells_vein_H_at_the_locked_price_and_funds_the_walls
    • Step5eBonds.test_5e2c_a_bond_not_yet_due_is_skipped_never_a_revert
  • INV-V1-REPLAY · 6 tests · 3 sabotages
    • V1Defects.test_INV02_third_party_liquidity_refused
    • V1Defects.test_INV05_rung_in_range_survives_heartbeat
    • V1Defects.test_INV06_no_rung_above_conservative_price
    • V2Defects.test_INV02_third_party_liquidity_refused
    • V2Defects.test_INV05_rung_in_range_survives_heartbeat
    • V2Defects.test_INV06_no_rung_above_conservative_price
  • INV-NO-ADMIN · 0 tests · 0 sabotages
    • INV-NO-ORACLE · 0 tests · 0 sabotages
      • INV-NO-FREE-PRICE · 6 tests · 3 sabotages
        • D46.test_D46_a_sell_past_the_last_bid_is_refused_and_moves_nothing
        • D46.test_D46_the_paint_is_impossible
        • D46.test_D46_the_vein_cannot_be_painted
        • D46.test_D46_the_edge_freeze_is_impossible
        • D46.test_D46_the_pol_flush_never_raises_the_book_edge
        • D46Launch.test_D46_the_first_pol_flush_raises_the_book_edge_from_no_book
      • INV-SELL-NEVER-REFUSED · 6 tests · 4 sabotages
        • D46.test_D46_ordinary_trading_is_unchanged
        • D46.test_D46_the_last_wall_is_finished_by_a_limit_sell
        • D46.test_D46_a_partial_sell_pays_for_every_H
        • D46.test_D46_a_total_collapse_is_not_stuck
        • D46.test_D47_a_dust_crumb_rebases_in_the_next_block
        • F95ThinPool.test_F95_with_no_walls_sells_are_paid_by_the_pools_thin_liquidity_down_to_the_edge
      • INV-BOND-CAP · 29 tests · 39 sabotages
        • D46.test_D43_one_bond_takes_at_most_1pct_of_the_vein
        • D46.test_D43_one_block_sells_at_most_5pct
        • Falsifier_BondLivePrice.test_D204_a_bond_is_never_sold_more_than_ten_percent_under_the_last_close_while_others_buy_under_the_minimum
        • Falsifier_BondLivePrice.test_D204_no_quote_is_above_the_old_rules_and_every_quote_is_the_three_reading_formula
        • Falsifier_BondLivePrice.test_D204_a_dump_a_bond_and_a_buy_back_pay_in_no_cell
        • Falsifier_BondLivePrice.test_D204_a_dump_the_blocks_five_bonds_and_a_buy_back_pay_in_no_cell
        • Falsifier_BondLivePrice.test_D204_after_a_day_of_buys_under_the_minimum_the_bond_is_priced_at_the_last_close_exactly
        • Falsifier_BondLivePrice.test_D204_in_a_falling_market_the_bond_is_priced_as_before_to_the_wei
        • V2MoneyInvariants.invariant_D204_a_bond_quote_is_never_above_the_old_rules_nor_a_quote_at_the_last_close
        • Falsifier_BondLivePrice.test_D204_two_bonds_in_one_block_with_a_buy_of_any_size_between_them_receive_the_same_H_to_the_wei
        • Falsifier_BondLivePrice.test_D204_a_pump_inside_the_block_does_not_change_the_pumpers_own_bond
        • Falsifier_BondLivePrice.test_D204_bondReference_answers_where_bondQuote_refuses_and_before_the_first_trade_it_shows_no_reference
        • D204CloseReplay.test_D204_the_campaigns_own_actions_reach_the_close_as_the_deciding_reading_and_a_trade_in_the_block_does_not_move_it
        • Falsifier_BondBlockStart.test_D214_1_two_bonds_at_a_blocks_first_and_last_second_with_a_buy_between_receive_the_same_H_to_the_wei
        • Falsifier_BondBlockStart.test_D214_3_with_no_trade_and_after_a_trade_free_block_the_reference_is_the_present_time_rule_read_at_the_blocks_first_second
        • Falsifier_BondBlockStart.test_D217_5_the_stored_word_is_the_records_last_accrual_before_the_block_and_never_changes_inside_a_block
        • Falsifier_BondBlockStart.test_D214_2_bondReference_is_the_same_at_every_second_of_a_block_except_the_live_price_and_is_what_bondQuote_used
        • Falsifier_BondBlockStart.test_D214_6_nothing_else_moved_twapTick_the_exits_preview_and_the_wall_call_are_the_build_before_to_the_wei
        • Falsifier_BondBlockStart.test_D214_6_nothing_else_moved_in_the_block_of_the_first_trade_ever
        • Falsifier_BondLivePrice.test_D214_a_later_bond_of_the_same_block_after_a_buy_that_meets_the_minimum_is_the_quote_before_the_buy_to_the_wei
        • Falsifier_BondBlockStart.test_D217_1c_in_every_cell_the_bond_before_and_the_bond_after_a_blocks_first_trade_receive_the_same_H_to_the_wei
        • Falsifier_BondBlockStart.test_D217_1c_after_a_full_ring_of_300_traded_blocks_the_readings_are_the_present_time_rules_at_each_blocks_first_second
        • Falsifier_BondBlockStart.test_D217_5_in_the_block_of_the_first_trade_ever_the_stored_word_is_the_records_first_point
        • Falsifier_BondBlockStart.test_D217_5_the_same_when_the_first_trade_ever_is_at_its_blocks_first_second
        • Falsifier_BondBlockStart.test_D217_1d_no_bond_before_the_first_trade_ever_nor_in_its_block_and_bondReference_shows_no_reference_there
        • Falsifier_BondBlockStart.test_D217_1d_the_same_when_the_first_trade_ever_is_at_its_blocks_first_second
        • Falsifier_BondBlockStart.test_D217_1d_after_a_failed_launch_no_bond_before_the_first_trade_nor_in_its_block
        • Falsifier_BondBlockStart.test_D217_1d_no_bond_in_the_launch_fills_own_block_and_the_next_block_sells_one_at_its_start
        • Falsifier_BondBlockStart.test_D217_1d_the_same_when_the_launch_fill_is_in_the_first_tradable_block
      • INV-EXIT-FAIR · 70 tests · 49 sabotages
        • C1Successor.test_C1_an_exit_shrinks_every_rung_by_exactly_f
        • C1Successor.test_C1_exits_are_order_independent
        • C1Successor.test_C1_a_locked_rung_shrinks_too
        • C1Successor.test_C1_no_exit_before_a_successor
        • C1Successor.test_C1_a_migration_needs_the_successors_acceptance
        • C1Successor.test_C1_a_successor_without_the_interface_takes_nothing
        • RehearsalE2E.test_REH_a_migration_end_to_end
        • RehearsalE2E.test_REH_the_launch_deadline
        • RehearsalE2E.test_REH_a_stranger_cannot_mint
        • C1Successor.test_C1_preview_equals_the_exit_to_the_wei
        • C1Successor.test_F149_H_bought_from_the_POL_in_the_same_transaction_does_not_inflate_the_exit
        • C1Successor.test_D75_a_dump_then_exit_in_one_transaction_is_not_inflated
        • C1Successor.test_D75_at_rest_the_exit_fraction_is_unchanged
        • ExitFairDonation.test_INV_EXIT_FAIR_a_donation_never_raises_an_exit_by_more_than_its_value
        • ExitFairDonation.test_INV_EXIT_FAIR_measure_buy_and_donate_vs_buy_and_exit_in_the_cheap_state
        • Falsifier_B3Exit.test_B3_an_exit_takes_its_share_of_every_walls_reserve
        • Falsifier_B5.test_B5_A2_H_claims_are_not_float_and_are_burned_by_the_next_call
        • Falsifier_D89.test_D152_two_orders_pay_within_the_stated_bound_with_the_price_at_rest_inside_a_wall
        • Falsifier_D89.test_D152_two_orders_pay_within_the_stated_bound_when_only_the_live_price_is_inside_the_wall
        • Falsifier_D89.test_D152_two_orders_pay_within_the_stated_bound_when_only_the_time_weighted_price_is_inside_the_wall
        • Falsifier_D89.test_D152_an_exit_takes_exactly_f_from_every_wall_also_the_one_in_range
        • Falsifier_D89.test_D152_a_legacy_wall_in_range_shrinks_by_exactly_f_as_every_other_wall
        • Falsifier_D89.test_D152_a_migration_takes_exactly_f_from_the_in_range_wall_too
        • Falsifier_D89.test_D152_two_orders_pay_within_the_stated_bound_when_a_wall_lies_between_the_two_prices
        • Falsifier_ExitRebate.test_D171_two_equal_exits_by_holders_never_settled_are_paid_alike_in_either_order
        • Falsifier_ExitRebate.test_D171_an_exit_and_a_migration_of_equal_H_are_paid_alike_in_either_order
        • Falsifier_ExitRebate.test_D171_a_stayers_preview_does_not_rise_when_others_leave_and_equals_its_exit
        • Falsifier_ExitRebate.test_D171_after_an_activation_a_forfeited_rebate_is_in_the_holders_pool_never_in_pending
        • Falsifier_ExitRebate.test_D171_the_forfeits_are_paid_at_the_next_payday_to_the_wallets_holding_Powered_H
        • Falsifier_ExitRebate.test_D171_before_an_activation_a_forfeit_goes_to_pending_and_in_the_same_transaction_after_it_to_the_pool
        • Falsifier_ExitRebate.test_D171_a_zero_forfeit_changes_nothing_and_the_saturated_remainder_takes_the_same_route
        • Falsifier_ExitRebate.test_D171_control_with_every_holder_settled_first_two_equal_exits_are_paid_alike
        • Falsifier_ExitFloat.test_D180_a_mining_reward_settled_between_two_equal_exits_moves_neither_payout
        • Falsifier_ExitFloat.test_D180_the_holders_H_claimed_between_two_equal_exits_moves_neither_payout
        • Falsifier_ExitFloat.test_D180_a_bond_delivered_between_two_equal_exits_moves_neither_payout
        • Falsifier_ExitFloat.test_D180_a_payout_batch_between_two_equal_exits_moves_neither_payout
        • Falsifier_ExitFloat.test_D180_an_exit_and_a_migration_with_every_owed_kind_minted_between_are_paid_alike
        • Falsifier_ExitFloat.test_D180_owedUnmintedH_equals_an_independent_count_of_what_is_owed
        • Falsifier_ExitFloat.test_D180_a_mint_moves_the_exits_float_by_zero_and_the_circulating_float_by_the_mint
        • Falsifier_ExitFloat.test_D180_the_fraction_is_taken_on_the_float_plus_the_owed_H_and_the_preview_equals_the_exit
        • Falsifier_ExitFloat.test_D180_each_bracket_is_floored_at_zero_and_never_reverts
        • Falsifier_ExitFloat.test_D180_after_an_activation_a_void_proposals_deposit_goes_to_the_holders_pool_never_to_pending
        • Falsifier_ExitFloat.test_D180_a_leaver_who_calls_finalizeVotes_first_gains_nothing_over_an_equal_leaver
        • Falsifier_ExitFloat.test_D180_before_an_activation_a_forfeited_deposit_still_enters_pending
        • Falsifier_ExitFloat.test_D180_control_with_nothing_minted_between_two_equal_exits_are_paid_alike
        • Falsifier_ExitFloat.test_D180_control_a_block_mined_without_a_lag_is_in_the_term_at_once
        • Falsifier_ExitFloat.test_D181_a_PENDING_blocks_booking_never_raises_the_owed_term_nor_lowers_an_exits_fraction
        • Falsifier_ExitPendingCeiling.test_D181_an_exit_and_a_migration_before_a_PENDING_block_is_booked_are_paid_at_most_what_they_are_after
        • Falsifier_ExitPendingCeiling.test_D181_three_PENDING_blocks_are_counted_as_one_sum_and_no_call_on_the_way_raises_the_term
        • Falsifier_ExitPendingCeiling.test_D181_an_exit_in_the_block_whose_first_Work_is_PENDING_counts_its_reward
        • Falsifier_ExitPendingCeiling.test_D181_with_no_PENDING_block_the_term_the_fraction_and_the_payouts_are_unchanged_to_the_wei
        • Falsifier_ExitPendingCeilingEdge.test_D181_at_a_release_fraction_of_one_the_exit_before_the_booking_equals_the_exit_after_it
        • Falsifier_ExitMinimum.test_D201_an_exit_one_wei_above_its_preview_reverts_and_moves_nothing_and_at_the_figure_pays_it
        • Falsifier_ExitMinimum.test_D201_a_migration_one_wei_above_its_preview_reverts_and_moves_nothing_and_at_the_figure_pays_it
        • Falsifier_ExitMinimum.test_D201_the_minimum_is_checked_before_the_successor_is_called
        • Falsifier_ExitMinimum.test_D201_after_a_large_sale_the_settled_preview_is_what_the_exit_pays_three_blocks_later
        • Falsifier_ExitMinimum.test_D201_with_the_price_inside_a_tick_the_settled_preview_stays_above_the_exit_by_less_than_a_tick
        • Falsifier_ExitMinimum.test_D201_after_a_buy_and_in_a_quiet_market_on_a_tick_the_two_previews_are_equal_to_the_wei
        • Falsifier_ExitMinimum.test_D201_the_settled_preview_answers_in_every_state_and_reads_one_at_the_float
        • V2MoneyInvariants.invariant_D201_the_settled_preview_is_never_below_the_exits_own
        • Measure_ExitPaintedRecord.test_D209_a_record_held_low_and_a_dump_in_the_exits_own_transaction_do_not_raise_the_exits_fraction
        • Measure_ExitPaintedRecord.test_D209_the_same_with_the_walls_ETH_raised_by_forty_blocks_of_bonds
        • Measure_ExitPaintedRecord.test_D209_the_same_with_the_walls_ETH_raised_by_four_blocks_of_bonds
        • Falsifier_ExitFloatClose.test_D209_in_a_quiet_market_and_after_a_buy_the_exit_and_both_previews_are_as_before_to_the_wei
        • Falsifier_ExitFloatClose.test_D209_inside_a_large_sales_own_block_after_a_quiet_market_the_exit_is_as_before_to_the_wei
        • Falsifier_ExitFloatClose.test_D209_after_a_rise_a_sale_in_the_exits_own_block_leaves_the_exit_on_the_closes_float
        • Falsifier_ExitFloatClose.test_D209_from_the_block_after_a_large_sale_on_the_exit_is_as_before_to_the_wei
        • V2MoneyInvariants.invariant_D209_the_exits_fraction_is_never_above_the_rule_before_the_close_was_read
        • Falsifier_ExitCloseWallCall.test_D238_a_wall_call_between_the_dump_and_the_exit_lowers_the_closes_float_by_the_burned_H_and_no_more_with_forty_blocks_of_bonds
        • Falsifier_ExitCloseWallCall.test_D238_a_wall_call_between_the_dump_and_the_exit_lowers_the_closes_float_by_the_burned_H_and_no_more_with_no_bonds
      • INV-NO-DUMP-ADVANTAGE · 7 tests · 4 sabotages
        • Step5cScoreMath.testFuzz_5c_INV_PD_PATH_two_outflows_compose
        • Step5cScoreMath.testFuzz_5c_INV_PD_PATH_inside_the_shield
        • Step5cScoreMath.testFuzz_5c_waiting_between_parts_never_costs_more
        • Step5cScoreMath.testFuzz_5c_tax_between_floor_and_toll
        • Step5cScoreMath.test_5c_carl_sells_all_at_five_days
        • Falsifier_F198.test_F198_INV_NO_DUMP_ADVANTAGE_a_fold_between_the_parts_costs_at_most_the_measured_transient
        • Falsifier_F198.test_F198_INV_NO_DUMP_ADVANTAGE_from_50_blocks_after_a_fold_waiting_is_never_dearer
      • INV-PD-PATH · 5 tests · 1 sabotages
        • Step5cScoreMath.testFuzz_5c_INV_PD_PATH_two_outflows_compose
        • Step5cScoreMath.testFuzz_5c_INV_PD_PATH_inside_the_shield
        • Step5cScoreMath.test_5c_anna_half_closed_form
        • Step5cScoreMath.test_5c_shield_phase_is_three_percent
        • Step5cScore.test_5c_anna_half_on_the_token
      • INV-FRESH-NO-PD · 2 tests · 2 sabotages
        • Step5cScore.test_5c_INV_FRESH_NO_PD_bob_and_anna
        • Step5cScore.test_5c_anna_half_on_the_token
      • INV-SCORE-SPLIT · 20 tests · 21 sabotages
        • Step5cScore.test_5c_INV_SCORE_SPLIT
        • Step5cScore.test_5c_pools_sum_exactly_and_never_overpay
        • Step5cScoreMath.test_5c_tier_exactly_at_each_threshold
        • Step5cScore.test_5c_powered_exactly_209_blocks_after_arrival_live
        • Step5cScoreMath.test_5c_F197_unequal_age_lots_owe_less_split_than_merged_at_400_and_436_blocks
        • Step5cScore.testFuzz_5c_F105_the_older_piles_merge_is_unreachable
        • Step5dPools.test_5d_the_launch_payout_is_pro_rata_to_the_score
        • Step5dLoyaltyPays.test_5d_the_launch_payday_pays_the_whole_loyalty_accumulation_over_the_score
        • Step5dLoyaltyPays.test_5d_after_the_launch_the_loyalty_pool_pays_each_Loyal_wallet_by_its_Powered_H
        • Step5cPiles.test_5c_a_settled_wallet_reaches_the_loyal_total_at_its_crossing_untouched
        • Falsifier_ScorePoints.test_SP_one_point_is_1000_H_Powered_for_one_HETH_day
        • Falsifier_ScorePoints.test_SP_1000_H_Powered_read_0_one_second_before_their_pooled_day_is_full
        • Falsifier_ScorePoints.test_SP_999_H_read_zero_at_one_day_points_round_down
        • Falsifier_ScorePoints.test_SP_the_point_is_the_locked_constant
        • Falsifier_ScorePoints.testFuzz_SP_the_views_are_the_raw_figures_in_points
        • Falsifier_ScorePoints.test_SP_totalScore_is_the_stored_global_pair_in_points
        • Falsifier_ScorePoints.test_SP_daysHeldOf_is_30_exactly_when_pilesOf_first_reports_Loyal
        • Falsifier_ScorePoints.test_SP_the_four_live_rows_of_the_locked_table
        • Falsifier_ScorePoints.test_SP_the_token_fits_and_the_three_views_are_bounded_reads
        • NothingMoved_ScorePointsPins.test_SP_nothing_else_moved_the_figures_of_the_build_before
      • INV-REBATE-HELD · 9 tests · 10 sabotages
        • Step5cScore.test_5c_INV_REBATE_HELD_a_buy_reserves_and_fixes_at_power_up
        • Step5cScore.test_5c_INV_REBATE_HELD_a_sold_share_forfeits
        • Step5cScore.test_5c_the_rebate_reads_the_tier_at_power_up_not_at_settlement
        • Step5cScore.test_5c_erik_weekly_buys_rebates_follow_the_tier
        • Step5cScore.test_5c_a_custody_router_buy_reserves_nothing
        • V2MoneyInvariants.invariant_the_rebate_reserve_is_exactly_the_piles_rebates
        • Step5cRebateFloor.test_5c_a_rebate_fixed_while_the_pool_is_Loyal_is_owed_whole
        • Step5cRebateFloor.test_5c_a_claim_at_power_up_fixes_the_rebate_and_pays_it_with_no_settle_first
        • Step5cRebateFloor.test_5c_a_waiting_piles_rebate_returns_to_pending_when_its_wallet_stops_earning
      • INV-REBATE · 4 tests · 3 sabotages
        • Step5cScore.test_5c_a_sale_is_credited_its_discount
        • Step5fPowerDown.test_5f_another_wallets_H_in_the_same_tx_takes_nothing
        • Step5fPowerDown.test_5f_H_arriving_without_a_sale_is_not_credited
        • Falsifier_B3Draw.test_B3_a_rebate_draws_pending_first_then_the_walls_reserve_pro_rata
      • INV-NO-TAKE · 3 tests · 1 sabotages
        • D46.test_D46_a_sell_past_the_last_bid_is_refused_and_moves_nothing
        • D46.test_D46_a_sell_paid_nothing_is_refused
        • D46.test_D46_a_partial_sell_pays_for_every_H
      • INV-SUCCESSOR-BY-HOLDERS · 79 tests · 41 sabotages
        • C2HolderSuccessor.test_C2_a_7702_account_is_refused_as_successor
        • C2HolderSuccessor.test_C2_a_proposal_needs_the_exact_deposit
        • C2HolderSuccessor.test_C2_a_proposal_opens_nothing
        • C2HolderSuccessor.test_C2_a_successor_is_a_contract_never_a_system_address
        • C2HolderSuccessor.test_C2_an_approval_refunds_the_deposit_to_its_payer
        • C2HolderSuccessor.test_C2_approval_grace_activation_then_exit
        • C2HolderSuccessor.test_C2_changed_code_voids_the_approval
        • C2HolderSuccessor.test_C2_junk_proposals_never_block_a_voted_one
        • C2HolderSuccessor.test_C2_no_activation_inside_the_grace
        • C2HolderSuccessor.test_C2_no_activation_without_approval
        • C2HolderSuccessor.test_C2_nothing_is_decided_before_the_count_is_over
        • C2HolderSuccessor.test_C2_yes_below_twenty_percent_fails_and_forfeits_the_deposit
        • C2HolderSuccessor.test_D81_migrate_only_to_the_voted_code
        • C2RedTeam.test_RT01_control_without_fresh_H_the_majority_defeats_the_junk
        • C2RedTeam.test_RT01a_H_still_waiting_at_the_close_gets_no_weight
        • C2RedTeam.test_RT01b_fresh_H_cannot_pass_junk_against_the_majority
        • C2RedTeam.test_RT01c_a_pile_powered_exactly_at_the_close_counts_exactly_itself
        • C2RedTeam.test_RT02a_junk_proposed_after_a_voted_proposal_never_delays_it
        • C2RedTeam.test_RT02b_a_minority_whale_cannot_delay_a_voted_proposal_with_junk_ahead_of_it
        • C2RedTeam.test_RT03a_a_refusing_payer_breaks_no_book_and_blocks_nothing
        • C2RedTeam.test_RT03b_reentering_claimDeposit_pays_once
        • C2RedTeam.test_RT04_selfdestruct_cannot_change_a_proposed_successors_code
        • Falsifier_VoteOneStage.test_W4_a_lone_holder_under_20_percent_is_not_approved_while_the_others_are_unsettled
        • Falsifier_VoteOneStage.test_W4_control_the_unsettled_majority_approves
        • Falsifier_VoteOneStage.test_W4_nothing_after_the_close_changes_a_counted_weight_or_the_supply_figure
        • Falsifier_VoteOneStage.test_W4_settling_the_others_changes_no_figure
        • VoteOneStage.testFuzz_VOTE_the_hook_and_the_token_read_the_same_block
        • VoteOneStage.test_VOTE_H_moved_after_the_close_counts_in_neither_a_second_wallet_nor_twice
        • VoteOneStage.test_VOTE_H_waiting_at_the_close_counts_zero_even_if_counted_late
        • VoteOneStage.test_VOTE_a_ballot_and_its_count_touch_no_pool
        • VoteOneStage.test_VOTE_a_buy_and_time_after_the_close_change_no_counted_weight
        • VoteOneStage.test_VOTE_a_failed_proposal_with_full_participation_forfeits_into_pending
        • VoteOneStage.test_VOTE_a_non_earning_contract_and_a_system_address_count_zero
        • VoteOneStage.test_VOTE_a_sale_after_the_close_changes_no_counted_weight
        • VoteOneStage.test_VOTE_a_settle_after_the_close_changes_no_counted_weight
        • VoteOneStage.test_VOTE_a_void_proposal_forfeits_its_deposit
        • VoteOneStage.test_VOTE_a_voided_approval_keeps_its_refund
        • VoteOneStage.test_VOTE_a_voided_approval_lets_an_undecided_proposal_pass
        • VoteOneStage.test_VOTE_after_activation_propose_and_vote_revert_and_open_proposals_are_void
        • VoteOneStage.test_VOTE_an_approved_proposal_returns_its_deposit
        • VoteOneStage.test_VOTE_an_exit_burn_after_a_close_records_the_figure_before_it
        • VoteOneStage.test_VOTE_an_incoming_gift_after_the_close_changes_no_counted_weight
        • VoteOneStage.test_VOTE_an_uncounted_ballot_does_not_count
        • VoteOneStage.test_VOTE_counting_is_refused_before_the_close_and_after_the_window
        • VoteOneStage.test_VOTE_decided_in_submission_order_and_a_later_one_is_void
        • VoteOneStage.test_VOTE_equal_scores_fail
        • VoteOneStage.test_VOTE_exactly_twenty_percent_passes
        • VoteOneStage.test_VOTE_no_ballot_after_the_close_or_on_no_proposal
        • VoteOneStage.test_VOTE_no_ballot_twice
        • VoteOneStage.test_VOTE_one_checkpoint_covers_every_close_it_passes
        • VoteOneStage.test_VOTE_one_wei_under_twenty_percent_fails
        • VoteOneStage.test_VOTE_only_the_hook_tells_the_token
        • VoteOneStage.test_VOTE_the_count_skips_and_never_depends_on_its_order
        • VoteOneStage.test_VOTE_the_last_ballot_and_the_first_count_meet_at_the_close
        • VoteOneStage.test_VOTE_the_proposal_event_carries_every_field
        • VoteOneStage.test_VOTE_the_supply_figure_is_the_H_in_wallets_at_the_close
        • VoteOneStage.test_VOTE_two_proposals_of_one_block_the_first_submitted_wins
        • VoteOneStageGas.test_GAS_a_ballot_a_count_and_the_voters_first_pile_write_after_the_close
        • VoteOneStageGas.test_GAS_a_transfer_between_former_voters_pays_no_write
        • VoteOneStageGas.test_GAS_a_transfer_between_non_voters_pays_three_storage_reads
        • VoteOneStageGas.test_GAS_the_first_balance_change_after_a_close_pays_one_checkpoint
        • VoteOneStageNoHolders.test_VOTE_with_no_H_in_wallets_a_proposal_fails_and_forfeits
        • VoteOneStageOpenPoints.test_OPEN1_H_waiting_at_the_close_counts_on_the_second_proposal_of_the_block
        • VoteOneStageOpenPoints.test_OPEN1_two_proposals_of_one_block_weigh_a_wallet_alike
        • VoteOneStageOpenPoints.test_OPEN2_a_majority_votes_no_on_every_open_proposal
        • VoteOneStagePayout.test_GAS_a_payout_that_pays_the_snapshot
        • VoteOneStagePayout.test_VOTE_a_keeper_payout_after_the_close_changes_no_counted_weight
        • VoteOneStageSnapshot.test_SNAP_a_first_ballot_cast_after_an_older_close_saves_no_unused_copy
        • VoteOneStageSnapshot.test_SNAP_a_wallet_with_no_ballot_never_saves_a_copy
        • VoteOneStageSnapshot.test_SNAP_a_write_between_two_closes_saves_two_copies_and_each_close_reads_its_own
        • VoteOneStageSnapshot.test_SNAP_an_earlier_proposals_close_may_save_a_copy_that_changes_no_weight
        • VoteOneStageSnapshot.test_SNAP_edge_a_first_ever_write_after_the_close_counts_nothing
        • VoteOneStageSnapshot.test_SNAP_edge_a_voter_never_written_again_is_read_from_its_stored_piles
        • VoteOneStageSnapshot.test_SNAP_edge_a_write_in_the_closes_own_block_saves_the_copy_the_close_reads
        • VoteOneStageSnapshot.test_SNAP_edge_after_a_write_at_the_close_no_later_write_saves_a_copy
        • VoteOneStageSnapshot.test_SNAP_edge_the_last_date_that_saves_a_copy_is_votesUntil
        • VoteOneStageSnapshot.test_SNAP_ten_closes_one_pile_write_one_copy_ten_exact_weights
        • VoteOneStageSnapshot.test_SNAP_two_proposals_of_one_close_weigh_alike_in_both_orders_of_counting
        • VoteOneStageSnapshot.test_SNAP_votesUntil_is_never_lowered_by_a_ballot_on_an_earlier_close
      • INV-SLOT · 19 tests · 16 sabotages
        • Falsifier_B2Slots.test_B2_a_pump_held_3_slots_moves_nothing_held_4_slots_moves_one_cap_step
        • Falsifier_B2Slots.test_B2_one_anchor_per_slot_whatever_the_call_time
        • Falsifier_B2Slots.test_B2_ratchet_is_removed
        • Falsifier_B2Slots.test_B2_slot_applied_event_carries_the_exact_slot_twap
        • Falsifier_WallsFollow.test_F252_a_one_second_boundary_trade_does_not_change_the_anchor_a_due_move_sets
        • Falsifier_WallsBurnRebase.test_D154_a_small_sell_takes_the_recorded_price_down_and_a_dust_buy_does_not_take_it_back_up
        • Falsifier_WallsBurnRebase.test_F258_a_one_wei_buy_below_the_launch_price_does_not_move_the_TW_the_walls_read
        • Falsifier_WallsLaunch.test_F236_the_bond_quote_after_the_fill_reads_post_fill_prices_only
        • B2SlotEdge.test_B2_the_book_edge_follows_an_applied_slot_that_moves_the_deepest_rung
        • Falsifier_WallsLaunch.test_F231_no_wall_from_a_pre_fill_price_and_wall0_5pct_under_the_first_hour_TWAP_for_every_first_poke
        • Falsifier_B2Slots.test_B2_F183_two_due_calls_in_one_slot_move_the_anchor_once
        • Falsifier_B2Slots.test_F231_no_anchor_before_slot_0_is_complete_and_the_first_anchor_is_its_whole_TWAP
        • Falsifier_B2Slots.test_F320_a_first_hour_that_pumps_and_fades_gets_its_ladder_one_slot_later
        • Falsifier_B2Slots.test_F320_a_dump_as_the_first_anchor_is_set_heals_at_the_next_slot
        • Falsifier_B2Slots.test_F320_once_a_wall_stands_a_lower_candidate_moves_nothing
        • Falsifier_B4.test_F320_a_rebases_anchor_is_never_provisional
        • Falsifier_PlacedSlotRestart.test_a_rebase_restarts_the_placement_slot_with_the_slot_clock
        • Falsifier_PlacedSlotRestart.test_after_a_rebase_the_next_slot_of_the_new_clock_places_the_new_pending
        • Falsifier_WallCallGates.test_F245_a_split_that_placed_nothing_does_not_spend_the_slots_placement
      • INV-LAUNCH-BATCH · 37 tests · 34 sabotages
        • D73LaunchBatch.test_S2_no_swap_before_the_fill
        • D73LaunchBatch.test_D85_no_bond_while_the_batch_is_open
        • D73LaunchBatch.test_D85_no_bond_quote_while_the_batch_is_open
        • D73LaunchBatch.test_D85_the_batch_gate_is_the_bonds_first_refusal
        • D73LaunchBatch.test_S2_the_fill_buys_at_one_price
        • D73LaunchBatch.test_S2_withdraw_only_ones_own_and_only_while_open
        • D73LaunchBatch.test_S2_deposit_after_block_199_refused
        • D73LaunchBatch.test_S2_zero_deposits_fill_as_FILLED_and_open_trading
        • D73LaunchBatch.test_S2_fill_only_from_block_209_and_once
        • D73LaunchBatch.test_S2_totalDeposited_is_never_the_balance
        • D73LaunchBatch.test_S2_a_reentrant_withdraw_takes_nothing_twice
        • D73LaunchBatch.test_S3_the_fill_reserves_the_batch_rebate_once
        • D73LaunchBatch.test_S3_each_depositor_gets_its_pro_rata_H_and_rebate
        • D73LaunchBatch.test_S3_delivered_once
        • D73LaunchBatch.test_S3_sum_delivered_never_exceeds_what_was_bought
        • D73LaunchBatch.test_S3_no_delivery_before_the_fill_nor_without_a_deposit
        • D73LaunchBatch.test_S3_a_contract_depositors_rebate_returns_to_pending
        • D73LaunchBatch.test_S4_the_batchs_Work_is_its_toll
        • D73LaunchBatch.test_S4_the_reward_is_split_pro_rata_once
        • D73LaunchBatch.test_S4_a_strangers_settleFor_never_strands_the_reward
        • D73LaunchBatch.test_S5_a_failed_swap_marks_FAILED_refunds_and_opens_trading
        • D73LaunchBatch.test_S5_a_starved_fill_reverts_whole
        • D73LaunchBatch.test_S5_FILL_GAS_MIN_is_twice_the_worst_fill
        • D73LaunchBatch.test_S5_a_dust_batch_fills_or_fails_and_trading_opens
        • D73DustAtAHighLaunchPrice.test_F163_a_one_wei_batch_never_strands_the_launch
        • P8LaunchPrice.test_P8A_the_deliverable_H_is_the_harmonic_mean_of_the_H_bought_and_the_H_at_the_opening_price
        • P8LaunchPrice.test_P8A_every_depositor_receives_its_share_of_the_deliverable_H_at_one_price
        • P8LaunchPrice.test_P8A_the_depositors_keep_the_whole_rebate
        • P8LaunchPrice.test_P8A_the_Filled_event_carries_the_price_each_depositor_pays
        • P8LaunchPrice.test_P8A_launchSplit_never_reverts_and_never_exceeds_the_H_bought
        • P8LaunchPrice.test_P8A_a_fill_whose_deliverable_H_is_zero_does_not_revert
        • P8LaunchRemainder.test_P8B_the_remainder_is_one_H_only_range_up_to_the_opening_tick_placed_in_the_fill
        • P8LaunchRemainder.test_P8B_the_launch_never_goes_through_the_pending_POL_deposit
        • P8LaunchRemainder.test_P8B_delivered_plus_dust_plus_remainder_is_exactly_the_H_bought
        • P8LaunchRemainder.test_P8B_placeLaunchRemainder_is_the_batchs_alone_and_once
        • P8LaunchRemainder.test_P8B_a_remainder_that_cannot_be_placed_stays_in_the_hooks_own_H_and_the_fill_succeeds
        • P8TinyFillReal.test_P8A_a_real_batch_that_buys_no_H_fails_and_refunds
      • INV-VIEWS · 16 tests · 11 sabotages
        • D77Views.test_D77_blockReleaseOf_is_the_booking_of_a_closed_block
        • D77Views.test_D77_releaseFracNow_is_the_fraction_the_next_buy_fixes
        • D77Views.test_D77_releaseFracNow_after_the_longest_gap_one_buy_closes
        • D77Views.test_D77_releaseFracNow_in_the_S05_range_is_pending
        • D77Views.test_D86_releaseFracNow_in_a_pending_block_is_the_fraction_the_next_buy_fixes
        • D77Views.test_D86_a_pending_block_the_next_buy_cannot_reach_reads_the_marker
        • D77Views.test_D77_bondQuote_is_what_bond_delivers_and_charges_below_the_caps
        • D77Views.test_D77_bondQuote_is_what_bond_delivers_and_charges_at_the_vein_cap
        • D77Views.test_D77_bondQuote_is_what_bond_delivers_and_charges_at_the_block_cap
        • D77Views.test_D77_previewMiningReward_is_the_reward_of_a_blocks_first_buy
        • D77Views.test_D77_previewMiningReward_is_the_reward_at_the_work_so_far
        • D77Views.test_D77_maturingRewards_are_the_unmatured_entries_and_when_the_first_matures
        • D77Views.test_D77_minersOwed_against_the_miners_own_views
        • D77Views.test_D77_the_schedule_views_are_the_emission_modules
        • D77Views.test_D77_hardCap_is_the_tokens_cap_and_spot_is_the_pools
        • D78PendingQueue.test_D78_the_queue_resolves_exactly_as_the_range_did
      • INV-DONATED-H-LOCKED · 8 tests · 10 sabotages
        • DonatedHLockedFlush.test_INV_DONATED_H_LOCKED_the_POL_flush_sends_only_its_owed
        • DonatedHLocked.test_INV_DONATED_H_LOCKED_no_path_spends_the_donation
        • P8AccountedHFlows.test_P8C_the_accounted_H_is_the_balance_through_the_genesis_flush_and_a_wall_burn
        • P8AccountedHFlows.test_P8C_the_accounted_H_is_the_balance_through_A2s_claims_and_their_burn
        • P8DonationTwin.test_P8C_the_same_sequence_with_donations_interleaved_gives_the_same_outputs
        • P8DonationTwin.test_P8C_a_donation_changes_no_view_and_shows_as_unaccounted
        • P8DonateReplay.test_P8C_a_fixed_sequence_with_donations_keeps_the_hooks_H_its_accounted_H_plus_the_donations
        • V2MoneyInvariants.invariant_the_hooks_H_is_its_accounted_H_plus_the_donations
      • INV-VAULT-ATTR · 5 tests · 2 sabotages
        • Vault00FirstFalsifier.test_first_falsifier_a_direct_swap_earns_the_Work_the_rebate_and_the_H
        • Vault00FirstFalsifier.test_first_falsifier_after_setAutoPayout_the_H_is_a_waiting_pile
        • Vault00FirstFalsifier.test_first_falsifier_the_Work_matures_into_H_at_the_contract
        • Vault05Trade.test_S5_the_Work_the_rebate_and_the_H_of_a_step_land_at_the_vault
        • Vault02Factory.test_S2_createVault_deploys_the_callers_vault_at_vaultOf_with_the_caller_as_owner
      • INV-VAULT-GUARD · 30 tests · 23 sabotages
        • Vault05Trade.test_S5_a_buy_fills_at_or_above_the_guards_minimum
        • Vault05Trade.test_S5_a_price_pushed_past_the_tolerance_before_a_BUY_step_makes_it_revert
        • Vault05Trade.test_S5_the_BUY_guard_passes_at_its_minimum_and_reverts_one_bps_under
        • Vault05Trade.test_S5_a_sale_fills_at_or_above_the_guards_minimum
        • Vault05Trade.test_S5_a_price_pushed_past_the_tolerance_before_a_SELL_step_makes_it_revert
        • Vault05Trade.test_S5_the_unlock_callback_answers_only_the_PoolManager_inside_the_vaults_own_unlock
        • Vault05Trade.test_S5_a_step_cannot_run_inside_another_contracts_unlock
        • Vault04Step.test_S4_status_the_price_above_the_maximum
        • Vault04Step.test_S4_status_no_wall_standing
        • Vault12PriceLimit.test_S12_6_the_falsifier_a_sale_too_big_for_the_tolerance_sells_the_part_that_fits_and_does_not_revert
        • Vault12PriceLimit.test_S12_6_1_at_the_least_tolerance_the_limit_stands_49_basis_points_past_the_record_and_a_part_fills_up_to_it
        • Vault12BookEdge.test_S12_6_1_a_sale_larger_than_the_whole_book_stops_at_the_books_edge_and_is_not_refused
        • Vault12BookEdge.test_S12_6_1_the_limits_two_terms_a_wide_tolerance_stops_at_the_edge_a_narrow_one_at_the_tolerance
        • Vault12NoBook.test_S12_6_1_with_no_book_there_is_no_sale_and_the_decision_does_not_revert
        • Vault12PriceLimit.testFuzz_S12_6_a_chosen_SELL_above_the_wei_scale_never_reverts_on_the_guard_or_the_rule
        • Vault12PriceLimit.test_S12_6_the_spread_reaches_every_outcome_and_no_chosen_sale_above_the_wei_scale_reverts
        • Vault12StartPrice.test_S12_6_the_flush_in_beforeSwap_does_not_move_the_price_a_sell_starts_from
        • Vault12StartPrice.test_S12_6_the_rebase_in_beforeSwap_does_not_move_the_price_a_sell_starts_from_the_block_after_a_crash
        • Vault12StartPrice.test_S12_6_the_rebase_in_beforeSwap_does_not_move_the_price_a_sell_starts_from_four_blocks_after_a_crash
        • Vault12StartPrice.test_S12_6_control_with_no_other_work_the_swap_starts_from_the_price_read
        • Vault12StartPrice.test_S12_6_the_instrument_sees_a_price_moved_between_the_read_and_the_swap
        • Vault15SaleReference.test_S12_10_2_the_record_held_under_the_live_price_by_small_buys_the_sale_stops_one_tolerance_under_the_LIVE_price
        • Vault15SaleReference.test_S12_10_2_with_the_live_price_at_or_under_the_record_the_sale_is_judged_by_the_record_as_before
        • Vault15SalePartLeavesTheBuy.test_S12_10_3_where_no_sale_is_chosen_the_buy_is_still_judged_by_the_record_alone
        • Vault15BuyStall.test_S12_10_6_four_hundred_blocks_of_buys_under_MIN_TW_ETH_with_a_rising_price
        • Vault19SaleRemainder.test_S15_6_a_sender_that_selected_the_token_at_the_pool_manager_in_the_same_transaction_the_buy_is_made
        • Vault19SaleRemainder.test_S15_7_the_price_ceiling_stops_buys_only_a_due_sale_is_made_and_the_next_blocks_buy_answers_13
        • Vault19SaleRemainder.test_S15_7_a_sale_tried_and_not_made_above_the_ceiling_refuses_with_22_and_pays_nobody
        • Vault19SaleRemainder.test_S15_7_a_chosen_sale_reads_no_ceiling_and_a_buy_is_held_against_the_recorded_price
        • Vault08AutoSell.test_S8_the_sale_is_the_need_of_the_plans_next_day_at_the_record_price
      • INV-VAULT-FEE · 53 tests · 49 sabotages
        • Vault06Fee.test_S6_the_bounds_are_the_measured_gas_at_the_base_fee_plus_ten_percent_and_a_step_pays_the_gas_it_used
        • Vault06Fee.test_S6_the_callers_own_gas_price_does_not_change_the_fee
        • Vault06Fee.test_S6_a_step_whose_fee_exceeds_the_owners_limit_does_not_run
        • Vault06Fee.test_S6_a_caller_that_refuses_its_fee_reverts_the_whole_step
        • Vault06Fee.test_S6_a_caller_reentering_from_its_fee_can_do_nothing_more
        • Vault06Fee.test_S6_the_lock_refuses_reentry_even_from_the_owner
        • Vault06Fee.test_S6_a_step_moves_nothing_but_the_buy_and_the_fee
        • Vault04Step.test_S4_status_the_fee_above_the_limit
        • Vault10Gas.test_gas_every_BUY_step_shape_is_covered_and_BUY_GAS_is_the_worst_rounded_up
        • Vault10Gas.test_gas_every_SELL_step_shape_is_covered_and_SELL_GAS_is_the_worst_rounded_up
        • Vault10Gas.test_gas_what_the_limit_adds_to_a_BUY_that_a_due_sale_goes_on_to
        • Vault13FailedSale.test_S12_7_3_one_gas_unit_under_the_requirement_the_step_reverts_NotEnoughGas_and_with_exactly_it_the_sale_is_made
        • Vault13FailedSale.test_S12_7_3_whatever_gas_the_caller_gives_the_sale_gets_exactly_SELL_GAS
        • Vault13FailedSale.test_S12_7_4_the_failed_sale_then_buy_step_is_repaid_its_gas_under_SELL_BUY_GAS_at_the_base_fee_plus_ten_percent
        • Vault13FailedSale.test_S12_7_4_the_free_ETH_must_cover_the_buy_and_the_failed_sale_fee_else_no_buy_code_22
        • Vault13FailedSale.test_S12_7_4_the_owners_fee_limit_applies_to_the_failed_sale_then_buy_fee
        • Vault13FailedSale.test_S12_7_4_a_budget_plan_pays_the_failed_sale_fee_from_its_budget
        • Vault13FailedSale.test_S12_7_8_a_sale_not_even_tried_is_no_failed_sale_the_step_pays_the_BUY_fee
        • Vault10Gas.test_gas_every_failed_sale_then_buy_shape_is_covered_and_SELL_BUY_GAS_is_the_worst_rounded_up
        • Vault10Gas.test_gas_STEP_OVERHEAD_GAS_is_the_worst_measured_overhead_of_a_failed_sale_rounded_up
        • Vault10Gas.test_gas_with_exactly_the_requirement_the_dearest_failed_sale_then_buy_step_completes
        • Vault16GroupCaller.test_S7_4_a_sender_whose_receive_reverts_the_whole_transaction_reverts_and_no_vault_has_stepped
        • Vault16GroupCaller.testFuzz_S7_7_no_ETH_is_left_in_the_caller_after_any_transaction
        • Vault16StepCallGas.test_S3_2_STEP_CALL_GAS_is_the_least_gas_with_which_the_dearest_step_runs_rounded_up
        • Vault16GroupCaller.test_S5_an_empty_list_does_nothing_and_ETH_sent_by_mistake_goes_to_the_next_caller
        • DeployMinerVaultsTest.test_gas_constants_that_are_not_the_measured_ones_are_refused
        • DeployMinerVaultsTest.test_a_factory_standing_with_gas_constants_that_were_not_measured_is_refused
        • DeployMinerVaultsTest.test_a_caller_whose_step_gas_does_not_cover_the_factorys_constants_is_refused
        • DeployMinerVaultsTest.test_run_from_the_environment_deploys_the_factory_and_the_caller_and_a_vault_buys_through_them
        • Vault19SaleRemainder.test_S15_5_no_sale_for_buys_the_owners_fee_limit_refuses_status_answers_12_with_the_BUY_fee
        • Vault19SaleRemainder.test_S15_8_with_the_fee_limit_between_the_two_fees_no_sale_is_tried_while_the_ETH_covers_a_buy
        • Vault19SaleRemainder.test_S15_8_with_ETH_under_one_buy_the_sale_is_tried_made_it_pays_the_SELL_fee_not_made_the_step_refuses_22
        • Vault19SaleRemainder.test_S15_8_with_the_fee_limit_at_the_BUY_fee_the_plan_buys_sells_once_when_its_ETH_is_out_and_completes
        • Vault20StepRepay.test_S16_1_a_BUY_step_pays_the_gas_it_used_at_the_base_fee_plus_ten_percent_to_the_wei
        • Vault20StepRepay.test_S16_1_a_SELL_step_pays_the_gas_it_used_and_the_vault_holds_before_plus_ethOut_less_paid
        • Vault20StepRepay.test_S16_1_a_failed_sale_then_a_buy_is_repaid_the_gas_of_both_under_the_bound_of_that_shape
        • Vault20StepRepay.test_S16_1_the_amount_is_one_gas_figure_times_the_base_fee_times_1_1_rounded_DOWN_at_three_base_fees
        • Vault20StepRepay.test_S16_2_a_step_dearer_than_the_worst_measured_is_paid_exactly_the_bound_and_no_more
        • Vault20StepRepay.test_S16_3_the_owners_fee_limit_is_held_against_the_bound_not_against_what_the_step_pays
        • Vault20StepRepay.test_S16_3_a_buy_needs_ETH_for_the_buy_and_the_bound_and_what_the_step_did_not_use_stays_in_the_vault
        • Vault20StepRepay.test_S16_3_after_N_buys_the_free_ETH_is_the_start_less_each_buy_and_what_each_step_paid
        • Vault20StepRepay.test_S16_3_a_sale_is_due_and_sized_with_the_bounds_of_a_BUY_step_and_a_SELL_step
        • Vault20StepRepay.test_S16_4_a_sales_ledger_line_removes_the_H_sold_and_adds_what_the_step_paid_once
        • Vault20StepRepay.test_S16_4_a_budget_plan_loses_the_buy_and_what_its_step_paid_and_ends_when_no_buy_fits
        • Vault20StepRepay.test_S16_4_a_count_plans_last_buy_closes_the_ledger_with_what_was_paid
        • Vault20StepRepay.test_S16_5_a_caller_that_offers_a_higher_gas_price_is_repaid_no_more
        • Vault20StepRepay.test_S16_6_a_caller_whose_receive_burns_gas_is_repaid_nothing_for_it
        • Vault20StepRepay.test_S16_6_stepFees_answers_the_three_bounds_each_rounded_UP
        • Vault20StepRepay.test_S16_with_no_base_fee_the_bounds_and_the_amount_paid_are_zero_and_the_step_runs
        • Vault20StepRepay.test_S16_the_locked_margin_and_the_new_constant_are_the_vaults_own
        • Vault10Gas.test_gas_STEP_REPAY_BASE_GAS_is_the_worst_measured_gas_outside_a_steps_own_measure_rounded_up
        • Vault18AlwaysOutCampaign.invariant_no_step_paid_its_caller_more_than_the_most_it_may
        • DeployMinerVaultsTest.test_a_vault_that_repays_another_margin_than_the_locked_ten_percent_is_refused
      • INV-VAULT-STEP · 37 tests · 25 sabotages
        • Vault04Step.test_S4_anyone_runs_a_step_and_it_does_exactly_one_buy
        • Vault04Step.test_S4_at_most_one_action_per_HETH_block
        • Vault04Step.test_S4_a_missed_block_is_never_caught_up
        • Vault04Step.test_S4_a_count_plan_runs_its_count_then_is_cleared_and_nothing_is_withdrawn
        • Vault04Step.test_S4_a_budget_plan_spends_the_buy_and_its_fee_and_ends_when_no_buy_can_fit
        • Vault04Step.test_S4_a_budget_rest_between_the_buy_and_the_buy_plus_fee_waits_for_a_lower_fee
        • Vault04Step.test_S4_status_no_plan_waiting_due_and_not_enough_ETH
        • Vault04Step.test_S4_a_step_emits_one_Stepped_and_the_history_adds_up
        • Vault03Plan.test_S3_setPlan_stores_every_field_and_the_first_buy_is_due_from_the_next_block
        • Vault03Plan.test_S3_a_budget_plan_carries_its_budget_and_no_count
        • Vault03Plan.test_S3_a_plan_outside_the_bounds_reverts
        • Vault03Plan.test_S3_the_bounds_edges_are_accepted
        • Vault03Plan.test_S3_setPlan_replaces_the_plan_one_at_a_time
        • Vault03Plan.test_S3_stopPlan_clears_the_plan_and_withdraws_nothing
        • Vault03Plan.test_S3_only_the_owner_sets_or_stops_the_plan
        • Vault03Plan.test_S12_7_6_with_the_auto_sell_on_a_tolerance_of_49_basis_points_is_refused_and_50_is_accepted
        • Vault13FailedSale.test_S12_7_8_the_self_only_sale_function_refuses_every_caller_but_the_vault_itself
        • Vault13FailedSale.test_S12_7_8_a_failed_sale_followed_by_a_buy_is_the_blocks_one_action
        • Vault13FailedSale.test_S12_7_8_the_owners_manual_sale_has_no_least_sale_and_no_fallback
        • Vault13FailedSale.test_S12_7_9_a_failed_sale_and_a_buy_that_fails_its_own_guard_the_whole_step_reverts_and_nothing_is_paid
        • Vault13FailedSale.test_S12_7_the_two_locked_values_the_new_code_and_the_names
        • Vault16GroupTraces.test_S7_1_three_vaults_buys_in_ONE_transaction_all_run_each_credited_its_own_Work_and_the_sender_receives_the_three_fees
        • Vault16GroupTraces.test_S7_2_the_same_three_steps_one_by_one_in_the_same_block_and_order_give_each_vault_the_same_H_to_the_wei
        • Vault16GroupCaller.test_S7_3_a_non_vault_a_reverting_step_a_vault_twice_and_a_gas_burner_do_not_stop_the_others_which_run_and_are_paid
        • Vault16GroupCaller.test_S7_3_a_listed_address_that_burns_all_its_gas_costs_the_sender_at_most_STEP_CALL_GAS_MOCKED
        • Vault16GroupCaller.test_S7_5_a_list_longer_than_the_gas_given_ends_cleanly_the_first_entries_done_and_paid_the_rest_false
        • Vault16GroupCaller.test_S3_stepMany_cannot_be_entered_again_from_the_payment_of_its_fees_and_the_lock_is_not_left_set
        • Vault16GroupCaller.test_S3_2_a_step_whose_sale_is_made_runs_in_a_group_as_it_does_alone
        • Vault16GroupCaller.test_S3_3_with_exactly_the_gas_its_own_check_asks_the_function_completes_even_when_the_entry_burns_all_its_gas_MOCKED
        • Vault16GroupCaller.test_S5_a_vault_whose_plan_refuses_the_fee_is_skipped_and_the_others_run
        • Vault16GroupOfTen.test_S2_in_a_group_of_ten_the_later_buys_are_refused_by_their_own_guard_exactly_as_one_by_one
        • Vault02Factory.test_D208_isVault_is_true_for_every_vault_this_factory_created_and_for_nothing_else
        • Vault08AutoSell.test_S8_the_sale_is_the_need_of_the_plans_next_day_at_the_record_price
        • DeployMinerVaultsTest.test_a_caller_pointed_at_another_factory_is_refused
        • Vault20StepRepay.test_S16_4_a_budget_plan_loses_the_buy_and_what_its_step_paid_and_ends_when_no_buy_fits
        • Vault20StepRepay.test_S16_7_the_ledger_is_never_at_the_bound_when_the_payment_leaves_a_budget_plans_buys
        • Vault20StepRepay.test_S16_7_a_budget_plans_end_is_read_on_what_is_left_after_what_was_paid_not_on_the_line_at_the_bound
      • INV-VAULT-AUTOSELL · 52 tests · 48 sabotages
        • Vault08AutoSell.test_S8_the_sale_is_the_need_of_the_plans_next_day_at_the_record_price
        • Vault08AutoSell.test_S8_the_need_counts_only_the_buys_due_in_the_next_209_blocks
        • Vault08AutoSell.test_S8_no_sale_while_the_free_ETH_covers_autoSellWhenBuysLeft_buys
        • Vault08AutoSell.test_S8_auto_sell_off_never_sells
        • Vault08AutoSell.test_S8_the_floor_lowers_the_sale_and_is_never_crossed
        • Vault08AutoSell.test_S8_at_the_floor_with_ETH_for_a_buy_the_step_goes_on_to_BUY
        • Vault08AutoSell.test_S8_the_daily_cap_lowers_the_sale_and_resets_with_the_HETH_day
        • Vault08AutoSell.test_S8_a_sale_under_the_average_cost_reverts_whole
        • Vault08AutoSell.test_S8_autoSellAnyPrice_sells_under_the_average_cost
        • Vault08AutoSell.test_S8_a_sale_at_or_above_the_average_cost_sells
        • Vault08AutoSell.test_S8_the_price_rule_passes_an_honest_fill_at_the_owners_margin
        • Vault08AutoSell.test_S8_the_price_rule_is_on_the_ETH_actually_received_not_on_the_quote
        • Vault08AutoSell.test_S12_under_the_average_cost_the_vault_keeps_buying_while_its_ETH_covers_a_buy
        • Vault08AutoSell.test_S12_with_autoSellAnyPrice_the_due_sale_is_chosen_before_the_buy
        • Vault08AutoSell.test_S12_maxPriceWeiPerH_still_stops_the_fallback_BUY_and_since_S15_7_no_SELL
        • Vault08AutoSell.test_S12_4_a_sale_that_holds_at_the_record_price_and_not_for_the_guards_minimum_is_not_tried_the_step_buys_at_once
        • Vault11RuleOnMinimum.test_S12_4_a_sale_whose_own_impact_would_fail_the_rule_is_not_chosen_the_step_buys
        • Vault11RuleOnMinimum.test_S12_4_without_ETH_for_a_buy_it_refuses_with_the_price_reason_and_under_the_guards_minimum_it_sells
        • Vault11RuleOnMinimum.test_S12_4_the_boundary_on_the_price_SELL_at_the_least_balance_one_wei_of_basis_more_BUY
        • Vault11RuleOnMinimum.testFuzz_S12_4_a_chosen_sale_that_passes_its_price_guard_never_fails_the_average_cost_rule
        • Vault11RuleOnMinimum.test_S12_4_the_spread_reaches_every_outcome_and_no_chosen_sale_fails_the_rule
        • Vault12PriceLimit.test_S12_6_2_a_live_price_past_the_limit_is_no_sale_the_step_buys_and_without_ETH_it_refuses_with_code_21
        • Vault12PriceLimit.test_S12_6_2_the_boundary_a_live_price_exactly_at_the_limit_is_no_sale_one_unit_under_it_is
        • Vault12PriceLimit.test_S12_6_4_the_price_rule_is_decided_on_prices_the_boundary_to_the_unit_for_a_part_of_x
        • Vault12BookEdge.test_S12_7_the_gap_is_closed_a_sale_into_the_gap_is_undone_the_same_step_buys_and_no_later_step_reverts
        • Vault12BookEdge.test_S12_7_5_in_the_gap_with_no_ETH_for_a_buy_the_step_reverts_with_code_22_and_the_caller_is_paid_nothing
        • Vault13FailedSale.test_S12_7_2_a_sale_the_main_contract_refuses_ZeroSellOutput_MOCKED_is_undone_and_the_same_step_buys
        • Vault13FailedSale.test_S12_7_2_a_sale_refused_SellBeyondTheBook_MOCKED_is_undone_and_the_same_step_buys
        • Vault13FailedSale.test_S12_7_2_a_sale_refused_for_a_reason_that_does_not_exist_today_MOCKED_is_undone_and_the_same_step_buys
        • Vault13FailedSale.test_S15_4_a_sale_of_the_wei_scale_that_would_fail_its_price_guard_is_no_longer_tried_the_step_is_a_plain_BUY
        • Vault13FailedSale.test_S12_7_2_a_sale_that_fails_the_average_cost_rule_on_the_ETH_received_MOCKED_is_undone_and_the_same_step_buys
        • Vault13FailedSale.test_S12_7_2_a_sale_that_runs_out_of_its_fixed_gas_is_undone_and_the_same_step_buys
        • Vault13FailedSale.test_S12_7_5_no_sale_and_no_buy_the_step_reverts_NothingDue_22_and_changes_nothing
        • Vault13FailedSale.test_S12_7_7_a_sale_one_wei_under_ten_times_its_fee_is_not_made_and_one_of_exactly_ten_times_is
        • Vault13FailedSale.test_S12_7_7_at_a_high_base_fee_the_vault_does_not_sell_it_buys_while_its_ETH_lasts_then_waits
        • Vault12BookEdge.test_S12_7_in_the_gap_with_ETH_for_sixty_buys_no_step_reverts_in_sixty_blocks
        • Vault12BookEdge.test_S12_9_in_the_gap_book_with_ETH_for_N_buys_inside_the_limit_the_sale_is_made_and_with_less_it_is_not
        • Vault14ThinBook.test_S12_9_1_a_sale_one_wei_under_the_cost_of_N_buys_is_not_made_and_one_of_exactly_that_is
        • Vault14ThinBook.test_S12_9_1a_a_plan_that_wants_less_than_N_buys_sells_what_it_wanted_less_its_tolerance_in_a_quiet_deep_market
        • Vault14ThinBook.test_S12_9_7_the_owners_own_caps_can_keep_every_sale_under_the_least_then_the_vault_never_sells
        • Vault14ThinBook.test_S12_9_7_in_a_deep_book_the_least_is_far_under_the_sale_and_nothing_changes
        • Vault14ThinBook.test_S12_9_1a_a_sale_one_wei_under_what_it_wanted_less_its_tolerance_is_not_made_and_one_of_exactly_that_is
        • Vault19SaleRemainder.test_S15_1_what_a_sale_must_raise_holds_the_SELL_steps_own_fee_to_the_wei
        • Vault19SaleRemainder.test_S15_1_a_shortfall_under_ten_SELL_fees_raises_a_sale_of_ten_fees_worth
        • Vault19SaleRemainder.test_S15_1_the_base_fee_rising_between_the_sale_and_the_buy_one_small_sale_of_ten_fees_worth_then_the_buy
        • Vault19SaleRemainder.test_S15_2_the_amount_brings_T_at_the_guards_minimum_price_and_a_sale_that_fills_whole_leaves_no_remainder
        • Vault19SaleRemainder.test_S15_a_plan_of_three_buys_funded_by_ONE_sale_pays_one_SELL_fee_and_three_BUY_fees_and_completes
        • Vault19SaleRemainder.test_S15_3_a_sale_filled_in_part_is_made_at_or_above_the_least_and_refused_under_it
        • Vault19SaleRemainder.test_S15_4_with_the_floor_leaving_room_for_less_than_the_least_no_sale_is_tried_and_the_step_is_a_plain_BUY
        • Vault19SaleRemainder.test_S15_4_with_the_days_cap_leaving_room_for_less_than_the_least_no_sale_is_tried_and_the_step_is_a_plain_BUY
        • Vault19SaleRemainder.test_S15_4_the_boundary_a_sale_whose_most_reaches_the_least_is_chosen_and_one_unit_of_H_under_it_is_not
        • Vault13FailedSale.test_S15_4_a_sale_of_one_unit_of_H_is_no_longer_tried_the_step_is_a_plain_BUY
      • INV-VAULT-LEDGER · 8 tests · 8 sabotages
        • Vault07Ledger.test_S7_the_average_cost_equals_a_hand_calculation
        • Vault07Ledger.test_S7_an_outflow_never_lowers_the_average_cost
        • Vault07Ledger.test_S7_withdrawing_all_the_H_removes_the_whole_basis
        • Vault20StepRepay.test_S16_3_after_N_buys_the_free_ETH_is_the_start_less_each_buy_and_what_each_step_paid
        • Vault20StepRepay.test_S16_4_a_sales_ledger_line_removes_the_H_sold_and_adds_what_the_step_paid_once
        • Vault20StepRepay.test_S16_7_the_ledger_is_never_at_the_bound_when_the_payment_leaves_a_budget_plans_buys
        • Vault20StepRepay.test_S16_7_the_ledger_is_never_at_the_bound_when_the_payment_leaves_a_count_plans_buy_and_a_sale
        • Vault20StepRepay.test_S16_7_a_step_that_paid_its_bound_leaves_the_ledger_with_the_buy_and_the_bound
      • INV-VAULT-OWNER · 36 tests · 39 sabotages
        • Vault09Owner.test_S9_withdrawEth_sends_to_the_owner_and_only_the_owner_calls_it
        • Vault09Owner.test_S9_withdrawH_sends_to_the_owner_and_only_the_owner_calls_it
        • Vault09Owner.test_S9_a_withdrawal_to_an_owner_that_refuses_ETH_reverts_and_goes_nowhere_else
        • Vault09Owner.test_S9_a_caller_other_than_the_owner_can_move_nothing
        • Vault09Owner.testFuzz_S9_no_call_by_a_non_owner_changes_the_owner_or_takes_funds
        • Vault09Owner.test_S9_the_owner_is_in_the_code_not_in_storage
        • Vault09Owner.test_S9_the_owner_sells_from_the_vault_and_the_ETH_stays_in_the_vault
        • Vault09Owner.test_S9_mining_rewards_reach_the_vault_by_the_owners_claim_or_anyones_settleFor
        • Vault09Owner.test_S9_a_pushed_holder_payout_is_received_under_SEND_GAS
        • Vault09Owner.test_S9_claimRewards_brings_the_holder_ETH_and_H_into_the_vault
        • Vault09Owner.test_S9_anyone_may_send_ETH_and_nothing_else_happens
        • Vault09Owner.test_S9_the_vault_votes_by_its_owner
        • Vault09Owner.test_S9_the_vault_exits_and_the_ETH_stays_in_the_vault
        • Vault09Owner.test_S12_the_vault_has_no_migrate_and_exit_still_works
        • Vault09Owner.test_S10_with_an_active_successor_the_vault_still_buys_and_sells
        • Vault09Owner.test_S9_exit_refuses_before_a_successor_is_active
        • Vault17ExitMinimum.test_D201_the_vaults_exit_one_wei_above_its_payout_reverts_ExitBelowMinimum_and_moves_nothing_and_at_the_payout_pays_it
        • Vault17ExitMinimum.test_D201_the_vaults_exit_hands_the_owners_minimum_to_the_main_contract_unchanged
        • Vault17ExitMinimum.test_D201_with_no_minimum_the_vaults_exit_pays_its_share
        • Vault17ExitMinimum.test_D201_the_vault_has_no_exit_without_a_minimum
        • Vault02Factory.test_S2_a_second_createVault_of_the_same_wallet_reverts
        • Vault02Factory.test_S2_the_factorys_immutables_are_the_main_contracts_own_pool
        • Vault02Factory.test_S2_a_factory_for_another_pool_cannot_be_deployed
        • Vault02Factory.test_S2_a_vault_deployed_outside_a_factory_does_not_deploy
        • Vault03Plan.test_S3_only_the_owner_sets_or_stops_the_plan
        • DeployMinerVaultsTest.test_a_hook_address_with_no_code_is_refused
        • DeployMinerVaultsTest.test_run_from_the_environment_deploys_the_factory_and_the_caller_and_a_vault_buys_through_them
        • DeployMinerVaultsTest.test_runtime_code_over_the_chains_size_limit_is_refused
        • DeployMinerVaultsTest.test_the_wrong_chain_and_a_deployer_that_cannot_send_are_refused
        • DeployMinerVaultsTest.test_a_hook_whose_pool_key_is_not_its_own_pool_is_refused
        • DeployMinerVaultsTest.test_a_hook_whose_token_names_another_pool_is_refused
        • DeployMinerVaultsTest.test_a_hook_of_the_other_clock_is_refused
        • DeployMinerVaultsTest.test_a_code_size_limit_of_zero_or_not_Robinhood_Chains_own_is_refused
        • DeployMinerVaultsTest.test_a_factory_that_is_not_the_given_main_contracts_is_refused
        • DeployMinerVaultsTest.test_an_older_main_contract_without_the_two_argument_exit_is_refused
        • DeployMinerVaultsTest.test_a_contract_that_is_not_a_main_contract_is_refused_by_name
      • INV-VAULT-OUT · 41 tests · 17 sabotages
        • Vault18AlwaysOut.test_S13_out_with_no_plan
        • Vault18AlwaysOut.test_S13_out_with_a_count_plan_running
        • Vault18AlwaysOut.test_S13_out_with_a_count_plan_set_and_not_yet_stepped
        • Vault18AlwaysOut.test_S13_out_with_a_budget_plan_running
        • Vault18AlwaysOut.test_S13_out_with_the_auto_sell_on_and_a_sale_made
        • Vault18AlwaysOut.test_S13_out_with_a_plan_ended
        • Vault18AlwaysOut.test_S13_out_with_a_plan_stopped
        • Vault18AlwaysOut.test_S13_out_in_the_block_of_a_step
        • Vault18AlwaysOut.test_S13_out_with_powered_H_bought_a_day_ago
        • Vault18AlwaysOut.test_S13_out_with_a_successor_active
        • Vault18AlwaysOut.test_S13_out_with_H_bought_a_day_ago_and_never_settled
        • Vault18AlwaysOut.test_S13_all_with_no_plan
        • Vault18AlwaysOut.test_S13_all_with_a_count_plan_running
        • Vault18AlwaysOut.test_S13_all_with_a_count_plan_set_and_not_yet_stepped
        • Vault18AlwaysOut.test_S13_all_with_a_budget_plan_running
        • Vault18AlwaysOut.test_S13_all_with_the_auto_sell_on_and_a_sale_made
        • Vault18AlwaysOut.test_S13_all_with_a_plan_ended
        • Vault18AlwaysOut.test_S13_all_with_a_plan_stopped
        • Vault18AlwaysOut.test_S13_all_in_the_block_of_a_step
        • Vault18AlwaysOut.test_S13_all_with_powered_H_bought_a_day_ago
        • Vault18AlwaysOut.test_S13_all_with_a_successor_active
        • Vault18AlwaysOut.test_S13_all_with_H_bought_a_day_ago_and_never_settled
        • Vault18AlwaysOut.test_S13_out_right_after_a_step_that_reverted_in_the_same_transaction
        • Vault18AlwaysOut.test_S13_out_right_after_a_step_that_reverted_with_the_main_contract_replaced
        • Vault18AlwaysOut.test_S13_all_right_after_a_step_that_reverted_in_the_same_transaction
        • Vault18AlwaysOut.test_S13_all_right_after_a_step_that_reverted_with_the_main_contract_replaced
        • Vault18AlwaysOut.test_S13_an_owner_that_refuses_ETH_still_takes_the_H_out
        • Vault18AlwaysOut.test_S13_all_reverts_whole_for_an_owner_that_refuses_ETH_and_withdrawH_still_takes_the_H
        • Vault18AlwaysOut.test_S13_not_the_owner_is_refused
        • Vault18AlwaysOut.test_S13_all_is_refused_for_everyone_but_the_owner
        • Vault18AlwaysOut.test_S13_all_on_an_empty_vault_does_nothing_and_does_not_revert
        • Vault18AlwaysOut.test_S13_all_with_only_wei_skips_the_H
        • Vault18AlwaysOut.test_S13_all_with_only_H_skips_the_wei
        • Vault18AlwaysOut.test_S13_all_with_no_H_and_a_basis_left_by_a_sale_leaves_the_basis
        • Vault18AlwaysOut.test_S13_all_sends_the_H_before_the_wei
        • Vault18AlwaysOut.test_S13_all_holds_the_lock_while_it_sends
        • Vault18AlwaysOutBeforeTheLaunch.test_S13_out_before_the_launch_is_filled
        • Vault18AlwaysOutBeforeTheLaunch.test_S13_all_before_the_launch_is_filled
        • Vault18AlwaysOutCampaign.invariant_the_owner_can_always_take_everything_out
        • Vault18AlwaysOutCampaign.invariant_no_withdrawal_the_owner_made_was_refused
        • Vault18AlwaysOutCampaignReplay.test_S13_the_campaigns_handler_reaches_buys_a_sale_and_every_withdrawal

      read from the contract's repository when this site was built