solforge 0.2.0 → 0.2.2

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.
Files changed (56) hide show
  1. package/LICENSE +21 -0
  2. package/docs/API.md +379 -0
  3. package/docs/CONFIGURATION.md +407 -0
  4. package/package.json +67 -45
  5. package/src/api-server-entry.ts +109 -0
  6. package/src/commands/add-program.ts +337 -0
  7. package/src/commands/init.ts +122 -0
  8. package/src/commands/list.ts +136 -0
  9. package/src/commands/mint.ts +288 -0
  10. package/src/commands/start.ts +877 -0
  11. package/src/commands/status.ts +99 -0
  12. package/src/commands/stop.ts +406 -0
  13. package/src/config/manager.ts +157 -0
  14. package/src/gui/public/build/main.css +1 -0
  15. package/src/gui/public/build/main.js +303 -0
  16. package/src/gui/public/build/main.js.txt +231 -0
  17. package/src/index.ts +188 -0
  18. package/src/services/api-server.ts +485 -0
  19. package/src/services/port-manager.ts +177 -0
  20. package/src/services/process-registry.ts +154 -0
  21. package/src/services/program-cloner.ts +317 -0
  22. package/src/services/token-cloner.ts +809 -0
  23. package/src/services/validator.ts +295 -0
  24. package/src/types/config.ts +110 -0
  25. package/src/utils/shell.ts +110 -0
  26. package/src/utils/token-loader.ts +115 -0
  27. package/.agi/agi.sqlite +0 -0
  28. package/.claude/settings.local.json +0 -9
  29. package/.github/workflows/release-binaries.yml +0 -133
  30. package/.tmp/.787ebcdbf7b8fde8-00000000.hm +0 -0
  31. package/.tmp/.bffe6efebdf8aedc-00000000.hm +0 -0
  32. package/AGENTS.md +0 -271
  33. package/CLAUDE.md +0 -106
  34. package/PROJECT_STRUCTURE.md +0 -124
  35. package/SOLANA_KIT_GUIDE.md +0 -251
  36. package/SOLFORGE.md +0 -119
  37. package/biome.json +0 -34
  38. package/bun.lock +0 -743
  39. package/drizzle/0000_friendly_millenium_guard.sql +0 -53
  40. package/drizzle/0001_stale_sentinels.sql +0 -2
  41. package/drizzle/meta/0000_snapshot.json +0 -329
  42. package/drizzle/meta/0001_snapshot.json +0 -345
  43. package/drizzle/meta/_journal.json +0 -20
  44. package/drizzle.config.ts +0 -12
  45. package/index.ts +0 -21
  46. package/mint.sh +0 -47
  47. package/postcss.config.js +0 -6
  48. package/rpc-server.ts.backup +0 -519
  49. package/sf.config.json +0 -38
  50. package/tailwind.config.js +0 -27
  51. package/test-client.ts +0 -120
  52. package/tmp/inspect-html.ts +0 -4
  53. package/tmp/response-test.ts +0 -5
  54. package/tmp/test-html.ts +0 -5
  55. package/tmp/test-server.ts +0 -13
  56. package/tsconfig.json +0 -29
