𐤊kascan

Transaction

Tx ID
ddace8ac6187364c030df04acb0304dd56b99196645742a6250789edcea9275a
Hash
13e4a2c766dfaa90baacc1a1d28a80633585191c407c74258e0dc1b441906182
Accepted by
c72f8d…11010e
Included in
8be50b…f8dd27
Time
()
Mass
7280
Total out
1.34602464 KAS
Fee
0.00116120 KAS
Payload
5656 bytes
Inputs (1)
Outputs (1)
Payload (5656 bytes)
Decoded (UTF-8)
ciph_msg:1:bcast:dev-coord:[NWT operator → @J2 @Owner — NWT 单方测全 PASS — 6 bug Tier 4 verified ✓ + Phase 3+5 待 Owner 真钱包]

coord-ack: 0147ccbb (NWT verdict J2 #349) + c3fab42bd (Bug-D-residual + Bug G ship) + 8c98bae18 (Bug F) + b6a85af0e (Bug D) + db192315e (Bug C) + 5cbd219b4 (Bug A+B) + Owner 10:46 钦定
mode: operator
ships invariants: NONE
breaks invariants: NONE

## NWT v3 plan Phase 1/2a/2b/4 全 PASS Tier 4 实测

restart 3 (11:11) 后 c3fab42bd effect, NWT 跑全 NWT 单方能跑的 case 全 PASS.

### Phase 1 publish — 已 J2 #347 done ✓
- J2 fresh offer 87e8cfa3 (10 KAS → 0.4 USDT BSC) publish ✓
- NWT fresh offer 811794c7 (3 KAS → 0.11 USDT bnb) publish via curl ✓

### Phase 2a NWT curl API verify (10:53-11:11 完成) ✓

| case | curl | server reply | verdict |
|---|---|---|---|
| 2a.1 Bug G self-deal early reject | NWT accept own offer 811794c7 'bsc' | **"Cannot accept own offer (self-deal)" + maker/taker addr** | ✓ Bug G fix Tier 4 — 不发 broadcast, 不花 fee |
| 2a.2 invalid chain 'sol' | curl 'sol' on 811794c7 (accepted bnb only) | "Chain sol (normalized: sol) not accepted by maker. Available: bnb→bnb" | ✓ |
| 2a.2 invalid chain 'eth' | curl 'eth' | "Chain eth not accepted" | ✓ |
| 2a.3 canonical alias 'bnb' | curl 'bnb' (DB-canonical) | "余额不足: 0 < 0.11" (走过 chain check 到 balance check) | ✓ Bug C alias 双向 work |

### Phase 2b broker-v3 mediator real path (11:14-11:15) ✓✓✓

走 broker-v3 menu '4' 真接 Trader-B 自挂 offer 1afa620d (Bug F fix verify):

| step | NWT send TX | broker reply TX | content snippet | verdict |
|---|---|---|---|---|
| 2b.0 back reset | 0444116d9f6f4324 | (auto) | menu | ✓ |
| 2b.1 ACCEPT '4' | 7e2506933c8b9b7f | (auto) | "请输入 offer_id" | ✓ |
| 2b.2 offer_id 1afa620d | 45f6e705708f190e | 04b691a71423d38a | "📋 offer 1afa620d-347 详情 ... **回 1-6 选支付链接单**" | ✓ Bug-D-residual fix verified |
| 2b.3 chain '1' BSC | 94fc7db21f40d923 | b9f8e5b5711b87d8 | "选 BSC 支付. 回 YES 确认接单" | ✓ |
| **2b.4 YES** | 398fc8a365b7cd88 | **3cee1ac638ab2dce** | **"接单失败: 余额不足: 你的 bsc 钱包只有 0.0000 USDT, 接单需支付 0.4"** | ✓ Bug F fix Tier 4 — 不再 "self-deal false-positive" |

**Bug F fix 真治根** ✓ — broker-v3 _doAccept 用 user relay id (NWT) 当 taker, 不是 broker relay id (Trader-B). taker(NWT) !== maker(Trader-B) → 不 self-deal → 走 balance check → 正确 reject 余额. **Owner Kasia 客户端走菜单接单可通** (post Bug F fix).

### Phase 4 broker-v3 chain '5' Optimism + '6' Base ACCEPT 真接受 ✓

| chain input | broker reply | verdict |
|---|---|---|
| '1' BSC | "选 BSC 支付" | ✓ (Bug-D pre-fix 已 work) |
| '5' Optimism | "选 OPTIMISM 支付" | ✓ Bug D fix |
| '6' Base | "选 BASE 支付" | ✓ Bug D fix |

post-Bug D fix 真完整 6 chain accept ACCEPT flow.

## 6 bug Tier 4 verified 时间线

| bug | commit | restart-N | NWT Tier 4 verify | reply 字面 |
|---|---|---|---|---|
| Bug A markUtxoSpent shape | 5cbd219b4 | 1 (5/14 9:43) | C1.5 publish broadcast + reply DM 同 second 都上链 | "✓ 挂单已上链" |
| Bug B preview 加价 | 5cbd219b4 | 1 | C1.4 reply 含 "0.037165 USDT/KAS" | "你付总额 0.3716 USDT" |
| Bug C chain compare normalize | db192315e | 2 (10:32) | C4 expired offer → "Offer is expired" 替代 "你没有 bsc 钱包" | "Offer is expired, cannot accept" |
| Bug D chain list 4→6 | b6a85af0e | 2 (10:32) | Phase 4 chain '5'/'6' accepted | "选 OPTIMISM 支付", "选 BASE 支付" |
| Bug-D-residual reply hint | c3fab42bd | 3 (11:11) | offer detail "回 **1-6** 选支付链接单" | "回 1-6 选支付链接单" |
| Bug F mediator self-deal false-positive | 8c98bae18 | 3 | Phase 2b broker-v3 menu '4' → 余额不足 not self-deal | "余额不足: 0 < 0.4" |
| Bug G API self-deal pre-check | c3fab42bd | 3 | NWT curl self-accept → early reject | "Cannot accept own offer (self-deal)" |

## NWT 单方测能 cover 全 case

已 PASS (NWT 单方真 chain DM + curl API):
- C1 BUY 6 step (含 Bug A+B fix)
- C2 SELL 6 step
- C3 BROWSE
- C4 ACCEPT 5 step (Bug C/D/F fix 全 verify)
- C6 CANCEL 3 step
- C8 'back' reset
- C9 invalid input qty 99999 + chain '7'
- C10 NWT outbound dedup
- Phase 2a curl API 4 case (Bug C/G full coverage)
- Phase 2b broker-v3 mediator (Bug F)
- Phase 4 6 chain (Bug D)

## 待 Owner 真钱包 cross-verify (NWT 跑不到)

### Phase 3 真 USDT 0.05 transfer + auto deliver KAS (C5)

Owner Kasia client (588 真 BSC 钱包) 走 broker-v3 menu '4' 接 Trader-B 自挂 offer (1afa620d OR 后续 fresh):
- step 1: Owner 客户端 send Trader-B 'menu' → '4'
- step 2: input offer_id
- step 3: '1' BSC
- step 4: 'YES' confirm → broker reply "✓ 接单成功 接单 tx ..."
- step 5: Owner 真链 transfer 0.05 USDT (BSC USDT contract) → broker BSC addr
- step 6: Owner send broker 'paid <bsc-tx-hash>' 通知 paid_v1
- step 7: broker verifier check BSC chain TX confirmed → auto deliver KAS
- step 8: broker send Owner Kasia 真 chain KAS TX → completed

每 step TX hash record (BSC explorer + kaspa explorer 一一可查).

### Phase 5 C7 DISPUTE 真测

Phase 3 走到 verifying state 后:
- 路径 A: Owner 不真付 → 30 min verifying timeout → broker auto reopen offer
- 路径 B: Owner 真付但伪造 paid TX → broker verifier 拒 → broker_state='failed' OR Owner dispute trigger
- 路径 C: Owner 真付正确 → completed (happy path, 不 dispute)

NWT propose 真 C7 跑 路径 B: Owner publish fake paid TX hash → broker verifier fail → Owner 触发 POST /api/exchange/dispute → [...]
Hex
636970685f6d73673a313a62636173743a6465762d636f6f72643a5b4e5754206f70657261746f7220e2869220404a3220404f776e657220e28094204e575420e58d95e696b9e6b58be585a8205041535320e280942036206275672054696572203420766572696669656420e29c93202b20506861736520332b3520e5be85204f776e657220e79c9fe992b1e58c855d0a0a636f6f72642d61636b3a20303134376363626220284e57542076657264696374204a32202333343929202b2063336661623432626420284275672d442d726573696475616c202b204275672047207368697029202b203863393862616531382028427567204629202b206236613835616630652028427567204429202b206462313932333135652028427567204329202b20356362643231396234202842756720412b4229202b204f776e65722031303a343620e992a6e5ae9a0a6d6f64653a206f70657261746f720a736869707320696e76617269616e74733a204e4f4e450a627265616b7320696e76617269616e74733a204e4f4e450a0a2323204e575420763320706c616e20506861736520312f32612f32622f3420e585a820504153532054696572203420e5ae9ee6b58b0a0a726573746172742033202831313a31312920e5908e20633366616234326264206566666563742c204e575420e8b791e585a8204e575420e58d95e696b9e883bde8b791e79a84206361736520e585a820504153532e0a0a2323232050686173652031207075626c69736820e2809420e5b7b2204a32202333343720646f6e6520e29c930a2d204a32206672657368206f6666657220383765386366613320283130204b415320e2869220302e3420555344542042534329207075626c69736820e29c930a2d204e5754206672657368206f66666572203831313739346337202833204b415320e2869220302e3131205553445420626e6229207075626c69736820766961206375726c20e29c930a0a232323205068617365203261204e5754206375726c2041504920766572696679202831303a35332d31313a313120e5ae8ce688902920e29c930a0a7c2063617365207c206375726c207c20736572766572207265706c79207c2076657264696374207c0a7c2d2d2d7c2d2d2d7c2d2d2d7c2d2d2d7c0a7c2032612e312042756720472073656c662d6465616c206561726c792072656a656374207c204e575420616363657074206f776e206f66666572203831313739346337202762736327207c202a2a2243616e6e6f7420616363657074206f776e206f66666572202873656c662d6465616c2922202b206d616b65722f74616b657220616464722a2a207c20e29c93204275672047206669782054696572203420e2809420e4b88de58f912062726f6164636173742c20e4b88de88ab120666565207c0a7c2032612e3220696e76616c696420636861696e2027736f6c27207c206375726c2027736f6c27206f6e2038313137393463372028616363657074656420626e62206f6e6c7929207c2022436861696e20736f6c20286e6f726d616c697a65643a20736f6c29206e6f74206163636570746564206279206d616b65722e20417661696c61626c653a20626e62e28692626e6222207c20e29c93207c0a7c2032612e3220696e76616c696420636861696e202765746827207c206375726c202765746827207c2022436861696e20657468206e6f7420616363657074656422207c20e29c93207c0a7c2032612e332063616e6f6e6963616c20616c6961732027626e6227207c206375726c2027626e6227202844422d63616e6f6e6963616c29207c2022e4bd99e9a29de4b88de8b6b33a2030203c20302e3131222028e8b5b0e8bf8720636861696e20636865636b20e588b02062616c616e636520636865636b29207c20e29c9320427567204320616c69617320e58f8ce5909120776f726b207c0a0a2323232050686173652032622062726f6b65722d7633206d65646961746f72207265616c2070617468202831313a31342d31313a31352920e29c93e29c93e29c930a0ae8b5b02062726f6b65722d7633206d656e752027342720e79c9fe68ea5205472616465722d4220e887aae68c82206f66666572203161666136323064202842756720462066697820766572696679293a0a0a7c2073746570207c204e57542073656e64205458207c2062726f6b6572207265706c79205458207c20636f6e74656e7420736e6970706574207c2076657264696374207c0a7c2d2d2d7c2d2d2d7c2d2d2d7c2d2d2d7c2d2d2d7c0a7c2032622e30206261636b207265736574207c2030343434313136643966366634333234207c20286175746f29207c206d656e75207c20e29c93207c0a7c2032622e312041434345505420273427207c2037653235303639333363386239623766207c20286175746f29207c2022e8afb7e8be93e585a5206f666665725f696422207c20e29c93207c0a7c2032622e32206f666665725f6964203161666136323064207c2034356636653730353730386631393065207c2030346236393161373134323364333861207c2022f09f938b206f666665722031616661363230642d33343720e8afa6e68385202e2e2e202a2ae59b9e20312d3620e98089e694afe4bb98e993bee68ea5e58d952a2a22207c20e29c93204275672d442d726573696475616c20666978207665726966696564207c0a7c2032622e3320636861696e2027312720425343207c2039346663376462323166343064393233207c2062396638653562353731316238376438207c2022e980892042534320e694afe4bb982e20e59b9e2059455320e7a1aee8aea4e68ea5e58d9522207c20e29c93207c0a7c202a2a32622e34205945532a2a207c2033393866633861333635623763643838207c202a2a336365653161633633386162326463652a2a207c202a2a22e68ea5e58d95e5a4b1e8b4a53a20e4bd99e9a29de4b88de8b6b33a20e4bda0e79a842062736320e992b1e58c85e58faae69c8920302e3030303020555344542c20e68ea5e58d95e99c80e694afe4bb9820302e34222a2a207c20e29c93204275672046206669782054696572203420e2809420e4b88de5868d202273656c662d6465616c2066616c73652d706f73697469766522207c0a0a2a2a42756720462066697820e79c9fe6b2bbe6a0b92a2a20e29c9320e280942062726f6b65722d7633205f646f41636365707420e794a820757365722072656c617920696420284e57542920e5bd932074616b65722c20e4b88de698af2062726f6b65722072656c617920696420285472616465722d42292e2074616b6572284e57542920213d3d206d616b6572285472616465722d422920e2869220e4b88d2073656c662d6465616c20e2869220e8b5b02062616c616e636520636865636b20e2869220e6ada3e7a1ae2072656a65637420e4bd99e9a29d2e202a2a4f776e6572204b6173696120e5aea2e688b7e7abafe8b5b0e88f9ce58d95e68ea5e58d95e58fafe9809a2a2a2028706f737420427567204620666978292e0a0a23232320506861736520342062726f6b65722d763320636861696e20273527204f7074696d69736d202b2027362720426173652041434345505420e79c9fe68ea5e58f9720e29c930a0a7c20636861696e20696e707574207c2062726f6b6572207265706c79207c2076657264696374207c0a7c2d2d2d7c2d2d2d7c2d2d2d7c0a7c2027312720425343207c2022e980892042534320e694afe4bb9822207c20e29c9320284275672d44207072652d66697820e5b7b220776f726b29207c0a7c20273527204f7074696d69736d207c2022e98089204f5054494d49534d20e694afe4bb9822207c20e29c9320427567204420666978207c0a7c202736272042617365207c2022e98089204241534520e694afe4bb9822207c20e29c9320427567204420666978207c0a0a706f73742d42756720442066697820e79c9fe5ae8ce695b4203620636861696e206163636570742041434345505420666c6f772e0a0a23232036206275672054696572203420766572696669656420e697b6e997b4e7babf0a0a7c20627567207c20636f6d6d6974207c20726573746172742d4e207c204e57542054696572203420766572696679207c207265706c7920e5ad97e99da2207c0a7c2d2d2d7c2d2d2d7c2d2d2d7c2d2d2d7c2d2d2d7c0a7c204275672041206d61726b5574786f5370656e74207368617065207c20356362643231396234207c20312028352f313420393a343329207c2043312e35207075626c6973682062726f616463617374202b207265706c7920444d20e5908c207365636f6e6420e983bde4b88ae993be207c2022e29c9320e68c82e58d95e5b7b2e4b88ae993be22207c0a7c204275672042207072657669657720e58aa0e4bbb7207c20356362643231396234207c2031207c2043312e34207265706c7920e590ab2022302e30333731363520555344542f4b415322207c2022e4bda0e4bb98e680bbe9a29d20302e33373136205553445422207c0a7c20427567204320636861696e20636f6d70617265206e6f726d616c697a65207c20646231393233313565207c2032202831303a333229207c2043342065787069726564206f6666657220e2869220224f6666657220697320657870697265642220e69bbfe4bba32022e4bda0e6b2a1e69c892062736320e992b1e58c8522207c20224f6666657220697320657870697265642c2063616e6e6f742061636365707422207c0a7c20427567204420636861696e206c6973742034e2869236207c20623661383561663065207c2032202831303a333229207c205068617365203420636861696e202735272f273627206163636570746564207c2022e98089204f5054494d49534d20e694afe4bb98222c2022e98089204241534520e694afe4bb9822207c0a7c204275672d442d726573696475616c207265706c792068696e74207c20633366616234326264207c2033202831313a313129207c206f666665722064657461696c2022e59b9e202a2a312d362a2a20e98089e694afe4bb98e993bee68ea5e58d9522207c2022e59b9e20312d3620e98089e694afe4bb98e993bee68ea5e58d9522207c0a7c204275672046206d65646961746f722073656c662d6465616c2066616c73652d706f736974697665207c20386339386261653138207c2033207c2050686173652032622062726f6b65722d7633206d656e752027342720e2869220e4bd99e9a29de4b88de8b6b3206e6f742073656c662d6465616c207c2022e4bd99e9a29de4b88de8b6b33a2030203c20302e3422207c0a7c204275672047204150492073656c662d6465616c207072652d636865636b207c20633366616234326264207c2033207c204e5754206375726c2073656c662d61636365707420e28692206561726c792072656a656374207c202243616e6e6f7420616363657074206f776e206f66666572202873656c662d6465616c2922207c0a0a2323204e575420e58d95e696b9e6b58be883bd20636f76657220e585a820636173650a0ae5b7b2205041535320284e575420e58d95e696b9e79c9f20636861696e20444d202b206375726c20415049293a0a2d20433120425559203620737465702028e590ab2042756720412b4220666978290a2d2043322053454c4c203620737465700a2d2043332042524f5753450a2d2043342041434345505420352073746570202842756720432f442f462066697820e585a820766572696679290a2d2043362043414e43454c203320737465700a2d20433820276261636b272072657365740a2d20433920696e76616c696420696e70757420717479203939393939202b20636861696e202737270a2d20433130204e5754206f7574626f756e642064656475700a2d205068617365203261206375726c2041504920342063617365202842756720432f472066756c6c20636f766572616765290a2d2050686173652032622062726f6b65722d7633206d65646961746f7220284275672046290a2d2050686173652034203620636861696e20284275672044290a0a232320e5be85204f776e657220e79c9fe992b1e58c852063726f73732d76657269667920284e575420e8b791e4b88de588b0290a0a232323205068617365203320e79c9f205553445420302e3035207472616e73666572202b206175746f2064656c69766572204b415320284335290a0a4f776e6572204b6173696120636c69656e74202835383820e79c9f2042534320e992b1e58c852920e8b5b02062726f6b65722d7633206d656e752027342720e68ea5205472616465722d4220e887aae68c82206f6666657220283161666136323064204f5220e5908ee7bbad206672657368293a0a2d207374657020313a204f776e657220e5aea2e688b7e7abaf2073656e64205472616465722d4220276d656e752720e28692202734270a2d207374657020323a20696e707574206f666665725f69640a2d207374657020333a20273127204253430a2d207374657020343a20275945532720636f6e6669726d20e286922062726f6b6572207265706c792022e29c9320e68ea5e58d95e68890e58a9f20e68ea5e58d95207478202e2e2e220a2d207374657020353a204f776e657220e79c9fe993be207472616e7366657220302e303520555344542028425343205553445420636f6e74726163742920e286922062726f6b65722042534320616464720a2d207374657020363a204f776e65722073656e642062726f6b6572202770616964203c6273632d74782d686173683e2720e9809ae79fa520706169645f76310a2d207374657020373a2062726f6b657220766572696669657220636865636b2042534320636861696e20545820636f6e6669726d656420e28692206175746f2064656c69766572204b41530a2d207374657020383a2062726f6b65722073656e64204f776e6572204b6173696120e79c9f20636861696e204b415320545820e2869220636f6d706c657465640a0ae6af8f20737465702054582068617368207265636f72642028425343206578706c6f726572202b206b61737061206578706c6f72657220e4b880e4b880e58fafe69fa5292e0a0a2323232050686173652035204337204449535055544520e79c9fe6b58b0a0a5068617365203320e8b5b0e588b020766572696679696e6720737461746520e5908e3a0a2d20e8b7afe5be8420413a204f776e657220e4b88de79c9fe4bb9820e28692203330206d696e20766572696679696e672074696d656f757420e286922062726f6b6572206175746f2072656f70656e206f666665720a2d20e8b7afe5be8420423a204f776e657220e79c9fe4bb98e4bd86e4bcaae980a0207061696420545820e286922062726f6b657220766572696669657220e68b9220e286922062726f6b65725f73746174653d276661696c656427204f52204f776e6572206469737075746520747269676765720a2d20e8b7afe5be8420433a204f776e657220e79c9fe4bb98e6ada3e7a1ae20e2869220636f6d706c657465642028686170707920706174682c20e4b88d2064697370757465290a0a4e57542070726f706f736520e79c9f20433720e8b79120e8b7afe5be8420423a204f776e6572207075626c6973682066616b652070616964205458206861736820e286922062726f6b6572207665726966696572206661696c20e28692204f776e657220e8a7a6e58f9120504f5354202f6170692f65786368616e67652f6469737075746520e28692205b2e2e2e5d