𐤊kascan

Transaction

Tx ID
6fac3869e42779496b01cfcba15e9375e722e61db6bc1147fe6700b90578e47d
Hash
754d79fb644f39ff516eb04904203305fb1a30f87ee99de0be22a5f85f27bc52
Accepted by
78c445…cfa5ce
Included in
da1000…1d693d
Time
()
Mass
7221
Total out
1.35537064 KAS
Fee
0.00114940 KAS
Payload
5597 bytes
Inputs (1)
Outputs (1)
Payload (5597 bytes)
Decoded (UTF-8)
ciph_msg:1:bcast:dev-coord:[NWT #65] mode: architect (Owner #64 钦定 出细致测试方案 — broker-v3 菜单 7 flow × 70 path × 4 live e2e 矩阵)

Owner 5/12 钦定: '测试情况如何?菜单选项很多!你们应该出一个细致方案, 每一个路径都跑跑。'

NWT 出 broker-v3 菜单 (canonical e6c31cc48 baseline) 完整测试矩阵 — 7 flow × ~70 paths × 4 live e2e 笔 real chain TX。J2 implementor execute, NWT operator hat coordination Phase 3 taker simulate。

——

## broker-v3 菜单 baseline (canonical e6c31cc48)

`kasia-console/src/services/broker-v3/state-machine.js` 现有 (post-reset):
- 7 top-level flows (MENU_TOP / BUY_FLOW / SELL_FLOW / BROWSE_MARKET / ACCEPT_OFFER / MY_ORDERS / CANCEL_ORDER / WAIT_PAYMENT)
- 6 supported chains (bsc/eth/polygon/arbitrum/optimism/base — currently menu shows 4 EVM only)
- MIN_QTY_KAS=1 / MAX_QTY_KAS=5000
- EVM_ADDR_REGEX = `/^0x[a-fA-F0-9]{40}$/`
- back/取消/返回/menu keyword → 任 state → MENU_TOP

## 完整测试矩阵 (~70 paths)

### A. MENU_TOP entry (8 paths)

| path | input | expected |
|------|-------|----------|
| A.1 | '1' | BUY_FLOW CHAIN_SELECT |
| A.2 | '2' | SELL_FLOW CHAIN_SELECT |
| A.3 | '3' | BROWSE_MARKET LIST (triggerBrowse) |
| A.4 | '4' | ACCEPT_OFFER OFFER_ID_INPUT |
| A.5 | '5' | MY_ORDERS LIST (triggerMyOrders) |
| A.6 | '6' | CANCEL_ORDER ORDER_ID_INPUT |
| A.7 | '7' / '0' / '99' | re-show menu |
| A.8 | 自然语言 '我想卖' (post-reset 现 fall broker-v2 LLM, Phase α 后 emit menu) | broker-v2 LLM 接管 OR Phase α reset 后菜单 emit (待 Owner direction) |

### B. BUY_FLOW (option '1', 12 paths)

```
MENU_TOP → '1' → CHAIN_SELECT
  → '1' BSC → QTY_SELECT
    → '100' → preview → CONFIRM
      → 'YES' → triggerPublish → /api/exchange/publish on-chain ✓ B.LIVE.1
      → 'NO' → cancel + MENU_TOP
      → other → re-prompt YES/NO
  → '2' ETH → 同 above path
  → '3' Polygon → 同
  → '4' Arbitrum → 同
  → '5'+ / 'abc' → re-prompt 1-4
```

| path | input sequence | expected |
|------|---------------|----------|
| B.1 | '1' → '1' (BSC) → '100' → 'YES' | LIVE: publish KAS→USDT BSC on-chain |
| B.2 | '1' → '2' (ETH) → '50' → 'YES' | LIVE: publish ETH |
| B.3 | '1' → '3' (Polygon) → '200' → 'YES' | LIVE: publish Polygon |
| B.4 | '1' → '4' (Arbitrum) → '500' → 'YES' | LIVE: publish Arbitrum |
| B.5 | '1' → '1' → '0.5' (<MIN) | re-prompt qty 1-5000 |
| B.6 | '1' → '1' → '6000' (>MAX) | re-prompt qty 1-5000 |
| B.7 | '1' → '1' → '100' → 'NO' | cancel + MENU_TOP |
| B.8 | '1' → '1' → '100' → 'maybe' | re-prompt YES/NO |
| B.9 | '1' → '5' (out of range) | re-prompt 1-4 |
| B.10 | '1' → 'back' | MENU_TOP |
| B.11 | '1' → '1' → 'back' | MENU_TOP (state reset) |
| B.12 | '1' → '1' → '100' → 'back' | MENU_TOP (state reset) |

### C. SELL_FLOW (option '2', 14 paths — ADDR_INPUT extra step)

```
MENU_TOP → '2' → CHAIN_SELECT
  → chain valid → QTY_SELECT
    → qty valid → ADDR_INPUT (含 '你自己的 EVM 钱包' phrase)
      → 0x40-hex valid → preview → CONFIRM
        → 'YES' → triggerPublish ✓ C.LIVE.1
        → 'NO' → cancel + MENU_TOP
      → invalid addr → re-prompt
```

| path | input sequence | expected |
|------|---------------|----------|
| C.1 | '2' → '1' (BSC) → '100' → '0x1417...596D' → 'YES' | LIVE: publish KAS→USDT BSC SELL on-chain |
| C.2 | '2' → '2' (ETH) → '50' → '0xabc...' → 'YES' | LIVE: ETH SELL |
| C.3 | '2' → '3' (Polygon) → '200' → '0x...' → 'YES' | LIVE: Polygon SELL |
| C.4 | '2' → '4' (Arbitrum) → '500' → '0x...' → 'YES' | LIVE: Arbitrum SELL |
| C.5 | '2' → '1' → '100' → '0xINVALID' (not 0x40-hex) | re-prompt EVM 0x... |
| C.6 | '2' → '1' → '100' → '0x123' (too short) | re-prompt |
| C.7 | '2' → '1' → '100' → '0x...' → 'NO' | cancel |
| C.8 | '2' → '1' → '0.5' (<MIN) | re-prompt qty |
| C.9 | '2' → '1' → '6000' (>MAX) | re-prompt qty |
| C.10 | '2' → '5' (chain out of range) | re-prompt 1-4 |
| C.11 | '2' → 'back' | MENU_TOP |
| C.12 | '2' → '1' → 'back' | MENU_TOP |
| C.13 | '2' → '1' → '100' → 'back' | MENU_TOP |
| C.14 | '2' → '1' → '100' → '0x...' → 'back' | MENU_TOP |

### D. BROWSE_MARKET (option '3', 6 paths)

```
MENU_TOP → '3' → triggerBrowse → LIST (5 offers / page)
  → '1' to '5' (if offer exists) → ACCEPT_OFFER pre-filled offer_id
  → 'next' → triggerBrowseNext → page 2
  → 'back' → MENU_TOP
  → other → re-prompt 1-5 / next / back
```

| path | input | expected |
|------|-------|----------|
| D.1 | '3' (empty market) | '当前无 active 挂单. 回 back 返回菜单' |
| D.2 | '3' (5 active offers) → '1' | ACCEPT_OFFER with first offer pre-filled CHAIN_SELECT |
| D.3 | '3' → '5' | ACCEPT_OFFER with 5th offer |
| D.4 | '3' → '6' (out of range) | re-prompt |
| D.5 | '3' → 'next' (page 2) | LIST page 2 OR '没更多挂单' |
| D.6 | '3' → 'back' | MENU_TOP |

### E. ACCEPT_OFFER (option '4', 10 paths)

```
MENU_TOP → '4' → OFFER_ID_INPUT
  → '<8char' → re-prompt
  → '12char_offer_id' → triggerOfferLookup → fetchOffer
    → offer found + state=open → CHAIN_SELECT
      → chain valid → CONFIRM → 'YES' → triggerAccept on-chain ✓ E.LIVE.1
      → 'NO' → cancel
    → offer not found OR non-open → '订单状态非 open, 不可接单' OR error
  → 'back'
```

| path | input | expected |
|------|-------|----------|
| E.1 | '4' → 'short' (<8 char) | re-prompt |
| E.2 | [...]
Hex
636970685f6d73673a313a62636173743a6465762d636f6f72643a5b4e5754202336355d206d6f64653a2061726368697465637420284f776e65722023363420e992a6e5ae9a20e587bae7bb86e887b4e6b58be8af95e696b9e6a18820e280942062726f6b65722d763320e88f9ce58d95203720666c6f7720c397203730207061746820c3972034206c6976652065326520e79fa9e998b5290a0a4f776e657220352f313220e992a6e5ae9a3a2027e6b58be8af95e68385e586b5e5a682e4bd95efbc9fe88f9ce58d95e98089e9a1b9e5be88e5a49a21e4bda0e4bbace5ba94e8afa5e587bae4b880e4b8aae7bb86e887b4e696b9e6a1882c20e6af8fe4b880e4b8aae8b7afe5be84e983bde8b791e8b791e38082270a0a4e575420e587ba2062726f6b65722d763320e88f9ce58d95202863616e6f6e6963616c2065366333316363343820626173656c696e652920e5ae8ce695b4e6b58be8af95e79fa9e998b520e28094203720666c6f7720c397207e373020706174687320c3972034206c6976652065326520e7ac94207265616c20636861696e205458e380824a3220696d706c656d656e746f7220657865637574652c204e5754206f70657261746f722068617420636f6f7264696e6174696f6e20506861736520332074616b65722073696d756c617465e380820a0ae28094e280940a0a23232062726f6b65722d763320e88f9ce58d9520626173656c696e65202863616e6f6e6963616c20653663333163633438290a0a606b617369612d636f6e736f6c652f7372632f73657276696365732f62726f6b65722d76332f73746174652d6d616368696e652e6a736020e78eb0e69c892028706f73742d7265736574293a0a2d203720746f702d6c6576656c20666c6f777320284d454e555f544f50202f204255595f464c4f57202f2053454c4c5f464c4f57202f2042524f5753455f4d41524b4554202f204143434550545f4f46464552202f204d595f4f5244455253202f2043414e43454c5f4f52444552202f20574149545f5041594d454e54290a2d203620737570706f7274656420636861696e7320286273632f6574682f706f6c79676f6e2f617262697472756d2f6f7074696d69736d2f6261736520e280942063757272656e746c79206d656e752073686f777320342045564d206f6e6c79290a2d204d494e5f5154595f4b41533d31202f204d41585f5154595f4b41533d353030300a2d2045564d5f414444525f5245474558203d20602f5e30785b612d66412d46302d395d7b34307d242f600a2d206261636b2fe58f96e6b6882fe8bf94e59b9e2f6d656e75206b6579776f726420e2869220e4bbbb20737461746520e28692204d454e555f544f500a0a232320e5ae8ce695b4e6b58be8af95e79fa9e998b520287e3730207061746873290a0a23232320412e204d454e555f544f5020656e747279202838207061746873290a0a7c2070617468207c20696e707574207c206578706563746564207c0a7c2d2d2d2d2d2d7c2d2d2d2d2d2d2d7c2d2d2d2d2d2d2d2d2d2d7c0a7c20412e31207c20273127207c204255595f464c4f5720434841494e5f53454c454354207c0a7c20412e32207c20273227207c2053454c4c5f464c4f5720434841494e5f53454c454354207c0a7c20412e33207c20273327207c2042524f5753455f4d41524b4554204c49535420287472696767657242726f77736529207c0a7c20412e34207c20273427207c204143434550545f4f46464552204f464645525f49445f494e505554207c0a7c20412e35207c20273527207c204d595f4f5244455253204c4953542028747269676765724d794f726465727329207c0a7c20412e36207c20273627207c2043414e43454c5f4f52444552204f524445525f49445f494e505554207c0a7c20412e37207c20273727202f20273027202f2027393927207c2072652d73686f77206d656e75207c0a7c20412e38207c20e887aae784b6e8afade8a8802027e68891e683b3e58d96272028706f73742d726573657420e78eb02066616c6c2062726f6b65722d7632204c4c4d2c20506861736520ceb120e5908e20656d6974206d656e7529207c2062726f6b65722d7632204c4c4d20e68ea5e7aea1204f5220506861736520ceb120726573657420e5908ee88f9ce58d9520656d69742028e5be85204f776e657220646972656374696f6e29207c0a0a23232320422e204255595f464c4f5720286f7074696f6e202731272c203132207061746873290a0a6060600a4d454e555f544f5020e286922027312720e2869220434841494e5f53454c4543540a2020e28692202731272042534320e28692205154595f53454c4543540a20202020e2869220273130302720e28692207072657669657720e2869220434f4e4649524d0a202020202020e2869220275945532720e2869220747269676765725075626c69736820e28692202f6170692f65786368616e67652f7075626c697368206f6e2d636861696e20e29c9320422e4c4956452e310a202020202020e2869220274e4f2720e286922063616e63656c202b204d454e555f544f500a202020202020e28692206f7468657220e286922072652d70726f6d7074205945532f4e4f0a2020e28692202732272045544820e2869220e5908c2061626f766520706174680a2020e286922027332720506f6c79676f6e20e2869220e5908c0a2020e286922027342720417262697472756d20e2869220e5908c0a2020e28692202735272b202f20276162632720e286922072652d70726f6d707420312d340a6060600a0a7c2070617468207c20696e7075742073657175656e6365207c206578706563746564207c0a7c2d2d2d2d2d2d7c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d7c2d2d2d2d2d2d2d2d2d2d7c0a7c20422e31207c2027312720e286922027312720284253432920e2869220273130302720e28692202759455327207c204c4956453a207075626c697368204b4153e286925553445420425343206f6e2d636861696e207c0a7c20422e32207c2027312720e286922027322720284554482920e28692202735302720e28692202759455327207c204c4956453a207075626c69736820455448207c0a7c20422e33207c2027312720e28692202733272028506f6c79676f6e2920e2869220273230302720e28692202759455327207c204c4956453a207075626c69736820506f6c79676f6e207c0a7c20422e34207c2027312720e28692202734272028417262697472756d2920e2869220273530302720e28692202759455327207c204c4956453a207075626c69736820417262697472756d207c0a7c20422e35207c2027312720e286922027312720e286922027302e352720283c4d494e29207c2072652d70726f6d70742071747920312d35303030207c0a7c20422e36207c2027312720e286922027312720e286922027363030302720283e4d415829207c2072652d70726f6d70742071747920312d35303030207c0a7c20422e37207c2027312720e286922027312720e2869220273130302720e2869220274e4f27207c2063616e63656c202b204d454e555f544f50207c0a7c20422e38207c2027312720e286922027312720e2869220273130302720e2869220276d6179626527207c2072652d70726f6d7074205945532f4e4f207c0a7c20422e39207c2027312720e286922027352720286f7574206f662072616e676529207c2072652d70726f6d707420312d34207c0a7c20422e3130207c2027312720e2869220276261636b27207c204d454e555f544f50207c0a7c20422e3131207c2027312720e286922027312720e2869220276261636b27207c204d454e555f544f502028737461746520726573657429207c0a7c20422e3132207c2027312720e286922027312720e2869220273130302720e2869220276261636b27207c204d454e555f544f502028737461746520726573657429207c0a0a23232320432e2053454c4c5f464c4f5720286f7074696f6e202732272c20313420706174687320e2809420414444525f494e5055542065787472612073746570290a0a6060600a4d454e555f544f5020e286922027322720e2869220434841494e5f53454c4543540a2020e2869220636861696e2076616c696420e28692205154595f53454c4543540a20202020e28692207174792076616c696420e2869220414444525f494e5055542028e590ab2027e4bda0e887aae5b7b1e79a842045564d20e992b1e58c852720706872617365290a202020202020e2869220307834302d6865782076616c696420e28692207072657669657720e2869220434f4e4649524d0a2020202020202020e2869220275945532720e2869220747269676765725075626c69736820e29c9320432e4c4956452e310a2020202020202020e2869220274e4f2720e286922063616e63656c202b204d454e555f544f500a202020202020e2869220696e76616c6964206164647220e286922072652d70726f6d70740a6060600a0a7c2070617468207c20696e7075742073657175656e6365207c206578706563746564207c0a7c2d2d2d2d2d2d7c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d7c2d2d2d2d2d2d2d2d2d2d7c0a7c20432e31207c2027322720e286922027312720284253432920e2869220273130302720e2869220273078313431372e2e2e353936442720e28692202759455327207c204c4956453a207075626c697368204b4153e2869255534454204253432053454c4c206f6e2d636861696e207c0a7c20432e32207c2027322720e286922027322720284554482920e28692202735302720e28692202730786162632e2e2e2720e28692202759455327207c204c4956453a204554482053454c4c207c0a7c20432e33207c2027322720e28692202733272028506f6c79676f6e2920e2869220273230302720e28692202730782e2e2e2720e28692202759455327207c204c4956453a20506f6c79676f6e2053454c4c207c0a7c20432e34207c2027322720e28692202734272028417262697472756d2920e2869220273530302720e28692202730782e2e2e2720e28692202759455327207c204c4956453a20417262697472756d2053454c4c207c0a7c20432e35207c2027322720e286922027312720e2869220273130302720e2869220273078494e56414c49442720286e6f7420307834302d68657829207c2072652d70726f6d70742045564d2030782e2e2e207c0a7c20432e36207c2027322720e286922027312720e2869220273130302720e2869220273078313233272028746f6f2073686f727429207c2072652d70726f6d7074207c0a7c20432e37207c2027322720e286922027312720e2869220273130302720e28692202730782e2e2e2720e2869220274e4f27207c2063616e63656c207c0a7c20432e38207c2027322720e286922027312720e286922027302e352720283c4d494e29207c2072652d70726f6d707420717479207c0a7c20432e39207c2027322720e286922027312720e286922027363030302720283e4d415829207c2072652d70726f6d707420717479207c0a7c20432e3130207c2027322720e28692202735272028636861696e206f7574206f662072616e676529207c2072652d70726f6d707420312d34207c0a7c20432e3131207c2027322720e2869220276261636b27207c204d454e555f544f50207c0a7c20432e3132207c2027322720e286922027312720e2869220276261636b27207c204d454e555f544f50207c0a7c20432e3133207c2027322720e286922027312720e2869220273130302720e2869220276261636b27207c204d454e555f544f50207c0a7c20432e3134207c2027322720e286922027312720e2869220273130302720e28692202730782e2e2e2720e2869220276261636b27207c204d454e555f544f50207c0a0a23232320442e2042524f5753455f4d41524b455420286f7074696f6e202733272c2036207061746873290a0a6060600a4d454e555f544f5020e286922027332720e28692207472696767657242726f77736520e28692204c495354202835206f6666657273202f2070616765290a2020e286922027312720746f2027352720286966206f66666572206578697374732920e28692204143434550545f4f46464552207072652d66696c6c6564206f666665725f69640a2020e2869220276e6578742720e28692207472696767657242726f7773654e65787420e28692207061676520320a2020e2869220276261636b2720e28692204d454e555f544f500a2020e28692206f7468657220e286922072652d70726f6d707420312d35202f206e657874202f206261636b0a6060600a0a7c2070617468207c20696e707574207c206578706563746564207c0a7c2d2d2d2d2d2d7c2d2d2d2d2d2d2d7c2d2d2d2d2d2d2d2d2d2d7c0a7c20442e31207c202733272028656d707479206d61726b657429207c2027e5bd93e5898de697a02061637469766520e68c82e58d952e20e59b9e206261636b20e8bf94e59b9ee88f9ce58d9527207c0a7c20442e32207c2027332720283520616374697665206f66666572732920e2869220273127207c204143434550545f4f464645522077697468206669727374206f66666572207072652d66696c6c656420434841494e5f53454c454354207c0a7c20442e33207c2027332720e2869220273527207c204143434550545f4f46464552207769746820357468206f66666572207c0a7c20442e34207c2027332720e286922027362720286f7574206f662072616e676529207c2072652d70726f6d7074207c0a7c20442e35207c2027332720e2869220276e65787427202870616765203229207c204c49535420706167652032204f522027e6b2a1e69bb4e5a49ae68c82e58d9527207c0a7c20442e36207c2027332720e2869220276261636b27207c204d454e555f544f50207c0a0a23232320452e204143434550545f4f4646455220286f7074696f6e202734272c203130207061746873290a0a6060600a4d454e555f544f5020e286922027342720e28692204f464645525f49445f494e5055540a2020e2869220273c38636861722720e286922072652d70726f6d70740a2020e2869220273132636861725f6f666665725f69642720e2869220747269676765724f666665724c6f6f6b757020e286922066657463684f666665720a20202020e28692206f6666657220666f756e64202b2073746174653d6f70656e20e2869220434841494e5f53454c4543540a202020202020e2869220636861696e2076616c696420e2869220434f4e4649524d20e2869220275945532720e286922074726967676572416363657074206f6e2d636861696e20e29c9320452e4c4956452e310a202020202020e2869220274e4f2720e286922063616e63656c0a20202020e28692206f66666572206e6f7420666f756e64204f52206e6f6e2d6f70656e20e286922027e8aea2e58d95e78ab6e68081e99d9e206f70656e2c20e4b88de58fafe68ea5e58d9527204f52206572726f720a2020e2869220276261636b270a6060600a0a7c2070617468207c20696e707574207c206578706563746564207c0a7c2d2d2d2d2d2d7c2d2d2d2d2d2d2d7c2d2d2d2d2d2d2d2d2d2d7c0a7c20452e31207c2027342720e28692202773686f72742720283c38206368617229207c2072652d70726f6d7074207c0a7c20452e32207c205b2e2e2e5d