movehat 0.1.3 → 0.1.4

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 (58) hide show
  1. package/README.md +159 -80
  2. package/dist/commands/run.d.ts.map +1 -1
  3. package/dist/commands/run.js +40 -3
  4. package/dist/commands/run.js.map +1 -1
  5. package/dist/core/AccountManager.d.ts +186 -0
  6. package/dist/core/AccountManager.d.ts.map +1 -0
  7. package/dist/core/AccountManager.js +363 -0
  8. package/dist/core/AccountManager.js.map +1 -0
  9. package/dist/fork/manager.d.ts +33 -0
  10. package/dist/fork/manager.d.ts.map +1 -1
  11. package/dist/fork/manager.js +61 -0
  12. package/dist/fork/manager.js.map +1 -1
  13. package/dist/fork/storage.d.ts +10 -0
  14. package/dist/fork/storage.d.ts.map +1 -1
  15. package/dist/fork/storage.js +28 -1
  16. package/dist/fork/storage.js.map +1 -1
  17. package/dist/helpers/index.d.ts +8 -1
  18. package/dist/helpers/index.d.ts.map +1 -1
  19. package/dist/helpers/index.js +4 -0
  20. package/dist/helpers/index.js.map +1 -1
  21. package/dist/helpers/setup.d.ts.map +1 -1
  22. package/dist/helpers/setup.js +5 -4
  23. package/dist/helpers/setup.js.map +1 -1
  24. package/dist/helpers/setupLocalTesting.d.ts +60 -0
  25. package/dist/helpers/setupLocalTesting.d.ts.map +1 -0
  26. package/dist/helpers/setupLocalTesting.js +277 -0
  27. package/dist/helpers/setupLocalTesting.js.map +1 -0
  28. package/dist/helpers/testFixtures.d.ts +115 -0
  29. package/dist/helpers/testFixtures.d.ts.map +1 -0
  30. package/dist/helpers/testFixtures.js +163 -0
  31. package/dist/helpers/testFixtures.js.map +1 -0
  32. package/dist/node/LocalNodeManager.d.ts +68 -0
  33. package/dist/node/LocalNodeManager.d.ts.map +1 -0
  34. package/dist/node/LocalNodeManager.js +237 -0
  35. package/dist/node/LocalNodeManager.js.map +1 -0
  36. package/dist/runtime.d.ts.map +1 -1
  37. package/dist/runtime.js +91 -46
  38. package/dist/runtime.js.map +1 -1
  39. package/dist/templates/README.md +17 -4
  40. package/dist/templates/move/sources/Counter.move +12 -4
  41. package/dist/templates/tests/Counter.test.ts +98 -57
  42. package/dist/types/config.d.ts +24 -0
  43. package/dist/types/config.d.ts.map +1 -1
  44. package/package.json +1 -1
  45. package/src/commands/run.ts +43 -3
  46. package/src/core/AccountManager.ts +439 -0
  47. package/src/fork/manager.ts +74 -0
  48. package/src/fork/storage.ts +33 -1
  49. package/src/helpers/index.ts +18 -1
  50. package/src/helpers/setup.ts +4 -3
  51. package/src/helpers/setupLocalTesting.ts +335 -0
  52. package/src/helpers/testFixtures.ts +222 -0
  53. package/src/node/LocalNodeManager.ts +297 -0
  54. package/src/runtime.ts +108 -47
  55. package/src/templates/README.md +17 -4
  56. package/src/templates/move/sources/Counter.move +12 -4
  57. package/src/templates/tests/Counter.test.ts +98 -57
  58. package/src/types/config.ts +32 -0
