hermes-agent/optional-skills
ethernet e3fc081499 feat(skills): merge blockchain/base into blockchain/evm; salvage PR #2010
Salvages the closed PR #2010 (Mibayy's EVM multi-chain skill) and folds the
existing optional-skills/blockchain/base/ skill into it, so we ship one
unified EVM skill instead of two overlapping ones.

Pulled in from base/:
  - 8 missing Base-specific tokens (AERO, DEGEN, TOSHI, BRETT, WELL,
    cbETH, cbBTC, wstETH, rETH) added to KNOWN_TOKENS['base'] —
    base/ had 11, evm/ only had 3 (USDC/DAI/WETH).
  - L1 data-fee pitfall note for rollups (Base, Arbitrum, Optimism, zkSync).
  - Batch-size chunking in rpc_batch (Base RPC caps batches at 10 calls
    per JSON-RPC request; adding more known tokens tripped that limit
    and broke 'wallet --chain base' with a 'list index out of range'
    error). Ported the chunking pattern from base/_rpc_batch_chunk.

Latent bugs found and fixed while smoke-testing the merge:
  - cmd_multichain and cmd_allowance both iterated KNOWN_TOKENS[chain]
    with 'for contract, (symbol, _name) in known.items()' — but the dict
    shape is {symbol: contract_str}, not {addr: (sym, name)}. This raised
    'too many values to unpack (expected 2)' on every non-zero balance.
    Now iterates as 'for symbol, contract in known.items()'.
  - Input validation: added is_valid_address / is_valid_txhash /
    require_address / require_txhash helpers and wired them into
    cmd_wallet, cmd_tx, cmd_token, cmd_activity, cmd_allowance,
    cmd_decode, cmd_contract, cmd_multichain. Fails fast with exit 2
    on malformed input instead of burning an RPC round-trip on garbage.

Documentation:
  - SKILL.md now flags that this skill supersedes optional-skills/blockchain/base.
  - Pitfalls expanded for ENS (single-endpoint dependency on
    ensideas.com), tx decoding (single-endpoint dependency on
    4byte.directory), and rollup L1 fees.
  - Regenerated website/docs/user-guide/skills/optional/blockchain/
    blockchain-evm.md and removed the old blockchain-base.md page;
    catalog updated.

Removed:
  - optional-skills/blockchain/base/SKILL.md
  - optional-skills/blockchain/base/scripts/base_client.py
  - website/docs/user-guide/skills/optional/blockchain/blockchain-base.md

Smoke-tested live against Base mainnet: stats, price, token, wallet
(vitalik.eth — 3.12 ETH + 13.88 USDC + 4.23 DAI + 0.06 WETH on Base)
and allowance (ethereum, 7 unlimited approvals to Uniswap/Permit2).

Original PR #2010 author: Mibayy.
Original base/ skill author: youssefea.
2026-05-13 17:18:39 -07:00
..
autonomous-ai-agents feat(optional-skills): declare platforms frontmatter for all 63 undeclared skills 2026-05-08 14:27:40 -07:00
blockchain feat(skills): merge blockchain/base into blockchain/evm; salvage PR #2010 2026-05-13 17:18:39 -07:00
communication fix(skills): move platforms key out of folded description: > scalars 2026-05-08 14:27:40 -07:00
creative feat(optional-skills): declare platforms frontmatter for all 63 undeclared skills 2026-05-08 14:27:40 -07:00
devops feat(optional-skills): declare platforms frontmatter for all 63 undeclared skills 2026-05-08 14:27:40 -07:00
dogfood feat(optional-skills): declare platforms frontmatter for all 63 undeclared skills 2026-05-08 14:27:40 -07:00
email/agentmail feat(optional-skills): declare platforms frontmatter for all 63 undeclared skills 2026-05-08 14:27:40 -07:00
finance chore(skills/stocks): tighten SKILL.md to modern format 2026-05-10 22:37:42 -07:00
health fix(skills): move platforms key out of folded description: > scalars 2026-05-08 14:27:40 -07:00
mcp feat(optional-skills): declare platforms frontmatter for all 63 undeclared skills 2026-05-08 14:27:40 -07:00
migration feat(optional-skills): declare platforms frontmatter for all 63 undeclared skills 2026-05-08 14:27:40 -07:00
mlops chore(skills): move heavy training skills + outlines to optional-skills (#22912) 2026-05-09 18:44:12 -07:00
productivity feat(optional-skills): declare platforms frontmatter for all 63 undeclared skills 2026-05-08 14:27:40 -07:00
research fix(skills): move platforms key out of folded description: > scalars 2026-05-08 14:27:40 -07:00
security fix(skills): move platforms key out of folded description: > scalars 2026-05-08 14:27:40 -07:00
software-development/rest-graphql-debug rename(skills): api-testing -> rest-graphql-debug (#23589) 2026-05-10 22:22:19 -07:00
web-development feat(optional-skills): declare platforms frontmatter for all 63 undeclared skills 2026-05-08 14:27:40 -07:00
DESCRIPTION.md fix: review fixes — path traversal guard, trust_style consistency, edge cases 2026-03-06 01:40:01 -08:00