@muritavo/testing-toolkit 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/client/blockchain.d.ts +7 -2
  2. package/dist/client/blockchain.js +20 -5
  3. package/dist/client/blockchain.js.map +1 -1
  4. package/dist/native/blockchain.d.ts +9 -2
  5. package/dist/native/blockchain.js +45 -31
  6. package/dist/native/blockchain.js.map +1 -1
  7. package/dist/shared/blockchain.d.ts +19 -0
  8. package/dist/shared/blockchain.js +4 -0
  9. package/dist/shared/blockchain.js.map +1 -0
  10. package/dist/types/contract.d.ts +1 -1
  11. package/package.json +1 -1
  12. package/dist/src/client/blockchain.d.ts +0 -6
  13. package/dist/src/client/blockchain.js +0 -122
  14. package/dist/src/client/blockchain.js.map +0 -1
  15. package/dist/src/client/emulator.d.ts +0 -65
  16. package/dist/src/client/emulator.js +0 -251
  17. package/dist/src/client/emulator.js.map +0 -1
  18. package/dist/src/client/utility.d.ts +0 -7
  19. package/dist/src/client/utility.js +0 -39
  20. package/dist/src/client/utility.js.map +0 -1
  21. package/dist/src/native/blockchain.d.ts +0 -20
  22. package/dist/src/native/blockchain.js +0 -284
  23. package/dist/src/native/blockchain.js.map +0 -1
  24. package/dist/src/native/consts.d.ts +0 -5
  25. package/dist/src/native/consts.js +0 -9
  26. package/dist/src/native/consts.js.map +0 -1
  27. package/dist/src/native/emulator.d.ts +0 -36
  28. package/dist/src/native/emulator.js +0 -241
  29. package/dist/src/native/emulator.js.map +0 -1
  30. package/dist/src/types/contract.d.ts +0 -79
  31. package/dist/src/types/contract.js +0 -31
  32. package/dist/src/types/contract.js.map +0 -1
  33. package/dist/test/blockchain.test.d.ts +0 -1
  34. package/dist/test/blockchain.test.js +0 -97
  35. package/dist/test/blockchain.test.js.map +0 -1
  36. package/dist/test/fixtures/zero_x_abi.d.ts +0 -31
  37. package/dist/test/fixtures/zero_x_abi.js +0 -44
  38. package/dist/test/fixtures/zero_x_abi.js.map +0 -1
@@ -1,2 +1,7 @@
1
- import GenericContract from "../types/contract";
2
- export declare function invokeContract<C extends GenericContract<any[]>, M extends keyof C["methods"]>(wallet: string, contract: C, contractMethodName: M, ...params: Parameters<C["methods"][M]>): Promise<any>;
1
+ import GenericContract, { MapTypeToJS } from "../types/contract";
2
+ export declare function setPort(_port: number): void;
3
+ 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
+ name: M;
5
+ })["stateMutability"] extends "view" ? MapTypeToJS<(ABI[number] & {
6
+ name: M;
7
+ })["outputs"][0]["type"], []> : never : never>;
@@ -39,18 +39,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.invokeContract = void 0;
42
+ exports.invokeContract = exports.setPort = void 0;
43
43
  var web3_1 = __importDefault(require("web3"));