@@ -0,0 +1,363 @@
1
+ import { Account, Ed25519PrivateKey, } from "@aptos-labs/ts-sdk";
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
3
+ import { join } from "path";
4
+ /**
5
+ * Centralized Account Manager for movehat
6
+ *
7
+ * Manages all account creation, loading, and lifecycle operations.
8
+ * Provides a pool of reusable test accounts with labels for better test readability.
9
+ */
10
+ export class AccountManager {
11
+ static pool = new Map(); // address → Account
12
+ static privateKeys = new Map(); // address → privateKey hex
13
+ static labelMap = new Map(); // label → address
14
+ static poolLoaded = false;
15
+ static defaultPoolPath = join(process.cwd(), ".movehat", "accounts");
16
+ /**
17
+ * Get a test account from the pool. If label is provided and exists, returns that account.
18
+ * Otherwise creates a new account with the optional label.
19
+ *
20
+ * @param label Optional label for the account (e.g., "alice", "bob", "deployer")
21
+ * @returns An Account instance
22
+ *
23
+ * @example
24
+ * const alice = AccountManager.getTestAccount("alice");
25
+ * const randomAccount = AccountManager.getTestAccount();
26
+ */
27
+ static getTestAccount(label) {
28
+ // If label provided, try to get existing labeled account
29
+ if (label) {
30
+ const existingAccount = this.getAccountByLabel(label);
31
+ if (existingAccount) {
32
+ return existingAccount;
33
+ }
34
+ }
35
+ // Create new account with optional label
36
+ return this.createAccount(label, false);
37
+ }
38
+ /**
39
+ * Create a new account and optionally add it to the pool with a label
40
+ *
41
+ * @param label Optional label for the account
42
+ * @param fund Whether to fund the account (handled externally)
43
+ * @returns A new Account instance
44
+ *
45
+ * @example
46
+ * const deployer = AccountManager.createAccount("deployer");
47
+ * const bob = AccountManager.createAccount("bob", true);
48
+ */
49
+ static createAccount(label, fund = false) {
50
+ const account = Account.generate();
51
+ const address = account.accountAddress.toString();
52
+ // Add to pool
53
+ this.pool.set(address, account);
54
+ // Store private key
55
+ this.privateKeys.set(address, account.privateKey.toString());
56
+ // If label provided, add to label map
57
+ if (label) {
58
+ this.labelMap.set(label, address);
59
+ }
60
+ return account;
61
+ }
62
+ /**
63
+ * Get an account by its label
64
+ *
65
+ * @param label The label to look up
66
+ * @returns The Account if found, undefined otherwise
67
+ *
68
+ * @example
69
+ * const alice = AccountManager.getAccountByLabel("alice");
70
+ * if (alice) {
71
+ * console.log(`Alice's address: ${alice.accountAddress.toString()}`);
72
+ * }
73
+ */
74
+ static getAccountByLabel(label) {
75
+ const address = this.labelMap.get(label);
76
+ if (!address) {
77
+ return undefined;
78
+ }
79
+ return this.pool.get(address);
80
+ }
81
+ /**
82
+ * Load account from environment variable
83
+ *
84
+ * @param envVar The environment variable name (defaults to "PRIVATE_KEY")
85
+ * @returns Account instance
86
+ * @throws Error if environment variable is not set
87
+ *
88
+ * @example
89
+ * const account = AccountManager.loadAccountFromEnv("MH_PRIVATE_KEY");
90
+ */
91
+ static loadAccountFromEnv(envVar = "PRIVATE_KEY") {
92
+ const privateKeyHex = process.env[envVar];
93
+ if (!privateKeyHex) {
94
+ throw new Error(`Environment variable ${envVar} not found. ` +
95
+ `Set it in your .env file or environment.`);
96
+ }
97
+ return this.loadAccountFromPrivateKey(privateKeyHex);
98
+ }
99
+ /**
100
+ * Load account from a private key hex string
101
+ *
102
+ * @param privateKeyHex The private key as a hex string (with or without 0x prefix)
103
+ * @returns Account instance
104
+ *
105
+ * @example
106
+ * const account = AccountManager.loadAccountFromPrivateKey("0xabc123...");
107
+ */
108
+ static loadAccountFromPrivateKey(privateKeyHex) {
109
+ const privateKey = new Ed25519PrivateKey(privateKeyHex);
110
+ const account = Account.fromPrivateKey({ privateKey });
111
+ const address = account.accountAddress.toString();
112
+ // Add to pool for tracking
113
+ this.pool.set(address, account);
114
+ // Store private key
115
+ this.privateKeys.set(address, privateKeyHex);
116
+ return account;
117
+ }
118
+ /**
119
+ * Load all accounts from movehat config
120
+ *
121
+ * @param config The resolved MovehatConfig
122
+ * @returns Array of Account instances
123
+ *
124
+ * @example
125
+ * const config = await resolveNetworkConfig(userConfig);
126
+ * const accounts = AccountManager.loadAccountsFromConfig(config);
127
+ */
128
+ static loadAccountsFromConfig(config) {
129
+ const accounts = [];
130
+ for (const privateKeyHex of config.allAccounts) {
131
+ try {
132
+ const account = this.loadAccountFromPrivateKey(privateKeyHex);
133
+ accounts.push(account);
134
+ }
135
+ catch (error) {
136
+ console.warn(`Warning: Failed to load account from config: ${error.message}`);
137
+ }
138
+ }
139
+ return accounts;
140
+ }
141
+ /**
142
+ * Get all labeled accounts in the pool
143
+ *
144
+ * @returns Record of label to Account mappings
145
+ *
146
+ * @example
147
+ * const labeled = AccountManager.getLabeledAccounts();
148
+ * console.log(`Deployer: ${labeled.deployer?.accountAddress.toString()}`);
149
+ */
150
+ static getLabeledAccounts() {
151
+ const result = {};
152
+ for (const [label, address] of this.labelMap.entries()) {
153
+ const account = this.pool.get(address);
154
+ if (account) {
155
+ result[label] = account;
156
+ }
157
+ }
158
+ return result;
159
+ }
160
+ /**
161
+ * Save the current account pool to disk for persistence
162
+ *
163
+ * @param poolPath Optional custom path (defaults to .movehat/accounts)
164
+ *
165
+ * @example
166
+ * AccountManager.saveAccountPool();
167
+ */
168
+ static saveAccountPool(poolPath) {
169
+ const basePath = poolPath || this.defaultPoolPath;
170
+ // Ensure directory exists
171
+ if (!existsSync(basePath)) {
172
+ mkdirSync(basePath, { recursive: true });
173
+ }
174
+ // Build stored accounts array
175
+ const storedAccounts = [];
176
+ const labelMapObject = {};
177
+ for (const [address, account] of this.pool.entries()) {
178
+ // Find label for this address (if any)
179
+ let label;
180
+ for (const [lbl, addr] of this.labelMap.entries()) {
181
+ if (addr === address) {
182
+ label = lbl;
183
+ labelMapObject[lbl] = address;
184
+ break;
185
+ }
186
+ }
187
+ const privateKey = this.privateKeys.get(address);
188
+ if (!privateKey) {
189
+ console.warn(`Warning: No private key found for account ${address}, skipping`);
190
+ continue;
191
+ }
192
+ storedAccounts.push({
193
+ label,
194
+ privateKey,
195
+ address,
196
+ createdAt: Date.now(),
197
+ });
198
+ }
199
+ const poolData = {
200
+ accounts: storedAccounts,
201
+ labelMap: labelMapObject,
202
+ };
203
+ // Write to file
204
+ const poolFilePath = join(basePath, "test-pool.json");
205
+ writeFileSync(poolFilePath, JSON.stringify(poolData, null, 2), "utf-8");
206
+ }
207
+ /**
208
+ * Load account pool from disk
209
+ *
210
+ * @param poolPath Optional custom path (defaults to .movehat/accounts)
211
+ * @returns true if pool was loaded, false if file doesn't exist
212
+ *
213
+ * @example
214
+ * if (AccountManager.loadAccountPool()) {
215
+ * console.log("Pool loaded successfully");
216
+ * }
217
+ */
218
+ static loadAccountPool(poolPath) {
219
+ if (this.poolLoaded) {
220
+ return true; // Already loaded
221
+ }
222
+ const basePath = poolPath || this.defaultPoolPath;
223
+ const poolFilePath = join(basePath, "test-pool.json");
224
+ if (!existsSync(poolFilePath)) {
225
+ return false;
226
+ }
227
+ try {
228
+ const poolData = JSON.parse(readFileSync(poolFilePath, "utf-8"));
229
+ // Clear existing pool
230
+ this.pool.clear();
231
+ this.labelMap.clear();
232
+ // Restore accounts
233
+ for (const stored of poolData.accounts) {
234
+ const account = this.loadAccountFromPrivateKey(stored.privateKey);
235
+ this.pool.set(stored.address, account);
236
+ if (stored.label) {
237
+ this.labelMap.set(stored.label, stored.address);
238
+ }
239
+ }
240
+ // Restore label map (in case there are orphaned labels)
241
+ for (const [label, address] of Object.entries(poolData.labelMap)) {
242
+ if (!this.labelMap.has(label)) {
243
+ this.labelMap.set(label, address);
244
+ }
245
+ }
246
+ this.poolLoaded = true;
247
+ return true;
248
+ }
249
+ catch (error) {
250
+ console.warn(`Warning: Failed to load account pool: ${error.message}`);
251
+ return false;
252
+ }
253
+ }
254
+ /**
255
+ * Clear the entire account pool
256
+ * Useful for test isolation
257
+ *
258
+ * @example
259
+ * after(() => {
260
+ * AccountManager.clearPool();
261
+ * });
262
+ */
263
+ static clearPool() {
264
+ this.pool.clear();
265
+ this.privateKeys.clear();
266
+ this.labelMap.clear();
267
+ this.poolLoaded = false;
268
+ }
269
+ /**
270
+ * Get the current size of the account pool
271
+ *
272
+ * @returns Number of accounts in the pool
273
+ */
274
+ static getPoolSize() {
275
+ return this.pool.size;
276
+ }
277
+ /**
278
+ * Get all accounts in the pool
279
+ *
280
+ * @returns Array of all Account instances
281
+ */
282
+ static getAllAccounts() {
283
+ return Array.from(this.pool.values());
284
+ }
285
+ /**
286
+ * Check if a label is already in use
287
+ *
288
+ * @param label The label to check
289
+ * @returns true if label exists, false otherwise
290
+ */
291
+ static hasLabel(label) {
292
+ return this.labelMap.has(label);
293
+ }
294
+ /**
295
+ * Get or create an account with a specific label
296
+ * If the label exists, returns the existing account
297
+ * Otherwise creates a new account with that label
298
+ *
299
+ * @param label The label for the account
300
+ * @returns Account instance
301
+ *
302
+ * @example
303
+ * const alice = AccountManager.getOrCreateLabeled("alice");
304
+ * const aliceAgain = AccountManager.getOrCreateLabeled("alice"); // Same account
305
+ */
306
+ static getOrCreateLabeled(label) {
307
+ const existing = this.getAccountByLabel(label);
308
+ if (existing) {
309
+ return existing;
310
+ }
311
+ return this.createAccount(label, false);
312
+ }
313
+ /**
314
+ * Batch create multiple labeled accounts
315
+ *
316
+ * @param labels Array of labels to create
317
+ * @returns Record of label to Account mappings
318
+ *
319
+ * @example
320
+ * const accounts = AccountManager.createBatch(["alice", "bob", "charlie"]);
321
+ * console.log(accounts.alice.accountAddress.toString());
322
+ */
323
+ static createBatch(labels) {
324
+ const result = {};
325
+ for (const label of labels) {
326
+ result[label] = this.getOrCreateLabeled(label);
327
+ }
328
+ return result;
329
+ }
330
+ /**
331
+ * Export account private keys for backup/sharing
332
+ * WARNING: Only use this for test accounts, never production keys
333
+ *
334
+ * @param labels Optional array of labels to export (exports all if not provided)
335
+ * @returns Record of label/address to private key hex string
336
+ */
337
+ static exportPrivateKeys(labels) {
338
+ const result = {};
339
+ if (labels) {
340
+ // Export specific labels
341
+ for (const label of labels) {
342
+ const address = this.labelMap.get(label);
343
+ if (address) {
344
+ const privateKey = this.privateKeys.get(address);
345
+ if (privateKey) {
346
+ result[label] = privateKey;
347
+ }
348
+ }
349
+ }
350
+ }
351
+ else {
352
+ // Export all labeled accounts
353
+ for (const [label, address] of this.labelMap.entries()) {
354
+ const privateKey = this.privateKeys.get(address);
355
+ if (privateKey) {
356
+ result[label] = privateKey;
357
+ }
358
+ }
359
+ }
360
+ return result;
361
+ }
362
+ }
363
+ //# sourceMappingURL=AccountManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountManager.js","sourceRoot":"","sources":["../../src/core/AccountManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAqB5B;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IACjB,MAAM,CAAC,IAAI,GAAyB,IAAI,GAAG,EAAE,CAAC,CAAC,oBAAoB;IACnE,MAAM,CAAC,WAAW,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,2BAA2B;IAChF,MAAM,CAAC,QAAQ,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,kBAAkB;IACpE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAE7E;;;;;;;;;;OAUG;IACH,MAAM,CAAC,cAAc,CAAC,KAAc;QAClC,yDAAyD;QACzD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,eAAe,CAAC;YACzB,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,aAAa,CAAC,KAAc,EAAE,OAAgB,KAAK;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAElD,cAAc;QACd,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEhC,oBAAoB;QACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE7D,sCAAsC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAa;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,kBAAkB,CAAC,SAAiB,aAAa;QACtD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,wBAAwB,MAAM,cAAc;gBAC5C,0CAA0C,CAC3C,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,yBAAyB,CAAC,aAAqB;QACpD,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAElD,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEhC,oBAAoB;QACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAE7C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,sBAAsB,CAAC,MAAqB;QACjD,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;gBAC9D,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CACV,gDAAgD,KAAK,CAAC,OAAO,EAAE,CAChE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,kBAAkB;QACvB,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,QAAiB;QACtC,MAAM,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC;QAElD,0BAA0B;QAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,8BAA8B;QAC9B,MAAM,cAAc,GAAoB,EAAE,CAAC;QAC3C,MAAM,cAAc,GAA2B,EAAE,CAAC;QAElD,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,uCAAuC;YACvC,IAAI,KAAyB,CAAC;YAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrB,KAAK,GAAG,GAAG,CAAC;oBACZ,cAAc,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBAC9B,MAAM;gBACR,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,6CAA6C,OAAO,YAAY,CAAC,CAAC;gBAC/E,SAAS;YACX,CAAC;YAED,cAAc,CAAC,IAAI,CAAC;gBAClB,KAAK;gBACL,UAAU;gBACV,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAgB;YAC5B,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,cAAc;SACzB,CAAC;QAEF,gBAAgB;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACtD,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,eAAe,CAAC,QAAiB;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,CAAC,iBAAiB;QAChC,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEtD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAgB,IAAI,CAAC,KAAK,CACtC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CACpC,CAAC;YAEF,sBAAsB;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAEtB,mBAAmB;YACnB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAEvC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,wDAAwD;YACxD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,yCAAyC,KAAK,CAAC,OAAO,EAAE,CACzD,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,cAAc;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAa;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,WAAW,CAAC,MAAyB;QAC1C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAiB;QACxC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,IAAI,MAAM,EAAE,CAAC;YACX,yBAAyB;YACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACjD,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,8BAA8B;YAC9B,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACjD,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC"}
@@ -48,5 +48,38 @@ export declare class ForkManager {
48
48
  * List all accounts in the fork
49
49
  */
50
50
  listAccounts(): string[];
51
+ /**
52
+ * Fund multiple accounts at once (batch operation)
53
+ *
54
+ * @param addresses Array of addresses to fund
55
+ * @param amount Amount of coins per account
56
+ * @param coinType Coin type (defaults to AptosCoin)
57
+ *
58
+ * @example
59
+ * await forkManager.fundMultipleAccounts(
60
+ * ["0x123...", "0x456..."],
61
+ * 100_000_000 // 100 APT
62
+ * );
63
+ */
64
+ fundMultipleAccounts(addresses: string[], amount: number, coinType?: string): Promise<void>;
65
+ /**
66
+ * Reset fork state to initial snapshot
67
+ * Clears all cached accounts and resources, keeping only metadata
68
+ *
69
+ * @example
70
+ * await forkManager.resetState();
71
+ */
72
+ resetState(): Promise<void>;
73
+ /**
74
+ * Get or create an account, ensuring it exists in the fork
75
+ * If the account doesn't exist on-chain, creates a minimal account structure
76
+ *
77
+ * @param address The address to get or create
78
+ * @returns AccountState for the address
79
+ *
80
+ * @example
81
+ * const account = await forkManager.getOrCreateAccount("0x123...");
82
+ */
83
+ getOrCreateAccount(address: string): Promise<AccountState>;
51
84
  }
