zeekay and Hanzo Dev
84587ddb0f
Resolve the market before a swap can name a halt
...
SettleSwap took the caller's PoolKey and never asked whether that pool
existed, so key.ID() fed the halt slot, the volume shard and the fill
event alike. A fabricated key names a slot nobody set, and the swap
settles while the real market is halted.
Resolving once above the phase switch and passing the resolved poolID
down means no phase -- including one added later -- can key on anything
the registry has not admitted. checkHalt no longer accepts a key, so it
cannot derive one.
Co-authored-by: Hanzo Dev <[email protected] >
2026-09-08 02:41:14 -07:00
..
2026-06-27 16:08:48 -07:00
2026-08-28 13:46:40 -07:00
2026-08-07 16:13:01 -07:00
2026-07-02 10:56:00 -07:00
2026-07-02 10:56:00 -07:00
2026-06-21 00:18:54 -07:00
2026-08-07 21:48:28 -07:00
2026-08-28 20:13:25 -07:00
2026-08-28 20:13:25 -07:00
2026-08-07 21:46:47 -07:00
2026-08-28 20:13:25 -07:00
2026-08-30 17:17:26 -07:00
2026-06-22 22:50:00 -07:00
2026-08-07 17:33:14 -07:00
2026-09-08 02:41:14 -07:00
2026-08-28 14:14:21 -07:00
2026-06-19 11:34:41 -07:00
2026-08-28 13:46:40 -07:00
2026-06-26 14:40:01 -07:00
2026-06-02 23:27:11 -07:00
2026-06-02 23:27:11 -07:00
2026-03-02 16:54:55 +00:00
2026-09-08 02:41:14 -07:00
2026-09-08 02:41:14 -07:00
2026-03-02 16:54:55 +00:00
2026-08-28 15:08:29 -07:00
2026-01-09 08:48:29 +00:00
2026-01-09 08:48:29 +00:00
2026-01-09 08:48:29 +00:00
2026-01-09 08:48:29 +00:00
2026-08-28 15:08:29 -07:00
2026-03-02 02:00:00 +00:00
2026-03-02 16:54:55 +00:00
2026-08-28 15:08:29 -07:00
2026-08-07 16:13:01 -07:00
2026-03-02 02:00:00 +00:00
2026-08-28 13:46:40 -07:00
2026-08-28 14:14:21 -07:00
2026-08-28 20:13:25 -07:00
2026-08-07 17:33:14 -07:00
2026-08-07 17:33:14 -07:00
2026-08-28 14:14:21 -07:00
2026-08-28 11:38:50 -07:00
2026-08-07 17:33:14 -07:00
2026-08-28 20:13:25 -07:00
2026-08-07 21:46:47 -07:00
2026-08-07 17:33:14 -07:00
2026-08-28 20:13:25 -07:00
2026-08-28 20:13:25 -07:00
2026-08-28 20:13:25 -07:00
2026-08-28 20:13:25 -07:00
2026-08-07 21:34:50 -07:00
2026-08-07 17:23:58 -07:00
2026-08-28 20:13:25 -07:00
2026-07-04 12:52:44 -07:00
2026-09-08 02:41:14 -07:00
2026-08-28 15:08:29 -07:00
2026-07-04 12:52:44 -07:00
2026-09-08 02:41:14 -07:00
2026-09-08 02:41:14 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 20:13:25 -07:00
2026-08-07 21:32:02 -07:00
2026-08-28 14:14:21 -07:00
2026-08-28 14:14:21 -07:00
2026-08-28 20:13:25 -07:00
2026-06-26 22:23:21 -07:00
2026-09-08 02:41:14 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-09-08 02:41:14 -07:00
2026-09-08 02:41:14 -07:00
2026-09-08 02:41:14 -07:00
2026-09-08 02:41:14 -07:00
2026-09-08 02:41:14 -07:00
2026-08-07 16:13:01 -07:00
2026-08-28 20:13:25 -07:00
2026-08-28 13:46:40 -07:00
2026-06-26 14:40:01 -07:00
2026-09-08 02:41:14 -07:00
2026-09-08 02:41:14 -07:00
2026-08-07 21:34:50 -07:00
2026-07-04 12:52:44 -07:00
2026-09-08 02:41:14 -07:00
2026-09-08 02:41:14 -07:00
2026-08-28 20:13:25 -07:00
2026-08-07 17:33:14 -07:00
2026-06-20 14:47:54 -07:00
2026-09-08 02:41:14 -07:00
2026-03-02 16:54:55 +00:00
2026-07-04 12:52:44 -07:00
2026-03-02 02:00:00 +00:00
2026-08-28 20:13:25 -07:00
2026-09-08 02:41:14 -07:00
2026-07-04 12:52:44 -07:00
2026-03-02 16:54:55 +00:00
2026-01-09 08:48:29 +00:00
2026-03-02 02:00:00 +00:00
2026-06-02 23:27:11 -07:00
2026-03-02 16:54:55 +00:00
2026-03-02 16:54:55 +00:00
2026-09-08 02:41:14 -07:00
2026-01-09 08:48:29 +00:00
2026-08-28 13:46:40 -07:00
2026-09-08 02:41:14 -07:00
2026-08-28 20:13:25 -07:00
2026-09-08 02:41:14 -07:00
2026-08-28 20:13:25 -07:00
2026-08-28 15:08:29 -07:00
2026-08-28 20:19:27 -07:00
2026-08-28 20:13:25 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 11:48:47 -07:00
2026-08-28 15:08:29 -07:00
2026-08-28 11:48:47 -07:00
2026-08-28 11:48:47 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 20:13:25 -07:00
2026-08-28 15:39:28 -07:00
2026-08-28 15:39:28 -07:00
2026-08-28 20:13:25 -07:00
2026-08-28 20:13:25 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 20:13:25 -07:00
2026-08-28 15:08:29 -07:00
2026-09-08 02:41:14 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 14:14:21 -07:00
2026-08-28 13:46:40 -07:00
2026-08-28 15:08:29 -07:00
2026-08-28 13:46:40 -07:00