@@ -1,53 +0,0 @@
1
- CREATE TABLE `accounts` (
2
- `address` text PRIMARY KEY NOT NULL,
3
- `lamports` integer NOT NULL,
4
- `owner_program` text NOT NULL,
5
- `executable` integer NOT NULL,
6
- `rent_epoch` integer NOT NULL,
7
- `data_len` integer NOT NULL,
8
- `data_base64` text,
9
- `last_slot` integer NOT NULL
10
- );
11
- --> statement-breakpoint
12
- CREATE INDEX `idx_accounts_owner` ON `accounts` (`owner_program`);--> statement-breakpoint
13
- CREATE INDEX `idx_accounts_last_slot` ON `accounts` (`last_slot`);--> statement-breakpoint
14
- CREATE TABLE `address_signatures` (
15
- `address` text NOT NULL,
16
- `signature` text NOT NULL,
17
- `slot` integer NOT NULL,
18
- `err` integer NOT NULL,
19
- `block_time` integer,
20
- PRIMARY KEY(`address`, `signature`)
21
- );
22
- --> statement-breakpoint
23
- CREATE INDEX `idx_address_signatures_addr_slot` ON `address_signatures` (`address`,`slot`);--> statement-breakpoint
24
- CREATE TABLE `transactions` (
25
- `signature` text PRIMARY KEY NOT NULL,
26
- `slot` integer NOT NULL,
27
- `block_time` integer,
28
- `version` text NOT NULL,
29
- `err_json` text,
30
- `fee` integer NOT NULL,
31
- `raw_base64` text NOT NULL,
32
- `pre_balances_json` text NOT NULL,
33
- `post_balances_json` text NOT NULL,
34
- `logs_json` text NOT NULL
35
- );
36
- --> statement-breakpoint
37
- CREATE INDEX `idx_transactions_slot` ON `transactions` (`slot`);--> statement-breakpoint
38
- CREATE TABLE `tx_accounts` (
39
- `signature` text NOT NULL,
40
- `account_index` integer NOT NULL,
41
- `address` text NOT NULL,
42
- `signer` integer NOT NULL,
43
- `writable` integer NOT NULL,
44
- `program_id_index` integer,
45
- PRIMARY KEY(`signature`, `account_index`)
46
- );
47
- --> statement-breakpoint
48
- CREATE INDEX `idx_tx_accounts_address` ON `tx_accounts` (`address`);--> statement-breakpoint
49
- CREATE INDEX `idx_tx_accounts_address_signature` ON `tx_accounts` (`address`,`signature`);--> statement-breakpoint
50
- CREATE TABLE `meta_kv` (
51
- `key` text PRIMARY KEY NOT NULL,
52
- `value` text NOT NULL
53
- );
@@ -1,2 +0,0 @@
1
- ALTER TABLE `transactions` ADD `pre_token_balances_json` text DEFAULT '[]' NOT NULL;--> statement-breakpoint
2
- ALTER TABLE `transactions` ADD `post_token_balances_json` text DEFAULT '[]' NOT NULL;
@@ -1,329 +0,0 @@
1
- {
2
- "version": "6",
3
- "dialect": "sqlite",
4
- "id": "b6ef19fa-06b7-4396-874f-2b252549b98f",
5
- "prevId": "00000000-0000-0000-0000-000000000000",
6
- "tables": {
7
- "accounts": {
8
- "name": "accounts",
9
- "columns": {
10
- "address": {
11
- "name": "address",
12
- "type": "text",
13
- "primaryKey": true,
14
- "notNull": true,
15
- "autoincrement": false
16
- },
17
- "lamports": {
18
- "name": "lamports",
19
- "type": "integer",
20
- "primaryKey": false,
21
- "notNull": true,
22
- "autoincrement": false
23
- },
24
- "owner_program": {
25
- "name": "owner_program",
26
- "type": "text",
27
- "primaryKey": false,
28
- "notNull": true,
29
- "autoincrement": false
30
- },
31
- "executable": {
32
- "name": "executable",
33
- "type": "integer",
34
- "primaryKey": false,
35
- "notNull": true,
36
- "autoincrement": false
37
- },
38
- "rent_epoch": {
39
- "name": "rent_epoch",
40
- "type": "integer",
41
- "primaryKey": false,
42
- "notNull": true,
43
- "autoincrement": false
44
- },
45
- "data_len": {
46
- "name": "data_len",
47
- "type": "integer",
48
- "primaryKey": false,
49
- "notNull": true,
50
- "autoincrement": false
51
- },
52
- "data_base64": {
53
- "name": "data_base64",
54
- "type": "text",
55
- "primaryKey": false,
56
- "notNull": false,
57
- "autoincrement": false
58
- },
59
- "last_slot": {
60
- "name": "last_slot",
61
- "type": "integer",
62
- "primaryKey": false,
63
- "notNull": true,
64
- "autoincrement": false
65
- }
66
- },
67
- "indexes": {
68
- "idx_accounts_owner": {
69
- "name": "idx_accounts_owner",
70
- "columns": ["owner_program"],
71
- "isUnique": false
72
- },
73
- "idx_accounts_last_slot": {
74
- "name": "idx_accounts_last_slot",
75
- "columns": ["last_slot"],
76
- "isUnique": false
77
- }
78
- },
79
- "foreignKeys": {},
80
- "compositePrimaryKeys": {},
81
- "uniqueConstraints": {},
82
- "checkConstraints": {}
83
- },
84
- "address_signatures": {
85
- "name": "address_signatures",
86
- "columns": {
87
- "address": {
88
- "name": "address",
89
- "type": "text",
90
- "primaryKey": false,
91
- "notNull": true,
92
- "autoincrement": false
93
- },
94
- "signature": {
95
- "name": "signature",
96
- "type": "text",
97
- "primaryKey": false,
98
- "notNull": true,
99
- "autoincrement": false
100
- },
101
- "slot": {
102
- "name": "slot",
103
- "type": "integer",
104
- "primaryKey": false,
105
- "notNull": true,
106
- "autoincrement": false
107
- },
108
- "err": {
109
- "name": "err",
110
- "type": "integer",
111
- "primaryKey": false,
112
- "notNull": true,
113
- "autoincrement": false
114
- },
115
- "block_time": {
116
- "name": "block_time",
117
- "type": "integer",
118
- "primaryKey": false,
119
- "notNull": false,
120
- "autoincrement": false
121
- }
122
- },
123
- "indexes": {
124
- "idx_address_signatures_addr_slot": {
125
- "name": "idx_address_signatures_addr_slot",
126
- "columns": ["address", "slot"],
127
- "isUnique": false
128
- }
129
- },
130
- "foreignKeys": {},
131
- "compositePrimaryKeys": {
132
- "pk_address_signatures": {
133
- "columns": ["address", "signature"],
134
- "name": "pk_address_signatures"
135
- }
136
- },
137
- "uniqueConstraints": {},
138
- "checkConstraints": {}
139
- },
140
- "transactions": {
141
- "name": "transactions",
142
- "columns": {
143
- "signature": {
144
- "name": "signature",
145
- "type": "text",
146
- "primaryKey": true,
147
- "notNull": true,
148
- "autoincrement": false
149
- },
150
- "slot": {
151
- "name": "slot",
152
- "type": "integer",
153
- "primaryKey": false,
154
- "notNull": true,
155
- "autoincrement": false
156
- },
157
- "block_time": {
158
- "name": "block_time",
159
- "type": "integer",
160
- "primaryKey": false,
161
- "notNull": false,
162
- "autoincrement": false
163
- },
164
- "version": {
165
- "name": "version",
166
- "type": "text",
167
- "primaryKey": false,
168
- "notNull": true,
169
- "autoincrement": false
170
- },
171
- "err_json": {
172
- "name": "err_json",
173
- "type": "text",
174
- "primaryKey": false,
175
- "notNull": false,
176
- "autoincrement": false
177
- },
178
- "fee": {
179
- "name": "fee",
180
- "type": "integer",
181
- "primaryKey": false,
182
- "notNull": true,
183
- "autoincrement": false
184
- },
185
- "raw_base64": {
186
- "name": "raw_base64",
187
- "type": "text",
188
- "primaryKey": false,
189
- "notNull": true,
190
- "autoincrement": false
191
- },
192
- "pre_balances_json": {
193
- "name": "pre_balances_json",
194
- "type": "text",
195
- "primaryKey": false,
196
- "notNull": true,
197
- "autoincrement": false
198
- },
199
- "post_balances_json": {
200
- "name": "post_balances_json",
201
- "type": "text",
202
- "primaryKey": false,
203
- "notNull": true,
204
- "autoincrement": false
205
- },
206
- "logs_json": {
207
- "name": "logs_json",
208
- "type": "text",
209
- "primaryKey": false,
210
- "notNull": true,
211
- "autoincrement": false
212
- }
213
- },
214
- "indexes": {
215
- "idx_transactions_slot": {
216
- "name": "idx_transactions_slot",
217
- "columns": ["slot"],
218
- "isUnique": false
219
- }
220
- },
221
- "foreignKeys": {},
222
- "compositePrimaryKeys": {},
223
- "uniqueConstraints": {},
224
- "checkConstraints": {}
225
- },
226
- "tx_accounts": {
227
- "name": "tx_accounts",
228
- "columns": {
229
- "signature": {
230
- "name": "signature",
231
- "type": "text",
232
- "primaryKey": false,
233
- "notNull": true,
234
- "autoincrement": false
235
- },
236
- "account_index": {
237
- "name": "account_index",
238
- "type": "integer",
239
- "primaryKey": false,
240
- "notNull": true,
241
- "autoincrement": false
242
- },
243
- "address": {
244
- "name": "address",
245
- "type": "text",
246
- "primaryKey": false,
247
- "notNull": true,
248
- "autoincrement": false
249
- },
250
- "signer": {
251
- "name": "signer",
252
- "type": "integer",
253
- "primaryKey": false,
254
- "notNull": true,
255
- "autoincrement": false
256
- },
257
- "writable": {
258
- "name": "writable",
259
- "type": "integer",
260
- "primaryKey": false,
261
- "notNull": true,
262
- "autoincrement": false
263
- },
264
- "program_id_index": {
265
- "name": "program_id_index",
266
- "type": "integer",
267
- "primaryKey": false,
268
- "notNull": false,
269
- "autoincrement": false
270
- }
271
- },
272
- "indexes": {
273
- "idx_tx_accounts_address": {
274
- "name": "idx_tx_accounts_address",
275
- "columns": ["address"],
276
- "isUnique": false
277
- },
278
- "idx_tx_accounts_address_signature": {
279
- "name": "idx_tx_accounts_address_signature",
280
- "columns": ["address", "signature"],
281
- "isUnique": false
282
- }
283
- },
284
- "foreignKeys": {},
285
- "compositePrimaryKeys": {
286
- "pk_tx_accounts": {
287
- "columns": ["signature", "account_index"],
288
- "name": "pk_tx_accounts"
289
- }
290
- },
291
- "uniqueConstraints": {},
292
- "checkConstraints": {}
293
- },
294
- "meta_kv": {
295
- "name": "meta_kv",
296
- "columns": {
297
- "key": {
298
- "name": "key",
299
- "type": "text",
300
- "primaryKey": true,
301
- "notNull": true,
302
- "autoincrement": false
303
- },
304
- "value": {
305
- "name": "value",
306
- "type": "text",
307
- "primaryKey": false,
308
- "notNull": true,
309
- "autoincrement": false
310
- }
311
- },
312
- "indexes": {},
313
- "foreignKeys": {},
314
- "compositePrimaryKeys": {},
315
- "uniqueConstraints": {},
316
- "checkConstraints": {}
317
- }
318
- },
319
- "views": {},
320
- "enums": {},
321
- "_meta": {
322
- "schemas": {},
323
- "tables": {},
324
- "columns": {}
325
- },
326
- "internal": {
327
- "indexes": {}
328
- }
329
- }