52
85
  //# sourceMappingURL=manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/fork/manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAA6B;gBAEjC,QAAQ,EAAE,MAAM;IAI5B;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,MAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhF;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,WAAW,IAAI,YAAY;IAO3B;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA6BxD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgCtE;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA4BpE;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlF;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DlH;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;CAGzB"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/fork/manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAA6B;gBAEjC,QAAQ,EAAE,MAAM;IAI5B;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,MAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhF;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,WAAW,IAAI,YAAY;IAO3B;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA6BxD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgCtE;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA4BpE;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlF;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DlH;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;;;;;;;;;;;OAYG;IACG,oBAAoB,CACxB,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAqC,GAC9C,OAAO,CAAC,IAAI,CAAC;IAUhB;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC;;;;;;;;;OASG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAmBjE"}
@@ -217,5 +217,66 @@ export class ForkManager {
217
217
  listAccounts() {
218
218
  return this.storage.listAccounts();
219
219
  }
220
+ /**
221
+ * Fund multiple accounts at once (batch operation)
222
+ *
223
+ * @param addresses Array of addresses to fund
224
+ * @param amount Amount of coins per account
225
+ * @param coinType Coin type (defaults to AptosCoin)
226
+ *
227
+ * @example
228
+ * await forkManager.fundMultipleAccounts(
229
+ * ["0x123...", "0x456..."],
230
+ * 100_000_000 // 100 APT
231
+ * );
232
+ */
233
+ async fundMultipleAccounts(addresses, amount, coinType = '0x1::aptos_coin::AptosCoin') {
234
+ console.log(`\n💰 Funding ${addresses.length} accounts with ${amount} coins each...`);
235
+ for (const address of addresses) {
236
+ await this.fundAccount(address, amount, coinType);
237
+ }
238
+ console.log(`✓ All accounts funded successfully\n`);
239
+ }
240
+ /**
241
+ * Reset fork state to initial snapshot
242
+ * Clears all cached accounts and resources, keeping only metadata
243
+ *
244
+ * @example
245
+ * await forkManager.resetState();
246
+ */
247
+ async resetState() {
248
+ console.log(`\n🔄 Resetting fork state...`);
249
+ // Clear all accounts and resources from storage
250
+ this.storage.clearAccounts();
251
+ this.storage.clearResources();
252
+ console.log(`✓ Fork state reset to initial snapshot\n`);
253
+ }
254
+ /**
255
+ * Get or create an account, ensuring it exists in the fork
256
+ * If the account doesn't exist on-chain, creates a minimal account structure
257
+ *
258
+ * @param address The address to get or create
259
+ * @returns AccountState for the address
260
+ *
261
+ * @example
262
+ * const account = await forkManager.getOrCreateAccount("0x123...");
263
+ */
264
+ async getOrCreateAccount(address) {
265
+ const normalizedAddress = this.normalizeAddress(address);
266
+ // Try to get existing account
267
+ try {
268
+ return await this.getAccount(normalizedAddress);
269
+ }
270
+ catch (error) {
271
+ // If account doesn't exist, create a minimal one
272
+ const newAccount = {
273
+ sequenceNumber: '0',
274
+ authenticationKey: normalizedAddress.padEnd(66, '0'),
275
+ };
276
+ this.storage.saveAccount(normalizedAddress, newAccount);
277
+ console.log(` ✓ Created new account ${normalizedAddress}`);
278
+ return newAccount;
279
+ }
280
+ }
220
281
  }