44
- function invokeContract(wallet, contract, contractMethodName) {
44
+ var port = 8545;
45
+ function setPort(_port) {
46
+ port = _port;
47
+ }
48
+ exports.setPort = setPort;
49
+ /// @ts-expect-error
50
+ function invokeContract(wallet, _contract, contractMethodName) {
51
+ /// @ts-expect-error
45
52
  var params = [];
46
- for (var _i = 3; _i < arguments.length; _i++) {
53
+ for (
54
+ /// @ts-expect-error
55
+ var _i = 3;
56
+ /// @ts-expect-error
57
+ _i < arguments.length;
58
+ /// @ts-expect-error
59
+ _i++) {
60
+ /// @ts-expect-error
47
61
  params[_i - 3] = arguments[_i];
48
62
  }
49
63
  return __awaiter(this, void 0, void 0, function () {
50
- var abiDefinition, state, call, web3;
64
+ var contract, abiDefinition, state, call, web3;
51
65
  var _a;
52
66
  var _this = this;
53
67
  return __generator(this, function (_b) {
68
+ contract = _contract;
54
69
  abiDefinition = contract._jsonInterface.find(function (a) { return a.name === contractMethodName; });
55
70
  state = abiDefinition.stateMutability;
56
71
  if (state === "view")
@@ -65,7 +80,7 @@ function invokeContract(wallet, contract, contractMethodName) {
65
80
  gas: 90000000,
66
81
  gasPrice: "90000000000",
67
82
  });
68
- web3 = new web3_1.default("ws://".concat("127.0.0.1", ":").concat(8545));
83
+ web3 = new web3_1.default(new web3_1.default.providers.HttpProvider("http://".concat("127.0.0.1", ":").concat(port)));
69
84
  return [2 /*return*/, new Promise(function (r, rej) { return __awaiter(_this, void 0, void 0, function () {
70
85
  var txHash, transaction, isMined;
71
86
  return __generator(this, function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/client/blockchain.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAwB;AAExB,SAAsB,cAAc,CAIlC,MAAc,EACd,QAAW,EACX,kBAAqB;IACrB,gBAAsC;SAAtC,UAAsC,EAAtC,qBAAsC,EAAtC,IAAsC;QAAtC,+BAAsC;;;;;;;YAEhC,aAAa,GAAI,QAAgB,CAAC,cAAc,CAAC,IAAI,CACzD,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,kBAAkB,EAA7B,CAA6B,CAC1C,CAAC;YACI,KAAK,GAAG,aAAa,CAAC,eAAe,CAAC;YAE5C,IAAI,KAAK,KAAK,MAAM;gBAClB,sBAAO,IAAI,OAAO,CAAC,UAAC,CAAC,EAAE,GAAG;;wBACvB,CAAA,KAAA,QAAQ,CAAC,OAAO,CAAA,CAAC,kBAA4B,CAAC,WAAY,MAAM,EAC9D,IAAI,EAAE;6BACN,IAAI,CAAC,UAAC,MAAW,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,EAAT,CAAS,CAAC;6BAChC,KAAK,CAAC,UAAC,CAAC,IAAK,OAAA,GAAG,CAAC,CAAC,CAAC,EAAN,CAAM,CAAC,CAAC;oBAC1B,CAAC,CAAC,EAAC;YAEC,IAAI,GAAS,CAAA,KAAA,QAAQ,CAAC,OAAO,CAAA,CAAC,kBAA4B,CAAC,WAE3D,MAAc,EAClB,IAAI,CAAC;gBACL,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,aAAa;aACxB,CAAC,CAAC;YACG,IAAI,GAAG,IAAI,cAAI,CAAC,eAAQ,WAAW,cAAI,IAAI,CAAE,CAAC,CAAC;YACrD,sBAAO,IAAI,OAAO,CAAO,UAAO,CAAC,EAAE,GAAG;;;;oCACrB,qBAAM,IAAI,OAAO,CAAS,UAAC,CAAC,EAAE,GAAG;oCAC9C,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAC,EAAU;wCACpC,CAAC,CAAC,EAAE,CAAC,CAAC;oCACR,CAAC,CAAC,CAAC;oCACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAClB,CAAC,CAAC,EAAA;;gCALI,MAAM,GAAG,SAKb;;;qCACK,IAAI;gCACW,qBAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAA;;gCAA1D,WAAW,GAAG,SAA4C;gCAE1D,OAAO,GACX,CAAC,WAAW;oCACZ,CAAC,WAAW,CAAC,SAAS;oCACtB,WAAW,CAAC,MAAM,KAAK,SAAS;oCAC9B,CAAC,CAAC,SAAS,CAAC,oCAAoC;oCAChD,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC;qCAChC,CAAA,OAAO,KAAK,SAAS,CAAA,EAArB,wBAAqB;gCACvB,qBAAM,IAAI,OAAO,CAAO,UAAC,CAAC,IAAK,OAAA,UAAU,CAAC,cAAM,OAAA,CAAC,EAAE,EAAH,CAAG,EAAE,IAAI,CAAC,EAA3B,CAA2B,CAAC,EAAA;;gCAA3D,SAA2D,CAAC;;;gCAE5D,IAAI,OAAO;oCAAE,CAAC,EAAE,CAAC;;oCACZ,GAAG,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;gCAC1D,wBAAM;;;;;qBAGX,CAAQ,EAAC;;;CACX;AAxDD,wCAwDC"}
1
+ {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/client/blockchain.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  import GenericContract from "../types/contract";
2
+ type Addresses = {
3
+ [wallet: string]: {
4
+ secretKey: string;
5
+ };
6
+ };
2
7
  export declare function startBlockchain({ projectRootFolder: projectFolder, port, }: {
3
8
  /** The NFT projects root folder so the contracts can be deployed from */
4
9
  projectRootFolder: string;
@@ -7,8 +12,9 @@ export declare function startBlockchain({ projectRootFolder: projectFolder, port
7
12
  * @default 8545
8
13
  * */
9
14
  port?: number;
10
- }): Promise<any>;
11
- export declare function deployContract<ABI extends any[] = []>({ contractName, args, }: {
15
+ }): Promise<Addresses>;
16
+ export declare function deployContract<const ABI extends any[] = []>({ contractAbi, contractName, args, }: {
17
+ contractAbi: ABI;
12
18
  contractName: string;
13
19
  args: any[];
14
20
  }): Promise<{
@@ -18,3 +24,4 @@ export declare function deployContract<ABI extends any[] = []>({ contractName, a
18
24
  type: "event";
19
25
  } ? T["name"] : never : never : never)>;
20
26
  }>;
27
+ export {};
@@ -76,7 +76,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
76
76
  exports.deployContract = exports.startBlockchain = void 0;
77
77
  var debug_1 = __importDefault(require("debug"));
78
78
  var task_names_1 = require("hardhat/builtin-tasks/task-names");
79
- var abi_1 = require("@ethersproject/abi");
80
79
  var logger = (0, debug_1.default)("@muritavo/testing-toolkit/blockchain");
81
80
  var instance;
82
81
  function startBlockchain(_a) {
@@ -204,63 +203,78 @@ function initHardhat(dir) {
204
203
  function deployContract(_a) {
205
204
  return __awaiter(this, arguments, void 0, function (_b) {
206
205
  var getContract, ethers, owner, Factory, lock_1, connection, initializationKey, e_3;
207
- var contractName = _b.contractName, args = _b.args;
208
- return __generator(this, function (_c) {
209
- switch (_c.label) {
206
+ var _c, _d;
207
+ var _this = this;
208
+ var contractAbi = _b.contractAbi, contractName = _b.contractName, args = _b.args;
209
+ return __generator(this, function (_e) {
210
+ switch (_e.label) {
210
211
  case 0:
211
212
  logger("Deploying contract ".concat(contractName, " with ").concat(args.length, " parameters ").concat(args
212
213
  .map(function (a) { return "".concat(a, " (").concat(Array.isArray(a) ? "array" : typeof a, ")"); })
213
214
  .join(", ")));
214
- _c.label = 1;
215
+ _e.label = 1;
215
216
  case 1:
216
- _c.trys.push([1, 11, , 12]);
217
+ _e.trys.push([1, 13, , 14]);
217
218
  if (!(instance === null || instance === void 0 ? void 0 : instance.rootFolder))
218
219
  throw new Error("You are trying to deploy a contract without defining the Blockchain Project folder. Please define it at startBlockchain command.");
219
- getContract = function () {
220
- var Web3 = require("web3");
221
- var web3 = new Web3("ws://127.0.0.1:".concat(instance.port));
222
- return new web3.eth.Contract(lock_1.interface.format(abi_1.FormatTypes.json), lock_1.address);
223
- };
220
+ getContract = function () { return __awaiter(_this, void 0, void 0, function () {
221
+ var Web3, web3;
222
+ return __generator(this, function (_a) {
223
+ switch (_a.label) {
224
+ case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("web3")); })];
225
+ case 1:
226
+ Web3 = (_a.sent()).default;
227
+ 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)];
229
+ }
230
+ });
231
+ }); };
224
232
  return [4 /*yield*/, initHardhat(instance.rootFolder)];
225
233
  case 2:
226
- ethers = (_c.sent()).ethers;
234
+ ethers = (_e.sent()).ethers;
227
235
  return [4 /*yield*/, ethers.getSigners()];
228
236
  case 3:
229
- owner = (_c.sent())[0];
237
+ owner = (_e.sent())[0];
230
238
  return [4 /*yield*/, ethers.getContractFactory(contractName)];
231
239
  case 4:
232
- Factory = _c.sent();
240
+ Factory = _e.sent();
233
241
  return [4 /*yield*/, Factory.deploy()];
234
242
  case 5:
235
- lock_1 = _c.sent();
243
+ lock_1 = _e.sent();
236
244
  return [4 /*yield*/, lock_1.deployed()];
237
245
  case 6:
238
- _c.sent();
239
- if (!(args.length > 0)) return [3 /*break*/, 9];
246
+ _e.sent();
247
+ if (!(args.length > 0)) return [3 /*break*/, 10];
240
248
  logger("Initializing contract with owner ".concat(owner, " and args ").concat(args));
241
249
  connection = lock_1.connect(owner);
242
250
  initializationKey = Object.keys(connection.functions).find(function (a) { return a.split(",", args.length) && a.startsWith("initialize("); }) || "initialize";
243
251
  if (!connection[initializationKey]) return [3 /*break*/, 8];
244
252
  return [4 /*yield*/, connection[initializationKey].apply(connection, args)];
245
253
  case 7:
246
- _c.sent();
247
- _c.label = 8;
248
- case 8: return [2 /*return*/, {
254
+ _e.sent();
255
+ _e.label = 8;
256
+ case 8:
257
+ _c = {
249
258
  address: lock_1.address,
250
- owner: owner.address,
251
- contract: getContract(),
252
- }];
253
- case 9: return [2 /*return*/, {
259
+ owner: owner.address
260
+ };
261
+ return [4 /*yield*/, getContract()];
262
+ case 9: return [2 /*return*/, (_c.contract = _e.sent(),
263
+ _c)];
264
+ case 10:
265
+ _d = {
254
266
  address: lock_1.address,
255
- owner: owner.address,
256
- contract: getContract(),
257
- }];
258
- case 10: return [3 /*break*/, 12];
259
- case 11:
260
- e_3 = _c.sent();
267
+ owner: owner.address
268
+ };
269
+ return [4 /*yield*/, getContract()];
270
+ case 11: return [2 /*return*/, (_d.contract = _e.sent(),
271
+ _d)];
272
+ case 12: return [3 /*break*/, 14];
273
+ case 13:
274
+ e_3 = _e.sent();
261
275
  logger("Something has gone wrong", e_3);
262
276
  throw e_3;
263
- case 12: return [2 /*return*/];
277
+ case 14: return [2 /*return*/];
264
278
  }
265
279
  });
266
280
  });
@@ -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,19 @@
1
+ type Addresses = {
2
+ [wallet: string]: {
3
+ secretKey: string;
4
+ };
5
+ };
6
+ export declare let instance: {
7
+ process: typeof import("hardhat") & {
8
+ ethers: import("@nomiclabs/hardhat-ethers/types").HardhatEthersHelpers;
9
+ };
10
+ rootFolder?: string;
11
+ contracts: {
12
+ [id: string]: {
13
+ address: string;
14
+ };
15
+ };
16
+ addresses: Addresses;
17
+ port: number;
18
+ } | null;
19
+ export {};
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.instance = void 0;
4
+ //# sourceMappingURL=blockchain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/shared/blockchain.ts"],"names":[],"mappings":""}
@@ -7,7 +7,7 @@ type ExtractEvents<A extends AllABIs[number]> = A extends {
7
7
  type: "event";
8
8
  } ? A["name"] : never;
9
9
  type TypeOrInternalType<T> = T['internalType'] extends unknown ? T['type'] : T['internalType'];
10
- type MapTypeToJS<L, C> = L extends "tuple[]" ? TuplifyUnion<C[number], C[number]['name']>[] : L extends "address" | "uint256" | "uint128" | "uint8" | "string" | "bytes32" ? string : L extends "uint256[]" | "string[]" ? string[] : L extends "bool" ? boolean : L extends 'tuple' ? TuplifyUnion<C[number], C[number]['name']> : unknown;
10
+ export type MapTypeToJS<L, C> = L extends "tuple[]" ? TuplifyUnion<C[number], C[number]['name']>[] : L extends "address" | "uint256" | "uint128" | "uint8" | "string" | "bytes32" ? string : L extends "uint256[]" | "string[]" ? string[] : L extends "bool" ? boolean : L extends 'tuple' ? TuplifyUnion<C[number], C[number]['name']> : unknown;
11
11
  type ExtractFromObj<R extends (AllABIs[number] & {
12
12
  type: "function";
13
13
  })> = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muritavo/testing-toolkit",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "A series of functions to help with testing",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -1,6 +0,0 @@
1
- import GenericContract, { MapTypeToJS } from "../types/contract";
2
- 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] & {
3
- name: M;
4
- })["stateMutability"] extends "view" ? MapTypeToJS<(ABI[number] & {
5
- name: M;
6
- })["outputs"][0]["type"], []> : never : never>;
@@ -1,122 +0,0 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.invokeContract = void 0;
43
- var web3_1 = __importDefault(require("web3"));
44
- /// @ts-expect-error
45
- function invokeContract(wallet, _contract, contractMethodName) {
46
- /// @ts-expect-error
47
- var params = [];
48
- for (
49
- /// @ts-expect-error
50
- var _i = 3;
51
- /// @ts-expect-error
52
- _i < arguments.length;
53
- /// @ts-expect-error
54
- _i++) {
55
- /// @ts-expect-error
56
- params[_i - 3] = arguments[_i];
57
- }
58
- return __awaiter(this, void 0, void 0, function () {
59
- var contract, abiDefinition, state, call, web3;
60
- var _a;
61
- var _this = this;
62
- return __generator(this, function (_b) {
63
- contract = _contract;
64
- abiDefinition = contract._jsonInterface.find(function (a) { return a.name === contractMethodName; });
65
- state = abiDefinition.stateMutability;
66
- if (state === "view")
67
- return [2 /*return*/, new Promise(function (r, rej) {
68
- var _a;
69
- (_a = contract.methods)[contractMethodName].apply(_a, params).call()
70
- .then(function (result) { return r(result); })
71
- .catch(function (e) { return rej(e); });
72
- })];
73
- call = (_a = contract.methods)[contractMethodName].apply(_a, params).send({
74
- from: wallet,
75
- gas: 90000000,
76
- gasPrice: "90000000000",
77
- });
78
- web3 = new web3_1.default("ws://".concat("127.0.0.1", ":").concat(8545));
79
- return [2 /*return*/, new Promise(function (r, rej) { return __awaiter(_this, void 0, void 0, function () {
80
- var txHash, transaction, isMined;
81
- return __generator(this, function (_a) {
82
- switch (_a.label) {
83
- case 0: return [4 /*yield*/, new Promise(function (r, rej) {
84
- call.on("transactionHash", function (tX) {
85
- r(tX);
86
- });
87
- call.catch(rej);
88
- })];
89
- case 1:
90
- txHash = _a.sent();
91
- _a.label = 2;
92
- case 2:
93
- if (!true) return [3 /*break*/, 7];
94
- return [4 /*yield*/, web3.eth.getTransactionReceipt(txHash)];
95
- case 3:
96
- transaction = _a.sent();
97
- isMined = !transaction ||
98
- !transaction.blockHash ||
99
- transaction.status === undefined
100
- ? undefined // I still don't know if it's loaded
101
- : !!transaction.status === true;
102
- if (!(isMined === undefined)) return [3 /*break*/, 5];
103
- return [4 /*yield*/, new Promise(function (r) { return setTimeout(function () { return r(); }, 1000); })];
104
- case 4:
105
- _a.sent();
106
- return [3 /*break*/, 6];
107
- case 5:
108
- if (isMined)
109
- r();
110
- else
111
- rej(new Error("Transaction failed, check the logs"));
112
- return [3 /*break*/, 7];
113
- case 6: return [3 /*break*/, 2];
114
- case 7: return [2 /*return*/];
115
- }
116
- });
117
- }); })];
118
- });
119
- });
120
- }
121
- exports.invokeContract = invokeContract;
122
- //# sourceMappingURL=blockchain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../src/client/blockchain.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAwB;AAcxB,oBAAoB;AACpB,SAAsB,cAAc,CAClC,MAAc,EACd,SAAY,EACZ,kBAAqB;IACrB,oBAAoB;IACpB,gBAAsC;;IADtC,oBAAoB;IACpB,UAAsC;IADtC,oBAAoB;IACpB,qBAAsC;IADtC,oBAAoB;IACpB,IAAsC;QADtC,oBAAoB;QACpB,+BAAsC;;;;;;;YAYhC,QAAQ,GAAG,SAAmC,CAAC;YAC/C,aAAa,GAAI,QAAgB,CAAC,cAAc,CAAC,IAAI,CACzD,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,kBAAkB,EAA7B,CAA6B,CAC1C,CAAC;YACI,KAAK,GAAG,aAAa,CAAC,eAAe,CAAC;YAE5C,IAAI,KAAK,KAAK,MAAM;gBAClB,sBAAO,IAAI,OAAO,CAAC,UAAC,CAAC,EAAE,GAAG;;wBACvB,CAAA,KAAA,QAAQ,CAAC,OAAO,CAAA,CAAC,kBAA4B,CAAC,WAAY,MAAM,EAC9D,IAAI,EAAE;6BACN,IAAI,CAAC,UAAC,MAAW,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,EAAT,CAAS,CAAC;6BAChC,KAAK,CAAC,UAAC,CAAC,IAAK,OAAA,GAAG,CAAC,CAAC,CAAC,EAAN,CAAM,CAAC,CAAC;oBAC1B,CAAC,CAAC,EAAC;YAEC,IAAI,GAAS,CAAA,KAAA,QAAQ,CAAC,OAAO,CAAA,CAAC,kBAA4B,CAAC,WAE3D,MAAc,EAClB,IAAI,CAAC;gBACL,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,aAAa;aACxB,CAAC,CAAC;YACG,IAAI,GAAG,IAAI,cAAI,CAAC,eAAQ,WAAW,cAAI,IAAI,CAAE,CAAC,CAAC;YACrD,sBAAO,IAAI,OAAO,CAAO,UAAO,CAAC,EAAE,GAAG;;;;oCACrB,qBAAM,IAAI,OAAO,CAAS,UAAC,CAAC,EAAE,GAAG;oCAC9C,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAC,EAAU;wCACpC,CAAC,CAAC,EAAE,CAAC,CAAC;oCACR,CAAC,CAAC,CAAC;oCACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAClB,CAAC,CAAC,EAAA;;gCALI,MAAM,GAAG,SAKb;;;qCACK,IAAI;gCACW,qBAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAA;;gCAA1D,WAAW,GAAG,SAA4C;gCAE1D,OAAO,GACX,CAAC,WAAW;oCACZ,CAAC,WAAW,CAAC,SAAS;oCACtB,WAAW,CAAC,MAAM,KAAK,SAAS;oCAC9B,CAAC,CAAC,SAAS,CAAC,oCAAoC;oCAChD,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC;qCAChC,CAAA,OAAO,KAAK,SAAS,CAAA,EAArB,wBAAqB;gCACvB,qBAAM,IAAI,OAAO,CAAO,UAAC,CAAC,IAAK,OAAA,UAAU,CAAC,cAAM,OAAA,CAAC,EAAE,EAAH,CAAG,EAAE,IAAI,CAAC,EAA3B,CAA2B,CAAC,EAAA;;gCAA3D,SAA2D,CAAC;;;gCAE5D,IAAI,OAAO;oCAAE,CAAC,EAAE,CAAC;;oCACZ,GAAG,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;gCAC1D,wBAAM;;;;;qBAGX,CAAQ,EAAC;;;CACX;AAjED,wCAiEC"}
@@ -1,65 +0,0 @@
1
- import firebase from "firebase/compat";
2
- /**
3
- * Deletes a collection from firebase
4
- * @param projectId The current project id of the emulator instance
5
- * @param collectionPath The collection path **starting with "/"**
6
- */
7
- export declare const deleteCollection: (projectId: string, collectionPath: string) => Promise<void>;
8
- /**
9
- * Gives the developer the possibility to interact with an admin firestore emulator instance
10
- * @param projectId The current project id of the emulator instance
11
- * @param cb The callback to be executed
12
- */
13
- export declare const setupEmulator: (projectId: string, cb: (firestore: firebase.firestore.Firestore, storage: firebase.storage.Storage) => Promise<void>, storageBucket?: string) => Promise<void>;
14
- /**
15
- * Creates a user on the auth emulator allowing him to authenticate to the emulator
16
- * @param projectId The current project id of the emulator instance
17
- * @param email The email to authenticate the user with
18
- * @param password The password to authenticate the user with
19
- * @param localId A deterministic Id to be used for this user
20
- */
21
- export declare const addAuthUser: (projectId: string, email: string, password: string, localId?: string) => Promise<void>;
22
- /**
23
- * Clears all accounts from the auth emulator
24
- *
25
- * @param projectId The current project id of the emulator instance
26
- */
27
- export declare const clearAuth: (projectId: string) => Promise<void>;
28
- /**
29
- * Sets the emulator ports config
30
- * @param config Emulator ports config
31
- */
32
- export declare function setEmulatorConfig(config: FirebaseConfigShape): void;
33
- /**
34
- * Clears all firestore documents from local emulator
35
- * @param projectId The current project id of the emulator instance
36
- */
37
- export declare const clearFirestore: (projectId: string) => Promise<void>;
38
- declare const FirebaseConfigEmulatorsShapeExample: {
39
- readonly emulators: {
40
- readonly auth: {
41
- readonly port: number;
42
- };
43
- readonly functions: {
44
- readonly port: number;
45
- };
46
- readonly firestore: {
47
- readonly port: number;
48
- };
49
- readonly hosting: {
50
- readonly port: number;
51
- };
52
- readonly storage: {
53
- readonly port: number;
54
- };
55
- readonly pubsub: {
56
- readonly port: number;
57
- };
58
- readonly ui: {
59
- readonly enabled: boolean;
60
- readonly port: number;
61
- };
62
- };
63
- };
64
- export type FirebaseConfigShape = typeof FirebaseConfigEmulatorsShapeExample;
65
- export {};