hackquest logo
  • 學習
  • 課程探索
  • 實戰
  • 黑客松探索
  • 往期項目
  • 社區
  • 論壇
  • 全球活動
  • 我的社區
  • 共學營
  • 組織中心
  • 更多
    • 詞彙表
    • 博客
    • 水龍頭
    • 工作機會
    • 媒體工具包
    • 創始人
hackquest logo

RWA Guard

One call returns eight named blocking conditions as reason bits, plus an unreadable bit. A stateless, deny-by-default view contract for tokenised real-world assets on Arbitrum and Robinhood Chain.

視頻

技術堆疊

Solidity

描述

One call that answers: which of eight named blocking conditions are present on this token, right now?

Tokenised real-world assets carry risks that an ERC-20 balance cannot express. A position can be globally frozen. A holder can be individually blocked. The implementation can be replaced underneath every holder. The display-to-underlying ratio can change on a timer. The price feed can stop updating when the stock market closes.

RWA Guard makes those checks a single call: (bool ok, uint256 reasonBits) = guard.isSafeToTrade(token, ctx). It is a stateless view contract. It holds no funds, has no owner, and has no upgrade path.

Deny-by-default. Each condition is a reason bit: token identity, global pause, token pause, counterparty block, implementation drift, ratio transition, feed staleness and feed coherence. A signal the guard cannot read is a BLOCK, not a pass: each gate has its own unreadable bit, plus one aggregate bit. ok is true only when reasonBits == 0.

Known limitations. The guard reports the absence of eight named conditions, plus an unreadable bit when it could not check one. It does not check the integrator's own accounting. The README's Known limitations section describes one declared exposure, measured by test/Integration.t.sol (AS-29d), and the conditions under which G3 reads only the shared control contract.

Correction (2026-09-25): the Pitch Video narration still says "safe to act on, right now". That phrasing claims more than the contract checks: AS-29d measures a case where every named condition reads clean, reasonBits == 0, and both demo vaults still pay the wrong amount. The video cannot be edited in place; this note stands in its stead.

Not audited. This is a hackathon entry. It was built with AI coding assistance; see the README's AI disclosure.

Deployed on Robinhood Chain testnet and Arbitrum Sepolia at 0xA808d1d502F9B8eFd3481De9cE2717d7dBfc8f3C. Web page: https://franciseliang99-dot.github.io/rwa-guard/web/ · Source: https://github.com/franciseliang99-dot/rwa-guard

黑客松進展

Work began 09-08; the organisers confirmed prior code is allowed.

Before 09-14: GuardBits.sol, GuardCore.sol, the test base and fixtures (most of these have been revised since).

From 09-14: RWAGuard, RWAGuardView, the demo vaults, 10 of the 11 test files, the deploy script and the web page. The contract was deployed to Robinhood Chain testnet and Arbitrum Sepolia.

The public repo is a fresh export; the README Timeline section shows which work came before and during the hackathon.

籌資狀態

Not raising. RWA Guard is a hackathon entry: there is no token and no fundraise.

團隊負責人
FFRANCISE LIANG
專案連結
部署生態系
Robinhood Chain TestnetRobinhood Chain Testnet
行業
InfraRWADeFi