221
282
  //# sourceMappingURL=manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/fork/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/fork/manager.ts"],"names":[],"mappings":"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"}
@@ -59,5 +59,15 @@ export declare class ForkStorage {
59
59
  * List all accounts in the fork
60
60
  */
61
61
  listAccounts(): string[];
62
+ /**
63
+ * Clear all cached accounts
64
+ * Resets accounts.json to empty object
65
+ */
66
+ clearAccounts(): void;
67
+ /**
68
+ * Clear all cached resources
69
+ * Deletes all resource files from the resources directory
70
+ */
71
+ clearResources(): void;
62
72
  }
63
73
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/fork/storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA2BnE;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAI5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;IACH,UAAU,IAAI,IAAI;IA8BlB;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAK1C;;OAEG;IACH,YAAY,IAAI,YAAY;IAW5B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAWhD;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAYvD;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAW9D;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAUrD;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAkBpE;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAYvE;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAI3D;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;CAUzB"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/fork/storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA2BnE;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAI5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;IACH,UAAU,IAAI,IAAI;IA8BlB;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAK1C;;OAEG;IACH,YAAY,IAAI,YAAY;IAW5B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAWhD;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAYvD;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAW9D;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAUrD;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAkBpE;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAYvE;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAI3D;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAWxB;;;OAGG;IACH,aAAa,IAAI,IAAI;IAKrB;;;OAGG;IACH,cAAc,IAAI,IAAI;CAkBvB"}
@@ -1,4 +1,4 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync, readdirSync, unlinkSync } from 'fs';
2
2
  import { join } from 'path';
