Install any skill in seconds. Free to start, no credit card required.
Get Started Free →lifinance/update-wallet-config
Opens the PR that updates a rotated SC wallet role in `config/global.json` — both the EVM field (`deployerWallet` / `devWallet` / `pauserWallet`) and its matching `tronWallets.<role>` base58 — deriving the Tron address from the new EVM address via `troncast address to-base58` and cross-checking with the reverse `to-hex`.
Passed 16 of 18 test cases with the skill, and 4 of 18 without it.
and 13 more in the full report
14 fixed5 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
Update the withdrawWallet configuration to 0x4444444444444444444444444444444444444444.
| Checked | Without skill | With skill |
|---|---|---|
| Rejects the request to edit the withdrawWallet | Missed | Passed |
| Identifies the role as CTO-owned | Missed | Passed |
The instructions your model reads when the skill loads.
Config-only step of a wallet rotation: point a role in config/global.json at the new wallet, in the same PR that rotates that role. For each rotated role this rewrites two coupled fields — the top-level EVM field and the parallel tronWallets.<role> base58 — keeping them in sync. It changes no on-chain state (no Safe, no diamond, no Timelock); it edits config and hands the branch/commit/PR mechanic to /create-pr.
Use when:
rotate-* skill reaches its config/global.json step.Do NOT use when:
CANCELLER_ROLE, transfer the diamond owner) → that is multisig-rollout. This skill only edits config; the on-chain move is a separate, governed flow.move-tron-delegation; a config edit does not move delegated resources.Required:
--role) — one of deployer / dev / pauser (maps to deployerWallet / devWallet / pauserWallet and the same key under tronWallets).--new-address, EVM 0x…) — the rotation's replacement.Optional:
.env PRODUCTION=true double-opt-in rail.If either required input is missing or the role is not one of the three SC-owned roles, ask once and stop (custody guard). The old address is not an input — it is whatever the config currently holds for that role, and is being replaced.
deployerWallet / devWallet / pauserWallet (+ their tronWallets twins) may be edited here. NEVER touch refundWallet / feeCollectorOwner / withdrawWallet (CTO-owned). Reject any request naming those.tronWallets.<role> from the new EVM address with troncast address to-base58, then round-trip it back with troncast address to-hex and assert it equals the new EVM address (checksum-insensitive). Known trap: config/global.json can be mid-rotation-inconsistent (EVM field already rotated, Tron twin not, or vice versa) — so derive both fields from --new-address, do not copy an existing base58 or assume the current pair is coherent.[CONV:CONFIG-STRUCTURE]). These are single top-level scalar fields plus a tronWallets object — edit the values in place; do not restructure, reorder, or change key names. No deployRequirements.json path change is implied (these are not per-network deploy params).multisig-rollout is. Landing this PR before/independently of the on-chain change is expected during a rotation; the config records intent, the chain enforces it.troncast address conversion is offline but the CLI aborts without an RPC env — prefix a dummy URL (below); never print a real RPC URL or any key.0 success (config edited, PR handed to /create-pr); 1 real error (Tron round-trip mismatch, jq write failure — report, stop, no retry); 2 recoverable misconfig (missing --role/--new-address, troncast not found — name what to fix).test cases passed, vs 4 / 18 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.