forked from aeyakovenko/percolator
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathkani-list.json
More file actions
338 lines (338 loc) · 15.1 KB
/
Copy pathkani-list.json
File metadata and controls
338 lines (338 loc) · 15.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
{
"kani-version": "0.66.0",
"file-version": "0.1",
"standard-harnesses": {
"tests/proofs_admission.rs": [
"ac1_acceleration_all_or_nothing",
"ac2_acceleration_fires_iff_admits",
"ac4_acceleration_conservation",
"ac5_admit_outstanding_atomic_on_err",
"ac6_outstanding_acceleration_blocked_by_nonzero_hmin",
"ac7_outstanding_acceleration_blocked_by_active_threshold",
"ah1_single_admission_range",
"ah2_sticky_is_absorbing",
"ah3_no_under_admission",
"ah4_hmin_zero_preserves_h_equals_one",
"ah5_cross_account_sticky_isolation",
"ah6_positive_hmin_floor",
"ah7_sticky_bitmap_is_idempotent_and_never_capacity_bound",
"ah8_broken_conservation_fails",
"in1_no_live_immediate_release",
"k104_oi_geq_sum_of_effective",
"k1_accrue_rejects_dt_over_envelope",
"k201_keeper_crank_rejects_oversized_budget",
"k202_postcondition_detects_broken_conservation",
"k2_resolve_degenerate_bypasses_dt_cap",
"k71_neg_pnl_count_tracks_actual",
"k9_admission_pair_rejects_zero_max",
"rs1_validate_rejects_reserved_exceeding_pos_pnl",
"rs2_admit_outstanding_rejects_bucket_sum_mismatch",
"rs3_apply_reserve_loss_rejects_malformed_queue",
"rs4_warmup_rejects_malformed_pending_before_promotion",
"v19_accrual_consumption_only_commits_on_success",
"v19_admit_gate_none_disables_step2",
"v19_admit_gate_some_zero_rejected",
"v19_admit_gate_sticky_early_return",
"v19_admit_gate_stress_lane_forces_h_max",
"v19_consumption_floor_below_one_bp",
"v19_consumption_monotone_within_generation",
"v19_rr_window_zero_no_cursor_advance"
],
"tests/proofs_arithmetic.rs": [
"proof_ceil_div_positive_checked",
"proof_haircut_mul_div_conservative",
"proof_k_pair_variant_sign_and_rounding",
"proof_k_pair_variant_zero_diff",
"proof_notional_flat_is_zero",
"proof_notional_scales_with_price",
"proof_warmup_release_bounded_by_reserved",
"proof_wide_signed_mul_div_floor_sign_and_rounding",
"proof_wide_signed_mul_div_floor_zero_inputs",
"t0_1_floor_div_signed_conservative_is_floor",
"t0_1_sat_negative_with_remainder",
"t0_2_mul_div_ceil_algebraic_identity",
"t0_2_mul_div_floor_algebraic_identity",
"t0_2c_mul_div_floor_matches_reference",
"t0_2d_mul_div_ceil_matches_reference",
"t0_4_fee_debt_i128_min",
"t0_4_fee_debt_no_overflow",
"t0_4_saturating_mul_no_panic",
"t13_59_fused_delta_k_no_double_rounding"
],
"tests/proofs_audit.rs": [
"proof_add_lp_count_rollback_on_alloc_failure",
"proof_add_user_count_rollback_on_alloc_failure",
"proof_close_account_pnl_check_before_fee_forgive",
"proof_config_rejects_fee_cap_exceeds_max",
"proof_config_rejects_invalid_bps",
"proof_config_rejects_liq_fee_inversion",
"proof_config_rejects_oversized_max_accounts",
"proof_config_rejects_zero_max_accounts",
"proof_epoch_snap_correct_on_nonzero_attach",
"proof_epoch_snap_zero_on_position_zeroout",
"proof_fee_debt_sweep_checked_arithmetic",
"proof_flat_account_initial_margin_healthy",
"proof_flat_account_maintenance_healthy",
"proof_flat_zero_equity_not_maintenance_healthy",
"proof_force_close_resolved_fee_sweep_conservation",
"proof_force_close_resolved_flat_returns_capital",
"proof_force_close_resolved_pos_count_decrements",
"proof_force_close_resolved_position_conservation",
"proof_force_close_resolved_with_position_conserves",
"proof_force_close_resolved_with_profit_conserves",
"proof_keeper_crank_invalid_partial_no_action",
"proof_keeper_hint_fullclose_passthrough",
"proof_keeper_hint_none_returns_none",
"proof_liquidate_missing_account_no_market_mutation",
"proof_reclaim_rejects_negative_pnl",
"proof_set_owner_rejects_claimed",
"proof_settle_epoch_snap_zero_on_truncation",
"proof_touch_oob_returns_error",
"proof_touch_unused_returns_error",
"proof_trade_no_crank_gate",
"proof_validate_hint_preflight_conservative",
"proof_validate_hint_preflight_oracle_shift",
"proof_withdraw_no_crank_gate"
],
"tests/proofs_checklist.rs": [
"proof_a2_reserve_bounds_after_set_pnl",
"proof_a7_fee_credits_bounds_after_trade",
"proof_b1_conservation_after_trade_with_fees",
"proof_b5_matured_leq_pos_tot",
"proof_b7_oi_balance_after_trade",
"proof_e8_position_bound_enforcement",
"proof_f8_loss_seniority_in_touch",
"proof_g4_drain_only_blocks_oi_increase",
"proof_goal23_deposit_no_insurance_draw",
"proof_goal27_finalize_path_independent",
"proof_goal5_no_same_trade_bootstrap",
"proof_goal7_pending_merge_max_horizon",
"proof_two_bucket_loss_newest_first",
"proof_two_bucket_pending_non_maturity",
"proof_two_bucket_reserve_sum_after_append",
"proof_two_bucket_scheduled_timing"
],
"tests/proofs_instructions.rs": [
"proof_audit2_deposit_existing_accepts_small_topup",
"proof_audit2_deposit_materializes_missing_account",
"proof_audit2_deposit_rejects_zero_amount_for_missing",
"proof_audit4_add_user_atomic_on_failure",
"proof_audit4_add_user_atomic_on_tvl_failure",
"proof_audit4_deposit_fee_credits_max_tvl",
"proof_begin_full_drain_reset",
"proof_fee_shortfall_routes_to_fee_credits",
"proof_finalize_side_reset_requires_conditions",
"proof_flat_close_shortfall_non_worsening",
"proof_property_23_deposit_materialization_threshold",
"proof_property_31_missing_account_safety",
"proof_property_44_deposit_true_flat_guard",
"proof_property_49_profit_conversion_reserve_preservation",
"proof_property_50_flat_only_auto_conversion",
"proof_property_51_withdraw_any_partial_ok",
"proof_property_52_convert_released_pnl_instruction",
"proof_solvent_flat_close_succeeds",
"t10_37_accrue_mark_matches_eager",
"t10_38_accrue_funding_payer_driven",
"t11_39_same_epoch_settle_idempotent_real_engine",
"t11_40_non_compounding_quantity_basis_two_touches",
"t11_41_attach_effective_position_remainder_accounting",
"t11_42_dynamic_dust_bound_inductive",
"t11_50_execute_trade_atomic_oi_update_sign_flip",
"t11_51_execute_trade_slippage_zero_sum",
"t11_52_touch_account_full_restart_fee_seniority",
"t11_54_worked_example_regression",
"t12_53_adl_truncation_dust_must_not_deadlock",
"t13_55_empty_opposing_side_deficit_fallback",
"t13_56_unilateral_empty_orphan_resolution",
"t13_57_unilateral_empty_corruption_guard",
"t13_58_unilateral_empty_short_side",
"t13_60_unconditional_dust_bound_on_any_a_decay",
"t14_61_dust_bound_adl_a_truncation_sufficient",
"t14_62_dust_bound_same_epoch_zeroing",
"t14_63_dust_bound_position_reattach_remainder",
"t14_64_dust_bound_full_drain_reset_zeroes",
"t14_65_dust_bound_end_to_end_clearance",
"t3_16_reset_pending_counter_invariant",
"t3_16b_reset_counter_with_nonzero_k_diff",
"t3_17_clean_empty_engine_no_retrigger",
"t3_18_dust_bound_reset_in_begin_full_drain",
"t3_19_finalize_side_reset_requires_all_stale_touched",
"t5_24_dynamic_dust_bound_sufficient",
"t6_26b_full_drain_reset_nonzero_k_diff",
"t9_35_warmup_release_monotone_in_time",
"t9_36_fee_seniority_after_restart",
"v19_accrue_market_envelope_enforces_goal52_bound",
"v19_reclaim_envelope_accept_within_bound",
"v19_reclaim_envelope_rejection_is_pre_mutation"
],
"tests/proofs_invariants.rs": [
"inductive_deposit_preserves_accounting",
"inductive_set_capital_decrease_preserves_accounting",
"inductive_set_pnl_preserves_pnl_pos_tot_delta",
"inductive_settle_loss_preserves_accounting",
"inductive_top_up_insurance_preserves_accounting",
"inductive_withdraw_preserves_accounting",
"proof_absorb_protocol_loss_drains_to_zero",
"proof_account_equity_net_nonnegative",
"proof_attach_effective_position_updates_side_counts",
"proof_check_conservation_basic",
"proof_effective_pos_q_epoch_mismatch_returns_zero",
"proof_effective_pos_q_flat_is_zero",
"proof_fee_credits_never_i128_min",
"proof_haircut_ratio_no_division_by_zero",
"proof_set_capital_maintains_c_tot",
"proof_set_pnl_clamps_reserved_pnl",
"proof_set_pnl_maintains_pnl_pos_tot",
"proof_set_pnl_rejects_i128_min",
"proof_set_pnl_underflow_safety",
"proof_set_position_basis_q_count_tracking",
"proof_side_mode_gating",
"prop_conservation_holds_after_all_ops",
"prop_pnl_pos_tot_agrees_with_recompute",
"t0_3_sat_all_sign_transitions",
"t0_3_set_pnl_aggregate_exact",
"t0_4_conservation_check_handles_overflow"
],
"tests/proofs_lazy_ak.rs": [
"proof_property_43_k_pair_chronology_correctness",
"t1_7_adl_quantity_only_lazy_conservative",
"t1_8_adl_deficit_only_lazy_equals_eager",
"t1_8b_adl_deficit_lazy_conservative_symbolic_a_basis",
"t1_9_adl_quantity_plus_deficit_lazy_conservative",
"t2_12_floor_shift_lemma",
"t2_12_fold_step_case",
"t2_14_compose_mark_adl_mark",
"t3_14_epoch_mismatch_forces_terminal_close",
"t3_14b_epoch_mismatch_with_nonzero_k_diff",
"t6_24_worked_example_regression",
"t6_25_pure_pnl_bankruptcy_regression",
"t6_26_full_drain_reset_regression",
"t7_28a_noncompounding_floor_inequality_correct_direction",
"t7_28b_noncompounding_exact_additivity_divisible_increments"
],
"tests/proofs_liveness.rs": [
"proof_adl_pipeline_trade_liquidate_reopen",
"proof_drain_only_to_reset_progress",
"proof_keeper_reset_lifecycle_last_stale_triggers_finalize",
"proof_unilateral_empty_orphan_dust_clearance",
"t11_43_end_instruction_auto_finalizes_ready_side",
"t11_44_trade_path_reopens_ready_reset_side",
"t11_46_enqueue_adl_k_add_overflow_still_routes_quantity",
"t11_47_precision_exhaustion_terminal_drain",
"t11_48_bankruptcy_liquidation_routes_q_when_D_zero",
"t11_49_pure_pnl_bankruptcy_path",
"t11_53_keeper_crank_quiesces_after_pending_reset"
],
"tests/proofs_safety.rs": [
"bounded_deposit_conservation",
"bounded_equity_nonneg_flat",
"bounded_haircut_ratio_bounded",
"bounded_liquidation_conservation",
"bounded_margin_withdrawal",
"bounded_trade_conservation",
"bounded_trade_conservation_symbolic_size",
"bounded_trade_conservation_with_fees",
"bounded_withdraw_conservation",
"proof_audit2_close_account_structural_safety",
"proof_audit2_funding_rate_clamped",
"proof_audit2_positive_overflow_equity_conservative",
"proof_audit2_positive_overflow_no_false_liquidation",
"proof_audit3_checked_u128_mul_i128_no_panic_at_boundary",
"proof_audit3_compute_trade_pnl_no_panic_at_boundary",
"proof_audit4_deposit_fee_credits_checked_arithmetic",
"proof_audit4_deposit_fee_credits_time_monotonicity",
"proof_audit4_init_in_place_canonical",
"proof_audit4_materialize_at_freelist_integrity",
"proof_audit4_top_up_insurance_no_panic",
"proof_audit4_top_up_insurance_overflow",
"proof_audit5_deposit_fee_credits_no_positive",
"proof_audit5_deposit_fee_credits_zero_debt_noop",
"proof_audit5_reclaim_empty_account_basic",
"proof_audit5_reclaim_rejects_live_capital",
"proof_audit5_reclaim_rejects_open_position",
"proof_audit5_reclaim_requires_zero_capital",
"proof_audit_empty_lp_reclaimable",
"proof_audit_fee_sweep_pnl_conservation",
"proof_audit_im_uses_exact_raw_equity",
"proof_audit_k_pair_chronology_not_inverted",
"proof_buffer_masking_blocked",
"proof_close_account_fee_forgiveness_bounded",
"proof_close_account_returns_capital",
"proof_convert_released_pnl_conservation",
"proof_convert_released_pnl_exercises_conversion",
"proof_deposit_then_withdraw_roundtrip",
"proof_execute_trade_full_margin_enforcement",
"proof_fee_debt_sweep_consumes_released_pnl",
"proof_flat_close_shortfall_predicate",
"proof_flat_negative_resolves_through_insurance",
"proof_funding_rate_validated_before_storage",
"proof_junior_profit_backing",
"proof_min_liq_abs_does_not_block_liquidation",
"proof_multiple_deposits_aggregate_correctly",
"proof_partial_liquidation_can_succeed",
"proof_phantom_dust_drain_no_revert",
"proof_property_26_maintenance_vs_im_dual_equity",
"proof_property_3_oracle_manipulation_haircut_safety",
"proof_property_56_exact_raw_im_approval",
"proof_protected_principal",
"proof_reclaim_empty_account_reclaims_drained_accounts",
"proof_reclaim_empty_fee_credit_policy",
"proof_risk_reducing_exemption_path",
"proof_sign_flip_trade_conserves",
"proof_symbolic_margin_enforcement_on_reduce",
"proof_top_up_insurance_preserves_conservation",
"proof_trade_pnl_is_zero_sum_algebraic",
"proof_trading_loss_seniority",
"proof_v1126_min_nonzero_margin_floor",
"proof_v1126_risk_reducing_fee_neutral",
"proof_withdraw_simulation_preserves_residual",
"t13_54_funding_no_mint_asymmetric_a",
"t4_17_enqueue_adl_preserves_oi_balance_qty_only",
"t4_18_precision_exhaustion_both_sides_reset",
"t4_19_full_drain_terminal_k_includes_deficit",
"t4_20_bankruptcy_qty_routes_when_d_zero",
"t4_21_precision_exhaustion_zeroes_both_sides",
"t4_22_k_overflow_routes_to_absorb",
"t4_23_d_zero_routes_quantity_only",
"t5_21_local_floor_quantity_error_bounded",
"t5_21_pnl_rounding_conservative",
"t5_22_phantom_dust_total_bound",
"t5_23_dust_clearance_guard_safe",
"v19_cascade_safety_gate_disabled_preserves_invariants",
"v19_trade_touch_order_is_ascending"
],
"tests/proofs_v1131.rs": [
"proof_accrue_mark_still_works",
"proof_accrue_no_funding_when_rate_zero",
"proof_bilateral_oi_decomposition",
"proof_deposit_fee_credits_cap",
"proof_deposit_no_insurance_draw",
"proof_deposit_nonflat_no_sweep_no_resolve",
"proof_deposit_sweep_pnl_guard",
"proof_deposit_sweep_when_pnl_nonneg",
"proof_funding_floor_not_truncation",
"proof_funding_price_basis_timing",
"proof_funding_rate_accepted_in_accrue",
"proof_funding_rate_bound_rejected",
"proof_funding_sign_and_floor",
"proof_funding_skip_zero_oi_both",
"proof_funding_skip_zero_oi_long",
"proof_funding_skip_zero_oi_short",
"proof_funding_substep_large_dt",
"proof_keeper_crank_r_last_stores_supplied_rate",
"proof_liquidation_policy_validity",
"proof_partial_liq_health_check_mandatory",
"proof_partial_liquidation_remainder_nonzero",
"proof_positive_conversion_denominator",
"proof_top_up_insurance_now_slot",
"proof_top_up_insurance_rejects_stale_slot"
]
},
"contract-harnesses": {},
"contracts": [],
"totals": {
"standard-harnesses": 305,
"contract-harnesses": 0,
"functions-under-contract": 0
}
}