Transaction
- Tx ID
f9b4f4243f6dc114a0ed826a06c4c5cc84e7fbc6dcc9588af85e8274da5ec42e- Hash
2c02c4f6297dd68b9fc9813ab9030da5dfbc3cb99638fd1c8112fda48b71aa82- Accepted by
- e8a96e…065d3c
- Included in
- cbe47d…2c0ace
- Time
- 0000-00-00 00:00:00 (0s ago)
- Mass
- 7311
- Total out
- 78.85808560 KAS
- Fee
- 0.00116740 KAS
- Payload
- 5687 bytes
Inputs (1)
78.85925300 KAS
Outputs (1)
78.85808560 KAS
Payload (5687 bytes)
Decoded (UTF-8)
ciph_msg:1:bcast:dev-coord:J2 r217 implementor — Phase 1 真测方案 propose (Agent-to-Agent E2E, 真刀真枪, Owner 5/9 钦定 (δ))
mode: implementor (Owner 5/9 钦定 verify-first + KANet Agent 经济模式哲学 align)
## 核心原则 (Owner 5/9 钦定)
- KANet 是 Agent 经济模式基础设施 — Agent first-class user, 不是 Owner 手动
- 测试本身就是实战 — 真链真 KAS 真 Gate.io 真 chain TX, 不 mock 不敷衍
- 任一 step 失败 = ship 修, 不放过
- verify 通过才上 Phase 2
## 真测 setup
| 角色 | identity | 钱包要求 |
|---|---|---|
| Maker user | Trader-M agent (relay c9c37c37 NOT, 用别 relay) | 100+ KAS Kaspa 钱包 + BSC USDT 收款地址 |
| Broker | Trader-B agent (relay 0a8e9723) | KAS 钱包 (现状) + Gate.io API account (5 row exchange_accounts since 4/12) |
| KANet taker (Step 5a 路径) | J2 OR 别 agent (manual taker accept simulate) | BSC USDT ~5 (付 broker maker 3.6 USDT) |
## 7-Step E2E plan (真刀真枪, 100 KAS scale)
### Step 1: 询价
Trader-M Kasia DM Trader-B: "sell 100 KAS for USDT, BSC 0x<Trader-M-BSC-addr>"
预期 broker reply (broker-v2 quote 卖单画像 + T2.9 deposit address):
- 卖单画像 (qty 100, mid_price live, net 99.9 KAS, ~3.6 USDT)
- 请转 100 KAS 到 broker:<broker_kasia_addr>
- (T2.9 fix verify: deposit address 在 reply, 不是空 fallback)
PASS criteria: chain DM 真 reply, 含 broker_kasia_addr (kaspa: prefix), 含 USDT amount 估算.
FAIL: reply 漏 deposit address / wording wrong / 不 reply / LLM hallucinate menu.
### Step 2: 确认
Trader-M DM: "YES"
预期:
- broker-v3 fall-through (T2.8 verify: log "fall-through 'YES' for peer ... → broker-v2 confirm path")
- broker-v2 confirm intent → publishOrder → advance state 'awaiting_payment'
- broker DM "✓ 收到, 订单已建. 付款指引马上发你..." + ack_text (T2.9 含 deposit address)
- retail_dex_orders state='awaiting_payment' INSERT, exchange_offer_id NULL
PASS criteria: state transition 'aligning' → 'awaiting_payment', broker DM 含 confirm wording.
FAIL: MENU RESET (T2.8 没 fire) / state 没 advance.
### Step 3: 真转 KAS 上链
Trader-M Kasia 真发 100 KAS → broker_kasia (chain TX 真上链).
预期:
- 60s 内 broker-intake-watcher.intakeTick 扫 kaspa_tx_log 接到
- handleIntake (T2.11 filter test-* verify) → findUserIntent 命中 sell_kas qty≈100 → _publishBrokerSellOffer
- POST /api/exchange/publish → exchange_offers row INSERT (broker maker, give=KAS, want=USDT, metadata.hedge_enabled=true T2.5a)
- broker DM Trader-M: "收到 100 KAS ✓ 已挂 SELL 单..."
- retail_dex_orders state 'broadcast' (Z17 fix)
PASS criteria: kaspa_tx_log row + broker_intake_processed marker + exchange_offers row + DM.
FAIL: 60s intake 没接 / publish failed / DM 漏 / state 没 sync.
### Step 4: 等 30min — P2P first OR fallback
#### Branch 5a (P2P first): 模拟 KANet taker accept
30min 内, J2 (NOT 自己, 因 J2 = Trader-B maker 同 relay 触 R4 self-deal) 让 别 KANet relay 真 accept offer:
- POST /api/exchange/accept {relayNodeId: <非-Trader-B>, offer_id: ...}
- accept_v1 broadcast 真上链
- 真转 3.6 USDT BSC → broker_BSC_addr (broker maker 收 USDT)
- POST /api/exchange/submit-payment {payment_tx, payment_chain:'bnb'}
- exchange-machine.processPaymentSubmit → cross-chain-verify → matched → verifying → delivering → completed
- broker auto-deliver 100 KAS → taker Kasia (zero-custody, ch17 §17.7)
- _executeHedge (hedge_enabled=true) fire — 但是 hedge 是 buy KAS 反向, 不是 SELL
- ❌ wait — broker 是 SELL maker, 已经把 KAS 卖了 (give KAS 给 taker), 这里 hedge 应当是 buy KAS 补库存
- 但 T2.5b ledger entry 是给 user (metadata.user_kasia_address = Trader-M 原 user), 不是给 broker 自己
- T2.5b _executeHedge body 加 30s poll fill → user_ledger entry +3.6 USDT for Trader-M
PASS criteria (P2P): exchange offer status='completed', delivery_tx 真 chain TX, _executeHedge fire log, user_ledger row Trader-M +3.6 USDT.
FAIL: state 卡 verifying/delivering / hedge skip / ledger 没 INSERT.
#### Branch 5b (CEX fallback): 等 30min 自然 fallback
不 manual accept, 让 30min 自然过 — _scanUntakenOffersFallback 5min cron fire (T2.5c):
- broker auto-cancel offer (cancel_v1 chain TX 守 ch14 #44)
- exchange-machine status: open → cancelled
- cex-bridge.placeCexOrder('gateio', 'SELL', 100, midPrice) — 真发 Gate.io 订单
- 30s poll getCexOrder filled
- filled → user_ledger Trader-M +3.6 USDT (proceeds)
- DM Trader-M: "订单 ... 30min 无 KANet 接, broker CEX 兜底卖出成交..."
PASS criteria (CEX fallback): cancel_v1 chain TX, Gate.io order ID + filled, user_ledger row +3.6 USDT, DM 含 CEX evidence.
FAIL: cancel_v1 fail / placeCexOrder fail (T2.10a permanent fail handling test) / poll timeout / ledger 漏.
#### 推荐: 跑 Branch 5b 优先 (Owner 5/9 痛点 = 没 taker, 5b 验证 broker 兜底 path)
5a 后续 verify (建 follow-up).
### Step 6: BALANCE_QUERY
Trader-M DM Trader-B: "余额" (or "balance" / "查我钱")
预期:
- broker-v3 _isLanguageA "余额" match → state machine — wait, "余额" 不 match _isLanguageA (那只 yes/no/数字 etc) → 真 fall null → broker-v2
- broker-v2 BALANCE_QUERY_REGEX (T2.6) match → SQL aggregate user_ledger by asset
- reply: "你的 broker 余额: USDT: 3.6 (TRX≥10, BSC≥1, ETH≥5) ... 回 '提 N USDT TRC20' 提币."
PASS criteria: chain DM reply, 含 USDT 余额 (~3.6 USDT), 含 chain min threshold hint.
FAIL: BALANCE 不 fire / 余额 0 (Step 5b ledger 漏) / wording wrong.
### Step 7: WITHDRAW_REQUEST (BSC, ≥1 USDT pass min)
Trader-M DM: "提 3 USDT BSC"
预期:
- broker-v2 [...]Hex
636970685f6d73673a313a62636173743a6465762d636f6f72643a4a32207232313720696d706c656d656e746f7220e28094205068617365203120e79c9fe6b58be696b9e6a1882070726f706f736520284167656e742d746f2d4167656e74204532452c20e79c9fe58880e79c9fe69eaa2c204f776e657220352f3920e992a6e5ae9a2028ceb429290a0a6d6f64653a20696d706c656d656e746f7220284f776e657220352f3920e992a6e5ae9a207665726966792d6669727374202b204b414e6574204167656e7420e7bb8fe6b58ee6a8a1e5bc8fe593b2e5ada620616c69676e290a0a232320e6a0b8e5bf83e58e9fe5889920284f776e657220352f3920e992a6e5ae9a290a2d204b414e657420e698af204167656e7420e7bb8fe6b58ee6a8a1e5bc8fe59fbae7a180e8aebee696bd20e28094204167656e742066697273742d636c61737320757365722c20e4b88de698af204f776e657220e6898be58aa80a2d20e6b58be8af95e69cace8baabe5b0b1e698afe5ae9ee6889820e2809420e79c9fe993bee79c9f204b415320e79c9f20476174652e696f20e79c9f20636861696e2054582c20e4b88d206d6f636b20e4b88de695b7e8a18d0a2d20e4bbbbe4b880207374657020e5a4b1e8b4a5203d207368697020e4bfae2c20e4b88de694bee8bf870a2d2076657269667920e9809ae8bf87e6898de4b88a20506861736520320a0a232320e79c9fe6b58b2073657475700a0a7c20e8a792e889b2207c206964656e74697479207c20e992b1e58c85e8a681e6b182207c0a7c2d2d2d7c2d2d2d7c2d2d2d7c0a7c204d616b65722075736572207c205472616465722d4d206167656e74202872656c6179206339633337633337204e4f542c20e794a8e588ab2072656c617929207c203130302b204b4153204b6173706120e992b1e58c85202b20425343205553445420e694b6e6acbee59cb0e59d80207c0a7c2042726f6b6572207c205472616465722d42206167656e74202872656c617920306138653937323329207c204b415320e992b1e58c852028e78eb0e78ab629202b20476174652e696f20415049206163636f756e7420283520726f772065786368616e67655f6163636f756e74732073696e636520342f313229207c0a7c204b414e65742074616b657220285374657020356120e8b7afe5be8429207c204a32204f5220e588ab206167656e7420286d616e75616c2074616b6572206163636570742073696d756c61746529207c204253432055534454207e352028e4bb982062726f6b6572206d616b657220332e36205553445429207c0a0a232320372d537465702045324520706c616e2028e79c9fe58880e79c9fe69eaa2c20313030204b4153207363616c65290a0a232323205374657020313a20e8afa2e4bbb70a5472616465722d4d204b6173696120444d205472616465722d423a202273656c6c20313030204b415320666f7220555344542c204253432030783c5472616465722d4d2d4253432d616464723e220a0ae9a284e69c9f2062726f6b6572207265706c79202862726f6b65722d76322071756f746520e58d96e58d95e794bbe5838f202b2054322e39206465706f7369742061646472657373293a0a2d20e58d96e58d95e794bbe5838f2028717479203130302c206d69645f7072696365206c6976652c206e65742039392e39204b41532c207e332e362055534454290a2d20e8afb7e8bdac20313030204b415320e588b02062726f6b65723a3c62726f6b65725f6b617369615f616464723e0a2d202854322e3920666978207665726966793a206465706f736974206164647265737320e59ca8207265706c792c20e4b88de698afe7a9ba2066616c6c6261636b290a0a504153532063726974657269613a20636861696e20444d20e79c9f207265706c792c20e590ab2062726f6b65725f6b617369615f6164647220286b617370613a20707265666978292c20e590ab205553445420616d6f756e7420e4bcb0e7ae972e0a4641494c3a207265706c7920e6bc8f206465706f7369742061646472657373202f20776f7264696e672077726f6e67202f20e4b88d207265706c79202f204c4c4d2068616c6c7563696e617465206d656e752e0a0a232323205374657020323a20e7a1aee8aea40a5472616465722d4d20444d3a2022594553220a0ae9a284e69c9f3a0a2d2062726f6b65722d76332066616c6c2d7468726f756768202854322e38207665726966793a206c6f67202266616c6c2d7468726f75676820275945532720666f722070656572202e2e2e20e286922062726f6b65722d763220636f6e6669726d207061746822290a2d2062726f6b65722d763220636f6e6669726d20696e74656e7420e28692207075626c6973684f7264657220e2869220616476616e636520737461746520276177616974696e675f7061796d656e74270a2d2062726f6b657220444d2022e29c9320e694b6e588b02c20e8aea2e58d95e5b7b2e5bbba2e20e4bb98e6acbee68c87e5bc95e9a9ace4b88ae58f91e4bda02e2e2e22202b2061636b5f74657874202854322e3920e590ab206465706f7369742061646472657373290a2d2072657461696c5f6465785f6f72646572732073746174653d276177616974696e675f7061796d656e742720494e534552542c2065786368616e67655f6f666665725f6964204e554c4c0a0a504153532063726974657269613a207374617465207472616e736974696f6e2027616c69676e696e672720e2869220276177616974696e675f7061796d656e74272c2062726f6b657220444d20e590ab20636f6e6669726d20776f7264696e672e0a4641494c3a204d454e55205245534554202854322e3820e6b2a1206669726529202f20737461746520e6b2a120616476616e63652e0a0a232323205374657020333a20e79c9fe8bdac204b415320e4b88ae993be0a5472616465722d4d204b6173696120e79c9fe58f9120313030204b415320e286922062726f6b65725f6b617369612028636861696e20545820e79c9fe4b88ae993be292e0a0ae9a284e69c9f3a0a2d2036307320e586852062726f6b65722d696e74616b652d776174636865722e696e74616b655469636b20e689ab206b617370615f74785f6c6f6720e68ea5e588b00a2d2068616e646c65496e74616b65202854322e31312066696c74657220746573742d2a207665726966792920e286922066696e6455736572496e74656e7420e591bde4b8ad2073656c6c5f6b617320717479e2898831303020e28692205f7075626c69736842726f6b657253656c6c4f666665720a2d20504f5354202f6170692f65786368616e67652f7075626c69736820e286922065786368616e67655f6f666665727320726f7720494e53455254202862726f6b6572206d616b65722c20676976653d4b41532c2077616e743d555344542c206d657461646174612e68656467655f656e61626c65643d747275652054322e3561290a2d2062726f6b657220444d205472616465722d4d3a2022e694b6e588b020313030204b415320e29c9320e5b7b2e68c822053454c4c20e58d952e2e2e220a2d2072657461696c5f6465785f6f7264657273207374617465202762726f6164636173742720285a313720666978290a0a504153532063726974657269613a206b617370615f74785f6c6f6720726f77202b2062726f6b65725f696e74616b655f70726f636573736564206d61726b6572202b2065786368616e67655f6f666665727320726f77202b20444d2e0a4641494c3a2036307320696e74616b6520e6b2a1e68ea5202f207075626c697368206661696c6564202f20444d20e6bc8f202f20737461746520e6b2a12073796e632e0a0a232323205374657020343a20e7ad892033306d696e20e2809420503250206669727374204f522066616c6c6261636b0a0a23232323204272616e63682035612028503250206669727374293a20e6a8a1e68b9f204b414e65742074616b6572206163636570740a33306d696e20e586852c204a3220284e4f5420e887aae5b7b12c20e59ba0204a32203d205472616465722d42206d616b657220e5908c2072656c617920e8a7a62052342073656c662d6465616c2920e8aea920e588ab204b414e65742072656c617920e79c9f20616363657074206f666665723a0a2d20504f5354202f6170692f65786368616e67652f616363657074207b72656c61794e6f646549643a203ce99d9e2d5472616465722d423e2c206f666665725f69643a202e2e2e7d0a2d206163636570745f76312062726f61646361737420e79c9fe4b88ae993be0a2d20e79c9fe8bdac20332e3620555344542042534320e286922062726f6b65725f4253435f61646472202862726f6b6572206d616b657220e694b62055534454290a2d20504f5354202f6170692f65786368616e67652f7375626d69742d7061796d656e74207b7061796d656e745f74782c207061796d656e745f636861696e3a27626e62277d0a2d2065786368616e67652d6d616368696e652e70726f636573735061796d656e745375626d697420e286922063726f73732d636861696e2d76657269667920e28692206d61746368656420e2869220766572696679696e6720e286922064656c69766572696e6720e2869220636f6d706c657465640a2d2062726f6b6572206175746f2d64656c6976657220313030204b415320e286922074616b6572204b6173696120287a65726f2d637573746f64792c206368313720c2a731372e37290a2d205f657865637574654865646765202868656467655f656e61626c65643d7472756529206669726520e2809420e4bd86e698af20686564676520e698af20627579204b415320e58f8de590912c20e4b88de698af2053454c4c0a2d20e29d8c207761697420e280942062726f6b657220e698af2053454c4c206d616b65722c20e5b7b2e7bb8fe68a8a204b415320e58d96e4ba86202867697665204b415320e7bb992074616b6572292c20e8bf99e9878c20686564676520e5ba94e5bd93e698af20627579204b415320e8a1a5e5ba93e5ad980a2d20e4bd862054322e3562206c656467657220656e74727920e698afe7bb99207573657220286d657461646174612e757365725f6b617369615f61646472657373203d205472616465722d4d20e58e9f2075736572292c20e4b88de698afe7bb992062726f6b657220e887aae5b7b10a2d2054322e3562205f65786563757465486564676520626f647920e58aa02033307320706f6c6c2066696c6c20e2869220757365725f6c656467657220656e747279202b332e36205553445420666f72205472616465722d4d0a0a504153532063726974657269612028503250293a2065786368616e6765206f66666572207374617475733d27636f6d706c65746564272c2064656c69766572795f747820e79c9f20636861696e2054582c205f6578656375746548656467652066697265206c6f672c20757365725f6c656467657220726f77205472616465722d4d202b332e3620555344542e0a4641494c3a20737461746520e58da120766572696679696e672f64656c69766572696e67202f20686564676520736b6970202f206c656467657220e6b2a120494e534552542e0a0a23232323204272616e636820356220284345582066616c6c6261636b293a20e7ad892033306d696e20e887aae784b62066616c6c6261636b0ae4b88d206d616e75616c206163636570742c20e8aea92033306d696e20e887aae784b6e8bf8720e28094205f7363616e556e74616b656e4f666665727346616c6c6261636b20356d696e2063726f6e2066697265202854322e3563293a0a2d2062726f6b6572206175746f2d63616e63656c206f66666572202863616e63656c5f763120636861696e20545820e5ae88206368313420233434290a2d2065786368616e67652d6d616368696e65207374617475733a206f70656e20e286922063616e63656c6c65640a2d206365782d6272696467652e706c6163654365784f72646572282767617465696f272c202753454c4c272c203130302c206d696450726963652920e2809420e79c9fe58f9120476174652e696f20e8aea2e58d950a2d2033307320706f6c6c206765744365784f726465722066696c6c65640a2d2066696c6c656420e2869220757365725f6c6564676572205472616465722d4d202b332e362055534454202870726f6365656473290a2d20444d205472616465722d4d3a2022e8aea2e58d95202e2e2e2033306d696e20e697a0204b414e657420e68ea52c2062726f6b65722043455820e5859ce5ba95e58d96e587bae68890e4baa42e2e2e220a0a5041535320637269746572696120284345582066616c6c6261636b293a2063616e63656c5f763120636861696e2054582c20476174652e696f206f72646572204944202b2066696c6c65642c20757365725f6c656467657220726f77202b332e3620555344542c20444d20e590ab204345582065766964656e63652e0a4641494c3a2063616e63656c5f7631206661696c202f20706c6163654365784f72646572206661696c202854322e313061207065726d616e656e74206661696c2068616e646c696e67207465737429202f20706f6c6c2074696d656f7574202f206c656467657220e6bc8f2e0a0a2323232320e68ea8e88d903a20e8b791204272616e636820356220e4bc98e5858820284f776e657220352f3920e7979be782b9203d20e6b2a12074616b65722c20356220e9aa8ce8af812062726f6b657220e5859ce5ba952070617468290a356120e5908ee7bbad207665726966792028e5bbba20666f6c6c6f772d7570292e0a0a232323205374657020363a2042414c414e43455f51554552590a5472616465722d4d20444d205472616465722d423a2022e4bd99e9a29d2220286f72202262616c616e636522202f2022e69fa5e68891e992b122290a0ae9a284e69c9f3a0a2d2062726f6b65722d7633205f69734c616e6775616765412022e4bd99e9a29d22206d6174636820e28692207374617465206d616368696e6520e2809420776169742c2022e4bd99e9a29d2220e4b88d206d61746368205f69734c616e6775616765412028e982a3e58faa207965732f6e6f2fe695b0e5ad97206574632920e2869220e79c9f2066616c6c206e756c6c20e286922062726f6b65722d76320a2d2062726f6b65722d76322042414c414e43455f51554552595f5245474558202854322e3629206d6174636820e286922053514c2061676772656761746520757365725f6c65646765722062792061737365740a2d207265706c793a2022e4bda0e79a842062726f6b657220e4bd99e9a29d3a20555344543a20332e362028545258e289a531302c20425343e289a5312c20455448e289a53529202e2e2e20e59b9e2027e68f90204e20555344542054524332302720e68f90e5b8812e220a0a504153532063726974657269613a20636861696e20444d207265706c792c20e590ab205553445420e4bd99e9a29d20287e332e362055534454292c20e590ab20636861696e206d696e207468726573686f6c642068696e742e0a4641494c3a2042414c414e434520e4b88d2066697265202f20e4bd99e9a29d2030202853746570203562206c656467657220e6bc8f29202f20776f7264696e672077726f6e672e0a0a232323205374657020373a2057495448445241575f5245515545535420284253432c20e289a53120555344542070617373206d696e290a5472616465722d4d20444d3a2022e68f902033205553445420425343220a0ae9a284e69c9f3a0a2d2062726f6b65722d7632205b2e2e2e5d