@muritavo/testing-toolkit 0.3.3 → 0.3.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.
|
@@ -10,7 +10,7 @@ export declare const deleteCollection: (projectId: string, collectionPath: strin
|
|
|
10
10
|
* @param projectId The current project id of the emulator instance
|
|
11
11
|
* @param cb The callback to be executed
|
|
12
12
|
*/
|
|
13
|
-
export declare const setupEmulator: (projectId: string, cb: (firestore: firebase.firestore
|
|
13
|
+
export declare const setupEmulator: (projectId: string, cb: (firestore: ReturnType<typeof firebase.firestore>, storage: ReturnType<typeof firebase.storage>) => Promise<void>, storageBucket?: string) => Promise<void>;
|
|
14
14
|
/**
|
|
15
15
|
* Creates a user on the auth emulator allowing him to authenticate to the emulator
|
|
16
16
|
* @param projectId The current project id of the emulator instance
|
|
@@ -18,7 +18,7 @@ export declare function deployContract<const ABI extends any[] = []>({ contractA
|
|
|
18
18
|
contractName: string;
|
|
19
19
|
args: any[];
|
|
20
20
|
}): Promise<{
|
|
21
|
-
address:
|
|
21
|
+
address: import("ethers").BaseContractMethod<any[], any, any>;
|
|
22
22
|
owner: string;
|
|
23
23
|
contract: GenericContract<ABI, "allEvents" | (ABI[number] extends infer T ? T extends ABI[number] ? T extends {
|
|
24
24
|
type: "event";
|
|
@@ -75,7 +75,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
75
75
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
76
76
|
exports.deployContract = exports.startBlockchain = void 0;
|
|
77
77
|
var debug_1 = __importDefault(require("debug"));
|
|
78
|
-
var task_names_1 = require("hardhat/builtin-tasks/task-names");
|
|
79
78
|
var logger = (0, debug_1.default)("@muritavo/testing-toolkit/blockchain");
|
|
80
79
|
var instance;
|
|
81
80
|
function startBlockchain(_a) {
|
|
@@ -114,7 +113,7 @@ function startBlockchain(_a) {
|
|
|
114
113
|
var timeoutId = setTimeout(function () {
|
|
115
114
|
rej(new Error("Something went wrong while starting hardhat node"));
|
|
116
115
|
}, 30000);
|
|
117
|
-
serverInstance.tasks[
|
|
116
|
+
serverInstance.tasks[serverInstance.taskNames.TASK_NODE_SERVER_READY].setAction(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
118
117
|
return __generator(this, function (_a) {
|
|
119
118
|
clearTimeout(timeoutId);
|
|
120
119
|
r();
|
|
@@ -153,7 +152,7 @@ function deployer(index, hardhat) {
|
|
|
153
152
|
if (index === void 0) { index = 0; }
|
|
154
153
|
var ethers = hardhat.ethers;
|
|
155
154
|
var accounts = hardhat.config.networks.hardhat.accounts;
|
|
156
|
-
var wallet = ethers.Wallet.
|
|
155
|
+
var wallet = ethers.Wallet.fromPhrase(accounts.mnemonic, accounts.path + "/".concat(index));
|
|
157
156
|
return {
|
|
158
157
|
key: wallet.privateKey,
|
|
159
158
|
address: wallet.address,
|
|
@@ -161,48 +160,57 @@ function deployer(index, hardhat) {
|
|
|
161
160
|
}
|
|
162
161
|
function initHardhat(dir) {
|
|
163
162
|
return __awaiter(this, void 0, void 0, function () {
|
|
164
|
-
var startingDir, hardhat, e_1;
|
|
163
|
+
var startingDir, hardhat, _a, e_1;
|
|
165
164
|
var _this = this;
|
|
166
|
-
return __generator(this, function (
|
|
167
|
-
switch (
|
|
165
|
+
return __generator(this, function (_b) {
|
|
166
|
+
switch (_b.label) {
|
|
168
167
|
case 0:
|
|
169
168
|
startingDir = process.cwd();
|
|
170
169
|
process.chdir(dir);
|
|
171
|
-
|
|
170
|
+
_b.label = 1;
|
|
172
171
|
case 1:
|
|
173
|
-
|
|
172
|
+
_b.trys.push([1, 4, , 5]);
|
|
174
173
|
return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {
|
|
175
|
-
var e_2;
|
|
176
174
|
return __generator(this, function (_a) {
|
|
177
175
|
switch (_a.label) {
|
|
178
176
|
case 0:
|
|
179
|
-
|
|
177
|
+
if (!require) return [3 /*break*/, 1];
|
|
180
178
|
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")); })];
|
|
179
|
+
case 1: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("hardhat")); })];
|
|
185
180
|
case 2: return [2 /*return*/, (_a.sent()).default];
|
|
186
|
-
case 3: return [2 /*return*/];
|
|
187
181
|
}
|
|
188
182
|
});
|
|
189
183
|
}); })()];
|
|
190
184
|
case 2:
|
|
191
|
-
hardhat = (
|
|
185
|
+
hardhat = (_b.sent());
|
|
186
|
+
_a = hardhat;
|
|
187
|
+
return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {
|
|
188
|
+
return __generator(this, function (_a) {
|
|
189
|
+
switch (_a.label) {
|
|
190
|
+
case 0:
|
|
191
|
+
if (!require) return [3 /*break*/, 1];
|
|
192
|
+
return [2 /*return*/, require("hardhat/builtin-tasks/task-names")];
|
|
193
|
+
case 1: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("hardhat/builtin-tasks/task-names")); })];
|
|
194
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}); })()];
|
|
198
|
+
case 3:
|
|
199
|
+
_a.taskNames = (_b.sent());
|
|
192
200
|
process.chdir(startingDir);
|
|
193
201
|
return [2 /*return*/, hardhat];
|
|
194
|
-
case
|
|
195
|
-
e_1 =
|
|
202
|
+
case 4:
|
|
203
|
+
e_1 = _b.sent();
|
|
196
204
|
process.chdir(startingDir);
|
|
197
205
|
throw e_1;
|
|
198
|
-
case
|
|
206
|
+
case 5: return [2 /*return*/];
|
|
199
207
|
}
|
|
200
208
|
});
|
|
201
209
|
});
|
|
202
210
|
}
|
|
203
211
|
function deployContract(_a) {
|
|
204
212
|
return __awaiter(this, arguments, void 0, function (_b) {
|
|
205
|
-
var getContract, ethers, owner, Factory, lock_1, connection,
|
|
213
|
+
var getContract, ethers, owner, Factory, lock_1, connection, initializationKey_1, e_2;
|
|
206
214
|
var _c, _d;
|
|
207
215
|
var _this = this;
|
|
208
216
|
var contractAbi = _b.contractAbi, contractName = _b.contractName, args = _b.args;
|
|
@@ -218,14 +226,17 @@ function deployContract(_a) {
|
|
|
218
226
|
if (!(instance === null || instance === void 0 ? void 0 : instance.rootFolder))
|
|
219
227
|
throw new Error("You are trying to deploy a contract without defining the Blockchain Project folder. Please define it at startBlockchain command.");
|
|
220
228
|
getContract = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
221
|
-
var Web3, web3;
|
|
222
|
-
return __generator(this, function (
|
|
223
|
-
switch (
|
|
229
|
+
var Web3, web3, _a, _b, _c;
|
|
230
|
+
return __generator(this, function (_d) {
|
|
231
|
+
switch (_d.label) {
|
|
224
232
|
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("web3")); })];
|
|
225
233
|
case 1:
|
|
226
|
-
Web3 = (
|
|
234
|
+
Web3 = (_d.sent()).default;
|
|
227
235
|
web3 = new Web3(new Web3.providers.HttpProvider("http://".concat("127.0.0.1", ":").concat(instance.port)));
|
|
228
|
-
|
|
236
|
+
_b = (_a = web3.eth.Contract).bind;
|
|
237
|
+
_c = [void 0, contractAbi];
|
|
238
|
+
return [4 /*yield*/, lock_1.getAddress()];
|
|
239
|
+
case 2: return [2 /*return*/, new (_b.apply(_a, _c.concat([_d.sent()])))()];
|
|
229
240
|
}
|
|
230
241
|
});
|
|
231
242
|
}); };
|
|
@@ -241,15 +252,21 @@ function deployContract(_a) {
|
|
|
241
252
|
return [4 /*yield*/, Factory.deploy()];
|
|
242
253
|
case 5:
|
|
243
254
|
lock_1 = _e.sent();
|
|
244
|
-
return [4 /*yield*/, lock_1.
|
|
255
|
+
return [4 /*yield*/, lock_1.waitForDeployment()];
|
|
245
256
|
case 6:
|
|
246
257
|
_e.sent();
|
|
247
258
|
if (!(args.length > 0)) return [3 /*break*/, 10];
|
|
248
259
|
logger("Initializing contract with owner ".concat(owner, " and args ").concat(args));
|
|
249
260
|
connection = lock_1.connect(owner);
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
261
|
+
initializationKey_1 = "initialize";
|
|
262
|
+
connection.interface.forEachFunction(function (func) {
|
|
263
|
+
var funcName = func.name;
|
|
264
|
+
if (funcName.split(",", args.length) &&
|
|
265
|
+
funcName.startsWith("initialize("))
|
|
266
|
+
initializationKey_1 = funcName;
|
|
267
|
+
});
|
|
268
|
+
if (!connection[initializationKey_1]) return [3 /*break*/, 8];
|
|
269
|
+
return [4 /*yield*/, connection[initializationKey_1].apply(connection, args)];
|
|
253
270
|
case 7:
|
|
254
271
|
_e.sent();
|
|
255
272
|
_e.label = 8;
|
|
@@ -271,9 +288,9 @@ function deployContract(_a) {
|
|
|
271
288
|
_d)];
|
|
272
289
|
case 12: return [3 /*break*/, 14];
|
|
273
290
|
case 13:
|
|
274
|
-
|
|
275
|
-
logger("Something has gone wrong",
|
|
276
|
-
throw
|
|
291
|
+
e_2 = _e.sent();
|
|
292
|
+
logger("Something has gone wrong", e_2);
|
|
293
|
+
throw e_2;
|
|
277
294
|
case 14: return [2 /*return*/];
|
|
278
295
|
}
|
|
279
296
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/native/blockchain.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;
|
|
1
|
+
{"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/native/blockchain.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@muritavo/testing-toolkit",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "A series of functions to help with testing",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -22,8 +22,9 @@
|
|
|
22
22
|
},
|
|
23
23
|
"homepage": "https://github.com/Muritavo/testing-toolkit#readme",
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@
|
|
25
|
+
"@nomicfoundation/hardhat-ethers": "^3.0.5",
|
|
26
26
|
"@types/jest": "^29.5.12",
|
|
27
|
+
"ethers": "^6.12.0",
|
|
27
28
|
"firebase": "^9.10.0",
|
|
28
29
|
"firebase-admin": "^11.5.0",
|
|
29
30
|
"ganache": "^7.8.0",
|