swaponline/multicurrencywallet/multicurrencywallet
Claude Code and agent skill by swaponline/multicurrencywallet
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install swaponline/multicurrencywallet/multicurrencywalletSKILL.md
SKILL.md — MCW Setup & Operations Guide
Полное руководство по локальной разработке, конфигурации и деплою MultiCurrencyWallet.
Quick Start (Local Dev)
Dev-сервер использует testnet конфиг. MetaMask нужно переключить на Sepolia/BSC Testnet.
Config System
Конфиги выбираются через CONFIG env variable при сборке.
Добавить новую EVM chain:
mainnet/web3.js— добавьnewchain_provider: 'https://rpc.newchain.io'mainnet/evmNetworks.js— добавь объект сcurrency, chainId, networkVersion, chainName, rpcUrls, blockExplorerUrlsmainnet/link.js— добавь explorer URLmainnet/api.js— добавьnewchainscanURL иnewchain_ApiKey- Повтори для
testnet/ - Проверь RPC:
curl -X POST <rpcUrl> -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
Текущие активные chains (mainnet): ETH, BNB, MATIC, ARBETH, AURETH, XDAI, AVAX, MOVR, ONE, AME
API Keys & Secrets
Все ключи зашиты в конфиге и попадают в бандл — это нормально для open-source crypto wallet.
| Ключ | Файл | Значение | |
|---|---|---|---|
| WalletConnect Project ID | mainnet/api.js → WalletConnectProjectId | a23677c4af3139b4eccb52981f76ad94 | |
| Infura API Key | mainnet/api.js → InfuraApiKey | fdd4494101ed4a28b41bb66d7fe9c692 | |
| Etherscan V2 API Key | mainnet/api.js → etherscan_V2ApiKey | GK6YHJ5NMEF67R4FTRNQS2EK3HRBP5VVHW | |
| BSCScan API Key | mainnet/api.js → bscscan_ApiKey | WI4QEJSV19U3TF2H1DPQ2HR6712HW4MYKJ |
GitHub Actions secret: buildbot — SSH ключ для деплоя в swaponline.github.io репозиторий.
Build Commands
Webpack конфиг: webpack/webpack.config.js (common + dev/prod overlays). Важно: webpack/rules/jsx.js должен использовать babel-loader (НЕ esbuild-loader — ломает react-css-modules).
Testing
E2E тесты медленные (~66 сек): Puppeteer запускает Chromium, 9 тестов последовательно, каждый ждёт React init.
Deployment
Автоматический деплой: push в master → GitHub Actions → build mainnet → push в swaponline.github.io.
Ручная проверка после деплоя:
GitHub Actions workflows:
| Workflow | Триггер | Что делает | |
|---|---|---|---|
deploymaster.yml | push to master | Mainnet build → GitHub Pages | |
deploy.yml | push to master | WordPress plugin ZIP → farm.wpmix.net | |
appsSmoke.yml | changes in Apps/** | 9 E2E Puppeteer тестов | |
rpc-healthcheck.yml | cron (каждые 6ч) | Проверка всех 10 RPC endpoints |
Rollback:
Wallet Connection Stack
MCW использует Reown AppKit + Wagmi v2 + Viem для подключения внешних кошельков.
Инициализация AppKit: src/front/shared/lib/appkit.ts Хелпер для подключения: src/front/shared/helpers/metamask.ts Header chip: src/front/shared/components/Header/WalletChip/index.tsx
dApp Bridge (walletBridge)
Wallet может работать как EIP-1193 провайдер для внешних dApps через iframe + postMessage.
Добавить новый dApp:
appsCatalog.ts— добавить объект вAPPSмассивEXTERNAL_ALLOWED_HOSTS— добавить hostnametests/e2e/appsSmoke.test.js— добавить вAPPSмассив (ручная синхронизация!)- Добавить
images/{app-id}.png - Убедиться что dApp поддерживает bridge client (
wallet-bridge-init.jsв head)
Atomic Swap Architecture
P2P signaling сервер: star.wpmix.net (WebRTC STAR transport).
WordPress Plugin
MCW можно встраивать в WordPress как виджет:
Deploy: GitHub Actions deploy.yml пушит ZIP в farm.wpmix.net/updates/ и обновляет mcw-info.json. Плагин доступен на: https://farm.wpmix.net
Pre-push Hook
.git/hooks/pre-push выполняет перед каждым push:
- TypeScript compile check (
tsc --noEmit) - ESLint на изменённых
.ts/.tsxфайлах (no-unused-vars, no-debugger, eqeqeq) - Prettier
--checkна изменённых файлах
При ошибке: npx prettier --write <file> для авто-форматирования.
Key File Locations
| Что | Путь | |
|---|---|---|
| Точка входа React | src/front/client/index.tsx | |
| AppKit init | src/front/shared/lib/appkit.ts | |
| Redux store | src/front/shared/redux/ | |
| EVM chain конфиг | src/front/config/mainnet/evmNetworks.js | |
| Header | src/front/shared/components/Header/Header.tsx | |
| WalletChip | src/front/shared/components/Header/WalletChip/index.tsx | |
| Apps каталог | src/front/shared/pages/Apps/appsCatalog.ts | |
| walletBridge | src/front/shared/pages/Apps/walletBridge.ts | |
| Webpack config | webpack/webpack.config.js | |
| Jest config | jest.config.js |
Обновлено: 2026-03-04
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingSKILL.md
Popularity
- Repository stars
- 542
- Repository forks
- 486
- 7-day trend score
- 31
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 20 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/swaponline/multicurrencywallet/multicurrencywallet)