@four-meme/four-meme-ai 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +91 -0
- package/README.md +79 -0
- package/bin/fourmeme.cjs +124 -0
- package/openclaw.plugin.json +11 -0
- package/package.json +55 -0
- package/plugin.ts +7 -0
- package/skills/four-meme-integration/SKILL.md +432 -0
- package/skills/four-meme-integration/references/api-create-token.md +55 -0
- package/skills/four-meme-integration/references/contract-addresses.md +34 -0
- package/skills/four-meme-integration/references/create-token-scripts.md +63 -0
- package/skills/four-meme-integration/references/errors.md +27 -0
- package/skills/four-meme-integration/references/event-listening.md +75 -0
- package/skills/four-meme-integration/references/execute-trade.md +31 -0
- package/skills/four-meme-integration/references/tax-token-query.md +38 -0
- package/skills/four-meme-integration/references/token-query-api.md +40 -0
- package/skills/four-meme-integration/references/token-tax-info.md +77 -0
- package/skills/four-meme-integration/scripts/8004-balance.ts +52 -0
- package/skills/four-meme-integration/scripts/8004-register.ts +108 -0
- package/skills/four-meme-integration/scripts/create-token-api.ts +251 -0
- package/skills/four-meme-integration/scripts/create-token-chain.ts +85 -0
- package/skills/four-meme-integration/scripts/execute-buy.ts +198 -0
- package/skills/four-meme-integration/scripts/execute-sell.ts +150 -0
- package/skills/four-meme-integration/scripts/get-public-config.ts +25 -0
- package/skills/four-meme-integration/scripts/get-recent-events.ts +76 -0
- package/skills/four-meme-integration/scripts/get-tax-token-info.ts +69 -0
- package/skills/four-meme-integration/scripts/get-token-info.ts +94 -0
- package/skills/four-meme-integration/scripts/quote-buy.ts +85 -0
- package/skills/four-meme-integration/scripts/quote-sell.ts +66 -0
- package/skills/four-meme-integration/scripts/send-token.ts +98 -0
- package/skills/four-meme-integration/scripts/token-get.ts +31 -0
- package/skills/four-meme-integration/scripts/token-list.ts +52 -0
- package/skills/four-meme-integration/scripts/token-rankings.ts +54 -0
- package/skills/four-meme-integration/scripts/verify-events.ts +47 -0
- package/tsconfig.json +15 -0
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# four-meme-ai – Agent Guidelines (Claude / Claude Code)
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This repo provides the **four-meme-integration** skill for AI agents: create and trade meme tokens on **four.meme (BSC only)** using the official API and on-chain contracts (**TokenManager2**, **TokenManagerHelper3**). TokenManager V1 is **not** supported by this skill.
|
|
6
|
+
|
|
7
|
+
The authoritative specification for this skill is `skills/four-meme-integration/SKILL.md`. Claude/Claude Code should treat that file as the main contract for behavior, safety, and command usage.
|
|
8
|
+
|
|
9
|
+
## When to Use This Skill
|
|
10
|
+
|
|
11
|
+
Use this repo when the user explicitly or implicitly asks to:
|
|
12
|
+
|
|
13
|
+
- **Create** a meme token on four.meme on BSC (full API flow + `TokenManager2.createToken` on-chain).
|
|
14
|
+
- **Buy** or **sell** a four.meme token on BSC (quote with Helper3, execute via TokenManager2).
|
|
15
|
+
- **Query token info** (version, tokenManager, price, offers, etc.) for a given token address or requestId.
|
|
16
|
+
- **Query lists / rankings** of four.meme tokens (REST list, detail, advanced rankings).
|
|
17
|
+
- **Query Tax token fee/tax config**, or execute Tax-type token creation.
|
|
18
|
+
- **Send BNB / ERC20** from the trading wallet to another address on BSC.
|
|
19
|
+
- **Register / query** an EIP‑8004 identity NFT (8004 registry contract on BSC).
|
|
20
|
+
|
|
21
|
+
If the user’s request does not involve four.meme, BSC, or these flows, you should not use this skill.
|
|
22
|
+
|
|
23
|
+
## Repo Layout
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
four-meme-ai/
|
|
27
|
+
├── skills/
|
|
28
|
+
│ └── four-meme-integration/
|
|
29
|
+
│ ├── SKILL.md # Main skill instructions (Cursor / OpenClaw)
|
|
30
|
+
│ ├── references/ # API, addresses, errors, trading, events, tax
|
|
31
|
+
│ └── scripts/ # create-token, get-token-info, quote-buy/sell, etc.
|
|
32
|
+
├── bin/
|
|
33
|
+
│ └── fourmeme.cjs # CLI dispatcher (fourmeme ...)
|
|
34
|
+
├── package.json
|
|
35
|
+
├── README.md
|
|
36
|
+
└── CLAUDE.md # This file (Claude-facing guidelines)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Safety and Private Key Handling
|
|
40
|
+
|
|
41
|
+
The SKILL defines a **User Agreement & Security Notice** (bilingual: English + Traditional Chinese). Claude MUST:
|
|
42
|
+
|
|
43
|
+
1. On first use of this skill in a conversation, present the User Agreement and Security Notice in the user’s language (use the 繁體中文 block when the user writes in Traditional Chinese; otherwise use English).
|
|
44
|
+
2. Make clear that **continuing to use this plugin/skill implies acceptance of the User Agreement**.
|
|
45
|
+
3. **MUST NOT** run any operation that uses a private key or writes on-chain (e.g. `create-api`, `create-chain`, `buy`, `sell`, `send`, `8004-register`) until the user has explicitly agreed or confirmed to continue.
|
|
46
|
+
4. May run read‑only commands (e.g. `config`, `token-info`, `quote-buy`, `8004-balance`) while or after presenting the notice.
|
|
47
|
+
|
|
48
|
+
Never ask the user to paste a private key into chat. All private keys must come from environment / config (e.g. `PRIVATE_KEY`, `FOURMEME_PRIVATE_KEY`) as described in `SKILL.md`.
|
|
49
|
+
|
|
50
|
+
## Conventions (aligned with SKILL.md)
|
|
51
|
+
|
|
52
|
+
1. **Chain**: BSC only (chainId 56). Arbitrum and Base are **out of scope** for this skill.
|
|
53
|
+
2. **Trading**:
|
|
54
|
+
- Always call Helper3 `getTokenInfo(token)` first to get `version`, `tokenManager`, and current price/offers.
|
|
55
|
+
- Only **version 2** (TokenManager2) is supported by this skill; do not attempt V1 flows.
|
|
56
|
+
- For X Mode / TaxToken / AntiSniperFeeMode detection and error codes, see `skills/four-meme-integration/references/errors.md`.
|
|
57
|
+
3. **Create token**:
|
|
58
|
+
- `raisedToken` must always come from `GET https://four.meme/meme-api/v1/public/config` and be used **as is** in the create body; do not invent or modify internal fields.
|
|
59
|
+
- For tax-type tokens, follow `tokenTaxInfo` constraints in `references/token-tax-info.md` and the interactive flow in `SKILL.md` (“Create token (full flow)”).
|
|
60
|
+
4. **RPC**:
|
|
61
|
+
- Use env `BSC_RPC_URL` when set; otherwise fall back to public BSC RPC defaults (see scripts).
|
|
62
|
+
- Private key envs: `PRIVATE_KEY` or `FOURMEME_PRIVATE_KEY` (no key should ever be requested from the user in plain text).
|
|
63
|
+
|
|
64
|
+
## CLI Usage (fourmeme)
|
|
65
|
+
|
|
66
|
+
From the project root after `npm install`, use:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npx fourmeme <command> [args...]
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Key commands (full list and parameters in `SKILL.md`):
|
|
73
|
+
|
|
74
|
+
- `fourmeme config` – Get public config (raisedToken).
|
|
75
|
+
- `fourmeme create-api` / `fourmeme create-chain` – Create token (API + on-chain).
|
|
76
|
+
- `fourmeme token-info` / `token-list` / `token-get` / `token-rankings` – On-chain info and REST queries.
|
|
77
|
+
- `fourmeme quote-buy` / `quote-sell` – Estimate buy/sell without sending tx.
|
|
78
|
+
- `fourmeme buy` / `sell` – Execute buy/sell via TokenManager2 (V2 only).
|
|
79
|
+
- `fourmeme send` – Send BNB or ERC20 from the trading wallet.
|
|
80
|
+
- `fourmeme 8004-register` / `8004-balance` – EIP‑8004 identity NFT register and query.
|
|
81
|
+
- `fourmeme events` – TokenManager2 events (TokenCreate, TokenPurchase, TokenSale, LiquidityAdded).
|
|
82
|
+
- `fourmeme tax-info` – TaxToken on-chain fee/tax config.
|
|
83
|
+
|
|
84
|
+
Always prefer these CLI commands rather than calling scripts directly, unless `SKILL.md` suggests otherwise.
|
|
85
|
+
|
|
86
|
+
## External Docs
|
|
87
|
+
|
|
88
|
+
For deeper protocol details, see:
|
|
89
|
+
|
|
90
|
+
- In-repo: `skills/four-meme-integration/references/` (api-create-token, token-query-api, execute-trade, event-listening, tax-token-query, errors).
|
|
91
|
+
- Official four.meme API and contracts (online): [Protocol Integration](https://four-meme.gitbook.io/four.meme/brand/protocol-integration) (API documents, ABIs: TokenManager, TokenManager2, Helper3, TaxToken, etc.).
|
package/README.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# four-meme-ai
|
|
2
|
+
|
|
3
|
+
Four.meme AI skills for creating and trading meme tokens on **BSC only**. Lets agents integrate with [four.meme](https://four.meme) for token creation, buy/sell flows, Tax tokens, transfers, and EIP‑8004 identity NFTs.
|
|
4
|
+
|
|
5
|
+
## Skills
|
|
6
|
+
|
|
7
|
+
| Skill | Description |
|
|
8
|
+
|-------|-------------|
|
|
9
|
+
| `four-meme-integration` | Create/trade meme tokens on **BSC only**, query token info/lists/rankings, listen to TokenManager2 events, query TaxToken tax info, send BNB/ERC20, and register/query EIP‑8004 identity NFTs. TokenManager V1 is not supported. |
|
|
10
|
+
|
|
11
|
+
Safety, user agreement, and detailed agent behavior requirements are defined in [`skills/four-meme-integration/SKILL.md`](skills/four-meme-integration/SKILL.md) (bilingual User Agreement & Security Notice). Claude-specific guidance lives in [`CLAUDE.md`](CLAUDE.md).
|
|
12
|
+
|
|
13
|
+
## Usage (Agent)
|
|
14
|
+
|
|
15
|
+
When the user needs to create or trade meme tokens on four.meme (BSC), use the **four-meme-integration** skill:
|
|
16
|
+
|
|
17
|
+
- **Create token (API + chain)**: Prefer the CLI flow `fourmeme create-api ...` → `fourmeme create-chain ...`. Under the hood this runs: `get-public-config.ts` (optional) → `create-token-api.ts` (image + name/symbol/desc/label, env `PRIVATE_KEY`) → `create-token-chain.ts` (createArg + signature from API). Creation is BSC only; no extra BNB is sent by default (set `CREATION_FEE_WEI` to attach a value if needed). See `SKILL.md` and `references/api-create-token.md` / `create-token-scripts.md` for full details and required user questions.
|
|
18
|
+
- **Trade (buy/sell)**: Use Helper3 `getTokenInfo` to get version and tokenManager; only version 2 (TokenManager2) is supported. Use `fourmeme quote-buy`/`quote-sell` for estimates, then `fourmeme buy`/`sell` to execute. **BSC only.**
|
|
19
|
+
- **Event listening**: `fourmeme events <fromBlock> [toBlock]` to fetch TokenCreate, TokenPurchase, TokenSale, LiquidityAdded from TokenManager2. See `references/event-listening.md`.
|
|
20
|
+
- **Tax token fee/tax info**: `fourmeme tax-info <tokenAddress>`. See `references/tax-token-query.md` and `token-tax-info.md`.
|
|
21
|
+
- **Send BNB/ERC20**: `fourmeme send <toAddress> <amountWei> [tokenAddress]` to transfer from the trading wallet.
|
|
22
|
+
- **EIP‑8004 identity NFT**: `fourmeme 8004-register <name> [imageUrl] [description]` and `fourmeme 8004-balance <ownerAddress>`.
|
|
23
|
+
- **CLI** (after `npm install`): use **`npx fourmeme <command> [args]`**. Run `npx fourmeme --help` for all commands, including:\n - Config: `npx fourmeme config`\n - Create: `npx fourmeme create-api ...` → `npx fourmeme create-chain ...`\n - Trade/info: `npx fourmeme token-info <tokenAddress>`, `npx fourmeme quote-buy`, `npx fourmeme quote-sell`\n - Execute trade: `npx fourmeme buy <token> amount|funds ...`, `npx fourmeme sell <token> <amountWei> [minFundsWei]` (needs PRIVATE_KEY)\n - Events: `npx fourmeme events <fromBlock> [toBlock]`\n - Tax: `npx fourmeme tax-info <tokenAddress>`\n - EIP‑8004: `npx fourmeme 8004-register ...`, `npx fourmeme 8004-balance ...`\n - Verify: `npx fourmeme verify`\n\n## Install (project)
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
cd four-meme-ai
|
|
27
|
+
npm install
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Install as OpenClaw plugin
|
|
31
|
+
|
|
32
|
+
This repo is an [OpenClaw](https://docs.openclaw.ai)-compatible plugin. Install so the skill is loaded and **PRIVATE_KEY / BSC_RPC_URL** are only injected for this skill (via `skills.entries`):
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
openclaw plugins install /path/to/four-meme-ai
|
|
36
|
+
# or from npm (if published): openclaw plugins install @scope/four-meme-ai
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Then in `~/.openclaw/openclaw.json` set:
|
|
40
|
+
|
|
41
|
+
```json5
|
|
42
|
+
{
|
|
43
|
+
skills: {
|
|
44
|
+
entries: {
|
|
45
|
+
"four-meme-integration": {
|
|
46
|
+
enabled: true,
|
|
47
|
+
env: {
|
|
48
|
+
PRIVATE_KEY: "0x...",
|
|
49
|
+
BSC_RPC_URL: "https://bsc-dataseed.binance.org"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
See [skills/four-meme-integration/SKILL.md](skills/four-meme-integration/SKILL.md) for the full OpenClaw config section and environment variable details.
|
|
58
|
+
|
|
59
|
+
## Verify the skill (read-only)
|
|
60
|
+
|
|
61
|
+
After `npm install`, run:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx fourmeme verify
|
|
65
|
+
```
|
|
66
|
+
(In project dir, use `npx fourmeme`; or run `npm link` then `fourmeme` from anywhere.)
|
|
67
|
+
|
|
68
|
+
This runs **config** (four.meme API) and **events** for the last 50 blocks on BSC. No private key or on-chain writes. For full verification steps, see [VERIFICATION.md](VERIFICATION.md).
|
|
69
|
+
|
|
70
|
+
## Docs
|
|
71
|
+
|
|
72
|
+
- Skill instructions (agent behavior, safety, flows): `skills/four-meme-integration/SKILL.md`
|
|
73
|
+
- Claude/Claude Code guidelines: `CLAUDE.md`
|
|
74
|
+
- References: `skills/four-meme-integration/references/` (API, contract addresses, trading, events, tax, errors)
|
|
75
|
+
- Official four.meme API and contracts: [Protocol Integration](https://four-meme.gitbook.io/four.meme/brand/protocol-integration) (API documents, ABIs)
|
|
76
|
+
|
|
77
|
+
## License
|
|
78
|
+
|
|
79
|
+
MIT
|
package/bin/fourmeme.cjs
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* fourmeme CLI - dispatches to four-meme-integration scripts.
|
|
4
|
+
* Usage: fourmeme <command> [args...]
|
|
5
|
+
* Run "fourmeme --help" for commands.
|
|
6
|
+
*/
|
|
7
|
+
const { spawnSync } = require('child_process');
|
|
8
|
+
const path = require('path');
|
|
9
|
+
|
|
10
|
+
const root = path.join(__dirname, '..');
|
|
11
|
+
const scriptsDir = path.join(root, 'skills', 'four-meme-integration', 'scripts');
|
|
12
|
+
|
|
13
|
+
const commands = {
|
|
14
|
+
config: 'get-public-config.ts',
|
|
15
|
+
'create-api': 'create-token-api.ts',
|
|
16
|
+
'create-chain': 'create-token-chain.ts',
|
|
17
|
+
'token-info': 'get-token-info.ts',
|
|
18
|
+
'token-list': 'token-list.ts',
|
|
19
|
+
'token-get': 'token-get.ts',
|
|
20
|
+
'token-rankings': 'token-rankings.ts',
|
|
21
|
+
'quote-buy': 'quote-buy.ts',
|
|
22
|
+
'quote-sell': 'quote-sell.ts',
|
|
23
|
+
buy: 'execute-buy.ts',
|
|
24
|
+
sell: 'execute-sell.ts',
|
|
25
|
+
send: 'send-token.ts',
|
|
26
|
+
'8004-register': '8004-register.ts',
|
|
27
|
+
'8004-balance': '8004-balance.ts',
|
|
28
|
+
events: 'get-recent-events.ts',
|
|
29
|
+
'tax-info': 'get-tax-token-info.ts',
|
|
30
|
+
verify: null, // special: run config + verify-events
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
function run(scriptName, args = []) {
|
|
34
|
+
const scriptPath = path.join(scriptsDir, scriptName);
|
|
35
|
+
const result = spawnSync('npx', ['tsx', scriptPath, ...args], {
|
|
36
|
+
stdio: 'inherit',
|
|
37
|
+
shell: true,
|
|
38
|
+
cwd: root,
|
|
39
|
+
});
|
|
40
|
+
process.exit(result.status ?? 1);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function printHelp() {
|
|
44
|
+
console.log(`fourmeme - Four.meme CLI (BSC only)
|
|
45
|
+
|
|
46
|
+
Usage: npx fourmeme <command> [args...]
|
|
47
|
+
|
|
48
|
+
(In project dir, use npx fourmeme; npm install does not add fourmeme to PATH.)
|
|
49
|
+
|
|
50
|
+
Commands:
|
|
51
|
+
config Get public config (raisedToken). No auth.
|
|
52
|
+
create-api <img> <name> <symbol> <desc> <label> [tax.json]
|
|
53
|
+
Create token API flow. Env: PRIVATE_KEY.
|
|
54
|
+
create-chain <createArgHex> <signatureHex>
|
|
55
|
+
Submit createToken tx on BSC. Or: fourmeme create-chain -- (stdin JSON)
|
|
56
|
+
token-info <tokenAddress>
|
|
57
|
+
Get token info from Helper3 (BSC, on-chain).
|
|
58
|
+
token-list [--orderBy=Hot] [--pageIndex=1] [--pageSize=30] [--tokenName=] [--symbol=] [--labels=] [--listedPancake=false]
|
|
59
|
+
Token list (REST API, filter/query).
|
|
60
|
+
token-get <tokenAddress>
|
|
61
|
+
Token detail + trading info (REST API get/v2).
|
|
62
|
+
token-rankings <orderBy> [--barType=HOUR24]
|
|
63
|
+
Rankings: orderBy=Time|ProgressDesc|TradingDesc|Hot|Graduated. barType only for TradingDesc.
|
|
64
|
+
quote-buy <token> <amountWei> [fundsWei]
|
|
65
|
+
Estimate buy (no tx). Use 0 for amount or funds.
|
|
66
|
+
quote-sell <token> <amountWei>
|
|
67
|
+
Estimate sell (no tx).
|
|
68
|
+
buy <token> amount <amountWei> <maxFundsWei>
|
|
69
|
+
Execute buy: fixed token amount. Env: PRIVATE_KEY.
|
|
70
|
+
buy <token> funds <fundsWei> <minAmountWei>
|
|
71
|
+
Execute buy: spend fixed quote (e.g. BNB). Env: PRIVATE_KEY.
|
|
72
|
+
sell <token> <amountWei> [minFundsWei]
|
|
73
|
+
Execute sell. Env: PRIVATE_KEY.
|
|
74
|
+
send <toAddress> <amountWei> [tokenAddress]
|
|
75
|
+
Send BNB or ERC20 to address. Omit tokenAddress for BNB. Env: PRIVATE_KEY.
|
|
76
|
+
8004-register <name> [imageUrl] [description]
|
|
77
|
+
EIP-8004: register identity NFT. Env: PRIVATE_KEY.
|
|
78
|
+
8004-balance <ownerAddress>
|
|
79
|
+
EIP-8004: query NFT balance of address (read-only).
|
|
80
|
+
events <fromBlock> [toBlock]
|
|
81
|
+
TokenManager2 events (BSC). Default toBlock: latest.
|
|
82
|
+
tax-info <tokenAddress>
|
|
83
|
+
TaxToken fee/tax config (BSC, creatorType 5 only).
|
|
84
|
+
verify Run config + events for last 50 blocks (read-only check).
|
|
85
|
+
|
|
86
|
+
Env: PRIVATE_KEY, BSC_RPC_URL. See SKILL.md for full docs.
|
|
87
|
+
`);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const argv = process.argv.slice(2);
|
|
91
|
+
const cmd = argv[0];
|
|
92
|
+
|
|
93
|
+
if (!cmd || cmd === '--help' || cmd === '-h' || cmd === 'help') {
|
|
94
|
+
printHelp();
|
|
95
|
+
process.exit(0);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (cmd === 'verify') {
|
|
99
|
+
const r1 = spawnSync('npx', ['tsx', path.join(scriptsDir, 'get-public-config.ts')], {
|
|
100
|
+
stdio: 'inherit',
|
|
101
|
+
shell: true,
|
|
102
|
+
cwd: root,
|
|
103
|
+
});
|
|
104
|
+
if (r1.status !== 0) process.exit(r1.status ?? 1);
|
|
105
|
+
const r2 = spawnSync('npx', ['tsx', path.join(scriptsDir, 'verify-events.ts')], {
|
|
106
|
+
stdio: 'inherit',
|
|
107
|
+
shell: true,
|
|
108
|
+
cwd: root,
|
|
109
|
+
});
|
|
110
|
+
process.exit(r2.status ?? 1);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const script = commands[cmd];
|
|
114
|
+
if (!script) {
|
|
115
|
+
console.error(`Unknown command: ${cmd}`);
|
|
116
|
+
printHelp();
|
|
117
|
+
process.exit(1);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (cmd === 'events') {
|
|
121
|
+
run(script, ['56', ...argv.slice(1)]);
|
|
122
|
+
} else {
|
|
123
|
+
run(script, argv.slice(1));
|
|
124
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "four-meme-ai",
|
|
3
|
+
"name": "Four.meme AI",
|
|
4
|
+
"description": "Create and trade meme tokens on four.meme (BSC). CLI fourmeme + skill.",
|
|
5
|
+
"skills": ["skills/four-meme-integration"],
|
|
6
|
+
"configSchema": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"description": "No plugin-level config; use skills.entries[\"four-meme-ai\"].env for PRIVATE_KEY."
|
|
10
|
+
}
|
|
11
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@four-meme/four-meme-ai",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Four.meme AI skills for creating and trading meme tokens (BSC only)",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"fourmeme": "./bin/fourmeme.cjs"
|
|
9
|
+
},
|
|
10
|
+
"openclaw": {
|
|
11
|
+
"extensions": [
|
|
12
|
+
"./plugin.ts"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"fourmeme": "node bin/fourmeme.cjs",
|
|
17
|
+
"verify": "tsx skills/four-meme-integration/scripts/get-public-config.ts && tsx skills/four-meme-integration/scripts/verify-events.ts",
|
|
18
|
+
"build": "tsc",
|
|
19
|
+
"config": "tsx skills/four-meme-integration/scripts/get-public-config.ts",
|
|
20
|
+
"create-api": "tsx skills/four-meme-integration/scripts/create-token-api.ts",
|
|
21
|
+
"create-chain": "tsx skills/four-meme-integration/scripts/create-token-chain.ts",
|
|
22
|
+
"token-info": "tsx skills/four-meme-integration/scripts/get-token-info.ts",
|
|
23
|
+
"token-list": "tsx skills/four-meme-integration/scripts/token-list.ts",
|
|
24
|
+
"token-get": "tsx skills/four-meme-integration/scripts/token-get.ts",
|
|
25
|
+
"token-rankings": "tsx skills/four-meme-integration/scripts/token-rankings.ts",
|
|
26
|
+
"quote-buy": "tsx skills/four-meme-integration/scripts/quote-buy.ts",
|
|
27
|
+
"quote-sell": "tsx skills/four-meme-integration/scripts/quote-sell.ts",
|
|
28
|
+
"buy": "tsx skills/four-meme-integration/scripts/execute-buy.ts",
|
|
29
|
+
"sell": "tsx skills/four-meme-integration/scripts/execute-sell.ts",
|
|
30
|
+
"send": "tsx skills/four-meme-integration/scripts/send-token.ts",
|
|
31
|
+
"8004-register": "tsx skills/four-meme-integration/scripts/8004-register.ts",
|
|
32
|
+
"8004-balance": "tsx skills/four-meme-integration/scripts/8004-balance.ts",
|
|
33
|
+
"events": "tsx skills/four-meme-integration/scripts/get-recent-events.ts",
|
|
34
|
+
"tax-info": "tsx skills/four-meme-integration/scripts/get-tax-token-info.ts"
|
|
35
|
+
},
|
|
36
|
+
"keywords": [
|
|
37
|
+
"four.meme",
|
|
38
|
+
"meme",
|
|
39
|
+
"token",
|
|
40
|
+
"bsc",
|
|
41
|
+
"agent",
|
|
42
|
+
"skill",
|
|
43
|
+
"openclaw"
|
|
44
|
+
],
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/node": "^20.0.0",
|
|
47
|
+
"tsx": "^4.20.0",
|
|
48
|
+
"typescript": "^5.0.0",
|
|
49
|
+
"viem": "^2.0.0"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"four-meme-ai": "^1.0.0"
|
|
53
|
+
},
|
|
54
|
+
"publishConfig": { "access": "public" }
|
|
55
|
+
}
|
package/plugin.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenClaw plugin entry for four-meme-ai.
|
|
3
|
+
* Skills are declared in openclaw.plugin.json; env (PRIVATE_KEY, BSC_RPC_URL) is configured per-skill in skills.entries.
|
|
4
|
+
*/
|
|
5
|
+
export default function (_api: unknown) {
|
|
6
|
+
// No runtime registration needed; skills are loaded from manifest.
|
|
7
|
+
}
|