extrafi-prepare
v0.2.0
Published
Unsigned-calldata builder for Extra Finance xLend (Aave V3 fork on Base). Designed as a runner for a Base MCP custom skill plugin: emits JSON ready for send_calls.
Maintainers
Readme
Extra Finance — Base MCP Custom Plugin
Plugin Base MCP couvrant supply / withdraw / borrow / repay + reads sur Extra Finance xLend (fork Aave V3 sur Base).
Pourquoi ce plugin existe
Extra Finance n'est pas couvert par le bundle officiel base-mcp. Ce repo publie un plugin (non-officiel pour l'instant, candidat à upstream) qui suit exactement la spec custom plugins de Base.
Stack technique :
- xLend = fork Aave V3 → ABI standard (
supply/withdraw/borrow/repay) - Tx-builder = Node + viem (
scripts/extrafi.mjs), publié sur npm sous le nomextrafi-prepare - Sortie = JSON
{ chain: "base", calls: [...] }direct poursend_callsde Base MCP - Signature = flow d'approbation Base Account standard
Composants
| Fichier | Rôle |
|---|---|
| extra-finance.md | Spec du plugin (à dropper dans ~/.claude/skills/base-mcp/plugins/) |
| scripts/extrafi.mjs | Tx-builder Node (encodage calldata + lectures de positions) |
| package.json | Manifeste npm publishable (name: extrafi-prepare) |
Commandes
extrafi-prepare info --user 0x... [--asset USDC] # wallet+market snapshot
extrafi-prepare positions --user 0x... # full account view + HF
extrafi-prepare prepare-supply --user 0x... --amount 50 [--asset USDC]
extrafi-prepare prepare-withdraw --user 0x... --amount 50|max [--asset USDC]
extrafi-prepare prepare-borrow --user 0x... --amount 5 [--asset USDC] [--mode variable|stable]
extrafi-prepare prepare-repay --user 0x... --amount 5|max [--asset USDC] [--mode variable|stable]Assets supportés : USDC, WETH, wstETH, cbETH, cbBTC.
Install pour utilisateurs (post-npm-publish)
npx extrafi-prepare@latest helpAucun setup. La spec du plugin (extra-finance.md) référence npx extrafi-prepare@latest, donc dès qu'elle est dans ~/.claude/skills/base-mcp/plugins/, l'agent sait l'invoquer sans étape manuelle.
Install pour dev local (depuis ce repo)
cd plugins/extra-finance
npm install
node scripts/extrafi.mjs helpPour tester avec un vrai user :
node scripts/extrafi.mjs info --user 0xVotreAdresse --asset USDC
node scripts/extrafi.mjs prepare-supply --user 0xVotreAdresse --amount 5 --asset USDCPublier sur npm (signal de farm)
Une seule fois :
cd plugins/extra-finance
npm login # nécessite un compte npmjs.com
npm publish --access publicVérifier : npx extrafi-prepare@latest help doit afficher l'usage depuis n'importe où.
PR upstream (signal max)
Voir ../../docs/pr-draft.md pour la description et les étapes.
Limites v0.2
- Pas de leveraged farming (vaults Velodrome/Aerodrome) — c'est l'autre produit Extra Finance, conception très différente, à faire dans un plugin séparé.
- Pas de eMode ni d'isolation mode Aave V3 — mode standard uniquement.
- Stable rate borrowing (mode
1) accepté en flag mais déprécié sur la plupart des reserves.
Sources
- Adresses : https://github.com/ExtraFi/contracts-and-pools-info (
xlend-files/) - Contrats : https://github.com/ExtraFi/extra-contracts
- Doc Aave V3 (sémantique
supply/withdraw/borrow/repay) : https://aave.com/docs/developers/smart-contracts/pool - Spec custom plugins Base : https://docs.base.org/ai-agents/plugins/custom-plugins
