@muritavo/testing-toolkit 0.3.3 → 0.4.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.
@@ -1,4 +1,10 @@
1
1
  import GenericContract, { MapTypeToJS } from "../types/contract";
2
+ /**
3
+ * For future me: This is needed because when using
4
+ * on cypress-toolkit "startblockchain" and "invokecontract"
5
+ * are run in different contexts, so the port variable cannot be
6
+ * shared.
7
+ */
2
8
  export declare function setPort(_port: number): void;
3
9
  export declare function invokeContract<C, M extends keyof C["methods"]>(wallet: string, _contract: C, contractMethodName: M, ...params: Parameters<C["methods"][M]>): Promise<C extends GenericContract<infer ABI> ? (ABI[number] & {
4
10
  name: M;
@@ -41,11 +41,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  exports.invokeContract = exports.setPort = void 0;
43
43
  var web3_1 = __importDefault(require("web3"));
44
- var port = 8545;
44
+ var port;
45
+ /**
46
+ * For future me: This is needed because when using
47
+ * on cypress-toolkit "startblockchain" and "invokecontract"
48
+ * are run in different contexts, so the port variable cannot be
49
+ * shared.
50
+ */
45
51
  function setPort(_port) {
46
52
  port = _port;
47
53
  }
48
54
  exports.setPort = setPort;
55
+ function _getPort() {
56
+ if (!port)
57
+ throw new Error("Please, indicate the port that the blockchain node is running (by default it runs on 8545) \nusing the setPort from \"@muritavo/testing-toolkit/dist/client/blockchain\"");
58
+ return port;
59
+ }
49
60
  /// @ts-expect-error
50
61
  function invokeContract(wallet, _contract, contractMethodName) {
51
62
  /// @ts-expect-error
@@ -80,7 +91,7 @@ function invokeContract(wallet, _contract, contractMethodName) {
80
91
  gas: 90000000,
81
92
  gasPrice: "90000000000",
82
93
  });
83
- web3 = new web3_1.default(new web3_1.default.providers.HttpProvider("http://".concat("127.0.0.1", ":").concat(port)));
94
+ web3 = new web3_1.default(new web3_1.default.providers.HttpProvider("http://".concat("127.0.0.1", ":").concat(_getPort())));
84
95
  return [2 /*return*/, new Promise(function (r, rej) { return __awaiter(_this, void 0, void 0, function () {
85
96
  var txHash, transaction, isMined;
86
97
  return __generator(this, function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/client/blockchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/client/blockchain.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
+ import debug from "debug";
1
2
  import GenericContract from "../types/contract";
3
+ export declare const blockchainLogger: debug.Debugger;
2
4
  type Addresses = {
3
5
  [wallet: string]: {
4
6
  secretKey: string;
5
7
  };
6
8
  };
7
- export declare function startBlockchain({ projectRootFolder: projectFolder, port, }: {
9
+ export declare function startBlockchain({ projectRootFolder: projectFolder, port, graphqlProject, }: {
8
10
  /** The NFT projects root folder so the contracts can be deployed from */
9
11
  projectRootFolder: string;
10
12
  /**
@@ -12,6 +14,10 @@ export declare function startBlockchain({ projectRootFolder: projectFolder, port
12
14
  * @default 8545
13
15
  * */
14
16
  port?: number;
17
+ /**
18
+ * Adds support for graphql for listening to blockchain events and indexing information.
19
+ */
20
+ graphqlProject?: string;
15
21
  }): Promise<Addresses>;
16
22
  export declare function deployContract<const ABI extends any[] = []>({ contractAbi, contractName, args, }: {
17
23
  contractAbi: ABI;
@@ -24,4 +30,10 @@ export declare function deployContract<const ABI extends any[] = []>({ contractA
24
30
  type: "event";
25
31
  } ? T["name"] : never : never : never)>;
26
32
  }>;
33
+ /**
34
+ * Takes a graph and deploys it into the graph-node
35
+ */
36
+ export declare function deployGraph(graphPath: string, contractAddresses: {
37
+ [deployedContractName: string]: string;
38
+ }): Promise<void>;
27
39
  export {};
@@ -73,16 +73,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
73
73
  return (mod && mod.__esModule) ? mod : { "default": mod };
74
74
  };
75
75
  Object.defineProperty(exports, "__esModule", { value: true });
76
- exports.deployContract = exports.startBlockchain = void 0;
76
+ exports.deployGraph = exports.deployContract = exports.startBlockchain = exports.blockchainLogger = void 0;
77
77
  var debug_1 = __importDefault(require("debug"));
78
- var task_names_1 = require("hardhat/builtin-tasks/task-names");
79
- var logger = (0, debug_1.default)("@muritavo/testing-toolkit/blockchain");
78
+ var blockchain_1 = require("../client/blockchain");
79
+ var child_process_1 = require("child_process");
80
+ var utility_1 = require("../utility");
81
+ var fs_1 = require("fs");
82
+ var path_1 = require("path");
83
+ exports.blockchainLogger = (0, debug_1.default)("@muritavo/testing-toolkit/blockchain");
80
84
  var instance;
81
85
  function startBlockchain(_a) {
82
86
  return __awaiter(this, arguments, void 0, function (_b) {
83
87
  var prevFork, serverInstance, accounts;
84
88
  var _this = this;
85
- var projectFolder = _b.projectRootFolder, _c = _b.port, port = _c === void 0 ? 8545 : _c;
89
+ var projectFolder = _b.projectRootFolder, _c = _b.port, port = _c === void 0 ? 8545 : _c, graphqlProject = _b.graphqlProject;
86
90
  return __generator(this, function (_d) {
87
91
  switch (_d.label) {
88
92
  case 0:
@@ -106,7 +110,12 @@ function startBlockchain(_a) {
106
110
  case 2: return [2 /*return*/, instance.addresses];
107
111
  case 3:
108
112
  if (projectFolder)
109
- logger("Starting blockchain server at \"".concat(projectFolder, "\""));
113
+ (0, exports.blockchainLogger)("Starting blockchain server at \"".concat(projectFolder, "\""));
114
+ if (graphqlProject)
115
+ (0, child_process_1.execSync)("docker-compose up --detach", {
116
+ cwd: graphqlProject,
117
+ stdio: "ignore",
118
+ });
110
119
  return [4 /*yield*/, initHardhat(projectFolder)];
111
120
  case 4:
112
121
  serverInstance = _d.sent();
@@ -114,7 +123,7 @@ function startBlockchain(_a) {
114
123
  var timeoutId = setTimeout(function () {
115
124
  rej(new Error("Something went wrong while starting hardhat node"));
116
125
  }, 30000);
117
- serverInstance.tasks[task_names_1.TASK_NODE_SERVER_READY].setAction(function () { return __awaiter(_this, void 0, void 0, function () {
126
+ serverInstance.tasks[serverInstance.taskNames.TASK_NODE_SERVER_READY].setAction(function () { return __awaiter(_this, void 0, void 0, function () {
118
127
  return __generator(this, function (_a) {
119
128
  clearTimeout(timeoutId);
120
129
  r();
@@ -143,6 +152,7 @@ function startBlockchain(_a) {
143
152
  addresses: accounts,
144
153
  port: port,
145
154
  };
155
+ (0, blockchain_1.setPort)(port);
146
156
  return [2 /*return*/, accounts];
147
157
  }
148
158
  });
@@ -153,7 +163,7 @@ function deployer(index, hardhat) {
153
163
  if (index === void 0) { index = 0; }
154
164
  var ethers = hardhat.ethers;
155
165
  var accounts = hardhat.config.networks.hardhat.accounts;
156
- var wallet = ethers.Wallet.fromMnemonic(accounts.mnemonic, accounts.path + "/".concat(index));
166
+ var wallet = ethers.Wallet.fromPhrase(accounts.mnemonic, accounts.path + "/".concat(index));
157
167
  return {
158
168
  key: wallet.privateKey,
159
169
  address: wallet.address,
@@ -161,71 +171,83 @@ function deployer(index, hardhat) {
161
171
  }
162
172
  function initHardhat(dir) {
163
173
  return __awaiter(this, void 0, void 0, function () {
164
- var startingDir, hardhat, e_1;
174
+ var startingDir, hardhat, _a, e_1;
165
175
  var _this = this;
166
- return __generator(this, function (_a) {
167
- switch (_a.label) {
176
+ return __generator(this, function (_b) {
177
+ switch (_b.label) {
168
178
  case 0:
169
179
  startingDir = process.cwd();
170
180
  process.chdir(dir);
171
- _a.label = 1;
181
+ _b.label = 1;
172
182
  case 1:
173
- _a.trys.push([1, 3, , 4]);
183
+ _b.trys.push([1, 4, , 5]);
174
184
  return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {
175
- var e_2;
176
185
  return __generator(this, function (_a) {
177
186
  switch (_a.label) {
178
187
  case 0:
179
- _a.trys.push([0, 1, , 3]);
188
+ if (!require) return [3 /*break*/, 1];
180
189
  return [2 /*return*/, require("hardhat")];
181
- case 1:
182
- e_2 = _a.sent();
183
- console.log("Requiring hardhat failed... Trying using import... Check the error below\n", e_2);
184
- return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("hardhat")); })];
190
+ case 1: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("hardhat")); })];
185
191
  case 2: return [2 /*return*/, (_a.sent()).default];
186
- case 3: return [2 /*return*/];
187
192
  }
188
193
  });
189
194
  }); })()];
190
195
  case 2:
191
- hardhat = (_a.sent());
196
+ hardhat = (_b.sent());
197
+ _a = hardhat;
198
+ return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {
199
+ return __generator(this, function (_a) {
200
+ switch (_a.label) {
201
+ case 0:
202
+ if (!require) return [3 /*break*/, 1];
203
+ return [2 /*return*/, require("hardhat/builtin-tasks/task-names")];
204
+ case 1: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("hardhat/builtin-tasks/task-names")); })];
205
+ case 2: return [2 /*return*/, _a.sent()];
206
+ }
207
+ });
208
+ }); })()];
209
+ case 3:
210
+ _a.taskNames = (_b.sent());
192
211
  process.chdir(startingDir);
193
212
  return [2 /*return*/, hardhat];
194
- case 3:
195
- e_1 = _a.sent();
213
+ case 4:
214
+ e_1 = _b.sent();
196
215
  process.chdir(startingDir);
197
216
  throw e_1;
198
- case 4: return [2 /*return*/];
217
+ case 5: return [2 /*return*/];
199
218
  }
200
219
  });
201
220
  });
202
221
  }
203
222
  function deployContract(_a) {
204
223
  return __awaiter(this, arguments, void 0, function (_b) {
205
- var getContract, ethers, owner, Factory, lock_1, connection, initializationKey, e_3;
224
+ var getContract, ethers, owner, Factory, lock_1, connection, initializationKey_1, e_2;
206
225
  var _c, _d;
207
226
  var _this = this;
208
227
  var contractAbi = _b.contractAbi, contractName = _b.contractName, args = _b.args;
209
228
  return __generator(this, function (_e) {
210
229
  switch (_e.label) {
211
230
  case 0:
212
- logger("Deploying contract ".concat(contractName, " with ").concat(args.length, " parameters ").concat(args
231
+ (0, exports.blockchainLogger)("Deploying contract ".concat(contractName, " with ").concat(args.length, " parameters ").concat(args
213
232
  .map(function (a) { return "".concat(a, " (").concat(Array.isArray(a) ? "array" : typeof a, ")"); })
214
233
  .join(", ")));
215
234
  _e.label = 1;
216
235
  case 1:
217
- _e.trys.push([1, 13, , 14]);
236
+ _e.trys.push([1, 17, , 18]);
218
237
  if (!(instance === null || instance === void 0 ? void 0 : instance.rootFolder))
219
238
  throw new Error("You are trying to deploy a contract without defining the Blockchain Project folder. Please define it at startBlockchain command.");
220
239
  getContract = function () { return __awaiter(_this, void 0, void 0, function () {
221
- var Web3, web3;
222
- return __generator(this, function (_a) {
223
- switch (_a.label) {
240
+ var Web3, web3, _a, _b, _c;
241
+ return __generator(this, function (_d) {
242
+ switch (_d.label) {
224
243
  case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("web3")); })];
225
244
  case 1:
226
- Web3 = (_a.sent()).default;
245
+ Web3 = (_d.sent()).default;
227
246
  web3 = new Web3(new Web3.providers.HttpProvider("http://".concat("127.0.0.1", ":").concat(instance.port)));
228
- return [2 /*return*/, new web3.eth.Contract(contractAbi, lock_1.address)];
247
+ _b = (_a = web3.eth.Contract).bind;
248
+ _c = [void 0, contractAbi];
249
+ return [4 /*yield*/, lock_1.getAddress()];
250
+ case 2: return [2 /*return*/, new (_b.apply(_a, _c.concat([_d.sent()])))()];
229
251
  }
230
252
  });
231
253
  }); };
@@ -241,43 +263,128 @@ function deployContract(_a) {
241
263
  return [4 /*yield*/, Factory.deploy()];
242
264
  case 5:
243
265
  lock_1 = _e.sent();
244
- return [4 /*yield*/, lock_1.deployed()];
266
+ return [4 /*yield*/, lock_1.waitForDeployment()];
245
267
  case 6:
246
268
  _e.sent();
247
- if (!(args.length > 0)) return [3 /*break*/, 10];
248
- logger("Initializing contract with owner ".concat(owner, " and args ").concat(args));
269
+ if (!(args.length > 0)) return [3 /*break*/, 12];
270
+ (0, exports.blockchainLogger)("Initializing contract with owner ".concat(owner, " and args ").concat(args));
249
271
  connection = lock_1.connect(owner);
250
- initializationKey = Object.keys(connection.functions).find(function (a) { return a.split(",", args.length) && a.startsWith("initialize("); }) || "initialize";
251
- if (!connection[initializationKey]) return [3 /*break*/, 8];
252
- return [4 /*yield*/, connection[initializationKey].apply(connection, args)];
272
+ initializationKey_1 = "initialize";
273
+ connection.interface.forEachFunction(function (func) {
274
+ var funcName = func.name;
275
+ if (funcName.split(",", args.length) &&
276
+ funcName.startsWith("initialize("))
277
+ initializationKey_1 = funcName;
278
+ });
279
+ if (!connection[initializationKey_1]) return [3 /*break*/, 8];
280
+ return [4 /*yield*/, connection[initializationKey_1].apply(connection, args)];
253
281
  case 7:
254
282
  _e.sent();
255
283
  _e.label = 8;
256
284
  case 8:
257
- _c = {
258
- address: lock_1.address,
259
- owner: owner.address
260
- };
285
+ _c = {};
286
+ return [4 /*yield*/, lock_1.getAddress()];
287
+ case 9:
288
+ _c.address = _e.sent();
289
+ return [4 /*yield*/, owner.getAddress()];
290
+ case 10:
291
+ _c.owner = _e.sent();
261
292
  return [4 /*yield*/, getContract()];
262
- case 9: return [2 /*return*/, (_c.contract = _e.sent(),
293
+ case 11: return [2 /*return*/, (_c.contract = _e.sent(),
263
294
  _c)];
264
- case 10:
265
- _d = {
266
- address: lock_1.address,
267
- owner: owner.address
268
- };
295
+ case 12:
296
+ _d = {};
297
+ return [4 /*yield*/, lock_1.getAddress()];
298
+ case 13:
299
+ _d.address = _e.sent();
300
+ return [4 /*yield*/, owner.getAddress()];
301
+ case 14:
302
+ _d.owner = _e.sent();
269
303
  return [4 /*yield*/, getContract()];
270
- case 11: return [2 /*return*/, (_d.contract = _e.sent(),
304
+ case 15: return [2 /*return*/, (_d.contract = _e.sent(),
271
305
  _d)];
272
- case 12: return [3 /*break*/, 14];
273
- case 13:
274
- e_3 = _e.sent();
275
- logger("Something has gone wrong", e_3);
276
- throw e_3;
277
- case 14: return [2 /*return*/];
306
+ case 16: return [3 /*break*/, 18];
307
+ case 17:
308
+ e_2 = _e.sent();
309
+ (0, exports.blockchainLogger)("Something has gone wrong", e_2);
310
+ throw e_2;
311
+ case 18: return [2 /*return*/];
278
312
  }
279
313
  });
280
314
  });
281
315
  }
282
316
  exports.deployContract = deployContract;
317
+ /**
318
+ * Takes a graph and deploys it into the graph-node
319
+ */
320
+ function deployGraph(graphPath, contractAddresses) {
321
+ return __awaiter(this, void 0, void 0, function () {
322
+ function generateGraphManifest() {
323
+ var graphManifestCacheDir = cacheDir({ name: "graph-manifest" });
324
+ var subgraphYml = parse((0, fs_1.readFileSync)((0, path_1.resolve)(graphPath, "subgraph.yaml")).toString());
325
+ function relativeToAbsolutePath(relativePath) {
326
+ return (0, path_1.resolve)(graphPath, relativePath);
327
+ }
328
+ subgraphYml.schema.file = relativeToAbsolutePath(subgraphYml.schema.file);
329
+ for (var _i = 0, _a = subgraphYml.dataSources; _i < _a.length; _i++) {
330
+ var dataSource = _a[_i];
331
+ dataSource.network = "localhost";
332
+ if (!contractAddresses[dataSource.source.abi])
333
+ throw new Error("Please, provide the address for the contract \"".concat(dataSource.source.abi, "\" deployed on the local hardhat node"));
334
+ dataSource.source.address = contractAddresses[dataSource.source.abi];
335
+ dataSource.mapping.file = relativeToAbsolutePath(dataSource.mapping.file);
336
+ for (var _b = 0, _c = dataSource.mapping.abis; _b < _c.length; _b++) {
337
+ var abi = _c[_b];
338
+ abi.file = relativeToAbsolutePath(abi.file);
339
+ }
340
+ }
341
+ var graphManifestPath = (0, path_1.resolve)(graphManifestCacheDir, "subgraph.yaml");
342
+ if (!(0, fs_1.existsSync)(graphManifestCacheDir))
343
+ (0, fs_1.mkdirSync)(graphManifestCacheDir, { recursive: true });
344
+ (0, fs_1.writeFileSync)(graphManifestPath, stringify(subgraphYml));
345
+ return graphManifestPath;
346
+ }
347
+ var _a, parse, stringify, cacheDir, stdioMode, error_1, localhostGraphManifest;
348
+ return __generator(this, function (_b) {
349
+ switch (_b.label) {
350
+ case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("yaml")); })];
351
+ case 1:
352
+ _a = _b.sent(), parse = _a.parse, stringify = _a.stringify;
353
+ return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("find-cache-dir")); })];
354
+ case 2:
355
+ cacheDir = (_b.sent()).default;
356
+ stdioMode = exports.blockchainLogger.enabled ? undefined : "ignore";
357
+ _b.label = 3;
358
+ case 3:
359
+ if (!true) return [3 /*break*/, 8];
360
+ _b.label = 4;
361
+ case 4:
362
+ _b.trys.push([4, 5, , 7]);
363
+ (0, child_process_1.execSync)("yarn create-local", {
364
+ cwd: graphPath,
365
+ stdio: stdioMode,
366
+ });
367
+ return [3 /*break*/, 8];
368
+ case 5:
369
+ error_1 = _b.sent();
370
+ return [4 /*yield*/, (0, utility_1.wait)(1000)];
371
+ case 6:
372
+ _b.sent();
373
+ return [3 /*break*/, 7];
374
+ case 7: return [3 /*break*/, 3];
375
+ case 8:
376
+ localhostGraphManifest = generateGraphManifest();
377
+ (0, child_process_1.execSync)("yarn deploy-local ".concat(localhostGraphManifest, " -l v0.0.1"), {
378
+ cwd: graphPath,
379
+ stdio: stdioMode,
380
+ });
381
+ return [4 /*yield*/, (0, utility_1.wait)(1000)];
382
+ case 9:
383
+ _b.sent();
384
+ return [2 /*return*/];
385
+ }
386
+ });
387
+ });
388
+ }
389
+ exports.deployGraph = deployGraph;
283
390
  //# sourceMappingURL=blockchain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/native/blockchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/native/blockchain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function wait(timeMs: number): Promise<unknown>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wait = void 0;
4
+ function wait(timeMs) {
5
+ return new Promise(function (r) {
6
+ setTimeout(function () {
7
+ r(null);
8
+ }, timeMs);
9
+ });
10
+ }
11
+ exports.wait = wait;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utility/index.ts"],"names":[],"mappings":";;;AAAA,SAAgB,IAAI,CAAC,MAAc;IACjC,OAAO,IAAI,OAAO,CAAC,UAAC,CAAC;QACnB,UAAU,CAAC;YACT,CAAC,CAAC,IAAI,CAAC,CAAC;QACV,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAND,oBAMC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muritavo/testing-toolkit",
3
- "version": "0.3.3",
3
+ "version": "0.4.0",
4
4
  "description": "A series of functions to help with testing",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -9,7 +9,9 @@
9
9
  "scripts": {
10
10
  "dev": "tsc --watch",
11
11
  "prepack": "tsc",
12
- "test": "jest --watchAll"
12
+ "test": "jest --watchAll",
13
+ "graph-codegen": "cd ./test/graphs/simple-graph && graph codegen",
14
+ "graph-build": "cd ./test/graphs/simple-graph && graph build"
13
15
  },
14
16
  "repository": {
15
17
  "type": "git",
@@ -22,23 +24,31 @@
22
24
  },
23
25
  "homepage": "https://github.com/Muritavo/testing-toolkit#readme",
24
26
  "devDependencies": {
25
- "@nomiclabs/hardhat-ethers": "^2.2.3",
27
+ "@apollo/client": "^3.10.4",
28
+ "@graphprotocol/graph-ts": "^0.35.1",
29
+ "@nomicfoundation/hardhat-ethers": "^3.0.5",
30
+ "@types/debug": "^4.1.12",
26
31
  "@types/jest": "^29.5.12",
32
+ "ethers": "^6.12.0",
33
+ "find-cache-dir": "^3.0.0",
27
34
  "firebase": "^9.10.0",
28
35
  "firebase-admin": "^11.5.0",
29
36
  "ganache": "^7.8.0",
37
+ "graphql": "^16.8.1",
30
38
  "hardhat": "^2.14.1",
31
39
  "jest": "^29.7.0",
40
+ "react": "^18.3.1",
32
41
  "text2png": "^2.3.0",
33
42
  "ts-jest": "^29.1.2",
34
43
  "web3": "^1",
35
- "web3v4": "npm:web3@4.1.0"
44
+ "web3v4": "npm:web3@4.1.0",
45
+ "yaml": "^2.4.2"
36
46
  },
37
47
  "dependencies": {
38
48
  "@firebase/rules-unit-testing": "^2.0.4",
39
49
  "@types/kill-port": "^2.0.3",
40
50
  "@types/node-fetch": "^2.6.2",
41
- "kill-port": "^2.0.1",
51
+ "kill-port": "^1.6.0",
42
52
  "node-fetch": "^1",
43
53
  "typescript": "^5.4.2"
44
54
  }