@muritavo/testing-toolkit 0.4.1 → 0.5.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.
- package/dist/client/blockchain.d.ts +2 -1
- package/dist/client/blockchain.js +104 -68
- package/dist/client/blockchain.js.map +1 -1
- package/dist/client/emulator.js +0 -1
- package/dist/client/emulator.js.map +1 -1
- package/dist/native/blockchain.d.ts +13 -3
- package/dist/native/blockchain.js +366 -52
- package/dist/native/blockchain.js.map +1 -1
- package/dist/native/emulator.d.ts +13 -0
- package/dist/native/emulator.js +45 -12
- package/dist/native/emulator.js.map +1 -1
- package/dist/src/client/blockchain.d.ts +13 -0
- package/dist/src/client/blockchain.js +149 -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 +250 -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 +50 -0
- package/dist/src/native/blockchain.js +649 -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 +49 -0
- package/dist/src/native/emulator.js +274 -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/src/utility/index.d.ts +1 -0
- package/dist/src/utility/index.js +12 -0
- package/dist/src/utility/index.js.map +1 -0
- package/dist/test/hardhat-configs/hardhat-with-graphql/hardhat.config.d.ts +42 -0
- package/dist/test/hardhat-configs/hardhat-with-graphql/hardhat.config.js +76 -0
- package/dist/test/hardhat-configs/hardhat-with-graphql/hardhat.config.js.map +1 -0
- package/package.json +5 -2
|
@@ -69,30 +69,186 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
69
69
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
73
|
+
var t = {};
|
|
74
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
75
|
+
t[p] = s[p];
|
|
76
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
77
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
78
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
79
|
+
t[p[i]] = s[p[i]];
|
|
80
|
+
}
|
|
81
|
+
return t;
|
|
82
|
+
};
|
|
83
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
84
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
85
|
+
if (ar || !(i in from)) {
|
|
86
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
87
|
+
ar[i] = from[i];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
91
|
+
};
|
|
72
92
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
73
93
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
74
94
|
};
|
|
75
95
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
76
|
-
exports.deployGraph = exports.deployContract = exports.deriveWallet = exports.startBlockchain = exports.blockchainLogger = void 0;
|
|
96
|
+
exports.impersonateAccount = exports.stopBlockchain = exports.deployGraph = exports.deployContract = exports.deriveWallet = exports.startBlockchain = exports.bindToBlockchain = exports.blockchainLogger = void 0;
|
|
77
97
|
var debug_1 = __importDefault(require("debug"));
|
|
78
98
|
var blockchain_1 = require("../client/blockchain");
|
|
79
99
|
var child_process_1 = require("child_process");
|
|
80
100
|
var utility_1 = require("../utility");
|
|
81
101
|
var fs_1 = require("fs");
|
|
82
102
|
var path_1 = require("path");
|
|
103
|
+
var ethers_1 = require("ethers");
|
|
83
104
|
exports.blockchainLogger = (0, debug_1.default)("@muritavo/testing-toolkit/blockchain");
|
|
84
105
|
var instance;
|
|
106
|
+
function bindToBlockchain(_a) {
|
|
107
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
108
|
+
var _c, ethers, other, projectConfig, prevFork, blockNumberBeforeReset, blockNumberAfterReset, advanceBlockNumbersBy, _d, _e, _f, e_1, accounts;
|
|
109
|
+
var _g;
|
|
110
|
+
var projectFolder = _b.projectFolder, graphqlProject = _b.graphqlProject, hardhatConfigImportPromiseFactory = _b.hardhatConfigImportPromiseFactory, port = _b.port, deployTags = _b.deployTags;
|
|
111
|
+
return __generator(this, function (_h) {
|
|
112
|
+
switch (_h.label) {
|
|
113
|
+
case 0: return [4 /*yield*/, initHardhat(projectFolder)];
|
|
114
|
+
case 1:
|
|
115
|
+
_c = _h.sent(), ethers = _c.ethers, other = __rest(_c, ["ethers"]);
|
|
116
|
+
return [4 /*yield*/, hardhatConfigImportPromiseFactory()];
|
|
117
|
+
case 2:
|
|
118
|
+
projectConfig = _h.sent();
|
|
119
|
+
if (!instance) return [3 /*break*/, 15];
|
|
120
|
+
prevFork = projectConfig.networks.hardhat.forking;
|
|
121
|
+
(0, exports.blockchainLogger)(prevFork ? "Reseting blockchain fork" : "No previous fork, skipping reset");
|
|
122
|
+
if (!prevFork) return [3 /*break*/, 14];
|
|
123
|
+
_h.label = 3;
|
|
124
|
+
case 3:
|
|
125
|
+
_h.trys.push([3, 13, , 14]);
|
|
126
|
+
return [4 /*yield*/, ethers.provider.getBlockNumber()];
|
|
127
|
+
case 4:
|
|
128
|
+
blockNumberBeforeReset = _h.sent();
|
|
129
|
+
if (!(prevFork.blockNumber === blockNumberBeforeReset)) return [3 /*break*/, 5];
|
|
130
|
+
(0, exports.blockchainLogger)("Skipping hardhat reset as there was no mined blocks", "Current block is ".concat(blockNumberBeforeReset));
|
|
131
|
+
return [3 /*break*/, 10];
|
|
132
|
+
case 5:
|
|
133
|
+
(0, exports.blockchainLogger)("Previous block number ".concat(blockNumberBeforeReset));
|
|
134
|
+
/** This will clear any logs/changes made during testing */
|
|
135
|
+
return [4 /*yield*/, ethers.provider.send("hardhat_reset", [
|
|
136
|
+
{
|
|
137
|
+
forking: {
|
|
138
|
+
jsonRpcUrl: prevFork.url,
|
|
139
|
+
blockNumber: prevFork.blockNumber,
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
])];
|
|
143
|
+
case 6:
|
|
144
|
+
/** This will clear any logs/changes made during testing */
|
|
145
|
+
_h.sent();
|
|
146
|
+
return [4 /*yield*/, ethers.provider.getBlockNumber()];
|
|
147
|
+
case 7:
|
|
148
|
+
blockNumberAfterReset = _h.sent();
|
|
149
|
+
(0, exports.blockchainLogger)("Reset back to block number ".concat(blockNumberAfterReset));
|
|
150
|
+
advanceBlockNumbersBy = blockNumberBeforeReset - blockNumberAfterReset;
|
|
151
|
+
/**
|
|
152
|
+
* When using graph-node, it refuses to reprocess previous blocks
|
|
153
|
+
* So in a cenario where we republish a graph after this reset, it doesn't read the new logs
|
|
154
|
+
*
|
|
155
|
+
* That's why, after the reset, we "skip" blocks back to the latest block, and continue testing from there
|
|
156
|
+
* */
|
|
157
|
+
return [4 /*yield*/, ethers.provider.send("hardhat_mine", [
|
|
158
|
+
"0x".concat(advanceBlockNumbersBy.toString(16)),
|
|
159
|
+
])];
|
|
160
|
+
case 8:
|
|
161
|
+
/**
|
|
162
|
+
* When using graph-node, it refuses to reprocess previous blocks
|
|
163
|
+
* So in a cenario where we republish a graph after this reset, it doesn't read the new logs
|
|
164
|
+
*
|
|
165
|
+
* That's why, after the reset, we "skip" blocks back to the latest block, and continue testing from there
|
|
166
|
+
* */
|
|
167
|
+
_h.sent();
|
|
168
|
+
_d = exports.blockchainLogger;
|
|
169
|
+
_f = (_e = "Reset hardhat state (#".concat(blockNumberBeforeReset, " to #").concat(blockNumberAfterReset, ") and now it's at block ")).concat;
|
|
170
|
+
return [4 /*yield*/, ethers.provider.getBlockNumber()];
|
|
171
|
+
case 9:
|
|
172
|
+
_d.apply(void 0, [_f.apply(_e, [_h.sent()])]);
|
|
173
|
+
_h.label = 10;
|
|
174
|
+
case 10:
|
|
175
|
+
(0, exports.blockchainLogger)("Hardhat has hardhat-deploy (".concat(String(other.deployments), ") and deploy tags ").concat(deployTags));
|
|
176
|
+
if (!other.deployments) return [3 /*break*/, 12];
|
|
177
|
+
return [4 /*yield*/, other.deployments.run(deployTags)];
|
|
178
|
+
case 11:
|
|
179
|
+
_h.sent();
|
|
180
|
+
_h.label = 12;
|
|
181
|
+
case 12: return [3 /*break*/, 14];
|
|
182
|
+
case 13:
|
|
183
|
+
e_1 = _h.sent();
|
|
184
|
+
(0, exports.blockchainLogger)("Error when trying to reset fork", e_1);
|
|
185
|
+
return [3 /*break*/, 14];
|
|
186
|
+
case 14: return [2 /*return*/, instance.addresses];
|
|
187
|
+
case 15:
|
|
188
|
+
if (projectFolder)
|
|
189
|
+
(0, exports.blockchainLogger)("Starting blockchain server at \"".concat(projectFolder, "\""));
|
|
190
|
+
if (graphqlProject) {
|
|
191
|
+
(0, child_process_1.execSync)("docker compose up --detach", {
|
|
192
|
+
cwd: graphqlProject,
|
|
193
|
+
stdio: "ignore",
|
|
194
|
+
});
|
|
195
|
+
process.on("SIGINT", function () {
|
|
196
|
+
(0, child_process_1.execSync)("docker compose down", {
|
|
197
|
+
cwd: graphqlProject,
|
|
198
|
+
stdio: "ignore",
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
accounts = new Array(30).fill(undefined).reduce(function (res, _, idx) {
|
|
203
|
+
var _a;
|
|
204
|
+
var account = deriveWallet(idx, {
|
|
205
|
+
ethers: ethers,
|
|
206
|
+
config: projectConfig,
|
|
207
|
+
});
|
|
208
|
+
return __assign(__assign({}, res), (_a = {}, _a[account.address] = {
|
|
209
|
+
secretKey: account.key,
|
|
210
|
+
}, _a));
|
|
211
|
+
}, {});
|
|
212
|
+
_g = {
|
|
213
|
+
rootFolder: projectFolder,
|
|
214
|
+
contracts: {},
|
|
215
|
+
addresses: accounts,
|
|
216
|
+
port: port,
|
|
217
|
+
graphqlProject: graphqlProject
|
|
218
|
+
};
|
|
219
|
+
return [4 /*yield*/, ethers.provider.getBlockNumber()];
|
|
220
|
+
case 16:
|
|
221
|
+
instance = (_g.initialBlock = _h.sent(),
|
|
222
|
+
_g.network = other.network,
|
|
223
|
+
_g.ethers = ethers,
|
|
224
|
+
_g);
|
|
225
|
+
// setPort(port);
|
|
226
|
+
return [2 /*return*/, accounts];
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
exports.bindToBlockchain = bindToBlockchain;
|
|
85
232
|
function startBlockchain(_a) {
|
|
86
233
|
return __awaiter(this, arguments, void 0, function (_b) {
|
|
87
|
-
var prevFork, serverInstance, accounts;
|
|
234
|
+
var prevFork, blockNumberBeforeReset, blockNumberAfterReset, advanceBlockNumbersBy, _c, _d, _e, e_2, serverInstance, hardhatServer, accounts;
|
|
88
235
|
var _this = this;
|
|
89
|
-
var projectFolder = _b.projectRootFolder,
|
|
90
|
-
return __generator(this, function (
|
|
91
|
-
switch (
|
|
236
|
+
var projectFolder = _b.projectRootFolder, _f = _b.port, port = _f === void 0 ? 8545 : _f, graphqlProject = _b.graphqlProject;
|
|
237
|
+
return __generator(this, function (_g) {
|
|
238
|
+
switch (_g.label) {
|
|
92
239
|
case 0:
|
|
93
|
-
if (!instance) return [3 /*break*/,
|
|
240
|
+
if (!instance) return [3 /*break*/, 9];
|
|
94
241
|
prevFork = instance.process.config.networks.hardhat.forking;
|
|
95
|
-
|
|
242
|
+
(0, exports.blockchainLogger)(prevFork ? "Reseting blockchain fork" : "No previous fork, skipping reset");
|
|
243
|
+
if (!prevFork) return [3 /*break*/, 8];
|
|
244
|
+
_g.label = 1;
|
|
245
|
+
case 1:
|
|
246
|
+
_g.trys.push([1, 7, , 8]);
|
|
247
|
+
return [4 /*yield*/, instance.process.ethers.provider.getBlockNumber()];
|
|
248
|
+
case 2:
|
|
249
|
+
blockNumberBeforeReset = _g.sent();
|
|
250
|
+
(0, exports.blockchainLogger)("Previous block number ".concat(blockNumberBeforeReset));
|
|
251
|
+
/** This will clear any logs/changes made during testing */
|
|
96
252
|
return [4 /*yield*/, instance.process.network.provider.request({
|
|
97
253
|
method: "hardhat_reset",
|
|
98
254
|
params: [
|
|
@@ -104,27 +260,68 @@ function startBlockchain(_a) {
|
|
|
104
260
|
},
|
|
105
261
|
],
|
|
106
262
|
})];
|
|
107
|
-
case 1:
|
|
108
|
-
_d.sent();
|
|
109
|
-
_d.label = 2;
|
|
110
|
-
case 2: return [2 /*return*/, instance.addresses];
|
|
111
263
|
case 3:
|
|
264
|
+
/** This will clear any logs/changes made during testing */
|
|
265
|
+
_g.sent();
|
|
266
|
+
return [4 /*yield*/, instance.process.ethers.provider.getBlockNumber()];
|
|
267
|
+
case 4:
|
|
268
|
+
blockNumberAfterReset = _g.sent();
|
|
269
|
+
(0, exports.blockchainLogger)("Reset back to block number ".concat(blockNumberAfterReset));
|
|
270
|
+
advanceBlockNumbersBy = blockNumberBeforeReset - blockNumberAfterReset;
|
|
271
|
+
/**
|
|
272
|
+
* When using graph-node, it refuses to reprocess previous blocks
|
|
273
|
+
* So in a cenario where we republish a graph after this reset, it doesn't read the new logs
|
|
274
|
+
*
|
|
275
|
+
* That's why, after the reset, we "skip" blocks back to the latest block, and continue testing from there
|
|
276
|
+
* */
|
|
277
|
+
return [4 /*yield*/, instance.process.network.provider.request({
|
|
278
|
+
method: "hardhat_mine",
|
|
279
|
+
params: ["0x".concat(advanceBlockNumbersBy.toString(16))],
|
|
280
|
+
})];
|
|
281
|
+
case 5:
|
|
282
|
+
/**
|
|
283
|
+
* When using graph-node, it refuses to reprocess previous blocks
|
|
284
|
+
* So in a cenario where we republish a graph after this reset, it doesn't read the new logs
|
|
285
|
+
*
|
|
286
|
+
* That's why, after the reset, we "skip" blocks back to the latest block, and continue testing from there
|
|
287
|
+
* */
|
|
288
|
+
_g.sent();
|
|
289
|
+
_c = exports.blockchainLogger;
|
|
290
|
+
_e = (_d = "Reset hardhat state (#".concat(blockNumberBeforeReset, " to #").concat(blockNumberAfterReset, ") and now it's at block ")).concat;
|
|
291
|
+
return [4 /*yield*/, instance.process.ethers.provider.getBlockNumber()];
|
|
292
|
+
case 6:
|
|
293
|
+
_c.apply(void 0, [_e.apply(_d, [_g.sent()])]);
|
|
294
|
+
return [3 /*break*/, 8];
|
|
295
|
+
case 7:
|
|
296
|
+
e_2 = _g.sent();
|
|
297
|
+
(0, exports.blockchainLogger)("Error when trying to reset fork", e_2);
|
|
298
|
+
return [3 /*break*/, 8];
|
|
299
|
+
case 8: return [2 /*return*/, instance.addresses];
|
|
300
|
+
case 9:
|
|
112
301
|
if (projectFolder)
|
|
113
302
|
(0, exports.blockchainLogger)("Starting blockchain server at \"".concat(projectFolder, "\""));
|
|
114
|
-
if (graphqlProject)
|
|
115
|
-
(0, child_process_1.execSync)("docker
|
|
303
|
+
if (graphqlProject) {
|
|
304
|
+
(0, child_process_1.execSync)("docker compose up --detach", {
|
|
116
305
|
cwd: graphqlProject,
|
|
117
306
|
stdio: "ignore",
|
|
118
307
|
});
|
|
308
|
+
process.on("SIGINT", function () {
|
|
309
|
+
(0, child_process_1.execSync)("docker compose down", {
|
|
310
|
+
cwd: graphqlProject,
|
|
311
|
+
stdio: "ignore",
|
|
312
|
+
});
|
|
313
|
+
});
|
|
314
|
+
}
|
|
119
315
|
return [4 /*yield*/, initHardhat(projectFolder)];
|
|
120
|
-
case
|
|
121
|
-
serverInstance =
|
|
316
|
+
case 10:
|
|
317
|
+
serverInstance = _g.sent();
|
|
122
318
|
return [4 /*yield*/, new Promise(function (r, rej) {
|
|
123
319
|
var timeoutId = setTimeout(function () {
|
|
124
320
|
rej(new Error("Something went wrong while starting hardhat node"));
|
|
125
321
|
}, 30000);
|
|
126
|
-
serverInstance.tasks[serverInstance.taskNames.TASK_NODE_SERVER_READY].setAction(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
322
|
+
serverInstance.tasks[serverInstance.taskNames.TASK_NODE_SERVER_READY].setAction(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
127
323
|
return __generator(this, function (_a) {
|
|
324
|
+
hardhatServer = args.server;
|
|
128
325
|
clearTimeout(timeoutId);
|
|
129
326
|
r();
|
|
130
327
|
return [2 /*return*/];
|
|
@@ -132,10 +329,11 @@ function startBlockchain(_a) {
|
|
|
132
329
|
}); });
|
|
133
330
|
serverInstance.run("node", {
|
|
134
331
|
port: port,
|
|
332
|
+
noDeploy: true,
|
|
135
333
|
});
|
|
136
334
|
})];
|
|
137
|
-
case
|
|
138
|
-
|
|
335
|
+
case 11:
|
|
336
|
+
_g.sent();
|
|
139
337
|
accounts = new Array(serverInstance.config.networks.hardhat.accounts.count)
|
|
140
338
|
.fill(undefined)
|
|
141
339
|
.reduce(function (res, _, idx) {
|
|
@@ -151,6 +349,10 @@ function startBlockchain(_a) {
|
|
|
151
349
|
contracts: {},
|
|
152
350
|
addresses: accounts,
|
|
153
351
|
port: port,
|
|
352
|
+
graphqlProject: graphqlProject,
|
|
353
|
+
hardhatServer: hardhatServer,
|
|
354
|
+
network: serverInstance.network,
|
|
355
|
+
ethers: serverInstance.ethers,
|
|
154
356
|
};
|
|
155
357
|
(0, blockchain_1.setPort)(port);
|
|
156
358
|
return [2 /*return*/, accounts];
|
|
@@ -160,10 +362,12 @@ function startBlockchain(_a) {
|
|
|
160
362
|
}
|
|
161
363
|
exports.startBlockchain = startBlockchain;
|
|
162
364
|
function deriveWallet(index, hardhat) {
|
|
365
|
+
var _a;
|
|
163
366
|
if (index === void 0) { index = 0; }
|
|
164
367
|
var ethers = hardhat.ethers;
|
|
165
368
|
var accounts = hardhat.config.networks.hardhat.accounts;
|
|
166
|
-
var
|
|
369
|
+
var accountPath = (_a = accounts.path) !== null && _a !== void 0 ? _a : "m/44'/60'/0'/0";
|
|
370
|
+
var wallet = ethers.HDNodeWallet.fromMnemonic(ethers.Mnemonic.fromPhrase(accounts.mnemonic), accountPath + "/".concat(index));
|
|
167
371
|
return {
|
|
168
372
|
key: wallet.privateKey,
|
|
169
373
|
address: wallet.address,
|
|
@@ -172,7 +376,7 @@ function deriveWallet(index, hardhat) {
|
|
|
172
376
|
exports.deriveWallet = deriveWallet;
|
|
173
377
|
function initHardhat(dir) {
|
|
174
378
|
return __awaiter(this, void 0, void 0, function () {
|
|
175
|
-
var startingDir, hardhat, _a,
|
|
379
|
+
var startingDir, hardhat, _a, ret, eth, e_3;
|
|
176
380
|
var _this = this;
|
|
177
381
|
return __generator(this, function (_b) {
|
|
178
382
|
switch (_b.label) {
|
|
@@ -187,9 +391,17 @@ function initHardhat(dir) {
|
|
|
187
391
|
switch (_a.label) {
|
|
188
392
|
case 0:
|
|
189
393
|
if (!require) return [3 /*break*/, 1];
|
|
394
|
+
require("hardhat/register");
|
|
395
|
+
return [3 /*break*/, 3];
|
|
396
|
+
case 1: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("hardhat/register")); })];
|
|
397
|
+
case 2:
|
|
398
|
+
(_a.sent()).default;
|
|
399
|
+
_a.label = 3;
|
|
400
|
+
case 3:
|
|
401
|
+
if (!require) return [3 /*break*/, 4];
|
|
190
402
|
return [2 /*return*/, require("hardhat")];
|
|
191
|
-
case
|
|
192
|
-
case
|
|
403
|
+
case 4: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("hardhat")); })];
|
|
404
|
+
case 5: return [2 /*return*/, (_a.sent()).default];
|
|
193
405
|
}
|
|
194
406
|
});
|
|
195
407
|
}); })()];
|
|
@@ -210,11 +422,15 @@ function initHardhat(dir) {
|
|
|
210
422
|
case 3:
|
|
211
423
|
_a.taskNames = (_b.sent());
|
|
212
424
|
process.chdir(startingDir);
|
|
213
|
-
|
|
425
|
+
ret = hardhat;
|
|
426
|
+
eth = ret.ethers;
|
|
427
|
+
ret.ethers.provider = new eth.JsonRpcProvider("http://".concat("127.0.0.1", ":").concat(8545), undefined, { pollingInterval: 10 });
|
|
428
|
+
ret.network.provider = ret.ethers.provider;
|
|
429
|
+
return [2 /*return*/, ret];
|
|
214
430
|
case 4:
|
|
215
|
-
|
|
431
|
+
e_3 = _b.sent();
|
|
216
432
|
process.chdir(startingDir);
|
|
217
|
-
throw
|
|
433
|
+
throw e_3;
|
|
218
434
|
case 5: return [2 /*return*/];
|
|
219
435
|
}
|
|
220
436
|
});
|
|
@@ -222,7 +438,7 @@ function initHardhat(dir) {
|
|
|
222
438
|
}
|
|
223
439
|
function deployContract(_a) {
|
|
224
440
|
return __awaiter(this, arguments, void 0, function (_b) {
|
|
225
|
-
var getContract, ethers, owner, Factory, lock_1, connection, initializationKey_1,
|
|
441
|
+
var getContract, ethers, owner, Factory, lock_1, connection, initializationKey_1, e_4;
|
|
226
442
|
var _c, _d;
|
|
227
443
|
var _this = this;
|
|
228
444
|
var contractAbi = _b.contractAbi, contractName = _b.contractName, args = _b.args;
|
|
@@ -278,8 +494,16 @@ function deployContract(_a) {
|
|
|
278
494
|
initializationKey_1 = funcName;
|
|
279
495
|
});
|
|
280
496
|
if (!connection[initializationKey_1]) return [3 /*break*/, 8];
|
|
281
|
-
|
|
497
|
+
/**
|
|
498
|
+
* The way to decide which overloaded function to call is to pass overrides at the end 🤡
|
|
499
|
+
* https://github.com/ethers-io/ethers.js/issues/4383
|
|
500
|
+
*/
|
|
501
|
+
return [4 /*yield*/, connection[initializationKey_1].apply(connection, __spreadArray(__spreadArray([], args, false), [ethers_1.Typed.overrides({})], false))];
|
|
282
502
|
case 7:
|
|
503
|
+
/**
|
|
504
|
+
* The way to decide which overloaded function to call is to pass overrides at the end 🤡
|
|
505
|
+
* https://github.com/ethers-io/ethers.js/issues/4383
|
|
506
|
+
*/
|
|
283
507
|
_e.sent();
|
|
284
508
|
_e.label = 8;
|
|
285
509
|
case 8:
|
|
@@ -306,9 +530,9 @@ function deployContract(_a) {
|
|
|
306
530
|
_d)];
|
|
307
531
|
case 16: return [3 /*break*/, 18];
|
|
308
532
|
case 17:
|
|
309
|
-
|
|
310
|
-
(0, exports.blockchainLogger)("Something has gone wrong",
|
|
311
|
-
throw
|
|
533
|
+
e_4 = _e.sent();
|
|
534
|
+
(0, exports.blockchainLogger)("Something has gone wrong", e_4);
|
|
535
|
+
throw e_4;
|
|
312
536
|
case 18: return [2 /*return*/];
|
|
313
537
|
}
|
|
314
538
|
});
|
|
@@ -318,10 +542,9 @@ exports.deployContract = deployContract;
|
|
|
318
542
|
/**
|
|
319
543
|
* Takes a graph and deploys it into the graph-node
|
|
320
544
|
*/
|
|
321
|
-
function deployGraph(graphPath, contractAddresses) {
|
|
545
|
+
function deployGraph(graphPath, contractAddresses, graphName, networkName) {
|
|
322
546
|
return __awaiter(this, void 0, void 0, function () {
|
|
323
547
|
function generateGraphManifest() {
|
|
324
|
-
var graphManifestCacheDir = cacheDir({ name: "graph-manifest" });
|
|
325
548
|
var subgraphYml = parse((0, fs_1.readFileSync)((0, path_1.resolve)(graphPath, "subgraph.yaml")).toString());
|
|
326
549
|
function relativeToAbsolutePath(relativePath) {
|
|
327
550
|
return (0, path_1.resolve)(graphPath, relativePath);
|
|
@@ -329,23 +552,31 @@ function deployGraph(graphPath, contractAddresses) {
|
|
|
329
552
|
subgraphYml.schema.file = relativeToAbsolutePath(subgraphYml.schema.file);
|
|
330
553
|
for (var _i = 0, _a = subgraphYml.dataSources; _i < _a.length; _i++) {
|
|
331
554
|
var dataSource = _a[_i];
|
|
332
|
-
|
|
333
|
-
if (!contractAddresses[dataSource.source.abi])
|
|
334
|
-
|
|
555
|
+
/** If we don't have the address for said source, we remove the source from the deployed graph */
|
|
556
|
+
if (!contractAddresses[dataSource.source.abi]) {
|
|
557
|
+
(0, exports.blockchainLogger)("Address for the contract \"".concat(dataSource.source.abi, "\" wasn't provided. Removing this data source from graph."));
|
|
558
|
+
subgraphYml.dataSources[subgraphYml.dataSources.indexOf(dataSource)] =
|
|
559
|
+
undefined;
|
|
560
|
+
continue;
|
|
561
|
+
}
|
|
562
|
+
dataSource.network = networkName;
|
|
335
563
|
dataSource.source.address = contractAddresses[dataSource.source.abi];
|
|
564
|
+
if (instance.process.config.networks.hardhat.forking)
|
|
565
|
+
dataSource.source.startBlock = currentBlock;
|
|
336
566
|
dataSource.mapping.file = relativeToAbsolutePath(dataSource.mapping.file);
|
|
337
567
|
for (var _b = 0, _c = dataSource.mapping.abis; _b < _c.length; _b++) {
|
|
338
568
|
var abi = _c[_b];
|
|
339
569
|
abi.file = relativeToAbsolutePath(abi.file);
|
|
340
570
|
}
|
|
341
571
|
}
|
|
572
|
+
subgraphYml.dataSources = subgraphYml.dataSources.filter(Boolean);
|
|
342
573
|
var graphManifestPath = (0, path_1.resolve)(graphManifestCacheDir, "subgraph.yaml");
|
|
343
574
|
if (!(0, fs_1.existsSync)(graphManifestCacheDir))
|
|
344
575
|
(0, fs_1.mkdirSync)(graphManifestCacheDir, { recursive: true });
|
|
345
576
|
(0, fs_1.writeFileSync)(graphManifestPath, stringify(subgraphYml));
|
|
346
577
|
return graphManifestPath;
|
|
347
578
|
}
|
|
348
|
-
var _a, parse, stringify, cacheDir, stdioMode, error_1, localhostGraphManifest;
|
|
579
|
+
var _a, parse, stringify, cacheDir, graphManifestCacheDir, currentBlock, stdioMode, error_1, localhostGraphManifest;
|
|
349
580
|
return __generator(this, function (_b) {
|
|
350
581
|
switch (_b.label) {
|
|
351
582
|
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("yaml")); })];
|
|
@@ -354,33 +585,57 @@ function deployGraph(graphPath, contractAddresses) {
|
|
|
354
585
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("find-cache-dir")); })];
|
|
355
586
|
case 2:
|
|
356
587
|
cacheDir = (_b.sent()).default;
|
|
357
|
-
|
|
358
|
-
|
|
588
|
+
graphManifestCacheDir = cacheDir({
|
|
589
|
+
name: "graph-manifest",
|
|
590
|
+
cwd: graphPath,
|
|
591
|
+
});
|
|
592
|
+
return [4 /*yield*/, instance.process.ethers.provider.getBlockNumber()];
|
|
359
593
|
case 3:
|
|
360
|
-
|
|
594
|
+
currentBlock = _b.sent();
|
|
595
|
+
stdioMode = exports.blockchainLogger.enabled ? "inherit" : "ignore";
|
|
361
596
|
_b.label = 4;
|
|
362
597
|
case 4:
|
|
363
|
-
|
|
364
|
-
|
|
598
|
+
if (!true) return [3 /*break*/, 9];
|
|
599
|
+
_b.label = 5;
|
|
600
|
+
case 5:
|
|
601
|
+
_b.trys.push([5, 6, , 8]);
|
|
602
|
+
(0, exports.blockchainLogger)("Trying to create graph");
|
|
603
|
+
(0, child_process_1.execSync)("graph create --node http://localhost:8020/ ".concat(graphName), {
|
|
365
604
|
cwd: graphPath,
|
|
366
605
|
stdio: stdioMode,
|
|
606
|
+
env: {
|
|
607
|
+
PATH: process.env.PATH,
|
|
608
|
+
},
|
|
367
609
|
});
|
|
368
|
-
return [3 /*break*/,
|
|
369
|
-
case
|
|
610
|
+
return [3 /*break*/, 9];
|
|
611
|
+
case 6:
|
|
370
612
|
error_1 = _b.sent();
|
|
371
613
|
return [4 /*yield*/, (0, utility_1.wait)(1000)];
|
|
372
|
-
case
|
|
614
|
+
case 7:
|
|
373
615
|
_b.sent();
|
|
374
|
-
return [3 /*break*/,
|
|
375
|
-
case
|
|
376
|
-
case
|
|
616
|
+
return [3 /*break*/, 8];
|
|
617
|
+
case 8: return [3 /*break*/, 4];
|
|
618
|
+
case 9:
|
|
377
619
|
localhostGraphManifest = generateGraphManifest();
|
|
378
|
-
(0,
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
620
|
+
(0, exports.blockchainLogger)("Trying to deploy graph");
|
|
621
|
+
return [4 /*yield*/, new Promise(function (res, rej) {
|
|
622
|
+
(0, child_process_1.exec)("graph deploy --node http://localhost:8020/ --ipfs http://localhost:5031 ".concat(graphName, " ").concat(localhostGraphManifest, " -l v0.0.1"), {
|
|
623
|
+
cwd: graphPath,
|
|
624
|
+
env: {
|
|
625
|
+
PATH: "".concat(process.env.PATH),
|
|
626
|
+
},
|
|
627
|
+
}, function (error, stdOut) {
|
|
628
|
+
console.log(stdOut);
|
|
629
|
+
if (error) {
|
|
630
|
+
rej(error);
|
|
631
|
+
}
|
|
632
|
+
res();
|
|
633
|
+
});
|
|
634
|
+
})];
|
|
635
|
+
case 10:
|
|
636
|
+
_b.sent();
|
|
382
637
|
return [4 /*yield*/, (0, utility_1.wait)(1000)];
|
|
383
|
-
case
|
|
638
|
+
case 11:
|
|
384
639
|
_b.sent();
|
|
385
640
|
return [2 /*return*/];
|
|
386
641
|
}
|
|
@@ -388,4 +643,63 @@ function deployGraph(graphPath, contractAddresses) {
|
|
|
388
643
|
});
|
|
389
644
|
}
|
|
390
645
|
exports.deployGraph = deployGraph;
|
|
646
|
+
function stopBlockchain() {
|
|
647
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
648
|
+
var e_5;
|
|
649
|
+
return __generator(this, function (_a) {
|
|
650
|
+
switch (_a.label) {
|
|
651
|
+
case 0:
|
|
652
|
+
(0, exports.blockchainLogger)("Closing blockchain infrastructure.", "Has blockchain instance:", String(!!instance));
|
|
653
|
+
if (!instance) return [3 /*break*/, 5];
|
|
654
|
+
_a.label = 1;
|
|
655
|
+
case 1:
|
|
656
|
+
_a.trys.push([1, 3, , 4]);
|
|
657
|
+
(0, exports.blockchainLogger)("Closing hardhat server");
|
|
658
|
+
if (instance.graphqlProject) {
|
|
659
|
+
(0, exports.blockchainLogger)("Ending graphql docker container");
|
|
660
|
+
(0, child_process_1.execSync)("docker compose down", {
|
|
661
|
+
cwd: instance.graphqlProject,
|
|
662
|
+
stdio: "ignore",
|
|
663
|
+
});
|
|
664
|
+
}
|
|
665
|
+
return [4 /*yield*/, instance.hardhatServer.close()];
|
|
666
|
+
case 2:
|
|
667
|
+
_a.sent();
|
|
668
|
+
return [3 /*break*/, 4];
|
|
669
|
+
case 3:
|
|
670
|
+
e_5 = _a.sent();
|
|
671
|
+
return [3 /*break*/, 4];
|
|
672
|
+
case 4:
|
|
673
|
+
instance = null;
|
|
674
|
+
_a.label = 5;
|
|
675
|
+
case 5: return [2 /*return*/];
|
|
676
|
+
}
|
|
677
|
+
});
|
|
678
|
+
});
|
|
679
|
+
}
|
|
680
|
+
exports.stopBlockchain = stopBlockchain;
|
|
681
|
+
function impersonateAccount(account) {
|
|
682
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
683
|
+
var signers, lastSigner;
|
|
684
|
+
return __generator(this, function (_a) {
|
|
685
|
+
switch (_a.label) {
|
|
686
|
+
case 0: return [4 /*yield*/, instance.network.provider.send("hardhat_impersonateAccount", [account])];
|
|
687
|
+
case 1:
|
|
688
|
+
_a.sent();
|
|
689
|
+
return [4 /*yield*/, instance.ethers.getSigners()];
|
|
690
|
+
case 2:
|
|
691
|
+
signers = _a.sent();
|
|
692
|
+
lastSigner = signers.at(-1);
|
|
693
|
+
return [4 /*yield*/, lastSigner.sendTransaction({
|
|
694
|
+
to: account,
|
|
695
|
+
value: "10000000000000000000",
|
|
696
|
+
})];
|
|
697
|
+
case 3:
|
|
698
|
+
_a.sent();
|
|
699
|
+
return [2 /*return*/];
|
|
700
|
+
}
|
|
701
|
+
});
|
|
702
|
+
});
|
|
703
|
+
}
|
|
704
|
+
exports.impersonateAccount = impersonateAccount;
|
|
391
705
|
//# 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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"}
|