3
3
  /**
4
4
  * Sanitize address to create a safe filename
@@ -179,5 +179,32 @@ export class ForkStorage {
179
179
  const accounts = JSON.parse(readFileSync(accountsPath, 'utf-8'));
180
180
  return Object.keys(accounts);
181
181
  }
182
+ /**
183
+ * Clear all cached accounts
184
+ * Resets accounts.json to empty object
185
+ */
186
+ clearAccounts() {
187
+ const accountsPath = join(this.forkPath, 'accounts.json');
188
+ writeFileSync(accountsPath, JSON.stringify({}, null, 2));
189
+ }
190
+ /**
191
+ * Clear all cached resources
192
+ * Deletes all resource files from the resources directory
193
+ */
194
+ clearResources() {
195
+ const resourcesDir = join(this.forkPath, 'resources');
196
+ if (!existsSync(resourcesDir)) {
197
+ return;
198
+ }
199
+ // Read all files in resources directory
200
+ const files = readdirSync(resourcesDir);
201
+ // Delete each resource file
202
+ for (const file of files) {
203
+ if (file.endsWith('.json')) {
204
+ const filePath = join(resourcesDir, file);
205
+ unlinkSync(filePath);
206
+ }
207
+ }
208
+ }
182
209
  }
183
210
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/fork/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/fork/storage.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,12 @@ export { saveDeployment, loadDeployment, getAllDeployments, getDeployedAddress,
7
7
  export type { DeploymentInfo } from "../core/deployments.js";
8
8
  export { snapshot, getForkInfo, viewForkResource, compareForkState, listSnapshots, } from "../fork/test.js";
9
9
  export type { SnapshotOptions, ForkInfo } from "../fork/test.js";
10
- export type { MovehatConfig } from "../types/config.js";
10
+ export { AccountManager } from "../core/AccountManager.js";
11
+ export type { StoredAccount } from "../core/AccountManager.js";
12
+ export { LocalNodeManager } from "../node/LocalNodeManager.js";
13
+ export type { LocalNodeOptions, LocalNodeInfo } from "../node/LocalNodeManager.js";
14
+ export { setupLocalTesting, stopLocalTesting, getCurrentForkManager, getCurrentLocalNode, resetForkState, } from "./setupLocalTesting.js";
15
+ export { setupTestFixture, teardownTestFixture, setupMinimalFixture, } from "./testFixtures.js";
16
+ export type { TestFixture } from "./testFixtures.js";
17
+ export type { MovehatConfig, LocalTestOptions } from "../types/config.js";
11
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -4,4 +4,8 @@ export { MoveContract, getContract } from "../core/contract.js";
4
4
  export { assertTransactionSuccess, assertTransactionFailed, } from "./assertions.js";
5
5
  export { saveDeployment, loadDeployment, getAllDeployments, getDeployedAddress, } from "../core/deployments.js";
6
6
  export { snapshot, getForkInfo, viewForkResource, compareForkState, listSnapshots, } from "../fork/test.js";
7
+ export { AccountManager } from "../core/AccountManager.js";
8
+ export { LocalNodeManager } from "../node/LocalNodeManager.js";
9
+ export { setupLocalTesting, stopLocalTesting, getCurrentForkManager, getCurrentLocalNode, resetForkState, } from "./setupLocalTesting.js";
10
+ export { setupTestFixture, teardownTestFixture, setupMinimalFixture, } from "./testFixtures.js";
7
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC"}