feat(wallet): safely reuse ClawRouter signer and spend limits - #118
feat(wallet): safely reuse ClawRouter signer and spend limits#118A1igator wants to merge 6 commits into
Conversation
There was a problem hiding this comment.
A1igator has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
A1igator has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
A1igator has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
A1igator has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
7407692 to
a98083b
Compare
9a170bb to
716289f
Compare
There was a problem hiding this comment.
A1igator has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
A1igator has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
A1igator has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
|
Closing as deferred. The ClawRouter connector and copied-limit integration are not justified by the current routing economics. The implementation remains in branch history; revisit criteria are tracked in #122. |
Summary
tenjin wallet connect clawrouterselection for users who already fund ClawRouter~/.openclaw/blockrun/wallet.keyfirst,BLOCKRUN_WALLET_KEYonly when the file is absent--replacereconnecttenjin sendperRequest, rollinghourly, rollingdaily, andsessionspend limits read-only by defaultThe integration contract was checked against
BlockRunAI/ClawRouteratba855b90103cde00b5d39023220e2f5aeab94b75and the Hermes adapter atdfcc3009a422c539d31e7100a04c72348ae6b225.Spend-policy contract
maxAutoSpend,sessionBudget,confirm, orallowlistCreatorsis explicitly set in Tenjin~/.openclaw/blockrun/spending.json; never import, append to, or rewrite its historyclawrouterand disclose the source/limits in stacked install receiptsTenjin and ClawRouter use separate ledgers. The configured limit values match, but spend across the two applications is not one aggregate budget. These are client-side guardrails, not signer-enforced controls.
Authority and custody model
The ClawRouter key belongs to the user. Tenjin selects it only after an explicit connect command (or the explicit
--wallet-provider clawrouterchoice in the stacked installer); mere discovery never selects it. The calling harness's configured execution policy decides whether that command prompts, is denied, or runs automatically. Tenjin does not add a second proof-of-humanity/TTY gate.The key necessarily enters Tenjin process memory to derive the selected address and produce signatures. Tenjin does not copy it into Tenjin storage/configuration, persist it, log it, return it, transmit it, inspect the mnemonic, or request raw-transaction signing. Only provider/address metadata is stored.
If YOLO grants arbitrary shell access as the same OS user that can read the ClawRouter key or edit policy files, no Tenjin application-level prompt can reliably oppose it. Notices and receipts improve visibility but do not prove a human saw them. A meaningful restriction must be enforced outside that authority boundary, such as an OS sandbox, separate user, keychain user-presence check, hardware wallet, or independently constrained signer.
Implemented custody contract
Stack
This is stacked on #113. Merge #113 first. #119 consumes this PR's custody and spend-policy facts; #120 forwards them through the universal installer.
Verification
A funded Base USDC purchase/publication smoke was not performed.
Priority
Critical (P0). This is the no-second-wallet safety and policy boundary used by the Hermes onboarding follow-up.