@muritavo/testing-toolkit 0.2.1 → 0.3.1
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/dist/client/blockchain.d.ts +2 -0
- package/dist/client/blockchain.js +112 -0
- package/dist/client/blockchain.js.map +1 -0
- package/dist/native/blockchain.d.ts +7 -3
- package/dist/native/blockchain.js +16 -7
- package/dist/native/blockchain.js.map +1 -1
- package/dist/src/client/blockchain.d.ts +6 -0
- package/dist/src/client/blockchain.js +122 -0
- package/dist/src/client/blockchain.js.map +1 -0
- package/dist/src/client/emulator.d.ts +65 -0
- package/dist/src/client/emulator.js +251 -0
- package/dist/src/client/emulator.js.map +1 -0
- package/dist/src/client/utility.d.ts +7 -0
- package/dist/src/client/utility.js +39 -0
- package/dist/src/client/utility.js.map +1 -0
- package/dist/src/native/blockchain.d.ts +20 -0
- package/dist/src/native/blockchain.js +284 -0
- package/dist/src/native/blockchain.js.map +1 -0
- package/dist/src/native/consts.d.ts +5 -0
- package/dist/src/native/consts.js +9 -0
- package/dist/src/native/consts.js.map +1 -0
- package/dist/src/native/emulator.d.ts +36 -0
- package/dist/src/native/emulator.js +241 -0
- package/dist/src/native/emulator.js.map +1 -0
- package/dist/src/types/contract.d.ts +79 -0
- package/dist/src/types/contract.js +31 -0
- package/dist/src/types/contract.js.map +1 -0
- package/dist/test/blockchain.test.d.ts +1 -0
- package/dist/test/blockchain.test.js +97 -0
- package/dist/test/blockchain.test.js.map +1 -0
- package/dist/test/fixtures/zero_x_abi.d.ts +31 -0
- package/dist/test/fixtures/zero_x_abi.js +44 -0
- package/dist/test/fixtures/zero_x_abi.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
39
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
40
|
+
if (ar || !(i in from)) {
|
|
41
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
42
|
+
ar[i] = from[i];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
46
|
+
};
|
|
47
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
48
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
49
|
+
};
|
|
50
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
exports.clearFirestore = exports.setEmulatorConfig = exports.clearAuth = exports.addAuthUser = exports.setupEmulator = exports.deleteCollection = void 0;
|
|
52
|
+
var node_fetch_1 = __importDefault(require("node-fetch"));
|
|
53
|
+
var rules_unit_testing_1 = require("@firebase/rules-unit-testing");
|
|
54
|
+
var consts_1 = require("../native/consts");
|
|
55
|
+
var emulatorConfig;
|
|
56
|
+
/**
|
|
57
|
+
* Deletes a collection from firebase
|
|
58
|
+
* @param projectId The current project id of the emulator instance
|
|
59
|
+
* @param collectionPath The collection path **starting with "/"**
|
|
60
|
+
*/
|
|
61
|
+
var deleteCollection = function (projectId, collectionPath) { return __awaiter(void 0, void 0, void 0, function () {
|
|
62
|
+
return __generator(this, function (_a) {
|
|
63
|
+
switch (_a.label) {
|
|
64
|
+
case 0: return [4 /*yield*/, (0, node_fetch_1.default)("http://".concat(consts_1.LOCALHOST_DOMAIN, ":").concat(_getPort("firestore"), "/emulator/v1/projects/").concat(projectId, "/databases/(default)/documents").concat(collectionPath), {
|
|
65
|
+
method: "delete",
|
|
66
|
+
})];
|
|
67
|
+
case 1:
|
|
68
|
+
_a.sent();
|
|
69
|
+
return [2 /*return*/];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}); };
|
|
73
|
+
exports.deleteCollection = deleteCollection;
|
|
74
|
+
/**
|
|
75
|
+
* Gives the developer the possibility to interact with an admin firestore emulator instance
|
|
76
|
+
* @param projectId The current project id of the emulator instance
|
|
77
|
+
* @param cb The callback to be executed
|
|
78
|
+
*/
|
|
79
|
+
var setupEmulator = function (projectId, cb, storageBucket) { return __awaiter(void 0, void 0, void 0, function () {
|
|
80
|
+
var testEnv;
|
|
81
|
+
return __generator(this, function (_a) {
|
|
82
|
+
switch (_a.label) {
|
|
83
|
+
case 0: return [4 /*yield*/, (0, rules_unit_testing_1.initializeTestEnvironment)({
|
|
84
|
+
projectId: projectId,
|
|
85
|
+
firestore: {
|
|
86
|
+
host: consts_1.LOCALHOST_DOMAIN,
|
|
87
|
+
port: _getPort("firestore"),
|
|
88
|
+
},
|
|
89
|
+
storage: {
|
|
90
|
+
host: consts_1.LOCALHOST_DOMAIN,
|
|
91
|
+
port: _getPort("storage"),
|
|
92
|
+
},
|
|
93
|
+
})];
|
|
94
|
+
case 1:
|
|
95
|
+
testEnv = _a.sent();
|
|
96
|
+
return [4 /*yield*/, testEnv.withSecurityRulesDisabled(function (ctx) { return __awaiter(void 0, void 0, void 0, function () {
|
|
97
|
+
return __generator(this, function (_a) {
|
|
98
|
+
switch (_a.label) {
|
|
99
|
+
case 0: return [4 /*yield*/, cb(ctx.firestore({
|
|
100
|
+
experimentalForceLongPolling: true,
|
|
101
|
+
merge: true,
|
|
102
|
+
}), ctx.storage(storageBucket))];
|
|
103
|
+
case 1:
|
|
104
|
+
_a.sent();
|
|
105
|
+
return [2 /*return*/];
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}); })];
|
|
109
|
+
case 2:
|
|
110
|
+
_a.sent();
|
|
111
|
+
return [2 /*return*/];
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}); };
|
|
115
|
+
exports.setupEmulator = setupEmulator;
|
|
116
|
+
/**
|
|
117
|
+
* Creates a user on the auth emulator allowing him to authenticate to the emulator
|
|
118
|
+
* @param projectId The current project id of the emulator instance
|
|
119
|
+
* @param email The email to authenticate the user with
|
|
120
|
+
* @param password The password to authenticate the user with
|
|
121
|
+
* @param localId A deterministic Id to be used for this user
|
|
122
|
+
*/
|
|
123
|
+
var addAuthUser = function (projectId_1, email_1, password_1) {
|
|
124
|
+
var args_1 = [];
|
|
125
|
+
for (var _i = 3; _i < arguments.length; _i++) {
|
|
126
|
+
args_1[_i - 3] = arguments[_i];
|
|
127
|
+
}
|
|
128
|
+
return __awaiter(void 0, __spreadArray([projectId_1, email_1, password_1], args_1, true), void 0, function (projectId, email, password, localId) {
|
|
129
|
+
var result;
|
|
130
|
+
if (localId === void 0) { localId = ""; }
|
|
131
|
+
return __generator(this, function (_a) {
|
|
132
|
+
switch (_a.label) {
|
|
133
|
+
case 0: return [4 /*yield*/, (0, node_fetch_1.default)("http://".concat(consts_1.LOCALHOST_DOMAIN, ":").concat(_getPort("auth"), "/identitytoolkit.googleapis.com/v1/projects/").concat(projectId, "/accounts"), {
|
|
134
|
+
body: JSON.stringify({
|
|
135
|
+
email: email,
|
|
136
|
+
password: password,
|
|
137
|
+
localId: localId,
|
|
138
|
+
}),
|
|
139
|
+
headers: {
|
|
140
|
+
"content-type": "application/json",
|
|
141
|
+
authorization: "Bearer owner",
|
|
142
|
+
},
|
|
143
|
+
method: "post",
|
|
144
|
+
})];
|
|
145
|
+
case 1:
|
|
146
|
+
result = _a.sent();
|
|
147
|
+
if (result.status > 300)
|
|
148
|
+
throw new Error("Creating account returned ".concat(result.status));
|
|
149
|
+
return [2 /*return*/];
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
exports.addAuthUser = addAuthUser;
|
|
155
|
+
/**
|
|
156
|
+
* Clears all accounts from the auth emulator
|
|
157
|
+
*
|
|
158
|
+
* @param projectId The current project id of the emulator instance
|
|
159
|
+
*/
|
|
160
|
+
var clearAuth = function (projectId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
161
|
+
var result;
|
|
162
|
+
return __generator(this, function (_a) {
|
|
163
|
+
switch (_a.label) {
|
|
164
|
+
case 0: return [4 /*yield*/, (0, node_fetch_1.default)("http://".concat(consts_1.LOCALHOST_DOMAIN, ":").concat(_getPort("auth"), "/emulator/v1/projects/").concat(projectId, "/accounts"), {
|
|
165
|
+
method: "delete",
|
|
166
|
+
})];
|
|
167
|
+
case 1:
|
|
168
|
+
result = _a.sent();
|
|
169
|
+
if (result.status > 300)
|
|
170
|
+
throw new Error("Cleaning accounts returned ".concat(result.status));
|
|
171
|
+
return [2 /*return*/];
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
}); };
|
|
175
|
+
exports.clearAuth = clearAuth;
|
|
176
|
+
/**
|
|
177
|
+
* Sets the emulator ports config
|
|
178
|
+
* @param config Emulator ports config
|
|
179
|
+
*/
|
|
180
|
+
function setEmulatorConfig(config) {
|
|
181
|
+
emulatorConfig = config;
|
|
182
|
+
}
|
|
183
|
+
exports.setEmulatorConfig = setEmulatorConfig;
|
|
184
|
+
/**
|
|
185
|
+
* Clears all firestore documents from local emulator
|
|
186
|
+
* @param projectId The current project id of the emulator instance
|
|
187
|
+
*/
|
|
188
|
+
var clearFirestore = function (projectId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
189
|
+
var testEnv;
|
|
190
|
+
return __generator(this, function (_a) {
|
|
191
|
+
switch (_a.label) {
|
|
192
|
+
case 0: return [4 /*yield*/, (0, rules_unit_testing_1.initializeTestEnvironment)({
|
|
193
|
+
projectId: projectId,
|
|
194
|
+
firestore: {
|
|
195
|
+
host: consts_1.LOCALHOST_DOMAIN,
|
|
196
|
+
port: _getPort("firestore"),
|
|
197
|
+
},
|
|
198
|
+
})];
|
|
199
|
+
case 1:
|
|
200
|
+
testEnv = _a.sent();
|
|
201
|
+
return [4 /*yield*/, testEnv.clearFirestore()];
|
|
202
|
+
case 2:
|
|
203
|
+
_a.sent();
|
|
204
|
+
testEnv.cleanup();
|
|
205
|
+
return [2 /*return*/];
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
}); };
|
|
209
|
+
exports.clearFirestore = clearFirestore;
|
|
210
|
+
var FirebaseConfigEmulatorsShapeExample = {
|
|
211
|
+
emulators: {
|
|
212
|
+
auth: {
|
|
213
|
+
port: 9099,
|
|
214
|
+
},
|
|
215
|
+
functions: {
|
|
216
|
+
port: 5001,
|
|
217
|
+
},
|
|
218
|
+
firestore: {
|
|
219
|
+
port: 8080,
|
|
220
|
+
},
|
|
221
|
+
hosting: {
|
|
222
|
+
port: 5000,
|
|
223
|
+
},
|
|
224
|
+
storage: {
|
|
225
|
+
port: 9199,
|
|
226
|
+
},
|
|
227
|
+
pubsub: {
|
|
228
|
+
port: 8055,
|
|
229
|
+
},
|
|
230
|
+
ui: {
|
|
231
|
+
enabled: true,
|
|
232
|
+
port: 4000,
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
/**
|
|
237
|
+
* Guarantees a firebase config has been provided before using the ports
|
|
238
|
+
* @param emulator The emulator type to get the port from
|
|
239
|
+
* @returns The port
|
|
240
|
+
*/
|
|
241
|
+
function _getPort(emulator) {
|
|
242
|
+
if (!emulatorConfig) {
|
|
243
|
+
throw new Error("You didn't set the emulator config. Provide it by using the following at your cypress support file:\n\nimport { setEmulatorConfig } from '@muritavo/cypress-toolkit/dist/support/emulator'\n...\n...\n...\nbefore() {\n setEmulatorConfig(require(\"THE_PATH_TO_YOUR_FIREBASE_JSON\"))\n}\n");
|
|
244
|
+
}
|
|
245
|
+
var emulatorConfigSet = emulatorConfig.emulators[emulator];
|
|
246
|
+
if (!emulatorConfigSet || !emulatorConfigSet.port) {
|
|
247
|
+
throw new Error("Emulator config not found");
|
|
248
|
+
}
|
|
249
|
+
return emulatorConfigSet.port;
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=emulator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../../src/client/emulator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates an random colored image with specified width, height and quality
|
|
3
|
+
* @param width width of the image
|
|
4
|
+
* @param height height of the image
|
|
5
|
+
* @param quality quality of the image
|
|
6
|
+
*/
|
|
7
|
+
export declare const generateImage: (cols: number, rows: number, strRandom: string, orientation?: "vertical" | "horizontal") => any;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateImage = void 0;
|
|
4
|
+
var text2png = require("text2png");
|
|
5
|
+
var firstEmoji = 0x1f604;
|
|
6
|
+
var emojisCount = 0x1f64f - firstEmoji;
|
|
7
|
+
/**
|
|
8
|
+
* Generates an random colored image with specified width, height and quality
|
|
9
|
+
* @param width width of the image
|
|
10
|
+
* @param height height of the image
|
|
11
|
+
* @param quality quality of the image
|
|
12
|
+
*/
|
|
13
|
+
var generateImage = function (cols, rows, strRandom, orientation) {
|
|
14
|
+
if (orientation === void 0) { orientation = "vertical"; }
|
|
15
|
+
strRandom =
|
|
16
|
+
orientation === "vertical" ? strRandom : "".concat(strRandom).concat(orientation);
|
|
17
|
+
var numFromStr = strRandom
|
|
18
|
+
.split("")
|
|
19
|
+
.reduce(function (r, char) { return r + char.charCodeAt(0); }, 0);
|
|
20
|
+
var rest = numFromStr % emojisCount;
|
|
21
|
+
var e = function (i) { return String.fromCodePoint(firstEmoji + rest + i); };
|
|
22
|
+
var template = "";
|
|
23
|
+
for (var i = 0; i < rows; i++) {
|
|
24
|
+
for (var c = 0; c < cols; c++) {
|
|
25
|
+
template += e(cols * i + c);
|
|
26
|
+
}
|
|
27
|
+
template += "\n";
|
|
28
|
+
}
|
|
29
|
+
var instance = text2png(template, {
|
|
30
|
+
output: "dataURL",
|
|
31
|
+
padding: 10,
|
|
32
|
+
font: "50px monospace",
|
|
33
|
+
color: "rgb(".concat(256 - (rest % 256), ", ").concat(256 - (numFromStr % 256), ", ").concat(256 - (Math.abs(numFromStr - rest) % 256), ")"),
|
|
34
|
+
backgroundColor: "rgb(".concat(rest % 256, ", ").concat(numFromStr % 256, ", ").concat(Math.abs(numFromStr - rest) % 256, ")"),
|
|
35
|
+
});
|
|
36
|
+
return instance;
|
|
37
|
+
};
|
|
38
|
+
exports.generateImage = generateImage;
|
|
39
|
+
//# sourceMappingURL=utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../../src/client/utility.ts"],"names":[],"mappings":";;;AAAA,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEnC,IAAM,UAAU,GAAG,OAAO,CAAC;AAC3B,IAAM,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC;AAEzC;;;;;GAKG;AACI,IAAM,aAAa,GAAG,UAC3B,IAAY,EACZ,IAAY,EACZ,SAAiB,EACjB,WAAmD;IAAnD,4BAAA,EAAA,wBAAmD;IAEnD,SAAS;QACP,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAG,SAAS,SAAG,WAAW,CAAE,CAAC;IACxE,IAAM,UAAU,GAAG,SAAS;SACzB,KAAK,CAAC,EAAE,CAAC;SACT,MAAM,CAAC,UAAC,CAAC,EAAE,IAAI,IAAK,OAAA,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAtB,CAAsB,EAAE,CAAC,CAAC,CAAC;IAClD,IAAM,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC;IACtC,IAAM,CAAC,GAAG,UAAC,CAAS,IAAK,OAAA,MAAM,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,EAA3C,CAA2C,CAAC;IAErE,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,QAAQ,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,QAAQ,IAAI,IAAI,CAAC;IACnB,CAAC;IAED,IAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE;QAClC,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,cAAO,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,eAAK,GAAG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,eAC3D,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,MACxC;QACH,eAAe,EAAE,cAAO,IAAI,GAAG,GAAG,eAAK,UAAU,GAAG,GAAG,eACrD,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,GAAG,MAChC;KACJ,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAlCW,QAAA,aAAa,iBAkCxB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import GenericContract from "../types/contract";
|
|
2
|
+
export declare function startBlockchain({ projectRootFolder: projectFolder, port, }: {
|
|
3
|
+
/** The NFT projects root folder so the contracts can be deployed from */
|
|
4
|
+
projectRootFolder: string;
|
|
5
|
+
/**
|
|
6
|
+
* This indicates the port the ganache server will run at
|
|
7
|
+
* @default 8545
|
|
8
|
+
* */
|
|
9
|
+
port?: number;
|
|
10
|
+
}): Promise<any>;
|
|
11
|
+
export declare function deployContract<ABI extends any[] = []>({ contractName, args, }: {
|
|
12
|
+
contractName: string;
|
|
13
|
+
args: any[];
|
|
14
|
+
}): Promise<{
|
|
15
|
+
address: string;
|
|
16
|
+
owner: string;
|
|
17
|
+
contract: GenericContract<ABI, "allEvents" | (ABI[number] extends infer T ? T extends ABI[number] ? T extends {
|
|
18
|
+
type: "event";
|
|
19
|
+
} ? T["name"] : never : never : never)>;
|
|
20
|
+
}>;
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
39
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
40
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
41
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
42
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
46
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
47
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
48
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
49
|
+
function step(op) {
|
|
50
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
51
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
52
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
53
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
54
|
+
switch (op[0]) {
|
|
55
|
+
case 0: case 1: t = op; break;
|
|
56
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
57
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
58
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
59
|
+
default:
|
|
60
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
61
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
62
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
63
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
64
|
+
if (t[2]) _.ops.pop();
|
|
65
|
+
_.trys.pop(); continue;
|
|
66
|
+
}
|
|
67
|
+
op = body.call(thisArg, _);
|
|
68
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
69
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
73
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
74
|
+
};
|
|
75
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
76
|
+
exports.deployContract = exports.startBlockchain = void 0;
|
|
77
|
+
var debug_1 = __importDefault(require("debug"));
|
|
78
|
+
var task_names_1 = require("hardhat/builtin-tasks/task-names");
|
|
79
|
+
var abi_1 = require("@ethersproject/abi");
|
|
80
|
+
var logger = (0, debug_1.default)("@muritavo/testing-toolkit/blockchain");
|
|
81
|
+
var instance;
|
|
82
|
+
function startBlockchain(_a) {
|
|
83
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
84
|
+
var prevFork, serverInstance, accounts;
|
|
85
|
+
var _this = this;
|
|
86
|
+
var projectFolder = _b.projectRootFolder, _c = _b.port, port = _c === void 0 ? 8545 : _c;
|
|
87
|
+
return __generator(this, function (_d) {
|
|
88
|
+
switch (_d.label) {
|
|
89
|
+
case 0:
|
|
90
|
+
if (!instance) return [3 /*break*/, 3];
|
|
91
|
+
prevFork = instance.process.config.networks.hardhat.forking;
|
|
92
|
+
if (!prevFork) return [3 /*break*/, 2];
|
|
93
|
+
return [4 /*yield*/, instance.process.network.provider.request({
|
|
94
|
+
method: "hardhat_reset",
|
|
95
|
+
params: [
|
|
96
|
+
{
|
|
97
|
+
forking: {
|
|
98
|
+
jsonRpcUrl: prevFork.url,
|
|
99
|
+
blockNumber: prevFork.blockNumber,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
})];
|
|
104
|
+
case 1:
|
|
105
|
+
_d.sent();
|
|
106
|
+
_d.label = 2;
|
|
107
|
+
case 2: return [2 /*return*/, instance.addresses];
|
|
108
|
+
case 3:
|
|
109
|
+
if (projectFolder)
|
|
110
|
+
logger("Starting blockchain server at \"".concat(projectFolder, "\""));
|
|
111
|
+
return [4 /*yield*/, initHardhat(projectFolder)];
|
|
112
|
+
case 4:
|
|
113
|
+
serverInstance = _d.sent();
|
|
114
|
+
return [4 /*yield*/, new Promise(function (r, rej) {
|
|
115
|
+
var timeoutId = setTimeout(function () {
|
|
116
|
+
rej(new Error("Something went wrong while starting hardhat node"));
|
|
117
|
+
}, 30000);
|
|
118
|
+
serverInstance.tasks[task_names_1.TASK_NODE_SERVER_READY].setAction(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
119
|
+
return __generator(this, function (_a) {
|
|
120
|
+
clearTimeout(timeoutId);
|
|
121
|
+
r();
|
|
122
|
+
return [2 /*return*/];
|
|
123
|
+
});
|
|
124
|
+
}); });
|
|
125
|
+
serverInstance.run("node", {
|
|
126
|
+
port: port,
|
|
127
|
+
});
|
|
128
|
+
})];
|
|
129
|
+
case 5:
|
|
130
|
+
_d.sent();
|
|
131
|
+
accounts = new Array(serverInstance.config.networks.hardhat.accounts.count)
|
|
132
|
+
.fill(undefined)
|
|
133
|
+
.reduce(function (res, _, idx) {
|
|
134
|
+
var _a;
|
|
135
|
+
var account = deployer(idx, serverInstance);
|
|
136
|
+
return __assign(__assign({}, res), (_a = {}, _a[account.address] = {
|
|
137
|
+
secretKey: account.key,
|
|
138
|
+
}, _a));
|
|
139
|
+
}, {});
|
|
140
|
+
instance = {
|
|
141
|
+
process: serverInstance,
|
|
142
|
+
rootFolder: projectFolder,
|
|
143
|
+
contracts: {},
|
|
144
|
+
addresses: accounts,
|
|
145
|
+
port: port,
|
|
146
|
+
};
|
|
147
|
+
return [2 /*return*/, accounts];
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
exports.startBlockchain = startBlockchain;
|
|
153
|
+
function deployer(index, hardhat) {
|
|
154
|
+
if (index === void 0) { index = 0; }
|
|
155
|
+
var ethers = hardhat.ethers;
|
|
156
|
+
var accounts = hardhat.config.networks.hardhat.accounts;
|
|
157
|
+
var wallet = ethers.Wallet.fromMnemonic(accounts.mnemonic, accounts.path + "/".concat(index));
|
|
158
|
+
return {
|
|
159
|
+
key: wallet.privateKey,
|
|
160
|
+
address: wallet.address,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
function initHardhat(dir) {
|
|
164
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
165
|
+
var startingDir, hardhat, e_1;
|
|
166
|
+
var _this = this;
|
|
167
|
+
return __generator(this, function (_a) {
|
|
168
|
+
switch (_a.label) {
|
|
169
|
+
case 0:
|
|
170
|
+
startingDir = process.cwd();
|
|
171
|
+
process.chdir(dir);
|
|
172
|
+
_a.label = 1;
|
|
173
|
+
case 1:
|
|
174
|
+
_a.trys.push([1, 3, , 4]);
|
|
175
|
+
return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {
|
|
176
|
+
var e_2;
|
|
177
|
+
return __generator(this, function (_a) {
|
|
178
|
+
switch (_a.label) {
|
|
179
|
+
case 0:
|
|
180
|
+
_a.trys.push([0, 1, , 3]);
|
|
181
|
+
return [2 /*return*/, require("hardhat")];
|
|
182
|
+
case 1:
|
|
183
|
+
e_2 = _a.sent();
|
|
184
|
+
console.log("Requiring hardhat failed... Trying using import... Check the error below\n", e_2);
|
|
185
|
+
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("hardhat")); })];
|
|
186
|
+
case 2: return [2 /*return*/, (_a.sent()).default];
|
|
187
|
+
case 3: return [2 /*return*/];
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}); })()];
|
|
191
|
+
case 2:
|
|
192
|
+
hardhat = (_a.sent());
|
|
193
|
+
process.chdir(startingDir);
|
|
194
|
+
return [2 /*return*/, hardhat];
|
|
195
|
+
case 3:
|
|
196
|
+
e_1 = _a.sent();
|
|
197
|
+
process.chdir(startingDir);
|
|
198
|
+
throw e_1;
|
|
199
|
+
case 4: return [2 /*return*/];
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
function deployContract(_a) {
|
|
205
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
206
|
+
var getContract, ethers, owner, Factory, lock_1, connection, initializationKey, e_3;
|
|
207
|
+
var _c, _d;
|
|
208
|
+
var _this = this;
|
|
209
|
+
var contractName = _b.contractName, args = _b.args;
|
|
210
|
+
return __generator(this, function (_e) {
|
|
211
|
+
switch (_e.label) {
|
|
212
|
+
case 0:
|
|
213
|
+
logger("Deploying contract ".concat(contractName, " with ").concat(args.length, " parameters ").concat(args
|
|
214
|
+
.map(function (a) { return "".concat(a, " (").concat(Array.isArray(a) ? "array" : typeof a, ")"); })
|
|
215
|
+
.join(", ")));
|
|
216
|
+
_e.label = 1;
|
|
217
|
+
case 1:
|
|
218
|
+
_e.trys.push([1, 13, , 14]);
|
|
219
|
+
if (!(instance === null || instance === void 0 ? void 0 : instance.rootFolder))
|
|
220
|
+
throw new Error("You are trying to deploy a contract without defining the Blockchain Project folder. Please define it at startBlockchain command.");
|
|
221
|
+
getContract = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
222
|
+
var Web3, web3;
|
|
223
|
+
return __generator(this, function (_a) {
|
|
224
|
+
switch (_a.label) {
|
|
225
|
+
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("web3")); })];
|
|
226
|
+
case 1:
|
|
227
|
+
Web3 = (_a.sent()).default;
|
|
228
|
+
web3 = new Web3("ws://127.0.0.1:".concat(instance.port));
|
|
229
|
+
return [2 /*return*/, new web3.eth.Contract(lock_1.interface.format(abi_1.FormatTypes.json), lock_1.address)];
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
}); };
|
|
233
|
+
return [4 /*yield*/, initHardhat(instance.rootFolder)];
|
|
234
|
+
case 2:
|
|
235
|
+
ethers = (_e.sent()).ethers;
|
|
236
|
+
return [4 /*yield*/, ethers.getSigners()];
|
|
237
|
+
case 3:
|
|
238
|
+
owner = (_e.sent())[0];
|
|
239
|
+
return [4 /*yield*/, ethers.getContractFactory(contractName)];
|
|
240
|
+
case 4:
|
|
241
|
+
Factory = _e.sent();
|
|
242
|
+
return [4 /*yield*/, Factory.deploy()];
|
|
243
|
+
case 5:
|
|
244
|
+
lock_1 = _e.sent();
|
|
245
|
+
return [4 /*yield*/, lock_1.deployed()];
|
|
246
|
+
case 6:
|
|
247
|
+
_e.sent();
|
|
248
|
+
if (!(args.length > 0)) return [3 /*break*/, 10];
|
|
249
|
+
logger("Initializing contract with owner ".concat(owner, " and args ").concat(args));
|
|
250
|
+
connection = lock_1.connect(owner);
|
|
251
|
+
initializationKey = Object.keys(connection.functions).find(function (a) { return a.split(",", args.length) && a.startsWith("initialize("); }) || "initialize";
|
|
252
|
+
if (!connection[initializationKey]) return [3 /*break*/, 8];
|
|
253
|
+
return [4 /*yield*/, connection[initializationKey].apply(connection, args)];
|
|
254
|
+
case 7:
|
|
255
|
+
_e.sent();
|
|
256
|
+
_e.label = 8;
|
|
257
|
+
case 8:
|
|
258
|
+
_c = {
|
|
259
|
+
address: lock_1.address,
|
|
260
|
+
owner: owner.address
|
|
261
|
+
};
|
|
262
|
+
return [4 /*yield*/, getContract()];
|
|
263
|
+
case 9: return [2 /*return*/, (_c.contract = _e.sent(),
|
|
264
|
+
_c)];
|
|
265
|
+
case 10:
|
|
266
|
+
_d = {
|
|
267
|
+
address: lock_1.address,
|
|
268
|
+
owner: owner.address
|
|
269
|
+
};
|
|
270
|
+
return [4 /*yield*/, getContract()];
|
|
271
|
+
case 11: return [2 /*return*/, (_d.contract = _e.sent(),
|
|
272
|
+
_d)];
|
|
273
|
+
case 12: return [3 /*break*/, 14];
|
|
274
|
+
case 13:
|
|
275
|
+
e_3 = _e.sent();
|
|
276
|
+
logger("Something has gone wrong", e_3);
|
|
277
|
+
throw e_3;
|
|
278
|
+
case 14: return [2 /*return*/];
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
exports.deployContract = deployContract;
|
|
284
|
+
//# sourceMappingURL=blockchain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../src/native/blockchain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LOCALHOST_DOMAIN = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* For some reason, on node 18 "node-fetch" fails when connecting to "localhost" domain
|
|
6
|
+
* So I needed to change to 127.0.0.1
|
|
7
|
+
*/
|
|
8
|
+
exports.LOCALHOST_DOMAIN = "127.0.0.1";
|
|
9
|
+
//# sourceMappingURL=consts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/native/consts.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,gBAAgB,GAAG,WAAW,CAAA"}
|