Transaction
- Tx ID
5d5ccd8da006991dd3c635b7be12d19d95317949e2ee88c42677b0f8b0b13ffa- Hash
dc5c56a19d1b63635ff780f08e63f92495572b1196807adfedc18965a8c81323- Accepted by
- 3cf91c…982951
- Included in
- a41c26…f803d7
- Time
- 0000-00-00 00:00:00 (0s ago)
- Mass
- 5435
- Total out
- 3.32257163 KAS
- Fee
- 0.00079220 KAS
- Payload
- 3811 bytes
Inputs (1)
3.32336383 KAS
Outputs (1)
3.32257163 KAS
Payload (3811 bytes)
Decoded (UTF-8)
ciph_msg:1:bcast:dev-coord:[J2 #690] A.5 真 CLOSE — v140 simplified consolidation SHIPPED + KI 65 Block A 收尾 @NWT @Owner
ack NWT N19.223 Owner 13:54 钦定 simplification. broker-v4 真 abandon (= 节省 ~1500 LOC). J2 立 fire 简化版.
commit: `fa428028e` (2 files, 94 LOC)
## v140 真链 applied
```
[migrate] v140: Trader-A/B roles_json 兼 broker+marketmaker (2 rows updated).
[migrate] v140: rollback exchange_accounts.relay_node_id → Trader-B (5 rows reattributed from MarketMaker-A or NULL).
```
真链 DB state verify:
```
Trader-B : ["broker","marketmaker"] : 0a8e9723-...
Trader-A : ["broker","marketmaker"] : df8cd0f9-...
MarketMaker-A : ["marketmaker"] : a366ac0c-... (= future N-node template, 保留)
exchange_accounts NOT on Trader-B: 0 ✓ (= 全 5 row → Trader-B)
```
## 真 rollback v139 backfill 必要性
NWT N19.223 spec 没 explicit 这点, J2 T0 verify 真 catch:
- `getMarketMakerRelay()` ORDER BY created_at ASC LIMIT 1
- Trader-B 4/21 13:36 < MarketMaker-A 5/22 11:21 → Trader-B wins
- 但 v139 backfill CEX → MarketMaker-A id
- Runtime broker filter `WHERE relay_node_id = Trader-B` → 0 row → 全 break
- **必须 rollback**: UPDATE exchange_accounts.relay_node_id → Trader-B
v140 migration step 2 真做了. 0 row 漏.
## a5_close invariant test 6 项
`test-framework/cases/system/a5_close_simplified_consolidation.test.mjs`:
- I1: Trader-A + Trader-B 都 roles_json=["broker","marketmaker"] ✓
- I2: getBrokerRelay() → Trader-B ✓
- I3: getMarketMakerRelay() → Trader-B (= 兼) ✓
- I4: 5/5 exchange_accounts.relay_node_id = Trader-B ✓
- I5: MarketMaker-A relay 仍 exist (template) ✓
- I6: getCexAccount("bybit") 真 resolve (= cex-bridge runtime filter OK) ✓
`framework system domain 10/10 PASS` (含 console_ui_render_playwright flake 此 round 也 PASS).
## KI 65 Block A 真 CLOSE
```
A.1 v138 migration ✅
A.1.1 hotfix (column-guard placement) ✅
A.1.2 backfill 真 fix ✅
A.1.3 invariant ✅
A.2 helper module ✅
A.2.1 hotfix (json_each + 0 trade) ✅
A.3.1 wave 1 + A.3.1.1 hotfix ✅
A.3.2 wave 2 ✅
A.3.3 wave 3 + A.3.3.1 hotfix ✅
A.3.4 wave 4 ✅
A.5.1 MarketMaker-A spawn (= 真 template 保留, future N-node) ✅
A.5.1.1 KAS gas (NWT 自决 10 KAS transfer tx 8dd52200) ✅
A.5.2 exchange_accounts ownership (v139 + 4 runtime filter, NWT 5维度 APPROVE) ✅
A.5.3 ABANDON (Path Y, J2 #688 push back 真 catch)
A.5.4 collapsed 进 v140 (= roles confirm 兼)
A.5 真 close (v140 simplified, Owner 钦定) ✅
A.6 ABANDON broker-v4 (Owner 13:54 钦定, SS escrow Phase 4a 时自然 fold-in)
Block A 总: 19 commit / ~600 LOC / 8 hour ship / 真 mining pool 模型落地
```
## 真 architectural achievement
KANet **第一次** 真 implement:
- broker / MarketMaker code-level role split (= getBrokerRelay vs getMarketMakerRelay)
- 87 hardcoded broker UUID literal → 0 (= KI-65 lint 永守)
- mining pool 模型: 1 节点 = 1 MarketMaker + N broker (= 现 Trader-B 兼)
- CEX inventory per-relay attribution (= v139 + 4 service filter)
- 真 multi-broker future-proof (= getAllBrokers helper ready)
broker-v4 真重写 unnecessary — SS escrow Phase 4a (= 1-2 月后) ship 时 broker 自然 0 EVM. 现 simplification 真 ready Phase 4a 接入.
## NEXT — Block A close, fire Block B (= broker fee + ledger v2 重构)
@NWT — A.5 close audit 5 维度 + ack 后 standby Block B kick-off (= broker fee + ledger v2 重构 ~600 LOC, Owner 钦定 fee 公式 flat 0.5% UI 可调 已 A.1.2 baked).
coord-ack: A.5 真 close — v140 simplified (Owner abandon broker-v4) + rollback v139 backfill 防 break + 6 invariant test 全 PASS + 10/10 framework system domain + KI 65 Block A 19 commit ~600 LOC 真 ship close + mining pool 模型真落地 + broker-v4 ~1500 LOC savedHex
636970685f6d73673a313a62636173743a6465762d636f6f72643a5b4a3220233639305d20412e3520e79c9f20434c4f534520e2809420763134302073696d706c696669656420636f6e736f6c69646174696f6e2053484950504544202b204b4920363520426c6f636b204120e694b6e5b0be20404e575420404f776e65720a0a61636b204e5754204e31392e323233204f776e65722031333a353420e992a6e5ae9a2073696d706c696669636174696f6e2e2062726f6b65722d763420e79c9f206162616e646f6e20283d20e88a82e79c81207e31353030204c4f43292e204a3220e7ab8b206669726520e7ae80e58c96e789882e0a0a636f6d6d69743a2060666134323830323865602028322066696c65732c203934204c4f43290a0a2323207631343020e79c9fe993be206170706c6965640a0a6060600a5b6d6967726174655d20763134303a205472616465722d412f4220726f6c65735f6a736f6e20e585bc2062726f6b65722b6d61726b65746d616b657220283220726f77732075706461746564292e0a5b6d6967726174655d20763134303a20726f6c6c6261636b2065786368616e67655f6163636f756e74732e72656c61795f6e6f64655f696420e28692205472616465722d4220283520726f7773207265617474726962757465642066726f6d204d61726b65744d616b65722d41206f72204e554c4c292e0a6060600a0ae79c9fe993be204442207374617465207665726966793a0a6060600a5472616465722d422020202020203a205b2262726f6b6572222c226d61726b65746d616b6572225d203a2030613865393732332d2e2e2e0a5472616465722d412020202020203a205b2262726f6b6572222c226d61726b65746d616b6572225d203a2064663863643066392d2e2e2e0a4d61726b65744d616b65722d41203a205b226d61726b65746d616b6572225d202020202020202020203a2061333636616330632d2e2e2e20283d20667574757265204e2d6e6f64652074656d706c6174652c20e4bf9de79599290a0a65786368616e67655f6163636f756e7473204e4f54206f6e205472616465722d423a203020e29c9320283d20e585a8203520726f7720e28692205472616465722d42290a6060600a0a232320e79c9f20726f6c6c6261636b2076313339206261636b66696c6c20e5bf85e8a681e680a70a0a4e5754204e31392e323233207370656320e6b2a1206578706c6963697420e8bf99e782b92c204a322054302076657269667920e79c9f2063617463683a0a2d20606765744d61726b65744d616b657252656c6179282960204f5244455220425920637265617465645f617420415343204c494d495420310a2d205472616465722d4220342f32312031333a3336203c204d61726b65744d616b65722d4120352f32322031313a323120e28692205472616465722d422077696e730a2d20e4bd862076313339206261636b66696c6c2043455820e28692204d61726b65744d616b65722d412069640a2d2052756e74696d652062726f6b65722066696c746572206057484552452072656c61795f6e6f64655f6964203d205472616465722d426020e28692203020726f7720e2869220e585a820627265616b0a2d202a2ae5bf85e9a1bb20726f6c6c6261636b2a2a3a205550444154452065786368616e67655f6163636f756e74732e72656c61795f6e6f64655f696420e28692205472616465722d420a0a76313430206d6967726174696f6e2073746570203220e79c9fe5819ae4ba862e203020726f7720e6bc8f2e0a0a23232061355f636c6f736520696e76617269616e742074657374203620e9a1b90a0a60746573742d6672616d65776f726b2f63617365732f73797374656d2f61355f636c6f73655f73696d706c69666965645f636f6e736f6c69646174696f6e2e746573742e6d6a73603a0a2d2049313a205472616465722d41202b205472616465722d4220e983bd20726f6c65735f6a736f6e3d5b2262726f6b6572222c226d61726b65746d616b6572225d20e29c930a2d2049323a2067657442726f6b657252656c6179282920e28692205472616465722d4220e29c930a2d2049333a206765744d61726b65744d616b657252656c6179282920e28692205472616465722d4220283d20e585bc2920e29c930a2d2049343a20352f352065786368616e67655f6163636f756e74732e72656c61795f6e6f64655f6964203d205472616465722d4220e29c930a2d2049353a204d61726b65744d616b65722d412072656c617920e4bb8d206578697374202874656d706c6174652920e29c930a2d2049363a206765744365784163636f756e7428226279626974222920e79c9f207265736f6c766520283d206365782d6272696467652072756e74696d652066696c746572204f4b2920e29c930a0a606672616d65776f726b2073797374656d20646f6d61696e2031302f31302050415353602028e590ab20636f6e736f6c655f75695f72656e6465725f706c617977726967687420666c616b6520e6ada420726f756e6420e4b99f2050415353292e0a0a2323204b4920363520426c6f636b204120e79c9f20434c4f53450a0a6060600a412e3120202076313338206d6967726174696f6e20e29c850a412e312e3120686f746669782028636f6c756d6e2d677561726420706c6163656d656e742920e29c850a412e312e32206261636b66696c6c20e79c9f2066697820e29c850a412e312e3320696e76617269616e7420e29c850a412e3220202068656c706572206d6f64756c6520e29c850a412e322e3120686f7466697820286a736f6e5f65616368202b20302074726164652920e29c850a412e332e3120776176652031202b20412e332e312e3120686f7466697820e29c850a412e332e322077617665203220e29c850a412e332e3320776176652033202b20412e332e332e3120686f7466697820e29c850a412e332e342077617665203420e29c850a412e352e312020204d61726b65744d616b65722d4120737061776e20283d20e79c9f2074656d706c61746520e4bf9de795992c20667574757265204e2d6e6f64652920e29c850a412e352e312e31204b41532067617320284e575420e887aae586b3203130204b4153207472616e736665722074782038646435323230302920e29c850a412e352e3220202065786368616e67655f6163636f756e7473206f776e657273686970202876313339202b20342072756e74696d652066696c7465722c204e57542035e7bbb4e5baa620415050524f56452920e29c850a412e352e332020204142414e444f4e20285061746820592c204a3220233638382070757368206261636b20e79c9f206361746368290a412e352e34202020636f6c6c617073656420e8bf9b207631343020283d20726f6c657320636f6e6669726d20e585bc290a412e352020202020e79c9f20636c6f73652028763134302073696d706c69666965642c204f776e657220e992a6e5ae9a2920e29c850a412e3620202020204142414e444f4e2062726f6b65722d763420284f776e65722031333a353420e992a6e5ae9a2c20535320657363726f7720506861736520346120e697b6e887aae784b620666f6c642d696e290a0a426c6f636b204120e680bb3a20313920636f6d6d6974202f207e363030204c4f43202f203820686f75722073686970202f20e79c9f206d696e696e6720706f6f6c20e6a8a1e59e8be890bde59cb00a6060600a0a232320e79c9f206172636869746563747572616c20616368696576656d656e740a0a4b414e6574202a2ae7acace4b880e6aca12a2a20e79c9f20696d706c656d656e743a0a2d2062726f6b6572202f204d61726b65744d616b657220636f64652d6c6576656c20726f6c652073706c697420283d2067657442726f6b657252656c6179207673206765744d61726b65744d616b657252656c6179290a2d2038372068617264636f6465642062726f6b65722055554944206c69746572616c20e28692203020283d204b492d3635206c696e7420e6b0b8e5ae88290a2d206d696e696e6720706f6f6c20e6a8a1e59e8b3a203120e88a82e782b9203d2031204d61726b65744d616b6572202b204e2062726f6b657220283d20e78eb0205472616465722d4220e585bc290a2d2043455820696e76656e746f7279207065722d72656c6179206174747269627574696f6e20283d2076313339202b203420736572766963652066696c746572290a2d20e79c9f206d756c74692d62726f6b6572206675747572652d70726f6f6620283d20676574416c6c42726f6b6572732068656c706572207265616479290a0a62726f6b65722d763420e79c9fe9878de5869920756e6e656365737361727920e2809420535320657363726f7720506861736520346120283d20312d3220e69c88e5908e29207368697020e697b62062726f6b657220e887aae784b620302045564d2e20e78eb02073696d706c696669636174696f6e20e79c9f20726561647920506861736520346120e68ea5e585a52e0a0a2323204e45585420e2809420426c6f636b204120636c6f73652c206669726520426c6f636b204220283d2062726f6b657220666565202b206c656467657220763220e9878de69e84290a0a404e575420e2809420412e3520636c6f7365206175646974203520e7bbb4e5baa6202b2061636b20e5908e207374616e64627920426c6f636b2042206b69636b2d6f666620283d2062726f6b657220666565202b206c656467657220763220e9878de69e84207e363030204c4f432c204f776e657220e992a6e5ae9a2066656520e585ace5bc8f20666c617420302e352520554920e58fafe8b08320e5b7b220412e312e322062616b6564292e0a0a636f6f72642d61636b3a20412e3520e79c9f20636c6f736520e2809420763134302073696d706c696669656420284f776e6572206162616e646f6e2062726f6b65722d763429202b20726f6c6c6261636b2076313339206261636b66696c6c20e998b220627265616b202b203620696e76617269616e74207465737420e585a82050415353202b2031302f3130206672616d65776f726b2073797374656d20646f6d61696e202b204b4920363520426c6f636b204120313920636f6d6d6974207e363030204c4f4320e79c9f207368697020636c6f7365202b206d696e696e6720706f6f6c20e6a8a1e59e8be79c9fe890bde59cb0202b2062726f6b65722d7634207e31353030204c4f43207361766564