1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | var _assign = _interopRequireDefault(require("@babel/runtime/core-js/object/assign"));
|
6 |
|
7 | var _keys = _interopRequireDefault(require("@babel/runtime/core-js/object/keys"));
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | const EventEmitter = require('eventemitter3');
|
13 |
|
14 | const interfaces = require('@polkadot/jsonrpc');
|
15 |
|
16 | const u8aToHex = require('@polkadot/util/u8a/toHex');
|
17 |
|
18 | const l = require('@polkadot/util/logger')('api-mock');
|
19 |
|
20 | const SUBSCRIPTIONS = Array.prototype.concat.apply([], (0, _keys.default)(interfaces).map(section => {
|
21 | return (0, _keys.default)(interfaces[section].public).filter(method => interfaces[section].public[method].isSubscription).map(method => `subscribe_${method}`);
|
22 | }));
|
23 | const REQUESTS = {
|
24 | 'state_getStorage': (storage, params) => {
|
25 | return u8aToHex(
|
26 | storage[params[0]]);
|
27 | },
|
28 | 'system_chain': () => 'mockChain',
|
29 | 'system_name': () => 'mockClient',
|
30 | 'system_version': () => '9.8.7'
|
31 | };
|
32 |
|
33 | module.exports = function state() {
|
34 | const storage = {};
|
35 | const subscriptions = SUBSCRIPTIONS.reduce((subscriptions, name) => {
|
36 | subscriptions[name] = {
|
37 | callbacks: {},
|
38 | lastValue: null
|
39 | };
|
40 | return subscriptions;
|
41 | }, {});
|
42 | return {
|
43 | emitter: new EventEmitter(),
|
44 | l,
|
45 | requests: (0, _assign.default)({}, REQUESTS),
|
46 | storage,
|
47 | subscriptionId: 0,
|
48 | subscriptionMap: {},
|
49 | subscriptions
|
50 | };
|
51 | }; |
\ | No newline at end of file |