naracli 1.0.17 → 1.0.18
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/README.md +16 -24
- package/bin/nara-cli.ts +0 -20
- package/dist/nara-cli.mjs +639 -2064
- package/index.ts +10 -58
- package/package.json +3 -6
- package/src/cli/commands/quest.ts +3 -2
- package/src/cli/commands/wallet.ts +9 -110
- package/src/cli/index.ts +207 -9
- package/src/cli/types.ts +0 -138
- package/src/cli/utils/transaction.ts +1 -1
- package/src/cli/utils/validation.ts +0 -40
- package/src/cli/utils/wallet.ts +3 -1
- package/dist/quest/nara_quest.json +0 -534
- package/dist/zk/answer_proof.wasm +0 -0
- package/dist/zk/answer_proof_final.zkey +0 -0
- package/src/cli/commands/config.ts +0 -125
- package/src/cli/commands/migrate.ts +0 -270
- package/src/cli/commands/pool.ts +0 -364
- package/src/cli/commands/swap.ts +0 -349
- package/src/cli/quest/nara_quest.json +0 -534
- package/src/cli/quest/nara_quest_types.ts +0 -540
- package/src/cli/zk/answer_proof.wasm +0 -0
- package/src/cli/zk/answer_proof_final.zkey +0 -0
- package/src/client.ts +0 -96
- package/src/config.ts +0 -132
- package/src/constants.ts +0 -35
- package/src/migrate.ts +0 -222
- package/src/pool.ts +0 -259
- package/src/quest.ts +0 -387
- package/src/swap.ts +0 -608
- package/src/types/snarkjs.d.ts +0 -9
package/README.md
CHANGED
|
@@ -7,8 +7,7 @@ CLI and SDK for the Nara chain (Solana-compatible).
|
|
|
7
7
|
```text
|
|
8
8
|
NaraSDK
|
|
9
9
|
├── Solana web3.js ── RPC communication, transaction signing
|
|
10
|
-
├──
|
|
11
|
-
├── Meteora CP-AMM SDK ── Post-graduation concentrated liquidity
|
|
10
|
+
├── Anchor ── On-chain program interaction
|
|
12
11
|
├── snarkjs (Groth16) ── Zero-knowledge proof generation
|
|
13
12
|
└── BIP39 + ed25519-hd-key ── Wallet derivation (m/44'/501'/0'/0')
|
|
14
13
|
```
|
|
@@ -17,9 +16,9 @@ NaraSDK
|
|
|
17
16
|
|
|
18
17
|
Standard Solana-compatible wallet using BIP39 mnemonics and ed25519 key derivation. Supports NSO transfers, SPL token transfers, and balance queries.
|
|
19
18
|
|
|
20
|
-
### Quest
|
|
19
|
+
### Quest — Proof of Machine Intelligence (PoMI)
|
|
21
20
|
|
|
22
|
-
On-chain quiz system where
|
|
21
|
+
On-chain quiz system where AI agents prove intelligence to earn NSO rewards:
|
|
23
22
|
|
|
24
23
|
1. Fetch the current question from the Anchor program
|
|
25
24
|
2. Compute the answer locally and generate a **Groth16 ZK proof** proving `Poseidon(answer) == answer_hash` without revealing the answer
|
|
@@ -28,13 +27,6 @@ On-chain quiz system where correct answers earn NSO rewards:
|
|
|
28
27
|
|
|
29
28
|
Circuit files: `answer_proof.wasm` + `answer_proof_final.zkey` (BN254 curve).
|
|
30
29
|
|
|
31
|
-
### Token Lifecycle (DBC)
|
|
32
|
-
|
|
33
|
-
1. **Config** - Create bonding curve parameters (supply, initial/migration market cap, fees) via Meteora's `DynamicBondingCurveClient`
|
|
34
|
-
2. **Pool** - Launch a token pool with the bonding curve config, optionally with an initial buy
|
|
35
|
-
3. **Swap** - Buy/sell tokens on the bonding curve. Supports three modes: exact-in, partial-fill, exact-out
|
|
36
|
-
4. **Migrate** - When curve reaches 100%, graduate the pool to Meteora DAMM V2 (Concentrated Position AMM). Requires two Position NFT keypairs for liquidity positions
|
|
37
|
-
|
|
38
30
|
## Installation
|
|
39
31
|
|
|
40
32
|
```bash
|
|
@@ -98,8 +90,6 @@ if (reward.rewarded) {
|
|
|
98
90
|
}
|
|
99
91
|
```
|
|
100
92
|
|
|
101
|
-
See [examples/](examples/) for complete SDK usage examples.
|
|
102
|
-
|
|
103
93
|
## CLI
|
|
104
94
|
|
|
105
95
|
### Setup
|
|
@@ -118,15 +108,20 @@ Wallet is saved to `~/.config/nara/id.json` by default.
|
|
|
118
108
|
### Commands
|
|
119
109
|
|
|
120
110
|
```text
|
|
121
|
-
wallet
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
111
|
+
address Show wallet address
|
|
112
|
+
balance [address] Check NSO balance
|
|
113
|
+
token-balance <token-address> Check token balance
|
|
114
|
+
tx-status <signature> Check transaction status
|
|
115
|
+
transfer <to> <amount> Transfer NSO
|
|
116
|
+
transfer-token <token> <to> <amount> Transfer tokens
|
|
117
|
+
sign <base64-tx> [--send] Sign (and optionally send) a transaction
|
|
118
|
+
wallet create Create a new wallet
|
|
119
|
+
wallet import Import wallet from mnemonic or private key
|
|
120
|
+
quest get Get current quest info
|
|
121
|
+
quest answer <answer> Submit answer with ZK proof
|
|
127
122
|
```
|
|
128
123
|
|
|
129
|
-
Run `npx naracli <command> --help` for details
|
|
124
|
+
Run `npx naracli <command> --help` for details.
|
|
130
125
|
|
|
131
126
|
### Global Options
|
|
132
127
|
|
|
@@ -140,10 +135,7 @@ Run `npx naracli <command> --help` for details on each command.
|
|
|
140
135
|
|
|
141
136
|
```bash
|
|
142
137
|
# Check balance
|
|
143
|
-
npx naracli
|
|
144
|
-
|
|
145
|
-
# Buy tokens
|
|
146
|
-
npx naracli swap buy <TOKEN_ADDRESS> 0.1
|
|
138
|
+
npx naracli balance
|
|
147
139
|
|
|
148
140
|
# Answer a quest
|
|
149
141
|
npx naracli quest get
|
package/bin/nara-cli.ts
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
import { Command } from "commander";
|
|
6
6
|
import { registerCommands } from "../src/cli/index";
|
|
7
|
-
import { loadWallet } from "../src/cli/utils/wallet";
|
|
8
7
|
import { createRequire } from "node:module";
|
|
9
8
|
|
|
10
9
|
const require = createRequire(import.meta.url);
|
|
@@ -25,25 +24,6 @@ program
|
|
|
25
24
|
.option("-w, --wallet <path>", "Path to wallet keypair JSON file")
|
|
26
25
|
.option("-j, --json", "Output in JSON format");
|
|
27
26
|
|
|
28
|
-
// Top-level address shortcut
|
|
29
|
-
program
|
|
30
|
-
.command("address")
|
|
31
|
-
.description("Show wallet address")
|
|
32
|
-
.action(async () => {
|
|
33
|
-
const opts = program.opts();
|
|
34
|
-
try {
|
|
35
|
-
const wallet = await loadWallet(opts.wallet);
|
|
36
|
-
if (opts.json) {
|
|
37
|
-
console.log(JSON.stringify({ address: wallet.publicKey.toBase58() }, null, 2));
|
|
38
|
-
} else {
|
|
39
|
-
console.log(wallet.publicKey.toBase58());
|
|
40
|
-
}
|
|
41
|
-
} catch (error: any) {
|
|
42
|
-
console.error(`Error: ${error.message}`);
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
|
|
47
27
|
// Register all command modules
|
|
48
28
|
registerCommands(program);
|
|
49
29
|
|