defi-registry-manager
Manages expansion of tokens, pools, chains, networks, and DEXes across the codebase. Use when adding new tokens, protocols, chains, networks, or updating existing DeFi registry data. Triggers on add token, new coin, add protocol, new DEX, add chain, new network, add RPC, update address.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o defi-registry-manager.zip https://jpskill.com/download/17437.zip && unzip -o defi-registry-manager.zip && rm defi-registry-manager.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17437.zip -OutFile "$d\defi-registry-manager.zip"; Expand-Archive "$d\defi-registry-manager.zip" -DestinationPath $d -Force; ri "$d\defi-registry-manager.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
defi-registry-manager.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
defi-registry-managerフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] defi-registry-manager
DeFi Registry Manager
コードベース全体にわたるトークン、プール、チェーン、ネットワーク、および DEX の拡張を管理します。
使用するタイミング
- 新しいトークンをレジストリに追加する場合
- 新しいプロトコルまたは DEX を追加する場合
- 新しいチェーンのサポートを追加する場合
- ネットワーク RPC エンドポイントを構成する場合
- トークンアドレスまたは小数点以下桁数を更新する場合
ワークフロー
ステップ 1: レジストリタイプを特定する
トークン、プロトコル、チェーン、またはネットワークのいずれを追加するかを判断します。
ステップ 2: チェックリストに従う
レジストリタイプに応じた適切なチェックリストを使用します。
ステップ 3: すべてのファイルを更新する
必要なすべてのファイルがまとめて更新されていることを確認します。
ステップ 4: 変更を検証する
検証コマンドを実行して、一貫性を確認します。
トリガーフレーズ
- "add token", "new token", "add coin"
- "add protocol", "new DEX", "add exchange"
- "add chain", "new network", "support chain"
- "add network", "new RPC", "configure network"
- "update address", "fix token address"
レジストリの場所
トークン - すべてまとめて更新する必要があります:
| ファイル | 目的 | フォーマット |
|---|---|---|
client/src/constants/protocols.ts |
フロントエンドトークンリスト | TOKENS[chainId] 配列 |
rust-core/crates/core/src/tokens.rs |
Rust コアトークン | TOKENS LazyLock HashMap |
server/src/services/wallet.ts |
ウォレットサービストークン | COMMON_TOKENS + TOKEN_SYMBOLS |
shared/schema.ts |
共有小数点以下桁数マップ | TOKEN_DECIMALS レコード |
プロトコル/DEX:
| ファイル | 目的 |
|---|---|
client/src/constants/protocols.ts |
PROTOCOLS 配列 |
server/src/services/arbitrage.ts |
スキャン用の DEXES 配列 |
server/src/services/price-oracle.ts |
価格オラクルアダプター |
チェーン:
| ファイル | 目的 |
|---|---|
client/src/constants/protocols.ts |
CHAINS 配列 + ChainId 型 |
rust-core/crates/core/src/lib.rs |
ChainId enum |
server/src/config/env.ts |
チェーンごとの RPC URL |
shared/schema.ts |
ChainId 型 |
server/src/db/schema.ts |
adminChains テーブル (Admin UI) |
ネットワーク (RPC/インフラストラクチャ):
| ファイル | 目的 |
|---|---|
server/src/config/env.ts |
プライマリ RPC URL、WebSocket エンドポイント |
server/src/db/schema.ts |
rpcUrl、explorerUrl を含む adminChains テーブル |
rust-core/crates/core/src/lib.rs |
ネットワーク定数、ブロック時間 |
server/src/services/trade-executor.ts |
チェーン固有のガス設定 |
Admin UI データベーステーブル:
| テーブル | 目的 |
|---|---|
adminTokens |
Admin UI を介した動的トークンレジストリ |
adminProtocols |
Admin UI を介した動的プロトコル/DEX レジストリ |
adminChains |
Admin UI を介した動的チェーン/ネットワーク構成 |
strategies |
取引戦略構成 |
新しいトークンの追加 - チェックリスト
[ ] 1. ブロックエクスプローラーでトークンアドレスを確認する (チェックサム形式)
[ ] 2. 小数点以下桁数を確認する (重要: USDC/USDT=6, WBTC=8, ほとんど=18)
[ ] 3. client/src/constants/protocols.ts - TOKENS[chainId] を更新する
[ ] 4. rust-core/crates/core/src/tokens.rs - chain_tokens.insert() を更新する
[ ] 5. server/src/services/wallet.ts - COMMON_TOKENS[chainId] を更新する
[ ] 6. server/src/services/wallet.ts - TOKEN_SYMBOLS (小文字) を更新する
[ ] 7. shared/schema.ts - TOKEN_DECIMALS (標準の 18 でない場合) を更新する
[ ] 8. 実行: grep -r "TOKEN_ADDRESS_HERE" を実行して、ハードコードされた参照を見つける
トークンテンプレート
// フロントエンド (protocols.ts)
{
address: '0x...', // チェックサムアドレス
symbol: 'TOKEN',
name: 'Token Name',
decimals: 18,
chains: ['ethereum'],
}
// Rust (tokens.rs)
tokens.insert("TOKEN", Token::new(
"0x...".parse().unwrap(),
"TOKEN", "Token Name", 18, ChainId::Ethereum
));
// ウォレットサービス (wallet.ts) - COMMON_TOKENS
'0x...', // TOKEN
// ウォレットサービス (wallet.ts) - TOKEN_SYMBOLS
'0x...lowercase': 'TOKEN',
新しいプロトコル/DEX の追加 - チェックリスト
[ ] 1. client/src/constants/protocols.ts - PROTOCOLS 配列に追加する
[ ] 2. shared/schema.ts - PROTOCOL_ADDRESSES にルーターアドレスを追加する
[ ] 3. server/src/services/arbitrage.ts - DEXES (スキャン可能な場合) に追加する
[ ] 4. server/src/services/price-oracle.ts にアダプターを作成する (必要な場合)
[ ] 5. プロトコルに特定の検証が必要な場合は、validation.ts を更新する
新しいチェーンの追加 - チェックリスト
[ ] 1. ChainId を shared/schema.ts に追加する
[ ] 2. ChainId enum バリアントを rust-core/crates/core/src/lib.rs に追加する
[ ] 3. client/src/constants/protocols.ts - CHAINS 配列に追加する
[ ] 4. RPC URL を server/src/config/env.ts に追加する
[ ] 5. チェーン構成を server/src/services/trade-executor.ts に追加する
[ ] 6. すべてのトークンファイルに新しいチェーンのトークンを追加する
[ ] 7. 新しいチェーンのプロトコルアドレスを追加する
[ ] 8. (オプション) 動的構成のために Admin UI を介して adminChains に追加する
ネットワークの追加/構成 - チェックリスト
[ ] 1. 信頼性の高い RPC エンドポイントを取得する (Alchemy、Infura、QuickNode、またはセルフホスト)
[ ] 2. 環境変数を server/src/config/env.ts に追加する
- HTTP RPC: {CHAIN}_RPC_URL
- WebSocket: {CHAIN}_WS_URL (サブスクリプションに必要な場合)
[ ] 3. レート制限とフォールバック RPC を構成する (利用可能な場合)
[ ] 4. ネットワークパラメータを rust-core/crates/core/src/lib.rs に追加する:
- ブロック時間 (タイミング見積もり用)
- ガス トークン小数点以下桁数
- EIP-1559 サポートフラグ
[ ] 5. ガス設定を server/src/services/trade-executor.ts で構成する:
- 基本料金乗数
- 優先料金のデフォルト
- ガス制限のオーバーライド
[ ] 6. トランザクションリンクのエクスプローラー URL を追加する
[ ] 7. 接続をテストする: curl -X POST {RPC_URL} -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
[ ] 8. 動的更新のために /admin -> Chains タブを介して Admin UI に追加する
ネットワーク構成テンプレート
// 環境 (.env)
ETHEREUM_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
ETHEREUM_WS_URL=wss://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
ARBITRUM_RPC_URL=https://arb-mainnet.g.alchemy.com/v2/YOUR_KEY
// server/src/config/env.ts
ethereum: {
rpcUrl: process.env.ETHEREUM_RPC_URL,
wsUrl: process.env.ETHEREUM_WS_URL,
chainId: 1,
blockTime: 12, // 秒
supportsEip1559: true,
}
// Admin UI (adminChains table)
{
id: 'ethereum',
name: 'Ethereum Mainnet',
(原文がここで切り詰められています) 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
DeFi Registry Manager
Manages expansion of tokens, pools, chains, networks, and DEXes across the codebase.
When to Use
- Adding new tokens to the registry
- Adding new protocols or DEXes
- Adding support for new chains
- Configuring network RPC endpoints
- Updating token addresses or decimals
Workflow
Step 1: Identify Registry Type
Determine if adding token, protocol, chain, or network.
Step 2: Follow Checklist
Use the appropriate checklist for the registry type.
Step 3: Update All Files
Ensure ALL required files are updated together.
Step 4: Validate Changes
Run validation commands to verify consistency.
Trigger Phrases
- "add token", "new token", "add coin"
- "add protocol", "new DEX", "add exchange"
- "add chain", "new network", "support chain"
- "add network", "new RPC", "configure network"
- "update address", "fix token address"
Registry Locations
Tokens - ALL must be updated together:
| File | Purpose | Format |
|---|---|---|
client/src/constants/protocols.ts |
Frontend token list | TOKENS[chainId] array |
rust-core/crates/core/src/tokens.rs |
Rust core tokens | TOKENS LazyLock HashMap |
server/src/services/wallet.ts |
Wallet service tokens | COMMON_TOKENS + TOKEN_SYMBOLS |
shared/schema.ts |
Shared decimals map | TOKEN_DECIMALS record |
Protocols/DEXes:
| File | Purpose |
|---|---|
client/src/constants/protocols.ts |
PROTOCOLS array |
server/src/services/arbitrage.ts |
DEXES array for scanning |
server/src/services/price-oracle.ts |
Price oracle adapters |
Chains:
| File | Purpose |
|---|---|
client/src/constants/protocols.ts |
CHAINS array + ChainId type |
rust-core/crates/core/src/lib.rs |
ChainId enum |
server/src/config/env.ts |
RPC URLs per chain |
shared/schema.ts |
ChainId type |
server/src/db/schema.ts |
adminChains table (Admin UI) |
Networks (RPC/Infrastructure):
| File | Purpose |
|---|---|
server/src/config/env.ts |
Primary RPC URLs, WebSocket endpoints |
server/src/db/schema.ts |
adminChains table with rpcUrl, explorerUrl |
rust-core/crates/core/src/lib.rs |
Network constants, block times |
server/src/services/trade-executor.ts |
Chain-specific gas settings |
Admin UI Database Tables:
| Table | Purpose |
|---|---|
adminTokens |
Dynamic token registry via Admin UI |
adminProtocols |
Dynamic protocol/DEX registry via Admin UI |
adminChains |
Dynamic chain/network config via Admin UI |
strategies |
Trading strategy configurations |
Adding a New Token - Checklist
[ ] 1. Verify token address on block explorer (checksum format)
[ ] 2. Confirm decimals (CRITICAL: USDC/USDT=6, WBTC=8, most=18)
[ ] 3. Update client/src/constants/protocols.ts - TOKENS[chainId]
[ ] 4. Update rust-core/crates/core/src/tokens.rs - chain_tokens.insert()
[ ] 5. Update server/src/services/wallet.ts - COMMON_TOKENS[chainId]
[ ] 6. Update server/src/services/wallet.ts - TOKEN_SYMBOLS (lowercase)
[ ] 7. Update shared/schema.ts - TOKEN_DECIMALS (if not standard 18)
[ ] 8. Run: grep -r "TOKEN_ADDRESS_HERE" to find any hardcoded refs
Token Template
// Frontend (protocols.ts)
{
address: '0x...', // Checksum address
symbol: 'TOKEN',
name: 'Token Name',
decimals: 18,
chains: ['ethereum'],
}
// Rust (tokens.rs)
tokens.insert("TOKEN", Token::new(
"0x...".parse().unwrap(),
"TOKEN", "Token Name", 18, ChainId::Ethereum
));
// Wallet service (wallet.ts) - COMMON_TOKENS
'0x...', // TOKEN
// Wallet service (wallet.ts) - TOKEN_SYMBOLS
'0x...lowercase': 'TOKEN',
Adding a New Protocol/DEX - Checklist
[ ] 1. Add to client/src/constants/protocols.ts - PROTOCOLS array
[ ] 2. Add router address to shared/schema.ts - PROTOCOL_ADDRESSES
[ ] 3. Add to server/src/services/arbitrage.ts - DEXES (if scannable)
[ ] 4. Create adapter in server/src/services/price-oracle.ts (if needed)
[ ] 5. Update validation.ts if protocol needs specific validation
Adding a New Chain - Checklist
[ ] 1. Add ChainId to shared/schema.ts
[ ] 2. Add ChainId enum variant to rust-core/crates/core/src/lib.rs
[ ] 3. Add to client/src/constants/protocols.ts - CHAINS array
[ ] 4. Add RPC URL to server/src/config/env.ts
[ ] 5. Add chain config to server/src/services/trade-executor.ts
[ ] 6. Add tokens for new chain in all token files
[ ] 7. Add protocol addresses for new chain
[ ] 8. (Optional) Add to adminChains via Admin UI for dynamic config
Adding/Configuring a Network - Checklist
[ ] 1. Obtain reliable RPC endpoint (Alchemy, Infura, QuickNode, or self-hosted)
[ ] 2. Add environment variable to server/src/config/env.ts
- HTTP RPC: {CHAIN}_RPC_URL
- WebSocket: {CHAIN}_WS_URL (if needed for subscriptions)
[ ] 3. Configure rate limits and fallback RPCs if available
[ ] 4. Add network parameters to rust-core/crates/core/src/lib.rs:
- Block time (for timing estimates)
- Gas token decimals
- EIP-1559 support flag
[ ] 5. Configure gas settings in server/src/services/trade-executor.ts:
- Base fee multiplier
- Priority fee defaults
- Gas limit overrides
[ ] 6. Add explorer URL for transaction links
[ ] 7. Test connectivity: curl -X POST {RPC_URL} -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
[ ] 8. Add to Admin UI via /admin -> Chains tab for dynamic updates
Network Configuration Template
// Environment (.env)
ETHEREUM_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
ETHEREUM_WS_URL=wss://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
ARBITRUM_RPC_URL=https://arb-mainnet.g.alchemy.com/v2/YOUR_KEY
// server/src/config/env.ts
ethereum: {
rpcUrl: process.env.ETHEREUM_RPC_URL,
wsUrl: process.env.ETHEREUM_WS_URL,
chainId: 1,
blockTime: 12, // seconds
supportsEip1559: true,
}
// Admin UI (adminChains table)
{
id: 'ethereum',
name: 'Ethereum Mainnet',
chainIdNumeric: 1,
rpcUrl: 'https://...',
explorerUrl: 'https://etherscan.io',
nativeToken: 'ETH',
enabled: true,
}
Common Token Addresses (Ethereum Mainnet)
| Token | Address | Decimals |
|---|---|---|
| WETH | 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 | 18 |
| USDC | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 | 6 |
| USDT | 0xdAC17F958D2ee523a2206206994597C13D831ec7 | 6 |
| DAI | 0x6B175474E89094C44Da98b954EedeAC495271d0F | 18 |
| WBTC | 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 | 8 |
Validation Commands
After making changes, run these to verify consistency:
# Check all files have same token count for a chain
grep -c "ethereum" client/src/constants/protocols.ts
grep -c "Ethereum" rust-core/crates/core/src/tokens.rs
# Verify address consistency
grep -ri "0xA0b86991" --include="*.ts" --include="*.rs"
# Check for typos in addresses
grep -ri "0x6B175474E89094C44Da98b954" --include="*.ts" --include="*.rs"
Common Networks
| Network | Chain ID | Block Time | Native Token | EIP-1559 |
|---|---|---|---|---|
| Ethereum | 1 | 12s | ETH | Yes |
| Arbitrum One | 42161 | 0.25s | ETH | Yes |
| Base | 8453 | 2s | ETH | Yes |
| Polygon | 137 | 2s | MATIC | Yes |
| Optimism | 10 | 2s | ETH | Yes |
| Avalanche | 43114 | 2s | AVAX | Yes |
| BSC | 56 | 3s | BNB | No |
Critical Rules
- ALWAYS verify decimals - Wrong decimals = catastrophic bugs
- Use checksum addresses - Mixed case for EIP-55 compliance
- Update ALL files - Partial updates cause runtime errors
- Test after changes - Run build for both client and Rust core
- Lowercase in TOKEN_SYMBOLS - Keys must be lowercase addresses
- Test RPC connectivity - Verify endpoint before deploying
- Use fallback RPCs - Primary + backup for reliability
- Monitor rate limits - Stay within provider quotas