@inkd/cli 0.1.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/README.md +226 -0
- package/dist/abi.d.ts +408 -0
- package/dist/abi.d.ts.map +1 -0
- package/dist/abi.js +283 -0
- package/dist/abi.js.map +1 -0
- package/dist/client.d.ts +19 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +34 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/agent.d.ts +10 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +106 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/agentd.d.ts +35 -0
- package/dist/commands/agentd.d.ts.map +1 -0
- package/dist/commands/agentd.js +336 -0
- package/dist/commands/agentd.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +25 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/project.d.ts +16 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +222 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/search.d.ts +14 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +141 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/status.d.ts +5 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +44 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/token.d.ts +46 -0
- package/dist/commands/token.d.ts.map +1 -0
- package/dist/commands/token.js +410 -0
- package/dist/commands/token.js.map +1 -0
- package/dist/commands/version.d.ts +12 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +134 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/commands/watch.d.ts +16 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +175 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/config.d.ts +42 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +94 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +258 -0
- package/dist/index.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* inkd token — Manage $INKD token balance, allowances, and transfers
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* inkd token balance [address] Show INKD + ETH balance for address (default: own wallet)
|
|
7
|
+
* inkd token approve <amount> Approve the registry to spend N INKD
|
|
8
|
+
* inkd token allowance [address] Check current registry allowance for address
|
|
9
|
+
* inkd token transfer <to> <amount> Transfer INKD to another address
|
|
10
|
+
* inkd token info Show total supply and token metadata
|
|
11
|
+
*
|
|
12
|
+
* Flags:
|
|
13
|
+
* --json JSON output (for scripting)
|
|
14
|
+
*
|
|
15
|
+
* Environment:
|
|
16
|
+
* INKD_PRIVATE_KEY Required for approve/transfer
|
|
17
|
+
* INKD_NETWORK mainnet | testnet
|
|
18
|
+
* INKD_RPC_URL Custom RPC
|
|
19
|
+
*/
|
|
20
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
23
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
24
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
25
|
+
}
|
|
26
|
+
Object.defineProperty(o, k2, desc);
|
|
27
|
+
}) : (function(o, m, k, k2) {
|
|
28
|
+
if (k2 === undefined) k2 = k;
|
|
29
|
+
o[k2] = m[k];
|
|
30
|
+
}));
|
|
31
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
32
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
33
|
+
}) : function(o, v) {
|
|
34
|
+
o["default"] = v;
|
|
35
|
+
});
|
|
36
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
37
|
+
var ownKeys = function(o) {
|
|
38
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
39
|
+
var ar = [];
|
|
40
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
41
|
+
return ar;
|
|
42
|
+
};
|
|
43
|
+
return ownKeys(o);
|
|
44
|
+
};
|
|
45
|
+
return function (mod) {
|
|
46
|
+
if (mod && mod.__esModule) return mod;
|
|
47
|
+
var result = {};
|
|
48
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
49
|
+
__setModuleDefault(result, mod);
|
|
50
|
+
return result;
|
|
51
|
+
};
|
|
52
|
+
})();
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
exports.cmdTokenBalance = cmdTokenBalance;
|
|
55
|
+
exports.cmdTokenAllowance = cmdTokenAllowance;
|
|
56
|
+
exports.cmdTokenApprove = cmdTokenApprove;
|
|
57
|
+
exports.cmdTokenTransfer = cmdTokenTransfer;
|
|
58
|
+
exports.cmdTokenInfo = cmdTokenInfo;
|
|
59
|
+
exports.cmdToken = cmdToken;
|
|
60
|
+
const viem_1 = require("viem");
|
|
61
|
+
const chains_1 = require("viem/chains");
|
|
62
|
+
const config_js_1 = require("../config.js");
|
|
63
|
+
const client_js_1 = require("../client.js");
|
|
64
|
+
const abi_js_1 = require("../abi.js");
|
|
65
|
+
// TOKEN_ABI now includes: approve, allowance, balanceOf, totalSupply,
|
|
66
|
+
// transfer, name, symbol, decimals
|
|
67
|
+
const FULL_TOKEN_ABI = abi_js_1.TOKEN_ABI;
|
|
68
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
69
|
+
function parseAmount(raw) {
|
|
70
|
+
try {
|
|
71
|
+
return (0, viem_1.parseEther)(raw);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
(0, config_js_1.error)(`Invalid amount: ${raw}. Use a number like 1 or 0.5`);
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function parseAddress(raw) {
|
|
79
|
+
if (!raw)
|
|
80
|
+
return undefined;
|
|
81
|
+
try {
|
|
82
|
+
return (0, viem_1.getAddress)(raw);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
(0, config_js_1.error)(`Invalid address: ${raw}`);
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// ─── Sub-commands ────────────────────────────────────────────────────────────
|
|
90
|
+
/**
|
|
91
|
+
* inkd token balance [address] [--json]
|
|
92
|
+
* Show INKD balance + ETH balance for an address.
|
|
93
|
+
* Defaults to own wallet if INKD_PRIVATE_KEY is set.
|
|
94
|
+
*/
|
|
95
|
+
async function cmdTokenBalance(args) {
|
|
96
|
+
const jsonMode = args.includes('--json');
|
|
97
|
+
const addressArg = args.find(a => !a.startsWith('--'));
|
|
98
|
+
const cfg = (0, config_js_1.loadConfig)();
|
|
99
|
+
const addrs = config_js_1.ADDRESSES[cfg.network];
|
|
100
|
+
let target;
|
|
101
|
+
if (addressArg) {
|
|
102
|
+
target = parseAddress(addressArg);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
// Fall back to own wallet
|
|
106
|
+
const pk = (0, config_js_1.requirePrivateKey)(cfg);
|
|
107
|
+
const { privateKeyToAccount } = await Promise.resolve().then(() => __importStar(require('viem/accounts')));
|
|
108
|
+
const account = privateKeyToAccount(pk);
|
|
109
|
+
target = account.address;
|
|
110
|
+
}
|
|
111
|
+
if (!addrs.token) {
|
|
112
|
+
(0, config_js_1.warn)('Token contract address not configured.');
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
const client = (0, client_js_1.buildPublicClient)(cfg);
|
|
116
|
+
const [inkdBalance, ethBalance] = await Promise.all([
|
|
117
|
+
client.readContract({
|
|
118
|
+
address: addrs.token,
|
|
119
|
+
abi: FULL_TOKEN_ABI,
|
|
120
|
+
functionName: 'balanceOf',
|
|
121
|
+
args: [target],
|
|
122
|
+
}),
|
|
123
|
+
client.getBalance({ address: target }),
|
|
124
|
+
]);
|
|
125
|
+
if (jsonMode) {
|
|
126
|
+
console.log(JSON.stringify({
|
|
127
|
+
address: target,
|
|
128
|
+
inkd: (0, viem_1.formatEther)(inkdBalance),
|
|
129
|
+
eth: (0, viem_1.formatEther)(ethBalance),
|
|
130
|
+
network: cfg.network,
|
|
131
|
+
}));
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
console.log();
|
|
135
|
+
console.log(` ${config_js_1.BOLD}Token Balance${config_js_1.RESET}`);
|
|
136
|
+
console.log(` ${'─'.repeat(40)}`);
|
|
137
|
+
(0, config_js_1.info)(`Address: ${config_js_1.CYAN}${target}${config_js_1.RESET}`);
|
|
138
|
+
(0, config_js_1.info)(`INKD: ${config_js_1.GREEN}${(0, viem_1.formatEther)(inkdBalance)} INKD${config_js_1.RESET}`);
|
|
139
|
+
(0, config_js_1.info)(`ETH: ${config_js_1.GREEN}${(0, viem_1.formatEther)(ethBalance)} ETH${config_js_1.RESET}`);
|
|
140
|
+
(0, config_js_1.info)(`Network: ${cfg.network}`);
|
|
141
|
+
console.log();
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* inkd token allowance [address] [--json]
|
|
145
|
+
* Show how much INKD the registry is approved to spend on behalf of address.
|
|
146
|
+
*/
|
|
147
|
+
async function cmdTokenAllowance(args) {
|
|
148
|
+
const jsonMode = args.includes('--json');
|
|
149
|
+
const addressArg = args.find(a => !a.startsWith('--'));
|
|
150
|
+
const cfg = (0, config_js_1.loadConfig)();
|
|
151
|
+
const addrs = config_js_1.ADDRESSES[cfg.network];
|
|
152
|
+
let owner;
|
|
153
|
+
if (addressArg) {
|
|
154
|
+
owner = parseAddress(addressArg);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
const pk = (0, config_js_1.requirePrivateKey)(cfg);
|
|
158
|
+
const { privateKeyToAccount } = await Promise.resolve().then(() => __importStar(require('viem/accounts')));
|
|
159
|
+
owner = privateKeyToAccount(pk).address;
|
|
160
|
+
}
|
|
161
|
+
if (!addrs.token || !addrs.registry) {
|
|
162
|
+
(0, config_js_1.warn)('Token or registry address not configured.');
|
|
163
|
+
process.exit(1);
|
|
164
|
+
}
|
|
165
|
+
const client = (0, client_js_1.buildPublicClient)(cfg);
|
|
166
|
+
const allowance = await client.readContract({
|
|
167
|
+
address: addrs.token,
|
|
168
|
+
abi: FULL_TOKEN_ABI,
|
|
169
|
+
functionName: 'allowance',
|
|
170
|
+
args: [owner, addrs.registry],
|
|
171
|
+
});
|
|
172
|
+
const formatted = (0, viem_1.formatEther)(allowance);
|
|
173
|
+
const sufficient = allowance >= (0, viem_1.parseEther)('1');
|
|
174
|
+
if (jsonMode) {
|
|
175
|
+
console.log(JSON.stringify({
|
|
176
|
+
owner,
|
|
177
|
+
spender: addrs.registry,
|
|
178
|
+
allowance: formatted,
|
|
179
|
+
sufficientForProject: sufficient,
|
|
180
|
+
network: cfg.network,
|
|
181
|
+
}));
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
console.log();
|
|
185
|
+
console.log(` ${config_js_1.BOLD}Registry Allowance${config_js_1.RESET}`);
|
|
186
|
+
console.log(` ${'─'.repeat(40)}`);
|
|
187
|
+
(0, config_js_1.info)(`Owner: ${config_js_1.CYAN}${owner}${config_js_1.RESET}`);
|
|
188
|
+
(0, config_js_1.info)(`Spender: ${config_js_1.DIM}${addrs.registry}${config_js_1.RESET}`);
|
|
189
|
+
(0, config_js_1.info)(`Allowance: ${sufficient ? config_js_1.GREEN : config_js_1.YELLOW}${formatted} INKD${config_js_1.RESET}`);
|
|
190
|
+
if (!sufficient) {
|
|
191
|
+
console.log();
|
|
192
|
+
(0, config_js_1.warn)(`Allowance is below 1 INKD. Run ${config_js_1.DIM}inkd token approve 1${config_js_1.RESET} before creating a project.`);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
console.log();
|
|
196
|
+
console.log(` ${config_js_1.GREEN}✓ Sufficient allowance to create projects.${config_js_1.RESET}`);
|
|
197
|
+
}
|
|
198
|
+
console.log();
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* inkd token approve <amount> [--json]
|
|
202
|
+
* Approve the registry contract to spend <amount> INKD on your behalf.
|
|
203
|
+
*/
|
|
204
|
+
async function cmdTokenApprove(args) {
|
|
205
|
+
const jsonMode = args.includes('--json');
|
|
206
|
+
const amountArg = args.find(a => !a.startsWith('--'));
|
|
207
|
+
if (!amountArg) {
|
|
208
|
+
(0, config_js_1.error)('Usage: inkd token approve <amount>');
|
|
209
|
+
(0, config_js_1.error)('Example: inkd token approve 10');
|
|
210
|
+
process.exit(1);
|
|
211
|
+
}
|
|
212
|
+
const amount = parseAmount(amountArg);
|
|
213
|
+
const cfg = (0, config_js_1.loadConfig)();
|
|
214
|
+
const addrs = config_js_1.ADDRESSES[cfg.network];
|
|
215
|
+
if (!addrs.token || !addrs.registry) {
|
|
216
|
+
(0, config_js_1.warn)('Token or registry address not configured.');
|
|
217
|
+
process.exit(1);
|
|
218
|
+
}
|
|
219
|
+
const pk = (0, config_js_1.requirePrivateKey)(cfg);
|
|
220
|
+
const { privateKeyToAccount } = await Promise.resolve().then(() => __importStar(require('viem/accounts')));
|
|
221
|
+
const account = privateKeyToAccount(pk);
|
|
222
|
+
if (!jsonMode) {
|
|
223
|
+
console.log();
|
|
224
|
+
console.log(` ${config_js_1.BOLD}Approving INKD Spend${config_js_1.RESET}`);
|
|
225
|
+
console.log(` ${'─'.repeat(40)}`);
|
|
226
|
+
(0, config_js_1.info)(`From: ${config_js_1.CYAN}${account.address}${config_js_1.RESET}`);
|
|
227
|
+
(0, config_js_1.info)(`Spender: ${config_js_1.DIM}${addrs.registry}${config_js_1.RESET}`);
|
|
228
|
+
(0, config_js_1.info)(`Amount: ${config_js_1.GREEN}${(0, viem_1.formatEther)(amount)} INKD${config_js_1.RESET}`);
|
|
229
|
+
console.log();
|
|
230
|
+
(0, config_js_1.info)('Sending approval...');
|
|
231
|
+
}
|
|
232
|
+
const walletClient = (0, client_js_1.buildWalletClient)(cfg, account);
|
|
233
|
+
const publicClient = (0, client_js_1.buildPublicClient)(cfg);
|
|
234
|
+
const hash = await walletClient.writeContract({
|
|
235
|
+
address: addrs.token,
|
|
236
|
+
abi: FULL_TOKEN_ABI,
|
|
237
|
+
functionName: 'approve',
|
|
238
|
+
args: [addrs.registry, amount],
|
|
239
|
+
chain: cfg.network === 'mainnet' ? chains_1.base : chains_1.baseSepolia,
|
|
240
|
+
account,
|
|
241
|
+
});
|
|
242
|
+
if (!jsonMode)
|
|
243
|
+
(0, config_js_1.info)(`TX hash: ${config_js_1.DIM}${hash}${config_js_1.RESET}`);
|
|
244
|
+
const receipt = await publicClient.waitForTransactionReceipt({ hash });
|
|
245
|
+
if (jsonMode) {
|
|
246
|
+
console.log(JSON.stringify({
|
|
247
|
+
success: receipt.status === 'success',
|
|
248
|
+
hash,
|
|
249
|
+
amount: (0, viem_1.formatEther)(amount),
|
|
250
|
+
spender: addrs.registry,
|
|
251
|
+
from: account.address,
|
|
252
|
+
blockNumber: receipt.blockNumber.toString(),
|
|
253
|
+
network: cfg.network,
|
|
254
|
+
}));
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
if (receipt.status !== 'success') {
|
|
258
|
+
(0, config_js_1.error)(`Transaction reverted: ${hash}`);
|
|
259
|
+
process.exit(1);
|
|
260
|
+
}
|
|
261
|
+
(0, config_js_1.success)(`Approved ${(0, viem_1.formatEther)(amount)} INKD for registry to spend.`);
|
|
262
|
+
(0, config_js_1.info)(`Block: ${receipt.blockNumber}`);
|
|
263
|
+
console.log();
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* inkd token transfer <to> <amount> [--json]
|
|
267
|
+
* Transfer <amount> INKD tokens to <to> address.
|
|
268
|
+
*/
|
|
269
|
+
async function cmdTokenTransfer(args) {
|
|
270
|
+
const jsonMode = args.includes('--json');
|
|
271
|
+
const nonFlags = args.filter(a => !a.startsWith('--'));
|
|
272
|
+
const toArg = nonFlags[0];
|
|
273
|
+
const amountArg = nonFlags[1];
|
|
274
|
+
if (!toArg || !amountArg) {
|
|
275
|
+
(0, config_js_1.error)('Usage: inkd token transfer <to-address> <amount>');
|
|
276
|
+
(0, config_js_1.error)('Example: inkd token transfer 0xABC...123 5');
|
|
277
|
+
process.exit(1);
|
|
278
|
+
}
|
|
279
|
+
const to = parseAddress(toArg);
|
|
280
|
+
const amount = parseAmount(amountArg);
|
|
281
|
+
const cfg = (0, config_js_1.loadConfig)();
|
|
282
|
+
const addrs = config_js_1.ADDRESSES[cfg.network];
|
|
283
|
+
if (!addrs.token) {
|
|
284
|
+
(0, config_js_1.warn)('Token contract address not configured.');
|
|
285
|
+
process.exit(1);
|
|
286
|
+
}
|
|
287
|
+
const pk = (0, config_js_1.requirePrivateKey)(cfg);
|
|
288
|
+
const { privateKeyToAccount } = await Promise.resolve().then(() => __importStar(require('viem/accounts')));
|
|
289
|
+
const account = privateKeyToAccount(pk);
|
|
290
|
+
// Sanity check — don't transfer to self
|
|
291
|
+
if (to.toLowerCase() === account.address.toLowerCase()) {
|
|
292
|
+
(0, config_js_1.warn)('Destination address is the same as sender.');
|
|
293
|
+
process.exit(1);
|
|
294
|
+
}
|
|
295
|
+
if (!jsonMode) {
|
|
296
|
+
console.log();
|
|
297
|
+
console.log(` ${config_js_1.BOLD}Transfer INKD${config_js_1.RESET}`);
|
|
298
|
+
console.log(` ${'─'.repeat(40)}`);
|
|
299
|
+
(0, config_js_1.info)(`From: ${config_js_1.CYAN}${account.address}${config_js_1.RESET}`);
|
|
300
|
+
(0, config_js_1.info)(`To: ${config_js_1.CYAN}${to}${config_js_1.RESET}`);
|
|
301
|
+
(0, config_js_1.info)(`Amount: ${config_js_1.GREEN}${(0, viem_1.formatEther)(amount)} INKD${config_js_1.RESET}`);
|
|
302
|
+
console.log();
|
|
303
|
+
(0, config_js_1.info)('Sending transfer...');
|
|
304
|
+
}
|
|
305
|
+
const walletClient = (0, client_js_1.buildWalletClient)(cfg, account);
|
|
306
|
+
const publicClient = (0, client_js_1.buildPublicClient)(cfg);
|
|
307
|
+
const hash = await walletClient.writeContract({
|
|
308
|
+
address: addrs.token,
|
|
309
|
+
abi: FULL_TOKEN_ABI,
|
|
310
|
+
functionName: 'transfer',
|
|
311
|
+
args: [to, amount],
|
|
312
|
+
chain: cfg.network === 'mainnet' ? chains_1.base : chains_1.baseSepolia,
|
|
313
|
+
account,
|
|
314
|
+
});
|
|
315
|
+
if (!jsonMode)
|
|
316
|
+
(0, config_js_1.info)(`TX hash: ${config_js_1.DIM}${hash}${config_js_1.RESET}`);
|
|
317
|
+
const receipt = await publicClient.waitForTransactionReceipt({ hash });
|
|
318
|
+
if (jsonMode) {
|
|
319
|
+
console.log(JSON.stringify({
|
|
320
|
+
success: receipt.status === 'success',
|
|
321
|
+
hash,
|
|
322
|
+
from: account.address,
|
|
323
|
+
to,
|
|
324
|
+
amount: (0, viem_1.formatEther)(amount),
|
|
325
|
+
blockNumber: receipt.blockNumber.toString(),
|
|
326
|
+
network: cfg.network,
|
|
327
|
+
}));
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
if (receipt.status !== 'success') {
|
|
331
|
+
(0, config_js_1.error)(`Transaction reverted: ${hash}`);
|
|
332
|
+
process.exit(1);
|
|
333
|
+
}
|
|
334
|
+
(0, config_js_1.success)(`Transferred ${(0, viem_1.formatEther)(amount)} INKD to ${to}`);
|
|
335
|
+
(0, config_js_1.info)(`Block: ${receipt.blockNumber}`);
|
|
336
|
+
console.log();
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* inkd token info [--json]
|
|
340
|
+
* Show $INKD token metadata: name, symbol, decimals, total supply.
|
|
341
|
+
*/
|
|
342
|
+
async function cmdTokenInfo(args) {
|
|
343
|
+
const jsonMode = args.includes('--json');
|
|
344
|
+
const cfg = (0, config_js_1.loadConfig)();
|
|
345
|
+
const addrs = config_js_1.ADDRESSES[cfg.network];
|
|
346
|
+
if (!addrs.token) {
|
|
347
|
+
(0, config_js_1.warn)('Token contract address not configured.');
|
|
348
|
+
process.exit(1);
|
|
349
|
+
}
|
|
350
|
+
const client = (0, client_js_1.buildPublicClient)(cfg);
|
|
351
|
+
const [name, symbol, decimals, totalSupply] = await Promise.all([
|
|
352
|
+
client.readContract({ address: addrs.token, abi: FULL_TOKEN_ABI, functionName: 'name' }),
|
|
353
|
+
client.readContract({ address: addrs.token, abi: FULL_TOKEN_ABI, functionName: 'symbol' }),
|
|
354
|
+
client.readContract({ address: addrs.token, abi: FULL_TOKEN_ABI, functionName: 'decimals' }),
|
|
355
|
+
client.readContract({ address: addrs.token, abi: FULL_TOKEN_ABI, functionName: 'totalSupply' }),
|
|
356
|
+
]);
|
|
357
|
+
if (jsonMode) {
|
|
358
|
+
console.log(JSON.stringify({
|
|
359
|
+
address: addrs.token,
|
|
360
|
+
name, symbol, decimals,
|
|
361
|
+
totalSupply: (0, viem_1.formatEther)(totalSupply),
|
|
362
|
+
network: cfg.network,
|
|
363
|
+
}));
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
console.log();
|
|
367
|
+
console.log(` ${config_js_1.BOLD}$INKD Token Info${config_js_1.RESET}`);
|
|
368
|
+
console.log(` ${'─'.repeat(40)}`);
|
|
369
|
+
(0, config_js_1.info)(`Contract: ${config_js_1.CYAN}${addrs.token}${config_js_1.RESET}`);
|
|
370
|
+
(0, config_js_1.info)(`Name: ${name}`);
|
|
371
|
+
(0, config_js_1.info)(`Symbol: ${config_js_1.GREEN}${symbol}${config_js_1.RESET}`);
|
|
372
|
+
(0, config_js_1.info)(`Decimals: ${decimals}`);
|
|
373
|
+
(0, config_js_1.info)(`Supply: ${config_js_1.GREEN}${(0, viem_1.formatEther)(totalSupply)} ${symbol}${config_js_1.RESET}`);
|
|
374
|
+
(0, config_js_1.info)(`Network: ${cfg.network}`);
|
|
375
|
+
console.log();
|
|
376
|
+
}
|
|
377
|
+
// ─── Router ──────────────────────────────────────────────────────────────────
|
|
378
|
+
async function cmdToken(args) {
|
|
379
|
+
const sub = args[0];
|
|
380
|
+
const subArgs = args.slice(1);
|
|
381
|
+
const { YELLOW: Y, RESET: R, DIM: D } = { YELLOW: config_js_1.YELLOW, RESET: config_js_1.RESET, DIM: config_js_1.DIM };
|
|
382
|
+
switch (sub) {
|
|
383
|
+
case 'balance':
|
|
384
|
+
await cmdTokenBalance(subArgs);
|
|
385
|
+
break;
|
|
386
|
+
case 'allowance':
|
|
387
|
+
await cmdTokenAllowance(subArgs);
|
|
388
|
+
break;
|
|
389
|
+
case 'approve':
|
|
390
|
+
await cmdTokenApprove(subArgs);
|
|
391
|
+
break;
|
|
392
|
+
case 'transfer':
|
|
393
|
+
await cmdTokenTransfer(subArgs);
|
|
394
|
+
break;
|
|
395
|
+
case 'info':
|
|
396
|
+
await cmdTokenInfo(subArgs);
|
|
397
|
+
break;
|
|
398
|
+
default:
|
|
399
|
+
console.error(`\n ${Y}Unknown token sub-command: ${sub || '(none)'}${R}`);
|
|
400
|
+
console.error(`\n ${config_js_1.BOLD}Usage:${R}`);
|
|
401
|
+
console.error(` inkd token balance [address] ${D}— INKD + ETH balance${R}`);
|
|
402
|
+
console.error(` inkd token allowance [address] ${D}— registry spend allowance${R}`);
|
|
403
|
+
console.error(` inkd token approve <amount> ${D}— approve registry to spend N INKD${R}`);
|
|
404
|
+
console.error(` inkd token transfer <to> <amount> ${D}— send INKD to address${R}`);
|
|
405
|
+
console.error(` inkd token info ${D}— token metadata + total supply${R}`);
|
|
406
|
+
console.error();
|
|
407
|
+
process.exit(1);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
//# sourceMappingURL=token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/commands/token.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* inkd version <sub-command> — version management
|
|
3
|
+
*
|
|
4
|
+
* Sub-commands:
|
|
5
|
+
* push — push a new version to a project
|
|
6
|
+
* list — list all versions for a project
|
|
7
|
+
* show — show a specific version by index
|
|
8
|
+
*/
|
|
9
|
+
export declare function cmdVersionPush(args: string[]): Promise<void>;
|
|
10
|
+
export declare function cmdVersionList(args: string[]): Promise<void>;
|
|
11
|
+
export declare function cmdVersionShow(args: string[]): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4BH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuClE;AAID,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDlE;AAID,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BlE"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* inkd version <sub-command> — version management
|
|
4
|
+
*
|
|
5
|
+
* Sub-commands:
|
|
6
|
+
* push — push a new version to a project
|
|
7
|
+
* list — list all versions for a project
|
|
8
|
+
* show — show a specific version by index
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.cmdVersionPush = cmdVersionPush;
|
|
12
|
+
exports.cmdVersionList = cmdVersionList;
|
|
13
|
+
exports.cmdVersionShow = cmdVersionShow;
|
|
14
|
+
const viem_1 = require("viem");
|
|
15
|
+
const config_js_1 = require("../config.js");
|
|
16
|
+
const client_js_1 = require("../client.js");
|
|
17
|
+
const abi_js_1 = require("../abi.js");
|
|
18
|
+
function parseFlag(args, flag) {
|
|
19
|
+
const i = args.indexOf(flag);
|
|
20
|
+
return i !== -1 && args[i + 1] ? args[i + 1] : undefined;
|
|
21
|
+
}
|
|
22
|
+
function requireFlag(args, flag, hint) {
|
|
23
|
+
const val = parseFlag(args, flag);
|
|
24
|
+
if (!val)
|
|
25
|
+
(0, config_js_1.error)(`Missing required flag ${config_js_1.BOLD}${flag}${config_js_1.RESET}\n Example: ${config_js_1.DIM}${hint}${config_js_1.RESET}`);
|
|
26
|
+
return val;
|
|
27
|
+
}
|
|
28
|
+
function formatDate(ts) {
|
|
29
|
+
return new Date(Number(ts) * 1000).toISOString().replace('T', ' ').slice(0, 19) + ' UTC';
|
|
30
|
+
}
|
|
31
|
+
// ─── push ────────────────────────────────────────────────────────────────────
|
|
32
|
+
async function cmdVersionPush(args) {
|
|
33
|
+
const idStr = requireFlag(args, '--id', 'inkd version push --id 1 --hash abc123 --tag v0.2.0');
|
|
34
|
+
const arweaveHash = requireFlag(args, '--hash', 'inkd version push --id 1 --hash abc123 --tag v0.2.0');
|
|
35
|
+
const versionTag = requireFlag(args, '--tag', 'inkd version push --id 1 --hash abc123 --tag v0.2.0');
|
|
36
|
+
const changelog = parseFlag(args, '--changelog') ?? '';
|
|
37
|
+
const cfg = (0, config_js_1.loadConfig)();
|
|
38
|
+
const addrs = config_js_1.ADDRESSES[cfg.network];
|
|
39
|
+
if (!addrs.registry)
|
|
40
|
+
(0, config_js_1.error)('Registry address not configured. Deploy contracts first.');
|
|
41
|
+
const { publicClient, walletClient, account, addrs: a } = (0, client_js_1.buildClients)(cfg);
|
|
42
|
+
const versionFee = await publicClient.readContract({
|
|
43
|
+
address: a.registry,
|
|
44
|
+
abi: abi_js_1.REGISTRY_ABI,
|
|
45
|
+
functionName: 'versionFee',
|
|
46
|
+
});
|
|
47
|
+
(0, config_js_1.info)(`Version fee: ${(0, viem_1.formatEther)(versionFee)} ETH`);
|
|
48
|
+
(0, config_js_1.info)(`Pushing version ${config_js_1.CYAN}${versionTag}${config_js_1.RESET} to project #${idStr}...`);
|
|
49
|
+
const tx = await walletClient.writeContract({
|
|
50
|
+
address: a.registry,
|
|
51
|
+
abi: abi_js_1.REGISTRY_ABI,
|
|
52
|
+
functionName: 'pushVersion',
|
|
53
|
+
args: [BigInt(idStr), arweaveHash, versionTag, changelog],
|
|
54
|
+
value: versionFee,
|
|
55
|
+
account,
|
|
56
|
+
chain: walletClient.chain,
|
|
57
|
+
});
|
|
58
|
+
(0, config_js_1.info)(`Tx: ${config_js_1.DIM}${tx}${config_js_1.RESET}`);
|
|
59
|
+
const receipt = await publicClient.waitForTransactionReceipt({ hash: tx });
|
|
60
|
+
if (receipt.status === 'success') {
|
|
61
|
+
(0, config_js_1.success)(`Version ${config_js_1.BOLD}${versionTag}${config_js_1.RESET} pushed! Arweave: ${config_js_1.DIM}${arweaveHash}${config_js_1.RESET}`);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
(0, config_js_1.error)('Transaction reverted. Verify project ownership and ETH balance.');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// ─── list ────────────────────────────────────────────────────────────────────
|
|
68
|
+
async function cmdVersionList(args) {
|
|
69
|
+
const idStr = args[0]
|
|
70
|
+
?? requireFlag(args, '--id', 'inkd version list 42');
|
|
71
|
+
const id = BigInt(idStr.startsWith('--') ? requireFlag(args, '--id', 'inkd version list --id 42') : idStr);
|
|
72
|
+
const cfg = (0, config_js_1.loadConfig)();
|
|
73
|
+
const addrs = config_js_1.ADDRESSES[cfg.network];
|
|
74
|
+
if (!addrs.registry)
|
|
75
|
+
(0, config_js_1.error)('Registry address not configured.');
|
|
76
|
+
const client = (0, client_js_1.buildPublicClient)(cfg);
|
|
77
|
+
const versionCount = await client.readContract({
|
|
78
|
+
address: addrs.registry,
|
|
79
|
+
abi: abi_js_1.REGISTRY_ABI,
|
|
80
|
+
functionName: 'getVersionCount',
|
|
81
|
+
args: [id],
|
|
82
|
+
});
|
|
83
|
+
if (versionCount === 0n) {
|
|
84
|
+
(0, config_js_1.info)(`No versions found for project #${id}`);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const versions = await Promise.all(Array.from({ length: Number(versionCount) }, (_, i) => client.readContract({
|
|
88
|
+
address: addrs.registry,
|
|
89
|
+
abi: abi_js_1.REGISTRY_ABI,
|
|
90
|
+
functionName: 'getVersion',
|
|
91
|
+
args: [id, BigInt(i)],
|
|
92
|
+
})));
|
|
93
|
+
console.log();
|
|
94
|
+
console.log(` ${config_js_1.BOLD}Versions for Project #${id}${config_js_1.RESET} (${versionCount} total)`);
|
|
95
|
+
console.log(` ${'─'.repeat(55)}`);
|
|
96
|
+
for (let i = versions.length - 1; i >= 0; i--) {
|
|
97
|
+
const v = versions[i];
|
|
98
|
+
console.log(` ${config_js_1.DIM}#${i}${config_js_1.RESET} ${config_js_1.CYAN}${v.versionTag.padEnd(12)}${config_js_1.RESET}` +
|
|
99
|
+
` ${config_js_1.DIM}${v.arweaveHash.slice(0, 12)}…${config_js_1.RESET}` +
|
|
100
|
+
` ${config_js_1.GREEN}${formatDate(v.pushedAt)}${config_js_1.RESET}`);
|
|
101
|
+
if (v.changelog) {
|
|
102
|
+
console.log(` ${config_js_1.DIM}${v.changelog.slice(0, 72)}${v.changelog.length > 72 ? '…' : ''}${config_js_1.RESET}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
console.log();
|
|
106
|
+
}
|
|
107
|
+
// ─── show ────────────────────────────────────────────────────────────────────
|
|
108
|
+
async function cmdVersionShow(args) {
|
|
109
|
+
const idStr = requireFlag(args, '--id', 'inkd version show --id 42 --index 0');
|
|
110
|
+
const indexStr = requireFlag(args, '--index', 'inkd version show --id 42 --index 0');
|
|
111
|
+
const cfg = (0, config_js_1.loadConfig)();
|
|
112
|
+
const addrs = config_js_1.ADDRESSES[cfg.network];
|
|
113
|
+
if (!addrs.registry)
|
|
114
|
+
(0, config_js_1.error)('Registry address not configured.');
|
|
115
|
+
const client = (0, client_js_1.buildPublicClient)(cfg);
|
|
116
|
+
const version = await client.readContract({
|
|
117
|
+
address: addrs.registry,
|
|
118
|
+
abi: abi_js_1.REGISTRY_ABI,
|
|
119
|
+
functionName: 'getVersion',
|
|
120
|
+
args: [BigInt(idStr), BigInt(indexStr)],
|
|
121
|
+
});
|
|
122
|
+
console.log();
|
|
123
|
+
console.log(` ${config_js_1.BOLD}Version #${indexStr} of Project #${idStr}${config_js_1.RESET}`);
|
|
124
|
+
console.log(` ${'─'.repeat(42)}`);
|
|
125
|
+
(0, config_js_1.info)(`Tag: ${config_js_1.CYAN}${version.versionTag}${config_js_1.RESET}`);
|
|
126
|
+
(0, config_js_1.info)(`Arweave hash: ${version.arweaveHash}`);
|
|
127
|
+
(0, config_js_1.info)(`Pushed by: ${version.pushedBy}`);
|
|
128
|
+
(0, config_js_1.info)(`Pushed at: ${config_js_1.GREEN}${formatDate(version.pushedAt)}${config_js_1.RESET}`);
|
|
129
|
+
if (version.changelog) {
|
|
130
|
+
(0, config_js_1.info)(`Changelog: ${version.changelog}`);
|
|
131
|
+
}
|
|
132
|
+
console.log();
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* inkd watch — stream on-chain Inkd Protocol events in real-time
|
|
3
|
+
*
|
|
4
|
+
* Sub-commands:
|
|
5
|
+
* all — all events (default)
|
|
6
|
+
* projects — ProjectCreated + ProjectUpdated events only
|
|
7
|
+
* versions — VersionPushed events only
|
|
8
|
+
* agents — agent-related events only
|
|
9
|
+
*
|
|
10
|
+
* Flags:
|
|
11
|
+
* --poll <ms> Polling interval in ms (default: 3000)
|
|
12
|
+
* --from <block> Start block (default: latest - 1000)
|
|
13
|
+
* --json Output raw JSON (for piping)
|
|
14
|
+
*/
|
|
15
|
+
export declare function cmdWatch(args: string[]): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA4GH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2E5D"}
|