@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,36 +0,0 @@
1
- /**
2
- * Kills the emulator that was started by this module instance
3
- *
4
- * @returns A promise that resolves when the emulator is succesfully killed
5
- */
6
- export declare function killEmulator(): Promise<any>;
7
- /**
8
- * With this you can start an firebase emulator
9
- * @param args Check property typings for details
10
- * @returns A promise that resolves when the emulator is ready or fails if the emulator couldn't start or be reached
11
- */
12
- export declare function startEmulator(args: {
13
- /** The project id used by the emulator */
14
- projectId: string;
15
- /** Optionally indicates the database to import data from */
16
- databaseToImport?: string;
17
- /** The port where the firebase UI will be running to check if the emulator is up */
18
- UIPort: number;
19
- /** An optional flag to indicate when a new emulator instance should be created */
20
- suiteId?: string;
21
- ports: number[];
22
- shouldSaveData: boolean;
23
- only: ("functions" | "hosting" | "firestore" | "storage" | "auth")[] | string[];
24
- }, isRetry?: boolean): Promise<null>;
25
- type Admin = ReturnType<typeof _getAuthAdminInstance>;
26
- type KeysWithValsOfType<T, V> = keyof {
27
- [P in keyof T as T[P] extends V ? P : never]: P;
28
- };
29
- export declare function invokeAuthAdmin<F extends KeysWithValsOfType<Admin, (...params: any[]) => any>>({ projectId, port, functionName, params, }: {
30
- projectId: string;
31
- port: string;
32
- functionName: F;
33
- params: Parameters<Admin[F]>;
34
- }): Promise<any>;
35
- declare function _getAuthAdminInstance(projectId: string, authPort: string): Promise<any>;
36
- export {};
@@ -1,241 +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.invokeAuthAdmin = exports.startEmulator = exports.killEmulator = void 0;
43
- var node_fetch_1 = __importDefault(require("node-fetch"));
44
- var child_process_1 = require("child_process");
45
- var kill_port_1 = __importDefault(require("kill-port"));
46
- var consts_1 = require("./consts");
47
- var log = require("debug")("@muritavo/testing-toolkit/emulator");
48
- var spawnResult;
49
- function WaitTimeout(ml) {
50
- if (ml === void 0) { ml = 200; }
51
- return new Promise(function (r) {
52
- setTimeout(function () {
53
- r();
54
- }, ml);
55
- });
56
- }
57
- /**
58
- * Kills the emulator that was started by this module instance
59
- *
60
- * @returns A promise that resolves when the emulator is succesfully killed
61
- */
62
- function killEmulator() {
63
- return __awaiter(this, void 0, void 0, function () {
64
- return __generator(this, function (_a) {
65
- if (!spawnResult)
66
- return [2 /*return*/, Promise.resolve(null)];
67
- return [2 /*return*/, new Promise(function (r, rej) {
68
- try {
69
- var t_1 = setTimeout(function () {
70
- spawnResult = undefined;
71
- rej(new Error("Couldn't kill emulator"));
72
- }, 20000);
73
- spawnResult.process.on("close", function () {
74
- clearTimeout(t_1);
75
- r(null);
76
- });
77
- spawnResult.process.kill("SIGINT");
78
- }
79
- catch (e) {
80
- console.log("Unhandled exception", e);
81
- r(null);
82
- }
83
- })];
84
- });
85
- });
86
- }
87
- exports.killEmulator = killEmulator;
88
- /**
89
- * With this you can start an firebase emulator
90
- * @param args Check property typings for details
91
- * @returns A promise that resolves when the emulator is ready or fails if the emulator couldn't start or be reached
92
- */
93
- function startEmulator(args_1) {
94
- return __awaiter(this, arguments, void 0, function (args, isRetry) {
95
- var suiteId;
96
- var _this = this;
97
- if (isRetry === void 0) { isRetry = false; }
98
- return __generator(this, function (_a) {
99
- switch (_a.label) {
100
- case 0:
101
- suiteId = args.suiteId || args.databaseToImport || "default";
102
- log("Spawning emulator process");
103
- if (!(suiteId === (spawnResult === null || spawnResult === void 0 ? void 0 : spawnResult.id))) return [3 /*break*/, 1];
104
- log("Emulator with suite id ".concat(suiteId, " already running"));
105
- return [2 /*return*/, null];
106
- case 1: return [4 /*yield*/, killEmulator()];
107
- case 2:
108
- _a.sent();
109
- _a.label = 3;
110
- case 3:
111
- spawnResult = {
112
- id: suiteId,
113
- project: args.projectId,
114
- database: args.databaseToImport,
115
- process: (0, child_process_1.spawn)("firebase emulators:start -P ".concat(args.projectId, " ").concat(args.databaseToImport ? "--import ".concat(args.databaseToImport) : "", " ").concat(args.shouldSaveData ? "--export-on-exit" : "", " ").concat(args.only.length ? "--only=".concat(args.only.join(",")) : ""), {
116
- cwd: undefined,
117
- env: process.env,
118
- shell: true,
119
- }),
120
- };
121
- /**
122
- * This script exists so we can start an emulator from inside cypress
123
- */
124
- return [2 /*return*/, new Promise(function (r, rej) { return __awaiter(_this, void 0, void 0, function () {
125
- var breakLoop, timeout, scriptOutput, e_1;
126
- return __generator(this, function (_a) {
127
- switch (_a.label) {
128
- case 0:
129
- breakLoop = false;
130
- timeout = setTimeout(function () {
131
- breakLoop = true;
132
- console.error("Could not receive ok from firebase emulator");
133
- clearTimeout(timeout);
134
- rej(new Error("Timeout"));
135
- spawnResult = undefined;
136
- }, 30000);
137
- log("Process is killed: ", spawnResult.process.killed);
138
- log("Process exit code", spawnResult.process.exitCode);
139
- spawnResult.process.on("error", function (e) {
140
- clearTimeout(timeout);
141
- log("Spawning emulator process failed with error", e.message);
142
- rej(new Error("Spawning emulator process failed with error ".concat(e.message)));
143
- spawnResult = undefined;
144
- });
145
- spawnResult.process.on("message", function (e) {
146
- log("Emulator start sent message", e.toString());
147
- });
148
- scriptOutput = "";
149
- spawnResult.process.stdout.on("data", function (data) {
150
- data = data.toString();
151
- scriptOutput += data;
152
- });
153
- spawnResult.process.on("close", function (e) {
154
- clearTimeout(timeout);
155
- log("Emulator closed with", e);
156
- var unavailablePorts = args.ports.filter(function (p) {
157
- return scriptOutput.includes(String(p));
158
- });
159
- var failedWithUnavailablePort = unavailablePorts.length && e !== 0;
160
- if (failedWithUnavailablePort) {
161
- log("Killing ports", unavailablePorts, "detected from text", scriptOutput);
162
- Promise.all(unavailablePorts.map(function (p) { return (0, kill_port_1.default)(p).catch(function () { }); })).then(function () {
163
- if (isRetry === false)
164
- return startEmulator(args, true);
165
- else
166
- rej(new Error("Some ports were unavailable (".concat(unavailablePorts.join(", "), "). They were killed, please try running the emulator again")));
167
- });
168
- }
169
- else {
170
- rej(new Error("Emulator closed with code ".concat(e, ". Check the firebase-debug.log for more details.\nCommand output was:\n").concat(scriptOutput)));
171
- }
172
- spawnResult = undefined;
173
- });
174
- _a.label = 1;
175
- case 1:
176
- if (!!breakLoop) return [3 /*break*/, 7];
177
- _a.label = 2;
178
- case 2:
179
- _a.trys.push([2, 4, , 5]);
180
- log("Checking if emulator is up");
181
- return [4 /*yield*/, (0, node_fetch_1.default)("http://".concat(consts_1.LOCALHOST_DOMAIN, ":").concat(args.UIPort))];
182
- case 3:
183
- _a.sent();
184
- log("Emulator is up and ready");
185
- clearTimeout(timeout);
186
- breakLoop = true;
187
- r(null);
188
- return [3 /*break*/, 5];
189
- case 4:
190
- e_1 = _a.sent();
191
- log(e_1);
192
- log("Process is killed: ", spawnResult === null || spawnResult === void 0 ? void 0 : spawnResult.process.killed);
193
- log("Emulator is not ready yet, retrying in 1 sec");
194
- return [3 /*break*/, 5];
195
- case 5: return [4 /*yield*/, WaitTimeout(1000)];
196
- case 6:
197
- _a.sent();
198
- return [3 /*break*/, 1];
199
- case 7: return [2 /*return*/];
200
- }
201
- });
202
- }); })];
203
- }
204
- });
205
- });
206
- }
207
- exports.startEmulator = startEmulator;
208
- function invokeAuthAdmin(_a) {
209
- return __awaiter(this, arguments, void 0, function (_b) {
210
- var app, func;
211
- var projectId = _b.projectId, port = _b.port, functionName = _b.functionName, params = _b.params;
212
- return __generator(this, function (_c) {
213
- switch (_c.label) {
214
- case 0: return [4 /*yield*/, _getAuthAdminInstance(projectId, port)];
215
- case 1:
216
- app = _c.sent();
217
- func = app[functionName];
218
- return [4 /*yield*/, func.bind(app).apply(void 0, params)];
219
- case 2:
220
- _c.sent();
221
- return [2 /*return*/, null];
222
- }
223
- });
224
- });
225
- }
226
- exports.invokeAuthAdmin = invokeAuthAdmin;
227
- var adminApp = {};
228
- function _getAuthAdminInstance(projectId, authPort) {
229
- return __awaiter(this, void 0, void 0, function () {
230
- var initializeApp, getAuth;
231
- return __generator(this, function (_a) {
232
- initializeApp = require("firebase-admin/app").initializeApp;
233
- getAuth = require("firebase-admin/auth").getAuth;
234
- process.env.FIREBASE_AUTH_EMULATOR_HOST = "".concat(consts_1.LOCALHOST_DOMAIN, ":").concat(authPort);
235
- adminApp[projectId] =
236
- adminApp[projectId] || initializeApp({ projectId: projectId }, projectId);
237
- return [2 /*return*/, getAuth(adminApp[projectId])];
238
- });
239
- });
240
- }
241
- //# sourceMappingURL=emulator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../../src/native/emulator.ts"],"names":[],"mappings":"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"}
@@ -1,79 +0,0 @@
1
- import { Contract, ContractOptions, EventData, PastEventOptions } from "web3-eth-contract";
2
- export type AllABIs = readonly any[];
3
- type ExtractMethods<A extends AllABIs[number]> = A extends {
4
- type: "function";
5
- } ? A["name"] : never;
6
- type ExtractEvents<A extends AllABIs[number]> = A extends {
7
- type: "event";
8
- } ? A["name"] : never;
9
- type TypeOrInternalType<T> = T['internalType'] extends unknown ? T['type'] : T['internalType'];
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
- type ExtractFromObj<R extends (AllABIs[number] & {
12
- type: "function";
13
- })> = {
14
- [K in R["outputs"][number]["name"]]: MapTypeToJS<TypeOrInternalType<(R["outputs"][number] & {
15
- name: K;
16
- })>, (R["outputs"][number] & {
17
- name: K;
18
- })["components"]>;
19
- };
20
- export type ExtractMethodDefinition<A extends AllABIs, N extends (AllABIs[number] & {
21
- type: "function";
22
- })["name"], R = A[number] & {
23
- type: "function";
24
- name: N;
25
- }> = (...args: TuplifyUnion<(A[number] & {
26
- type: "function";
27
- name: N;
28
- })["inputs"][number], (A[number] & {
29
- type: "function";
30
- name: N;
31
- })["inputs"][number]["name"]>) => {
32
- call: () => Promise<R extends {
33
- outputs: {
34
- length: 1;
35
- };
36
- } ? MapTypeToJS<TypeOrInternalType<R["outputs"][0]>, R["outputs"][0]['components']> : R extends {
37
- outputs: any;
38
- } ? ExtractFromObj<R> : void>;
39
- send: (prop: {
40
- from: string;
41
- maxPriorityFeePerGas?: number;
42
- gas?: number;
43
- gasPrice?: string;
44
- }) => Promise<void>;
45
- };
46
- type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
47
- type LastOf<T> = UnionToIntersection<T extends any ? () => T : never> extends () => infer R ? R : never;
48
- type Push<T extends any[], V> = [...T, V];
49
- export type TuplifyUnion<FUNCS, T, L = LastOf<T>, N = [T] extends [never] ? true : false> = true extends N ? [] : Push<TuplifyUnion<FUNCS, Exclude<T, L>>, MapTypeToJS<TypeOrInternalType<(FUNCS & {
50
- name: L;
51
- })>, (FUNCS & {
52
- name: L;
53
- })['components']>>;
54
- export default class GenericContract<A extends AllABIs = AllABIs, E extends string = ExtractEvents<A[number]> | "allEvents"> extends Contract {
55
- events: Exclude<E, "allEvents">;
56
- constructor(jsonInterface: A, address?: string, options?: ContractOptions);
57
- methods: {
58
- [k in ExtractMethods<A[number]>]: ExtractMethodDefinition<A, k>;
59
- };
60
- getPastEvents(event: E): Promise<GenericEventData<A>[]>;
61
- getPastEvents(event: E, options: PastEventOptions, callback: (error: Error, event: EventData) => void): Promise<GenericEventData<A>[]>;
62
- getPastEvents(event: E, options: PastEventOptions): Promise<GenericEventData<A>[]>;
63
- getPastEvents(event: E, callback: (error: Error, event: EventData) => void): Promise<GenericEventData<A>[]>;
64
- }
65
- export type GenericEventData<E extends AllABIs> = EventData & GenericEvent<E>;
66
- type ABIEvent = AllABIs[number] & {
67
- type: "event";
68
- };
69
- type GenericEvent<ABI extends AllABIs, E extends string = ExtractEvents<ABI[number]>> = {
70
- event: E;
71
- returnValues: ExtractReturnValues<ABIEvent & {
72
- name: E;
73
- }>;
74
- };
75
- type ExtractReturnValues<E extends ABIEvent> = ExtractInputType<E["inputs"][number]>;
76
- type ExtractInputType<I extends ABIEvent["inputs"][number]> = {
77
- [k in I["name"]]: MapTypeToJS<TypeOrInternalType<I>, I['components']>;
78
- };
79
- export {};
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- // @ts-nocheck
19
- var web3_eth_contract_1 = require("web3-eth-contract");
20
- var GenericContract = /** @class */ (function (_super) {
21
- __extends(GenericContract, _super);
22
- function GenericContract(jsonInterface, address, options) {
23
- return _super.call(this, jsonInterface, address, options) || this;
24
- }
25
- GenericContract.prototype.getPastEvents = function (event, options, callback) {
26
- return _super.prototype.getPastEvents.call(this, event, options, callback);
27
- };
28
- return GenericContract;
29
- }(web3_eth_contract_1.Contract));
30
- exports.default = GenericContract;
31
- //# sourceMappingURL=contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/types/contract.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,uDAK2B;AAyG3B;IAGY,mCAAQ;IAElB,yBAAY,aAAgB,EAAE,OAAgB,EAAE,OAAyB;QACvE,OAAA,MAAK,YAAC,aAAqC,EAAE,OAAO,EAAE,OAAO,CAAC,SAAC;IACjE,CAAC;IAkBQ,uCAAa,GAAtB,UACE,KAAU,EACV,OAAa,EACb,QAAc;QAEd,OAAO,gBAAK,CAAC,aAAa,YAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAQ,CAAC;IAC9D,CAAC;IACH,sBAAC;AAAD,CAAC,AAhCD,CAGY,4BAAQ,GA6BnB"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,97 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
- 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;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- var path_1 = require("path");
63
- var blockchain_1 = require("../src/native/blockchain");
64
- var zero_x_abi_1 = require("./fixtures/zero_x_abi");
65
- var blockchain_2 = require("../src/client/blockchain");
66
- jest.mock("web3", function () { return require("web3v4"); });
67
- it("Should be able to spin up blockchain server forking a preexisting network", function () { return __awaiter(void 0, void 0, void 0, function () {
68
- var mod, Web3, p, w, c;
69
- return __generator(this, function (_a) {
70
- switch (_a.label) {
71
- case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("web3")); })];
72
- case 1:
73
- mod = _a.sent();
74
- Web3 = mod.default;
75
- return [4 /*yield*/, (0, blockchain_1.startBlockchain)({
76
- projectRootFolder: (0, path_1.resolve)(__dirname),
77
- port: 19000,
78
- })];
79
- case 2:
80
- _a.sent();
81
- p = new Web3.providers.HttpProvider("http://127.0.0.1:19000");
82
- p.send({ method: "eth_chainId", jsonrpc: "2.0", id: 1, params: [] }, function (e, r) {
83
- console.log("Response", e, r);
84
- });
85
- w = new Web3(p);
86
- c = new w.eth.Contract(zero_x_abi_1.ZERO_X_ABI, "0xdef1c0ded9bec7f1a1670819833240f027b25eff");
87
- c.methods.getTransformWallet().call();
88
- return [4 /*yield*/, (0, blockchain_2.invokeContract)("s", c, "getTransformWallet").then(function (r) {
89
- return console.log("Invoke return", r);
90
- })];
91
- case 3:
92
- _a.sent();
93
- return [2 /*return*/];
94
- }
95
- });
96
- }); });
97
- //# sourceMappingURL=blockchain.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blockchain.test.js","sourceRoot":"","sources":["../../test/blockchain.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA+B;AAC/B,uDAA2D;AAC3D,oDAAmD;AACnD,uDAA0D;AAG1D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAM,OAAA,OAAO,CAAC,QAAQ,CAAC,EAAjB,CAAiB,CAAC,CAAC;AAE3C,EAAE,CAAC,2EAA2E,EAAE;;;;oBAClE,sFAAa,MAAM,QAAC;;gBAA1B,GAAG,GAAG,SAAoB;gBACf,IAAI,GAAK,GAAG,QAAR,CAAS;gBAC9B,qBAAM,IAAA,4BAAe,EAAC;wBACpB,iBAAiB,EAAE,IAAA,cAAO,EAAC,SAAS,CAAC;wBACrC,IAAI,EAAE,KAAK;qBACZ,CAAC,EAAA;;gBAHF,SAGE,CAAC;gBAEG,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;gBACpE,CAAC,CAAC,IAAI,CACJ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAC5D,UAAC,CAAC,EAAE,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChC,CAAC,CACF,CAAC;gBACI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAC1B,uBAAiB,EACjB,4CAA4C,CACP,CAAC;gBACxC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,CAAC;gBACtC,qBAAM,IAAA,2BAAc,EAAC,GAAG,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC;wBACxD,OAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;oBAA/B,CAA+B,CAChC,EAAA;;gBAFD,SAEC,CAAC;;;;KACH,CAAC,CAAC"}
@@ -1,31 +0,0 @@
1
- export declare const ZERO_X_ABI: readonly [{
2
- readonly inputs: readonly [];
3
- readonly name: "getTransformWallet";
4
- readonly outputs: readonly [{
5
- readonly internalType: "contract IFlashWallet";
6
- readonly name: "wallet";
7
- readonly type: "address";
8
- }];
9
- readonly stateMutability: "view";
10
- readonly type: "function";
11
- }, {
12
- readonly anonymous: false;
13
- readonly inputs: readonly [{
14
- readonly indexed: true;
15
- readonly internalType: "address";
16
- readonly name: "account";
17
- readonly type: "address";
18
- }, {
19
- readonly indexed: true;
20
- readonly internalType: "address";
21
- readonly name: "operator";
22
- readonly type: "address";
23
- }, {
24
- readonly indexed: false;
25
- readonly internalType: "bool";
26
- readonly name: "approved";
27
- readonly type: "bool";
28
- }];
29
- readonly name: "ApprovalForAll";
30
- readonly type: "event";
31
- }];
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZERO_X_ABI = void 0;
4
- exports.ZERO_X_ABI = [
5
- {
6
- inputs: [],
7
- name: "getTransformWallet",
8
- outputs: [
9
- {
10
- internalType: "contract IFlashWallet",
11
- name: "wallet",
12
- type: "address",
13
- },
14
- ],
15
- stateMutability: "view",
16
- type: "function",
17
- },
18
- {
19
- anonymous: false,
20
- inputs: [
21
- {
22
- indexed: true,
23
- internalType: "address",
24
- name: "account",
25
- type: "address",
26
- },
27
- {
28
- indexed: true,
29
- internalType: "address",
30
- name: "operator",
31
- type: "address",
32
- },
33
- {
34
- indexed: false,
35
- internalType: "bool",
36
- name: "approved",
37
- type: "bool",
38
- },
39
- ],
40
- name: "ApprovalForAll",
41
- type: "event",
42
- },
43
- ];
44
- //# sourceMappingURL=zero_x_abi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zero_x_abi.js","sourceRoot":"","sources":["../../../test/fixtures/zero_x_abi.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACxB;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,MAAM;aACb;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;CACO,CAAC"}