docs: update wRTC bridge links#5590
Conversation
|
Welcome to RustChain! Thanks for your first pull request. Before we review, please make sure:
Bounty tiers: Micro (1-10 RTC) | Standard (20-50) | Major (75-100) | Critical (100-150) A maintainer will review your PR soon. Thanks for contributing! |
iamdinhthuan
left a comment
There was a problem hiding this comment.
Requesting changes for the /wallet/swap-info docs/API examples touched here.
The live route and PR-head code do not return the response shape shown in docs/api-reference.md and docs/api/openapi.yaml. node/rustchain_x402.py returns jsonify(SWAP_INFO), and node/x402_config.py defines SWAP_INFO with these keys: wrtc_contract, usdc_contract, aerodrome_pool, swap_url, network, and reference_price_usd.
The edited docs still show the old Solana/Raydium response fields (rtc_price_usd, wrtc_solana_mint, wrtc_base_contract, raydium_pool, and now bridge_url). A live check also confirms the mismatch:
curl -sk https://rustchain.org/wallet/swap-inforeturns keys such as swap_url, usdc_contract, wrtc_contract, network, and reference_price_usd; it does not include bridge_url, wrtc_solana_mint, or raydium_pool.
Because this PR is already updating those exact API examples for the bridge-link fix, please also update the SwapInfoResponse schema and examples to match the actual /wallet/swap-info contract, or update the route/tests if the documented Solana bridge response is intended. Otherwise generated clients and docs users will continue reading a field (bridge_url) that the API does not return, while missing the actual swap_url they need.
|
Thanks, good catch. I pushed a follow-up commit that updates the
I also quoted the existing Validation after the update:
|
iamdinhthuan
left a comment
There was a problem hiding this comment.
Re-reviewed current head e42b5948486a045de11bd0d15c79e4df90c15709.
The /wallet/swap-info docs/API mismatch from my previous review is resolved. The API reference and OpenAPI SwapInfoResponse schema now document the same keys returned by the live route and by node/x402_config.py: aerodrome_pool, network, reference_price_usd, swap_url, usdc_contract, and wrtc_contract. The stale base bridge links remain replaced with the live /bridge/wrtc route.
Validation performed:
python3 - <<'PY'
# loaded docs/api/openapi.yaml and live https://rustchain.org/wallet/swap-info
# live_keys == schema_keys == aerodrome_pool,network,reference_price_usd,swap_url,usdc_contract,wrtc_contract
# missing_from_schema=
# extra_in_schema=
PY
rg --pcre2 'https://bottube\.ai/bridge(?!/wrtc|/base)' -S CONTRIBUTING.md docs tests README.md
# no matches
git diff --check origin/main...HEAD -- CONTRIBUTING.md docs/FAQ.md docs/FAQ_TROUBLESHOOTING.md docs/MULTISIG_WALLET_GUIDE.md docs/RUSTCHAIN_DEVELOPER_TUTORIAL.md docs/RUSTCHAIN_PROTOCOL.md docs/WRTC_ONBOARDING_TUTORIAL.md docs/api-reference.md docs/api/openapi.yaml docs/protocol-overview.md docs/token-economics.md docs/zh-CN/README.md
# passed
python3 -m pytest tests/test_wrtc_docs.py tests/run_tests.py -q
# 58 passed, 1 pre-existing PytestCollectionWarning for TestResult
python3 tools/bcos_spdx_check.py --base-ref origin/main
# BCOS SPDX check: OK
No further blocker from me on this current head. I am not opening a duplicate claim; the canonical claim remains rustchain-bounties#10704.
jaxint
left a comment
There was a problem hiding this comment.
LGTM! Great work on this PR. 🚀
iamdinhthuan
left a comment
There was a problem hiding this comment.
Follow-up on current head e42b5948486a045de11bd0d15c79e4df90c15709: the swap-info schema mismatch is fixed, but the PR still leaves stale base bridge references in user-facing docs while the PR summary says it updates English and Chinese bridge docs.
The current validation command only checks https://... URLs, so it misses the plain-text quickstart reference and the separate Chinese README:
rg -n --pcre2 'bottube\.ai/bridge(?!/wrtc|/base)' -S README_ZH.md docs/QUICKSTART.md CONTRIBUTING.md README.md docs tests
# docs/QUICKSTART.md:433: ... bridge at bottube.ai/bridge.
# README_ZH.md:30: ... https://bottube.ai/bridge
# README_ZH.md:361: ... https://bottube.ai/bridge
curl -k -L -sS -o /dev/null -w 'old=%{http_code} %{url_effective}\n' https://bottube.ai/bridge
# old=500 https://bottube.ai/bridge
curl -k -L -sS -o /dev/null -w 'new=%{http_code} %{url_effective}\n' https://bottube.ai/bridge/wrtc
# new=200 https://bottube.ai/bridge/wrtc
python3 -m pytest tests/test_wrtc_docs.py tests/run_tests.py -q
# 58 passed, 1 pre-existing PytestCollectionWarning for TestResult
python3 tools/bcos_spdx_check.py --base-ref origin/main
# BCOS SPDX check: OK
Because the patch is specifically retiring the broken base bridge route, these remaining references should be updated or the validation should explicitly document why they are intentionally excluded. This supersedes my earlier no-blocker follow-up; I am keeping this on the existing review/claim path and not opening a duplicate claim.
|
CI follow-up: the failing The failing job stops during test collection on missing CI dependencies:
I already opened #5587 to add those missing test dependencies. Focused validation for this PR still passes:
|
|
Thanks for the follow-up. I pushed e02af6c to clear the remaining plain wRTC bridge references that the earlier URL-only check missed. Updated:
Validation:
|
|
The e02af6c CI red is still the same base test dependency collection issue, not a docs regression from this PR. The failing job stops during collection on missing environment packages:
The docs-specific validation for this PR passes locally:
I also have #5587 open to install the missing CI test dependencies, which should address the collection barrier separately. |
iamdinhthuan
left a comment
There was a problem hiding this comment.
Re-reviewed current head e02af6cc5508d3c038235b1ee55c04a690a0180f.
The remaining stale base bridge references from my previous review are resolved. I verified:
- stale
bottube.ai/bridgereferences excluding/bridge/wrtcand/bridge/base: no matches across the worktree - live
/wallet/swap-infokeys match OpenAPISwapInfoResponse:aerodrome_pool,network,reference_price_usd,swap_url,usdc_contract,wrtc_contract python3 -m pytest tests/test_wrtc_docs.py tests/run_tests.py -q-> 58 passed, 1 existingTestResultcollection warningpython3 -m py_compile wallet/coinbase_wallet.py tests/test_wrtc_docs.pygit diff --check origin/main...HEADpassedpython3 tools/bcos_spdx_check.py --base-ref origin/main-> OK
No further blocker from me on this current head. I am keeping the existing rustchain-bounties#10704 path as canonical and not opening a duplicate claim.
ZacharyZhang-NY
left a comment
There was a problem hiding this comment.
Approved. I reviewed current head e02af6c after the follow-up fixes. The stale BoTTube base bridge route still returns 500, and https://bottube.ai/bridge/wrtc returns 200. Both HTTPS-only and plain-text searches for bottube.ai/bridge references now pass across the updated docs, README variants, tests, site, and wallet files. python3 -m pytest tests/test_wrtc_docs.py tests/run_tests.py -q passed with 58 tests and one pre-existing PytestCollectionWarning. The OpenAPI SwapInfoResponse properties now match the live https://rustchain.org/wallet/swap-info JSON keys: aerodrome_pool, network, reference_price_usd, swap_url, usdc_contract, and wrtc_contract. git diff --check passed for the touched files, and python3 tools/bcos_spdx_check.py --base-ref origin/main reported BCOS SPDX check: OK.
kekehanshujun
left a comment
There was a problem hiding this comment.
Requesting changes because this PR leaves the wRTC docs internally inconsistent with the live swap-info API and with its own later doc changes.
I checked https://rustchain.org/wallet/swap-info, and it currently returns Base/Aerodrome fields (network: Base (eip155:8453), swap_url, usdc_contract, wrtc_contract). This PR updates docs/api-reference.md and docs/api/openapi.yaml to that Base/Aerodrome shape, but many of the same patch hunks still describe wRTC as Solana/Raydium and keep the old Solana mint text in README/quickstart/localized docs.
Please either keep the docs consistently on the old Solana/Raydium model or update the surrounding prose/examples/tables to match the Base/Aerodrome contract model returned by the live API. As it stands, readers will see conflicting bridge/swap instructions in the same documentation set.
|
Pushed Changes made:
Validation:
|
iamdinhthuan
left a comment
There was a problem hiding this comment.
Re-reviewed current head e114d1d3a11f21b36b99b089b122bae6c9064aee.
The new Base/Aerodrome consistency update resolves the prior Solana/Raydium
docs mismatch from the earlier current-head blocker. I verified:
- stale
bottube.ai/bridgereferences excluding/bridge/wrtcand
/bridge/base: no matches across the worktree - stale Solana/Raydium terms in the touched wRTC docs/readmes/site files: no
matches forSolana,Raydium,outputMint,solscan, orSOL - live
/wallet/swap-infokeys match OpenAPISwapInfoResponse:
aerodrome_pool,network,reference_price_usd,swap_url,
usdc_contract, andwrtc_contract - live route reports
network=Base (eip155:8453)and the documented Aerodrome
swap URL / wRTC contract shape python3 -m pytest tests/test_wrtc_docs.py tests/run_tests.py -q-> 58
passed, 1 existingTestResultcollection warningpython3 -m py_compile wallet/coinbase_wallet.py tests/test_wrtc_docs.py tests/run_tests.py
passedgit diff --check origin/main...HEADpassedpython3 tools/bcos_spdx_check.py --base-ref origin/main-> OK
No further blocker from me on this current head. This remains part of the
existing rustchain-bounties#10704 review path; I am not opening a duplicate
claim.
iamdinhthuan
left a comment
There was a problem hiding this comment.
Re-reviewed current head e114d1d3a11f21b36b99b089b122bae6c9064aee again after the Base/Aerodrome rewrite.
The old Solana/Raydium and /wallet/swap-info schema issues are resolved, but there is still one safety blocker in docs/wrtc.md.
In the RTC -> wRTC bridge flow, docs/wrtc.md:168-177 says "Use a Base address:" and then shows:
0x5683C10596AaA09AD7F4eF13CAB94b9b74A669c6
That value is the wRTC token contract, not a user's receiving wallet. The following sentence says it is not the receiving wallet, but this is still inside the destination-entry step, so a reader could copy the contract address as the bridge destination. For a bridge/safety guide, that is dangerous because sending bridged wRTC to the token contract address can trap funds.
Please change that step to show a clearly non-contract wallet placeholder/example such as 0xYourBaseWalletAddress or 0x..., and keep the wRTC contract address only in the verification/receipt step. The onboarding tutorial already uses the safer wording: "verify the wallet address is an 0x Base address" without presenting the token contract as the destination.
Validation performed on this head:
rg -n "Solana|Raydium|outputMint|solscan|SOL" docs/wrtc.md docs/WRTC_ONBOARDING_TUTORIAL.md docs/QUICKSTART.md README_ZH.md README_ZH-TW.md README_RU.md README_JA.md README_ES.md README_DE.md docs/zh-CN/README.md site/beacon/advertise.js -S
# no matches
rg -n --pcre2 'bottube\.ai/bridge(?!/wrtc|/base)' -S .
# no matches
live /wallet/swap-info keys == OpenAPI SwapInfoResponse keys
# aerodrome_pool, network, reference_price_usd, swap_url, usdc_contract, wrtc_contract
# live_equals_example=True
python3 -m pytest tests/test_wrtc_docs.py tests/run_tests.py -q
# 58 passed, 1 pre-existing PytestCollectionWarning for TestResult
python3 -m py_compile wallet/coinbase_wallet.py tests/test_wrtc_docs.py tests/run_tests.py
# passed
python3 tools/bcos_spdx_check.py --base-ref origin/main
# BCOS SPDX check: OK
git diff --check origin/main...HEAD
# passed
This supersedes my earlier approval on this same head and remains on the existing rustchain-bounties#10704 review path; I am not opening a duplicate claim.
TJCurnutte
left a comment
There was a problem hiding this comment.
Reviewed head e114d1d3a11f21b36b99b089b122bae6c9064aee.
Approved. I focused on the wRTC link migration because this PR touches the public bridge/swap guidance across the docs, localized READMEs, the wallet helper, and the wRTC doc test suite.
Validation run:
git diff --check origin/main...HEAD -- CONTRIBUTING.md README.md README_DE.md README_ES.md README_JA.md README_RU.md README_ZH-TW.md README_ZH.md docs/FAQ.md docs/FAQ_TROUBLESHOOTING.md docs/MULTISIG_WALLET_GUIDE.md docs/QUICKSTART.md docs/RUSTCHAIN_DEVELOPER_TUTORIAL.md docs/RUSTCHAIN_PROTOCOL.md docs/WRTC_ONBOARDING_TUTORIAL.md docs/api-reference.md docs/api/openapi.yaml docs/protocol-overview.md docs/token-economics.md docs/wrtc.md docs/zh-CN/README.md site/beacon/advertise.js tests/run_tests.py tests/test_wrtc_docs.py wallet/coinbase_wallet.py
python3 -B -m py_compile tests/run_tests.py tests/test_wrtc_docs.py wallet/coinbase_wallet.py
node --check site/beacon/advertise.js
PYTHONPATH=. python3 -B -m pytest -q tests/test_wrtc_docs.py --noconftest -o addopts=''Result: 37 passed in 0.08s.
Additional source/live probes:
docs/wrtc.mdstill carries the canonical Base wRTC contract0x5683C10596AaA09AD7F4eF13CAB94b9b74A669c6repeatedly; the focused probe counted 16 occurrences.- The changed tree now has 35
https://bottube.ai/bridge/wrtcreferences and 34 Aerodrome swap references. The remaining/bridge/basereferences are explicitly labeled as Base bridge entries. https://bottube.ai/bridge/wrtcreturned HTTP 200.https://bottube.ai/bridge/basereturned HTTP 200.- The legacy
https://bottube.ai/bridgeendpoint returned HTTP 500 during the probe, so moving user-facing wRTC guidance off that generic path is justified. - The Aerodrome URL with USDC →
0x5683C10596AaA09AD7F4eF13CAB94b9b74A669c6returned HTTP 200. - The BaseScan token URL returned HTTP 200.
No blocker found. The docs/test updates align the public wRTC instructions with live Base/Aerodrome/BoTTube routes and keep the regression coverage pointed at the new canonical path.
|
DESTRUCTIVE SCOPE: Body claims bridge-link update only, but diff converts live Solana mint material to a Base contract story across README.md, docs/wrtc.md, tests/run_tests.py, site/beacon/advertise.js. Changes |
BossChaos
left a comment
There was a problem hiding this comment.
PR #5590 Review - README bridge URL update (Solana -> Base)
Quality Analysis
This PR updates bridge URLs from Solana to Base chain.
Key improvements:
- Bridge URL: Changed to /bridge/wrtc
- Chain references: wRTC now on Base instead of Solana
- Swap link: Raydium -> Aerodrome reference
Recommendation: Merge - documentation accuracy update.
Summary
https://bottube.ai/bridgeto the live wRTC bridge routehttps://bottube.ai/bridge/wrtcValidation
curl -k -L -sS -o NUL -w "old=%{http_code} %{url_effective}" https://bottube.ai/bridge->500 https://bottube.ai/bridgecurl -k -L -sS -o NUL -w "new=%{http_code} %{url_effective}" https://bottube.ai/bridge/wrtc->200 https://bottube.ai/bridge/wrtcrg --pcre2 "https://bottube\.ai/bridge(?!/wrtc|/base)" -S CONTRIBUTING.md docs tests README.md-> no matchespython -m pytest tests/test_wrtc_docs.py tests/run_tests.py -q-> 58 passed