@super-protocol/sdk-js 1.0.0-beta.4 → 1.0.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.
Files changed (103) hide show
  1. package/build/TIIGenerator.d.ts +3 -3
  2. package/build/connectors/BaseConnector.d.ts +7 -8
  3. package/build/connectors/BaseConnector.js +2 -4
  4. package/build/connectors/BlockchainConnector.d.ts +6 -8
  5. package/build/connectors/BlockchainConnector.js +97 -102
  6. package/build/connectors/BlockchainEventsListener.d.ts +2 -2
  7. package/build/connectors/BlockchainEventsListener.js +36 -11
  8. package/build/connectors/index.d.ts +2 -0
  9. package/build/connectors/index.js +11 -0
  10. package/build/constants.d.ts +2 -2
  11. package/build/constants.js +3 -3
  12. package/build/contracts/abi.d.ts +9769 -0
  13. package/build/contracts/abi.js +6 -0
  14. package/build/crypto/Crypto.js +4 -4
  15. package/build/crypto/nodejs/AES.d.ts +1 -1
  16. package/build/crypto/nodejs/AES.js +11 -13
  17. package/build/crypto/nodejs/ARIA.d.ts +1 -1
  18. package/build/crypto/nodejs/ARIA.js +11 -13
  19. package/build/models/EtlModel.d.ts +1 -1
  20. package/build/models/EtlModel.js +2 -4
  21. package/build/models/Offer.d.ts +5 -15
  22. package/build/models/Offer.js +60 -105
  23. package/build/models/Order.d.ts +16 -26
  24. package/build/models/Order.js +93 -174
  25. package/build/models/Provider.d.ts +9 -13
  26. package/build/models/Provider.js +16 -43
  27. package/build/models/TCB.d.ts +6 -8
  28. package/build/models/TCB.js +22 -34
  29. package/build/models/TeeOffer.d.ts +9 -22
  30. package/build/models/TeeOffer.js +96 -168
  31. package/build/models/index.d.ts +5 -0
  32. package/build/models/index.js +17 -0
  33. package/build/providers/storage/StorjStorageProvider.js +3 -3
  34. package/build/staticModels/ActiveOffers.d.ts +3 -12
  35. package/build/staticModels/ActiveOffers.js +11 -29
  36. package/build/staticModels/ActiveOrders.d.ts +4 -6
  37. package/build/staticModels/ActiveOrders.js +19 -21
  38. package/build/staticModels/Consensus.d.ts +3 -5
  39. package/build/staticModels/Consensus.js +57 -87
  40. package/build/staticModels/Deposits.d.ts +8 -9
  41. package/build/staticModels/Deposits.js +42 -60
  42. package/build/staticModels/Marks.d.ts +4 -4
  43. package/build/staticModels/Marks.js +8 -12
  44. package/build/staticModels/Offers.d.ts +15 -14
  45. package/build/staticModels/Offers.js +56 -88
  46. package/build/staticModels/Orders.d.ts +32 -36
  47. package/build/staticModels/Orders.js +92 -150
  48. package/build/staticModels/ProviderRegistry.d.ts +6 -12
  49. package/build/staticModels/ProviderRegistry.js +45 -75
  50. package/build/staticModels/StaticModel.d.ts +8 -0
  51. package/build/staticModels/StaticModel.js +44 -0
  52. package/build/staticModels/Superpro.d.ts +4 -4
  53. package/build/staticModels/Superpro.js +7 -25
  54. package/build/staticModels/SuperproToken.d.ts +7 -7
  55. package/build/staticModels/SuperproToken.js +34 -38
  56. package/build/staticModels/TeeOffers.d.ts +19 -21
  57. package/build/staticModels/TeeOffers.js +81 -126
  58. package/build/store.d.ts +2 -2
  59. package/build/types/Consensus.d.ts +6 -57
  60. package/build/types/Consensus.js +2 -38
  61. package/build/types/DepositInfo.d.ts +0 -5
  62. package/build/types/DepositInfo.js +1 -8
  63. package/build/types/HardwareInfo.d.ts +0 -12
  64. package/build/types/HardwareInfo.js +1 -9
  65. package/build/types/Offer.d.ts +1 -25
  66. package/build/types/Offer.js +2 -25
  67. package/build/types/OptionInfo.d.ts +0 -5
  68. package/build/types/OptionInfo.js +1 -8
  69. package/build/types/Order.d.ts +10 -86
  70. package/build/types/Order.js +2 -42
  71. package/build/types/Origins.d.ts +0 -6
  72. package/build/types/Origins.js +1 -9
  73. package/build/types/Provider.d.ts +0 -19
  74. package/build/types/Provider.js +1 -19
  75. package/build/types/SlotInfo.d.ts +0 -5
  76. package/build/types/SlotInfo.js +1 -8
  77. package/build/types/SlotUsage.d.ts +0 -6
  78. package/build/types/SlotUsage.js +2 -9
  79. package/build/types/TeeOfferInfo.d.ts +0 -20
  80. package/build/types/TeeOfferInfo.js +1 -13
  81. package/build/types/TeeOfferOption.d.ts +0 -14
  82. package/build/types/TeeOfferOption.js +1 -10
  83. package/build/types/TeeOfferSlot.d.ts +0 -14
  84. package/build/types/TeeOfferSlot.js +1 -10
  85. package/build/types/ValueOfferSlot.d.ts +0 -19
  86. package/build/types/ValueOfferSlot.js +1 -12
  87. package/build/types/Web3.d.ts +30 -13
  88. package/build/types/blockchainConnector/StorageAccess.d.ts +2 -2
  89. package/build/types/index.d.ts +21 -0
  90. package/build/types/index.js +38 -0
  91. package/build/utils/Monitoring.js +5 -2
  92. package/build/utils/NonceTracker.d.ts +2 -2
  93. package/build/utils/NonceTracker.js +9 -11
  94. package/build/utils/TxManager.d.ts +6 -12
  95. package/build/utils/TxManager.js +16 -23
  96. package/build/{utils.d.ts → utils/helper.d.ts} +12 -17
  97. package/build/utils/helper.js +157 -0
  98. package/package.json +9 -6
  99. package/readme.md +7 -8
  100. package/build/contracts/app.json +0 -12758
  101. package/build/staticModels/BaseStaticModel.d.ts +0 -4
  102. package/build/staticModels/BaseStaticModel.js +0 -20
  103. package/build/utils.js +0 -196
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import { Encryption, Hash, Resource, TeeRunInfo } from '@super-protocol/dto-js';
3
3
  declare class TIIGenerator {
4
- static generateByOffer(offerId: string, solutionHashes: Hash[], linkageString: string | undefined, resource: Resource, args: any, encryption: Encryption): Promise<string>;
5
- static generate(orderId: string, resource: Resource, args: any, encryption: Encryption): Promise<string>;
6
- static getSolutionHashesAndLinkage(inputOffers: string[]): Promise<{
4
+ static generateByOffer(offerId: bigint, solutionHashes: Hash[], linkageString: string | undefined, resource: Resource, args: any, encryption: Encryption): Promise<string>;
5
+ static generate(orderId: bigint, resource: Resource, args: any, encryption: Encryption): Promise<string>;
6
+ static getSolutionHashesAndLinkage(inputOffers: bigint[]): Promise<{
7
7
  hashes: Hash[];
8
8
  linkage?: string;
9
9
  }>;
@@ -1,10 +1,10 @@
1
- import { HttpProviderBase, WebsocketProviderBase } from 'web3-core-helpers';
2
- import { Contract } from 'web3-eth-contract';
1
+ import abi from '../contracts/abi';
2
+ import { Contract } from 'web3';
3
3
  export type Config = {
4
4
  contractAddress: string;
5
5
  blockchainUrl?: string;
6
- gasPrice?: string;
7
- gasLimit?: number;
6
+ gasPrice?: bigint;
7
+ gasLimit?: bigint;
8
8
  gasLimitMultiplier?: number;
9
9
  gasPriceMultiplier?: number;
10
10
  txConcurrency?: number;
@@ -22,20 +22,19 @@ export declare class BaseConnector {
22
22
  level: string;
23
23
  enabled: boolean;
24
24
  } & import("pino").default.ChildLoggerOptions>;
25
- protected contract?: Contract;
26
- protected provider?: WebsocketProviderBase | HttpProviderBase;
25
+ protected contract?: Contract<typeof abi>;
27
26
  isInitialized(): boolean;
28
27
  checkIfInitialized(): void;
29
28
  /**
30
29
  *
31
30
  * @returns initialized contract
32
31
  */
33
- getContract(): Contract;
32
+ getContract(): Contract<typeof abi>;
34
33
  /**
35
34
  * Function for connecting to blockchain
36
35
  * Used to setting up settings for blockchain connector
37
36
  * Needs to run this function before using blockchain connector
38
37
  */
39
- initialize(config: Config): Promise<void>;
38
+ initialize(_config: Config): Promise<void>;
40
39
  shutdown(): void;
41
40
  }
@@ -39,17 +39,15 @@ class BaseConnector {
39
39
  * Used to setting up settings for blockchain connector
40
40
  * Needs to run this function before using blockchain connector
41
41
  */
42
- initialize(config) {
42
+ initialize(_config) {
43
43
  return __awaiter(this, void 0, void 0, function* () { });
44
44
  }
45
45
  shutdown() {
46
- var _a;
47
46
  if (this.initialized) {
48
- (_a = this.provider) === null || _a === void 0 ? void 0 : _a.disconnect(0, '');
49
47
  this.initialized = false;
50
48
  this.logger.trace(`${this.constructor['name']} was shutdown`);
51
49
  }
52
50
  }
53
51
  }
54
52
  exports.BaseConnector = BaseConnector;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25uZWN0b3JzL0Jhc2VDb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQW1DO0FBcUJuQyxNQUFhLGFBQWE7SUFBMUI7UUFDYyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixXQUFNLEdBQUcsZ0JBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUF1Q2pGLENBQUM7SUFuQ1UsYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FDWCxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLHNDQUFzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FDeEgsQ0FBQztJQUNWLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsUUFBUyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ1UsVUFBVSxDQUFDLE1BQWM7OERBQWtCLENBQUM7S0FBQTtJQUVsRCxRQUFROztRQUNYLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixNQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNqRTtJQUNMLENBQUM7Q0FDSjtBQXpDRCxzQ0F5Q0MifQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25uZWN0b3JzL0Jhc2VDb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsdURBQW1DO0FBcUJuQyxNQUFhLGFBQWE7SUFBMUI7UUFDYyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixXQUFNLEdBQUcsZ0JBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFxQ2pGLENBQUM7SUFsQ1UsYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FDWCxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLHNDQUFzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FDeEgsQ0FBQztJQUNWLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsUUFBUyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ1UsVUFBVSxDQUFDLE9BQWU7OERBQWtCLENBQUM7S0FBQTtJQUVuRCxRQUFRO1FBQ1gsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDakU7SUFDTCxDQUFDO0NBQ0o7QUF2Q0Qsc0NBdUNDIn0=
@@ -1,13 +1,12 @@
1
1
  import { BaseConnector, Config } from './BaseConnector';
2
+ import { TransactionReceipt } from 'web3';
2
3
  import { TransactionOptions, EventData, BlockInfo } from '../types/Web3';
3
4
  import BlockchainTransaction from '../types/blockchainConnector/StorageAccess';
4
- import { TransactionReceipt } from 'web3-core';
5
5
  declare class BlockchainConnector extends BaseConnector {
6
6
  private defaultActionAccount?;
7
7
  private static instance;
8
8
  private constructor();
9
9
  static getInstance(): BlockchainConnector;
10
- getContract(transactionOptions?: TransactionOptions): import("web3-eth-contract").Contract;
11
10
  /**
12
11
  * Function for connecting to blockchain
13
12
  * Used to setting up settings for blockchain connector
@@ -22,8 +21,8 @@ declare class BlockchainConnector extends BaseConnector {
22
21
  /**
23
22
  * Returns balance of blockchain platform tokens in wei
24
23
  */
25
- getBalance(address: string): Promise<string>;
26
- getTimestamp(): Promise<number | string>;
24
+ getBalance(address: string): Promise<bigint>;
25
+ getTimestamp(): Promise<bigint>;
27
26
  /**
28
27
  * Returns transactions events info
29
28
  * @param txHash - transaction hash
@@ -45,18 +44,17 @@ declare class BlockchainConnector extends BaseConnector {
45
44
  /**
46
45
  * Returns balance of blockchain platform tokens in wei
47
46
  */
48
- transfer(to: string, amount: string, transactionOptions?: TransactionOptions): Promise<TransactionReceipt>;
47
+ transfer(to: string, amount: bigint, transactionOptions?: TransactionOptions): Promise<TransactionReceipt>;
49
48
  /**
50
49
  * Returns transactions count
51
50
  * @param address - wallet address
52
51
  * @returns {Promise<number>} - Transactions count
53
52
  */
54
- getTransactionCount(address: string, status?: string): Promise<number>;
53
+ getTransactionCount(address: string, status?: string): Promise<bigint>;
55
54
  getAddressByKey(pk: string): string;
56
- private executeBatchAsync;
57
55
  /**
58
56
  * Fetch transactions for specific addresses starting with specific block until last block
59
- * @param addresses - array of addresses to fetch transactions (from these addresses and to these addresses)
57
+ * @param addresses - array of addresses IN LOWER CASE to fetch transactions (from these addresses and to these addresses)
60
58
  * @param startBlock - number of block to start fetching transactions (if empty fetch only for last block)
61
59
  * @param lastBlock - number of block to last fetching transactions (if empty fetch only for last block)
62
60
  * @param batchSize - block size for asynchronous transaction loading
@@ -1,10 +1,33 @@
1
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
+ });
2
18
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
19
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
20
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
21
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
22
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
23
  };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
8
31
  var __metadata = (this && this.__metadata) || function (k, v) {
9
32
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
33
  };
@@ -22,14 +45,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
45
  };
23
46
  Object.defineProperty(exports, "__esModule", { value: true });
24
47
  const BaseConnector_1 = require("./BaseConnector");
25
- const web3_1 = __importDefault(require("web3"));
26
- const web3_core_helpers_1 = require("web3-core-helpers");
48
+ const web3_1 = __importStar(require("web3"));
49
+ const web3_eth_abi_1 = require("web3-eth-abi");
27
50
  const constants_1 = require("../constants");
28
- const utils_1 = require("../utils");
51
+ const helper_1 = require("../utils/helper");
29
52
  const TxManager_1 = __importDefault(require("../utils/TxManager"));
30
- const app_json_1 = __importDefault(require("../contracts/app.json"));
53
+ const abi_1 = require("../contracts/abi");
31
54
  const ethers_1 = require("ethers");
32
- const Jsonrpc = require('web3-core-requestmanager/src/jsonrpc');
33
55
  // TODO: remove this dependencies
34
56
  const store_1 = __importDefault(require("../store"));
35
57
  const Superpro_1 = __importDefault(require("../staticModels/Superpro"));
@@ -45,14 +67,6 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
45
67
  }
46
68
  return BlockchainConnector.instance;
47
69
  }
48
- // TODO: remove this
49
- getContract(transactionOptions) {
50
- this.checkIfInitialized();
51
- if (transactionOptions === null || transactionOptions === void 0 ? void 0 : transactionOptions.web3) {
52
- return new transactionOptions.web3.eth.Contract(app_json_1.default.abi, Superpro_1.default.address);
53
- }
54
- return super.getContract();
55
- }
56
70
  /**
57
71
  * Function for connecting to blockchain
58
72
  * Used to setting up settings for blockchain connector
@@ -63,8 +77,11 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
63
77
  return __awaiter(this, void 0, void 0, function* () {
64
78
  this.logger.trace(config, 'Initializing');
65
79
  const url = (config === null || config === void 0 ? void 0 : config.blockchainUrl) || constants_1.defaultBlockchainUrl;
66
- this.provider = new web3_1.default.providers.HttpProvider(url);
67
- store_1.default.web3Https = new web3_1.default(this.provider);
80
+ store_1.default.web3Https = new web3_1.default(url);
81
+ const web3Context = new web3_1.Web3Context({
82
+ provider: store_1.default.web3Https.currentProvider,
83
+ config: { contractDataInputFill: 'data' },
84
+ });
68
85
  store_1.default.gasPrice = (_a = config === null || config === void 0 ? void 0 : config.gasPrice) !== null && _a !== void 0 ? _a : constants_1.defaultGasPrice;
69
86
  if (config === null || config === void 0 ? void 0 : config.gasLimit)
70
87
  store_1.default.gasLimit = config.gasLimit;
@@ -77,7 +94,7 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
77
94
  if (config === null || config === void 0 ? void 0 : config.txIntervalMs)
78
95
  store_1.default.txIntervalMs = config.txIntervalMs;
79
96
  Superpro_1.default.address = config.contractAddress;
80
- this.contract = new store_1.default.web3Https.eth.Contract(app_json_1.default.abi, Superpro_1.default.address);
97
+ this.contract = new web3_1.Contract(abi_1.abi, Superpro_1.default.address, web3Context);
81
98
  TxManager_1.default.init(store_1.default.web3Https);
82
99
  SuperproToken_1.default.addressHttps = yield Superpro_1.default.getTokenAddress(this.contract);
83
100
  Monitoring_1.Monitoring.getInstance().initializeLogging();
@@ -92,7 +109,8 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
92
109
  initializeActionAccount(actionAccountKey, manageNonce = true) {
93
110
  return __awaiter(this, void 0, void 0, function* () {
94
111
  this.checkIfInitialized();
95
- const actionAccount = store_1.default.web3Https.eth.accounts.wallet.add(actionAccountKey).address;
112
+ store_1.default.web3Https.eth.accounts.wallet.add(actionAccountKey);
113
+ const actionAccount = store_1.default.web3Https.eth.accounts.privateKeyToAccount(actionAccountKey).address;
96
114
  if (!store_1.default.actionAccount)
97
115
  store_1.default.actionAccount = actionAccount;
98
116
  if (!store_1.default.keys[actionAccount])
@@ -109,10 +127,8 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
109
127
  * Returns balance of blockchain platform tokens in wei
110
128
  */
111
129
  getBalance(address) {
112
- return __awaiter(this, void 0, void 0, function* () {
113
- this.checkIfInitialized();
114
- return store_1.default.web3Https.eth.getBalance(address);
115
- });
130
+ this.checkIfInitialized();
131
+ return store_1.default.web3Https.eth.getBalance(address);
116
132
  }
117
133
  getTimestamp() {
118
134
  var _a;
@@ -130,28 +146,24 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
130
146
  getTransactionEvents(txHash) {
131
147
  return __awaiter(this, void 0, void 0, function* () {
132
148
  this.checkIfInitialized();
133
- const parseReceiptEvents = require('web3-parse-receipt-events');
134
149
  const receipt = yield store_1.default.web3Https.eth.getTransactionReceipt(txHash);
135
- const tokenEvents = parseReceiptEvents(app_json_1.default.abi, SuperproToken_1.default.addressHttps, receipt);
136
- parseReceiptEvents(app_json_1.default.abi, Superpro_1.default.address, receipt); // don't remove
137
- const events = Object.values(tokenEvents.events || {});
138
150
  const eventData = [];
139
- for (const event of events) {
140
- if (event.address === constants_1.POLYGON_MATIC_EVENT_PATH || !event.event) {
151
+ const eventsDescriptor = abi_1.abi
152
+ .filter((desc) => desc.type === 'event')
153
+ .map((desc) => (Object.assign(Object.assign({}, desc), { signature: (0, web3_eth_abi_1.encodeEventSignature)(desc) })));
154
+ for (const log of receipt.logs) {
155
+ if (!log.address || log.address === constants_1.POLYGON_MATIC_EVENT_PATH) {
141
156
  continue;
142
157
  }
143
- const data = event.returnValues;
144
- const dataValues = Object.values(data);
145
- if (dataValues.length !== 0) {
146
- for (let i = 0; i < dataValues.length / 2; i++) {
147
- delete data[i];
148
- }
158
+ const descriptor = eventsDescriptor.find((desc) => { var _a; return desc.signature === ((_a = log.topics) === null || _a === void 0 ? void 0 : _a[0]); });
159
+ if (descriptor) {
160
+ const decodedParams = (0, web3_eth_abi_1.decodeLog)(descriptor.inputs, log.data, log.topics.slice(1));
161
+ eventData.push({
162
+ contract: log.address,
163
+ name: descriptor.name || 'UknownEvenet',
164
+ data: (0, helper_1.cleanEventData)(decodedParams),
165
+ });
149
166
  }
150
- eventData.push({
151
- contract: event.address,
152
- name: event.event,
153
- data,
154
- });
155
167
  }
156
168
  return eventData;
157
169
  });
@@ -178,24 +190,20 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
178
190
  * @returns {Promise<TransactionReceipt>} - Transaction reciept
179
191
  */
180
192
  getTransactionReceipt(txHash) {
181
- return __awaiter(this, void 0, void 0, function* () {
182
- this.checkIfInitialized();
183
- return store_1.default.web3Https.eth.getTransactionReceipt(txHash);
184
- });
193
+ this.checkIfInitialized();
194
+ return store_1.default.web3Https.eth.getTransactionReceipt(txHash);
185
195
  }
186
196
  /**
187
197
  * Returns balance of blockchain platform tokens in wei
188
198
  */
189
199
  transfer(to, amount, transactionOptions) {
190
- return __awaiter(this, void 0, void 0, function* () {
191
- this.checkIfInitialized();
192
- (0, utils_1.checkIfActionAccountInitialized)(transactionOptions);
193
- const transaction = {
194
- to,
195
- value: amount,
196
- };
197
- return TxManager_1.default.publishTransaction(transaction, transactionOptions);
198
- });
200
+ this.checkIfInitialized();
201
+ (0, helper_1.checkIfActionAccountInitialized)(transactionOptions);
202
+ const transaction = {
203
+ to,
204
+ value: amount,
205
+ };
206
+ return TxManager_1.default.publishTransaction(transaction, transactionOptions);
199
207
  }
200
208
  /**
201
209
  * Returns transactions count
@@ -203,50 +211,20 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
203
211
  * @returns {Promise<number>} - Transactions count
204
212
  */
205
213
  getTransactionCount(address, status) {
206
- return __awaiter(this, void 0, void 0, function* () {
207
- this.checkIfInitialized();
208
- if (status) {
209
- return store_1.default.web3Https.eth.getTransactionCount(address, status);
210
- }
211
- else {
212
- return store_1.default.web3Https.eth.getTransactionCount(address);
213
- }
214
- });
214
+ this.checkIfInitialized();
215
+ if (status) {
216
+ return store_1.default.web3Https.eth.getTransactionCount(address, status);
217
+ }
218
+ else {
219
+ return store_1.default.web3Https.eth.getTransactionCount(address);
220
+ }
215
221
  }
216
222
  getAddressByKey(pk) {
217
223
  return new ethers_1.Wallet(pk).address;
218
224
  }
219
- executeBatchAsync(batch) {
220
- return __awaiter(this, void 0, void 0, function* () {
221
- return new Promise((resolve, reject) => {
222
- const requests = batch.requests;
223
- batch.requestManager.sendBatch(requests, (error, results) => {
224
- if (error)
225
- return reject(error);
226
- results = results || [];
227
- const response = requests
228
- .map((request, index) => {
229
- return results[index] || {};
230
- })
231
- .map((result, index) => {
232
- if (result && result.error) {
233
- return web3_core_helpers_1.errors.ErrorResponse(result);
234
- }
235
- if (!Jsonrpc.isValidResponse(result)) {
236
- return web3_core_helpers_1.errors.InvalidResponse(result);
237
- }
238
- return requests[index].format
239
- ? requests[index].format(result.result)
240
- : result.result;
241
- });
242
- resolve(response);
243
- });
244
- });
245
- });
246
- }
247
225
  /**
248
226
  * Fetch transactions for specific addresses starting with specific block until last block
249
- * @param addresses - array of addresses to fetch transactions (from these addresses and to these addresses)
227
+ * @param addresses - array of addresses IN LOWER CASE to fetch transactions (from these addresses and to these addresses)
250
228
  * @param startBlock - number of block to start fetching transactions (if empty fetch only for last block)
251
229
  * @param lastBlock - number of block to last fetching transactions (if empty fetch only for last block)
252
230
  * @param batchSize - block size for asynchronous transaction loading
@@ -258,7 +236,7 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
258
236
  getTransactions(addresses, startBlock, lastBlock, batchSize = constants_1.BLOCK_SIZE_TO_FETCH_TRANSACTION) {
259
237
  return __awaiter(this, void 0, void 0, function* () {
260
238
  this.checkIfInitialized();
261
- const blockchainLastBlock = yield store_1.default.web3Https.eth.getBlockNumber();
239
+ const blockchainLastBlock = Number(yield store_1.default.web3Https.eth.getBlockNumber());
262
240
  if (lastBlock) {
263
241
  lastBlock = Math.min(lastBlock, blockchainLastBlock);
264
242
  }
@@ -269,7 +247,15 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
269
247
  startBlock = Math.max(lastBlock - 1000, 0);
270
248
  }
271
249
  const transactionsByAddress = {};
272
- const validAddresses = addresses.filter((address) => { var _a; return (_a = store_1.default.web3Https) === null || _a === void 0 ? void 0 : _a.utils.isAddress(address); });
250
+ const validAddresses = addresses
251
+ .filter((address) => { var _a; return (_a = store_1.default.web3Https) === null || _a === void 0 ? void 0 : _a.utils.isAddress(address); })
252
+ .map((address) => {
253
+ const lowerCaseAddress = address.toLowerCase();
254
+ if (address !== lowerCaseAddress) {
255
+ this.logger.warn({ address }, `Must use adresses in lower case fomat! ${address} -> ${lowerCaseAddress}`);
256
+ }
257
+ return lowerCaseAddress;
258
+ });
273
259
  if (!validAddresses.length) {
274
260
  return {
275
261
  transactionsByAddress,
@@ -278,24 +264,33 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
278
264
  }
279
265
  validAddresses.forEach((address) => (transactionsByAddress[address] = []));
280
266
  while (startBlock <= lastBlock) {
281
- const batch = new store_1.default.web3Https.eth.BatchRequest();
282
- const getBlock = store_1.default.web3Https.eth.getBlock;
267
+ const batch = new store_1.default.web3Https.BatchRequest();
283
268
  const batchLastBlock = Math.min(startBlock + batchSize - 1, lastBlock);
284
269
  for (let blockNumber = startBlock; blockNumber <= batchLastBlock; blockNumber++) {
285
- batch.add(getBlock.request(blockNumber, true));
270
+ const hexedBlockNumber = '0x' + blockNumber.toString(16);
271
+ batch
272
+ .add({
273
+ jsonrpc: '2.0',
274
+ method: 'eth_getBlockByNumber',
275
+ params: [hexedBlockNumber, true],
276
+ })
277
+ .catch((err) => this.logger.error(err));
286
278
  }
287
- const blocks = (yield this.executeBatchAsync(batch));
279
+ const blocks = yield (0, helper_1.executeBatchAsync)(batch);
288
280
  blocks.forEach((block) => {
289
281
  if (!(block === null || block === void 0 ? void 0 : block.transactions))
290
282
  return;
291
283
  block.transactions.forEach((transaction) => {
284
+ if (typeof transaction === 'string') {
285
+ return;
286
+ }
292
287
  let address = null;
293
288
  if (validAddresses.includes(transaction.from))
294
289
  address = transaction.from;
295
290
  else if (transaction.to && validAddresses.includes(transaction.to))
296
291
  address = transaction.to;
297
292
  if (address) {
298
- transactionsByAddress[address].push(Object.assign(Object.assign({}, transaction), { timestamp: +block.timestamp * 1000, input: transaction.input }));
293
+ transactionsByAddress[address].push(Object.assign(Object.assign({}, transaction), { timestamp: Number(block.timestamp) * 1000, input: transaction.input }));
299
294
  }
300
295
  });
301
296
  });
@@ -314,28 +309,28 @@ class BlockchainConnector extends BaseConnector_1.BaseConnector {
314
309
  }
315
310
  }
316
311
  __decorate([
317
- (0, utils_1.incrementMethodCall)(),
312
+ (0, helper_1.incrementMethodCall)(),
318
313
  __metadata("design:type", Function),
319
314
  __metadata("design:paramtypes", [String]),
320
315
  __metadata("design:returntype", Promise)
321
316
  ], BlockchainConnector.prototype, "getBalance", null);
322
317
  __decorate([
323
- (0, utils_1.incrementMethodCall)(),
318
+ (0, helper_1.incrementMethodCall)(),
324
319
  __metadata("design:type", Function),
325
320
  __metadata("design:paramtypes", [String]),
326
321
  __metadata("design:returntype", Promise)
327
322
  ], BlockchainConnector.prototype, "getTransactionEvents", null);
328
323
  __decorate([
329
- (0, utils_1.incrementMethodCall)(),
324
+ (0, helper_1.incrementMethodCall)(),
330
325
  __metadata("design:type", Function),
331
- __metadata("design:paramtypes", [String, String, Object]),
326
+ __metadata("design:paramtypes", [String, typeof BigInt === "function" ? BigInt : Object, Object]),
332
327
  __metadata("design:returntype", Promise)
333
328
  ], BlockchainConnector.prototype, "transfer", null);
334
329
  __decorate([
335
- (0, utils_1.incrementMethodCall)(),
330
+ (0, helper_1.incrementMethodCall)(),
336
331
  __metadata("design:type", Function),
337
332
  __metadata("design:paramtypes", [Array, Number, Number, Number]),
338
333
  __metadata("design:returntype", Promise)
339
334
  ], BlockchainConnector.prototype, "getTransactions", null);
340
335
  exports.default = BlockchainConnector;
341
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25uZWN0b3JzL0Jsb2NrY2hhaW5Db25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBd0Q7QUFDeEQsZ0RBQXdCO0FBRXhCLHlEQUEyQztBQUMzQyw0Q0FLc0I7QUFDdEIsb0NBQWdGO0FBR2hGLG1FQUEyQztBQUMzQyxxRUFBNEM7QUFFNUMsbUNBQWdDO0FBRWhDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0FBRWhFLGlDQUFpQztBQUNqQyxxREFBNkI7QUFDN0Isd0VBQWdEO0FBQ2hELGtGQUEwRDtBQUMxRCxvREFBaUQ7QUFFakQsTUFBTSxtQkFBb0IsU0FBUSw2QkFBYTtJQU0zQztRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUU7WUFDL0IsbUJBQW1CLENBQUMsUUFBUSxHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztTQUM1RDtRQUVELE9BQU8sbUJBQW1CLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxvQkFBb0I7SUFDYixXQUFXLENBQUMsa0JBQXVDO1FBQ3RELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLElBQUksa0JBQWtCLGFBQWxCLGtCQUFrQix1QkFBbEIsa0JBQWtCLENBQUUsSUFBSSxFQUFFO1lBQzFCLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FDaEMsa0JBQU8sQ0FBQyxHQUFHLEVBQ3RCLGtCQUFRLENBQUMsT0FBTyxDQUNuQixDQUFDO1NBQ0w7UUFFRCxPQUFPLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBQ0Q7Ozs7T0FJ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
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25uZWN0b3JzL0Jsb2NrY2hhaW5Db25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUF3RDtBQUN4RCw2Q0FPYztBQUNkLCtDQUErRDtBQUMvRCw0Q0FLc0I7QUFDdEIsNENBS3lCO0FBR3pCLG1FQUEyQztBQUMzQywwQ0FBdUM7QUFDdkMsbUNBQWdDO0FBRWhDLGlDQUFpQztBQUNqQyxxREFBNkI7QUFDN0Isd0VBQWdEO0FBQ2hELGtGQUEwRDtBQUMxRCxvREFBaUQ7QUFFakQsTUFBTSxtQkFBb0IsU0FBUSw2QkFBYTtJQU0zQztRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUU7WUFDL0IsbUJBQW1CLENBQUMsUUFBUSxHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztTQUM1RDtRQUVELE9BQU8sbUJBQW1CLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ1UsVUFBVSxDQUFDLE1BQWM7OztZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFFMUMsTUFBTSxHQUFHLEdBQUcsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsYUFBYSxLQUFJLGdDQUFvQixDQUFDO1lBQzFELGVBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxjQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxrQkFBVyxDQUFDO2dCQUNoQyxRQUFRLEVBQUUsZUFBSyxDQUFDLFNBQVMsQ0FBQyxlQUFlO2dCQUN6QyxNQUFNLEVB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
@@ -1,10 +1,10 @@
1
1
  import { BaseConnector, Config } from './BaseConnector';
2
- import { WebsocketProviderBase } from 'web3-core-helpers';
2
+ import { WebSocketProvider } from 'web3';
3
3
  declare class BlockchainEventsListener extends BaseConnector {
4
4
  private static instance;
5
5
  private constructor();
6
6
  static getInstance(): BlockchainEventsListener;
7
- getProvider(): WebsocketProviderBase | undefined;
7
+ getProvider(): WebSocketProvider | undefined;
8
8
  /**
9
9
  * Function for connecting to blockchain using web socket
10
10
  * Needs to run this function before using events
@@ -1,4 +1,27 @@
1
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
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -13,8 +36,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
36
  };
14
37
  Object.defineProperty(exports, "__esModule", { value: true });
15
38
  const BaseConnector_1 = require("./BaseConnector");
16
- const web3_1 = __importDefault(require("web3"));
17
- const app_json_1 = __importDefault(require("../contracts/app.json"));
39
+ const web3_1 = __importStar(require("web3"));
40
+ const abi_1 = require("../contracts/abi");
18
41
  // TODO: remove this dependencies
19
42
  const store_1 = __importDefault(require("../store"));
20
43
  const Superpro_1 = __importDefault(require("../staticModels/Superpro"));
@@ -30,7 +53,8 @@ class BlockchainEventsListener extends BaseConnector_1.BaseConnector {
30
53
  return BlockchainEventsListener.instance;
31
54
  }
32
55
  getProvider() {
33
- return this.provider;
56
+ var _a;
57
+ return (_a = store_1.default.web3Wss) === null || _a === void 0 ? void 0 : _a.provider;
34
58
  }
35
59
  /**
36
60
  * Function for connecting to blockchain using web socket
@@ -39,20 +63,19 @@ class BlockchainEventsListener extends BaseConnector_1.BaseConnector {
39
63
  initialize(config) {
40
64
  return __awaiter(this, void 0, void 0, function* () {
41
65
  this.logger.trace(config, 'Initializing');
42
- if (this.provider) {
43
- this.provider.reset();
44
- }
45
66
  const reconnectOptions = Object.assign({
46
67
  auto: true,
47
68
  delay: 5000,
48
69
  maxAttempts: 5,
49
70
  onTimeout: false,
50
71
  }, config.reconnect);
51
- this.provider = new web3_1.default.providers.WebsocketProvider(config.blockchainUrl, {
52
- reconnect: reconnectOptions,
72
+ const provider = new web3_1.WebSocketProvider(config.blockchainUrl, {}, reconnectOptions);
73
+ store_1.default.web3Wss = new web3_1.default(provider);
74
+ const web3Context = new web3_1.Web3Context({
75
+ provider: store_1.default.web3Wss.currentProvider,
76
+ config: { contractDataInputFill: 'data' },
53
77
  });
54
- store_1.default.web3Wss = new web3_1.default(this.provider);
55
- this.contract = new store_1.default.web3Wss.eth.Contract(app_json_1.default.abi, config.contractAddress);
78
+ this.contract = new store_1.default.web3Wss.eth.Contract(abi_1.abi, config.contractAddress, web3Context);
56
79
  Superpro_1.default.address = config.contractAddress;
57
80
  SuperproToken_1.default.addressWss = yield Superpro_1.default.getTokenAddress(this.contract);
58
81
  this.initialized = true;
@@ -60,9 +83,11 @@ class BlockchainEventsListener extends BaseConnector_1.BaseConnector {
60
83
  });
61
84
  }
62
85
  shutdown() {
86
+ var _a, _b;
63
87
  super.shutdown();
88
+ (_b = (_a = store_1.default.web3Wss) === null || _a === void 0 ? void 0 : _a.provider) === null || _b === void 0 ? void 0 : _b.disconnect(0, '');
64
89
  store_1.default.web3Wss = undefined;
65
90
  }
66
91
  }
67
92
  exports.default = BlockchainEventsListener;
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nvbm5lY3RvcnMvQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQXdEO0FBQ3hELGdEQUF3QjtBQUN4QixxRUFBNEM7QUFJNUMsaUNBQWlDO0FBQ2pDLHFEQUE2QjtBQUM3Qix3RUFBZ0Q7QUFDaEQsa0ZBQTBEO0FBRTFELE1BQU0sd0JBQXlCLFNBQVEsNkJBQWE7SUFJaEQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVztRQUNyQixJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFO1lBQ3BDLHdCQUF3QixDQUFDLFFBQVEsR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7U0FDdEU7UUFFRCxPQUFPLHdCQUF3QixDQUFDLFFBQVEsQ0FBQztJQUM3QyxDQUFDO0lBRU0sV0FBVztRQUNkLE9BQTBDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7T0FHRztJQUNVLFVBQVUsQ0FBQyxNQUFjOztZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFFMUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNkLElBQUksQ0FBQyxRQUFrQyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3BEO1lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNsQztnQkFDSSxJQUFJLEVBQUUsSUFBSTtnQkFDVixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsQ0FBQztnQkFDZCxTQUFTLEVBQUUsS0FBSzthQUNuQixFQUNELE1BQU0sQ0FBQyxTQUFTLENBQ25CLENBQUM7WUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksY0FBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsYUFBYyxFQUFFO2dCQUN4RSxTQUFTLEVBQUUsZ0JBQWdCO2FBQzlCLENBQUMsQ0FBQztZQUNILGVBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxjQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXhDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFLLENBQUMsT0FBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQ2hDLGtCQUFPLENBQUMsR0FBRyxFQUN0QixNQUFNLENBQUMsZUFBZSxDQUN6QixDQUFDO1lBQ0Ysa0JBQVEsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztZQUMxQyx1QkFBYSxDQUFDLFVBQVUsR0FBRyxNQUFNLGtCQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV6RSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUV4QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyQyxDQUFDO0tBQUE7SUFFTSxRQUFRO1FBQ1gsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLGVBQUssQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7Q0FDSjtBQUVELGtCQUFlLHdCQUF3QixDQUFDIn0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nvbm5lY3RvcnMvQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBd0Q7QUFDeEQsNkNBQTREO0FBQzVELDBDQUF1QztBQUV2QyxpQ0FBaUM7QUFDakMscURBQTZCO0FBQzdCLHdFQUFnRDtBQUNoRCxrRkFBMEQ7QUFFMUQsTUFBTSx3QkFBeUIsU0FBUSw2QkFBYTtJQUloRDtRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXO1FBQ3JCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUU7WUFDcEMsd0JBQXdCLENBQUMsUUFBUSxHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztTQUN0RTtRQUVELE9BQU8sd0JBQXdCLENBQUMsUUFBUSxDQUFDO0lBQzdDLENBQUM7SUFFTSxXQUFXOztRQUNkLE9BQTBCLE1BQUEsZUFBSyxDQUFDLE9BQU8sMENBQUUsUUFBUSxDQUFDO0lBQ3RELENBQUM7SUFFRDs7O09BR0c7SUFDVSxVQUFVLENBQUMsTUFBYzs7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBRTFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDbEM7Z0JBQ0ksSUFBSSxFQUFFLElBQUk7Z0JBQ1YsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsU0FBUyxFQUFFLEtBQUs7YUFDbkIsRUFDRCxNQUFNLENBQUMsU0FBUyxDQUNuQixDQUFDO1lBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSx3QkFBaUIsQ0FBQyxNQUFNLENBQUMsYUFBYyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BGLGVBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxjQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxrQkFBVyxDQUFDO2dCQUNoQyxRQUFRLEVBQUUsZUFBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlO2dCQUN2QyxNQUFNLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUU7YUFDNUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFHLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN6RixrQkFBUSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1lBQzFDLHVCQUFhLENBQUMsVUFBVSxHQUFHLE1BQU0sa0JBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXpFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBRXhCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7S0FBQTtJQUVNLFFBQVE7O1FBQ1gsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLE1BQUEsTUFBQSxlQUFLLENBQUMsT0FBTywwQ0FBRSxRQUFRLDBDQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsZUFBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztDQUNKO0FBRUQsa0JBQWUsd0JBQXdCLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ export { default as BlockchainConnector } from './BlockchainConnector';
2
+ export { default as BlockchainEventsListener } from './BlockchainEventsListener';