Skip to content

Commit 7827416

Browse files
author
asbestos22
committed
feat(demo): full_scan buy flow + 0.1 U on-chain settlement proof (real tx 0xecb5ab20)
1 parent 7a8cc41 commit 7827416

1 file changed

Lines changed: 20 additions & 5 deletions

File tree

web/record_demo_v2.py

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
DEMO_PK = "0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d" # well-known hardhat key #1
3434
DEMO_ADDR = "0x70997970C51812dc3A010C7d01b50e0d17dc79C8"
3535

36-
REAL_TX = "0x6fd6c6073b5d4afe09f8ab12171332177c8c8a90c4a075f98953b0aaa5a1e19b"
36+
REAL_TX = "0xecb5ab20f66ca0183127d0f4309326310b01b0ab4319f2c4f7f7222e579905b9"
3737

3838
# Injected EIP-1193 provider. Uses the page's own loaded `ethers` to sign.
3939
INJECT = """
@@ -99,15 +99,30 @@ async def record() -> Path:
9999
await page.add_init_script(INJECT)
100100
await page.goto(BUY_URL, wait_until="networkidle")
101101
await asyncio.sleep(2)
102-
# pick base tier (cheapest) for the demo
103-
await page.click('.tier[data-tier="base"]')
102+
# pick full scan tier (richest, most human-readable payload)
103+
await page.click('.tier[data-tier="full_scan"]')
104104
await asyncio.sleep(1.2)
105105
await page.click("#btnConnect")
106106
await asyncio.sleep(2.2) # connection + step 1
107107
await page.click("#btnBuy")
108108
# signing pause + fetch + result render
109109
await page.wait_for_selector("#resultCard:not(.hide)", timeout=20000)
110-
await asyncio.sleep(3.5) # let the summary + result breathe
110+
await asyncio.sleep(2.0)
111+
# expand the raw payload so judges see the full signed feed
112+
try:
113+
await page.evaluate("document.querySelector('details').open = true")
114+
except Exception:
115+
pass
116+
await asyncio.sleep(1.0)
117+
# slow scroll through the rich result (summary + narratives + payload)
118+
rh = await page.evaluate("document.body.scrollHeight - window.innerHeight")
119+
rsteps = 30
120+
for i in range(rsteps + 1):
121+
await page.evaluate(f"window.scrollTo({{top:{int(rh*i/rsteps)}, behavior:'instant'}})")
122+
await asyncio.sleep(6 / rsteps)
123+
await asyncio.sleep(2.0)
124+
await page.evaluate("window.scrollTo({top:0, behavior:'instant'})")
125+
await asyncio.sleep(1.5)
111126

112127
# ── Segment 3: settlement proof slate ────────────────────────────
113128
await page.evaluate(SLATE_JS, REAL_TX)
@@ -136,7 +151,7 @@ async def record() -> Path:
136151
<div style="color:#848e9c;font-size:18px;margin-bottom:36px">
137152
x402 EIP-3009 settlement &mdash; buyer signs gasless, NRI redeems on-chain</div>
138153
<div style="font-size:16px;line-height:2">
139-
<div><span style="color:#848e9c">Token&nbsp;&nbsp;&nbsp;</span> 0.01 U &middot; United Stables</div>
154+
<div><span style="color:#848e9c">Token&nbsp;&nbsp;&nbsp;</span> 0.1 U &middot; United Stables</div>
140155
<div><span style="color:#848e9c">To&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> NRI 0x7D93&hellip;72C1 (agent 129156)</div>
141156
<div><span style="color:#848e9c">Buyer&nbsp;&nbsp;&nbsp;</span> paid 0 gas &mdash; just a signature</div>
142157
</div>

0 commit comments

Comments
 (0)