opportunity-service 0.0.604 → 0.0.608

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. package/dist/OpportunityService.js +7 -2
  2. package/dist/OpportunityService.js.map +1 -1
  3. package/dist/api/index.js +5 -1
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/blockchain/addresses.json +4 -4
  6. package/dist/constants.js +2 -0
  7. package/dist/constants.js.map +1 -1
  8. package/dist/modules/storage/OpportunityStorageProvider.js +2 -106
  9. package/dist/modules/storage/OpportunityStorageProvider.js.map +1 -1
  10. package/dist/modules/whisper/ChatHandler.js +78 -0
  11. package/dist/modules/whisper/ChatHandler.js.map +1 -0
  12. package/dist/sync/process/process-log.js +3 -3
  13. package/dist/sync/process/process-log.js.map +1 -1
  14. package/dist/sync/process/{processDisputeCreated.js → processDisputeInvolvement.js} +4 -4
  15. package/dist/sync/process/processDisputeInvolvement.js.map +1 -0
  16. package/dist/sync/process/processMarketDisputes.js +34 -0
  17. package/dist/sync/process/processMarketDisputes.js.map +1 -0
  18. package/dist/sync/sync-disputes.js +37 -0
  19. package/dist/sync/sync-disputes.js.map +1 -0
  20. package/dist/sync/sync-jobs.js +2 -1
  21. package/dist/sync/sync-jobs.js.map +1 -1
  22. package/dist/sync/sync-market-disputes.js +35 -0
  23. package/dist/sync/sync-market-disputes.js.map +1 -0
  24. package/package.json +1 -1
  25. package/src/OpportunityService.ts +8 -1
  26. package/src/api/index.ts +6 -1
  27. package/src/blockchain/addresses.json +6 -9
  28. package/src/constants.ts +3 -1
  29. package/src/modules/storage/OpportunityStorageProvider.ts +6 -15
  30. package/src/modules/whisper/ChatHandler.ts +78 -0
  31. package/src/sync/process/process-log.ts +3 -3
  32. package/src/sync/process/{processDisputeCreated.ts → processDisputeInvolvement.ts} +3 -3
  33. package/src/sync/process/processMarketDisputes.ts +43 -0
  34. package/src/sync/sync-disputes.ts +29 -0
  35. package/src/sync/sync-jobs.ts +2 -1
  36. package/src/sync/sync-market-disputes.ts +27 -0
  37. package/dist/sync/process/processDisputeCreated.js.map +0 -1
@@ -14,7 +14,7 @@ import { ethers } from "ethers";
14
14
  import { startEventListeners } from "./events/start-event-listeners";
15
15
  import opportunityAPI from './api/index';
16
16
  import Web3 from 'web3';
17
- import OpportunityStorageProvider from "./modules/storage/OpportunityStorageProvider";
17
+ import WhisperHandler from "./modules/whisper/ChatHandler";
18
18
  class OpportunityService {
19
19
  /**
20
20
  * The Singleton's constructor should always be private to prevent direct
@@ -30,6 +30,7 @@ class OpportunityService {
30
30
  this.storageProvider = null;
31
31
  this.currentAccount = null;
32
32
  this.ethNetwork = 'rinkeby';
33
+ this.whisperProvider = null;
33
34
  this.storage = null;
34
35
  this.api = opportunityAPI;
35
36
  this.ethNetwork = 'rinkeby';
@@ -48,6 +49,7 @@ class OpportunityService {
48
49
  }
49
50
  assignDefaultProvider(provider) {
50
51
  OpportunityService.defaultProvider = provider;
52
+ this.whisperProvider = new WhisperHandler(provider);
51
53
  }
52
54
  assignProvider(provider) {
53
55
  this.ethersProvider = provider;
@@ -72,7 +74,7 @@ class OpportunityService {
72
74
  default:
73
75
  this.ethNetwork = 'rinkeby';
74
76
  }
75
- this.storageProvider = new OpportunityStorageProvider(dbAddress);
77
+ //this.storageProvider = new OpportunityStorageProvider(dbAddress)
76
78
  }
77
79
  getEthNetwork() {
78
80
  return this.ethNetwork;
@@ -130,6 +132,9 @@ class OpportunityService {
130
132
  getSignersInterface() {
131
133
  return this.ethersSigner;
132
134
  }
135
+ getWhisperProvider() {
136
+ return this.whisperProvider;
137
+ }
133
138
  }
134
139
  OpportunityService.defaultProvider = new Web3('http://localhost:8545');
135
140
  const opportunityService = OpportunityService.getInstance();
@@ -1 +1 @@
1
- {"version":3,"file":"OpportunityService.js","sourceRoot":"","sources":["../src/OpportunityService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpportunityService.js","sourceRoot":"","sources":["../src/OpportunityService.ts"],"names":[],"mappings":"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"}
package/dist/api/index.js CHANGED
@@ -19,6 +19,8 @@ import { checkVoteResults } from "./dispute/check-vote-results";
19
19
  import { ensureEntityMetadata } from "./dispute/ensure-entity-metadata";
20
20
  import { launchNewVote } from "./dispute/launch-new-vote";
21
21
  import { submitVote } from "./dispute/submit-vote";
22
+ import syncCreatedDisputes from "../sync/sync-disputes";
23
+ import syncMarketDisputes from "../sync/sync-market-disputes";
22
24
  function generateAPI() {
23
25
  return {
24
26
  crypto: {
@@ -53,7 +55,9 @@ function generateAPI() {
53
55
  sync: {
54
56
  syncWithEthereum: syncWithEthereumNode,
55
57
  syncMarkets,
56
- syncJobs
58
+ syncJobs,
59
+ syncCreatedDisputes,
60
+ syncMarketDisputes
57
61
  }
58
62
  },
59
63
  provider: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAU,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,SAAS,WAAW;IAChB,OAAO;QACH,MAAM,EAAE;YACJ,kBAAkB;YAClB,mBAAmB;YACnB,oBAAoB;SACvB;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,IAAI;YACV,kBAAkB;SACrB;QACD,QAAQ,EAAE;YACN,oBAAoB;YACpB,UAAU;YACV,qBAAqB;SACxB;QACD,OAAO,EAAE;YACL,eAAe,EAAE,eAAe;YAChC,eAAe,EAAE,eAAe;YAChC,gBAAgB,EAAE,gBAAgB;YAClC,oBAAoB,EAAE,oBAAoB;YAC1C,aAAa,EAAE,aAAa;YAC5B,UAAU,EAAE,UAAU;SACzB;QACD,QAAQ,EAAE;YACN,eAAe;SAClB;QACD,OAAO,EAAE;YACL,YAAY;SACf;QACD,OAAO,EAAE;YACL,IAAI,EAAE;gBACF,gBAAgB,EAAE,oBAAoB;gBACtC,WAAW;gBACX,QAAQ;aACX;SACJ;QACD,QAAQ,EAAE;YACN,SAAS;YACT,OAAO;YACP,OAAO;SACV;QACD,IAAI,EAAE;YACF,WAAW;YACX,eAAe;SAClB;KACJ,CAAA;AACL,CAAC;AAED,MAAM,cAAc,GAAG,WAAW,EAAE,CAAC;AAErC,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAU,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAE9D,SAAS,WAAW;IAChB,OAAO;QACH,MAAM,EAAE;YACJ,kBAAkB;YAClB,mBAAmB;YACnB,oBAAoB;SACvB;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,IAAI;YACV,kBAAkB;SACrB;QACD,QAAQ,EAAE;YACN,oBAAoB;YACpB,UAAU;YACV,qBAAqB;SACxB;QACD,OAAO,EAAE;YACL,eAAe,EAAE,eAAe;YAChC,eAAe,EAAE,eAAe;YAChC,gBAAgB,EAAE,gBAAgB;YAClC,oBAAoB,EAAE,oBAAoB;YAC1C,aAAa,EAAE,aAAa;YAC5B,UAAU,EAAE,UAAU;SACzB;QACD,QAAQ,EAAE;YACN,eAAe;SAClB;QACD,OAAO,EAAE;YACL,YAAY;SACf;QACD,OAAO,EAAE;YACL,IAAI,EAAE;gBACF,gBAAgB,EAAE,oBAAoB;gBACtC,WAAW;gBACX,QAAQ;gBACR,mBAAmB;gBACnB,kBAAkB;aACrB;SACJ;QACD,QAAQ,EAAE;YACN,SAAS;YACT,OAAO;YACP,OAAO;SACV;QACD,IAAI,EAAE;YACF,WAAW;YACX,eAAe;SAClB;KACJ,CAAA;AACL,CAAC;AAED,MAAM,cAAc,GAAG,WAAW,EAAE,CAAC;AAErC,eAAe,cAAc,CAAC"}
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "rinkeby": {
3
- "MarketFactory": "0x3952B4E5D952Cd0C537b1bA7B19163b1e2ff1dFA",
4
- "UserRegistration": "0x5da9Fce2A9bb357E6831231D2009E2Fe29a38CBa",
5
- "UserSummaryFactory": "0xDdEb6eEB101b9c8E5BA2fF41f03C546834215106",
3
+ "MarketFactory": "0x850cADCF43FB7a40F8aD0C09e7F4B4A649598298",
4
+ "UserRegistration": "0x855B49FEf7e8Ece986E4A63EcA584F44114aBc0e",
5
+ "UserSummaryFactory": "0x9d64421D3472E1c1776d5E4C2d1Fdb71A1B4b541",
6
6
  "Dai": "0x5592ec0cfb4dbc12d3ab100b257153436a1f0fea",
7
- "Participation": "0x02D6C05D222CD5ed5183c88b9673b2e8c254946E"
7
+ "Participation": "0xC9dbEA7aeBd89acA4d138Df139E04c30Ea0FF47f"
8
8
  },
9
9
  "mainnet": {
10
10
  "MarketFactory": "0x8eb065482F681537e90eab826540E9DF8D8cBd89",
package/dist/constants.js CHANGED
@@ -67,6 +67,8 @@ export var ExchangeEvents;
67
67
  (function (ExchangeEvents) {
68
68
  ExchangeEvents["WorkRelationshipCreated"] = "WorkRelationshipCreated";
69
69
  ExchangeEvents["DisputeCreated"] = "DisputeCreated";
70
+ ExchangeEvents["DisputeInvolvement"] = "MarketDispute";
71
+ ExchangeEvents["MarketDispute"] = "MarketDispute";
70
72
  })(ExchangeEvents || (ExchangeEvents = {}));
71
73
  export var StorageEvents;
72
74
  (function (StorageEvents) {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAA;AAE1B,eAAe;AACf,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,eAAe;IACf,kBAAkB;IAClB,QAAQ;IACR,aAAa;IACb,oBAAoB;IACpB,kBAAkB;CACnB,CAAA;AAED,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,wBAAS,CAAA;IACT,mDAAoC,CAAA;IACpC,8BAAe,CAAA;IACf,6CAA8B,CAAA;IAC9B,mDAAoC,CAAA;AACtC,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;AAYD,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,mDAAM,CAAA;IACN,iDAAK,CAAA;AACP,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,IAAK,aAIJ;AAJD,WAAK,aAAa;IAChB,iFAAoB,CAAA;IACpB,yEAAgB,CAAA;IAChB,yDAAQ,CAAA;AACV,CAAC,EAJI,aAAa,KAAb,aAAa,QAIjB;AAYD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,aAAa,EAAE,CAAC,wFAAwF,CAAC;IACzG,WAAW,EAAE,CAAC,sFAAsF,CAAC;IACrG,SAAS,EAAE,CAAC;IACZ,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,UAAU,GAAG,IAA4B,CAAC,EAAE,uEAAuE;CAClI,CAAC;AAEF,YAAY;AACZ,MAAM,CAAN,IAAY,0BAEX;AAFD,WAAY,0BAA0B;IACpC,iEAAmC,CAAA;AACrC,CAAC,EAFW,0BAA0B,KAA1B,0BAA0B,QAErC;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,kDAA+B,CAAA;IAC/B,kDAA+B,CAAA;AACjC,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,0CAA2B,CAAA;IAC3B,wCAAyB,CAAA;AAC3B,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+CAA6B,CAAA;IAC7B,mDAAiC,CAAA;AACnC,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,mDAAmC,CAAA;IACnC,uDAAuC,CAAA;IACvC,+CAA+B,CAAA;IAC/B,+EAA+D,CAAA;AACjE,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,qEAAiD,CAAA;IACjD,mDAA+B,CAAA;AACjC,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,6CAA0B,CAAA;IAC1B,yCAAuB,CAAA;IACvB,iDAA8B,CAAA;AAChC,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,eAAe;AAEf,MAAM,CAAN,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,kDAAqB,CAAA;IACrB,gDAAmB,CAAA;IACnB,0CAAa,CAAA;AACf,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,QAIlC;AAED,MAAM,CAAN,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;AACf,CAAC,EAFW,gBAAgB,KAAhB,gBAAgB,QAE3B;AAED,cAAc;AAEd,MAAM,CAAN,IAAY,cAEX;AAFD,WAAY,cAAc;AAE1B,CAAC,EAFW,cAAc,KAAd,cAAc,QAEzB"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  const IPFS = require('ipfs');
11
2
  const OrbitDB = require('orbit-db');
12
3
  const operations = ['>', '<', '==', '>=', '<='];
@@ -22,103 +13,8 @@ const optionsToWrite = {
22
13
  };
23
14
  class OpportunityStorageProvider {
24
15
  constructor(address) {
25
- // Create IPFS instance
26
- this.initIPFSInstance = () => __awaiter(this, void 0, void 0, function* () {
27
- return yield IPFS.create({
28
- repo: Math.random().toString(),
29
- start: true,
30
- preload: {
31
- enabled: false,
32
- },
33
- EXPERIMENTAL: { pubsub: true },
34
- });
35
- });
36
- this.initIPFSInstance();
37
- this.listen(address);
38
- }
39
- listen(address = '') {
40
- this.initIPFSInstance().then((ipfs) => __awaiter(this, void 0, void 0, function* () {
41
- var _a, _b;
42
- const orbitdb = yield OrbitDB.createInstance(ipfs);
43
- // Create / Open a database
44
- if (address == '') {
45
- this.db = yield orbitdb.docs('database.default');
46
- console.log(this.db);
47
- console.log(this.db.address);
48
- }
49
- else {
50
- if (!((_a = this.db) === null || _a === void 0 ? void 0 : _a.dbname) || ((_b = this.db) === null || _b === void 0 ? void 0 : _b.dbname) == '') {
51
- console.log('Connecting orbitdb to: ' + address);
52
- orbitdb.
53
- this.db = yield orbitdb.docs(address, {
54
- type: 'docstore',
55
- accessController: {
56
- admin: ['*'],
57
- write: ['*']
58
- },
59
- //indexBy: 'collection'
60
- });
61
- //await this.db.load();
62
- }
63
- console.log(this.db);
64
- }
65
- // Listen for updates from peers
66
- this.db.events.on("replicated", address => {
67
- console.log(this.db.iterator({ limit: -1 }).collect());
68
- });
69
- // Add an entry
70
- const hash = yield this.db.put({ _id: 0, collection: "hmm" });
71
- console.log(hash);
72
- // Query
73
- const result = this.db.iterator({ limit: -1 }).collect();
74
- console.log(JSON.stringify(result, null, 2));
75
- }));
76
- }
77
- /**
78
- * Returns a Promise that resolves to the multihash of the entry as a String.
79
- * @param doc
80
- * @returns
81
- */
82
- store(doc) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- try {
85
- const hash = yield this.db.put(doc).then(hash => {
86
- return hash;
87
- });
88
- return hash;
89
- }
90
- catch (error) {
91
- console.log(error);
92
- return '';
93
- }
94
- });
95
- }
96
- /**
97
- * Returns an Array of all Objects that match the given key in their _id field or the field specified by indexBy. If no document with
98
- * that key exists, this returns an empty array.
99
- * @param key
100
- */
101
- retrieveDoc(key = '', collection) {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- try {
104
- const docs = yield this.db.get(key);
105
- return docs;
106
- }
107
- catch (error) {
108
- console.log(error);
109
- return [];
110
- }
111
- });
112
- }
113
- retrieveDocsByCollection(collection) {
114
- return __awaiter(this, void 0, void 0, function* () {
115
- return yield this.db.query((doc) => doc[collection] == collection);
116
- });
117
- }
118
- deleteDoc(key) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- const hash = yield this.db.del(key);
121
- });
16
+ // this.initIPFSInstance()
17
+ //this.listen(address)
122
18
  }
123
19
  }
124
20
  export default OpportunityStorageProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"OpportunityStorageProvider.js","sourceRoot":"","sources":["../../../src/modules/storage/OpportunityStorageProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpportunityStorageProvider.js","sourceRoot":"","sources":["../../../src/modules/storage/OpportunityStorageProvider.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAQnC,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE/C,MAAM,cAAc,GAAG;IACnB,mDAAmD;IACnD,gBAAgB,EAAE;QAChB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,CAAC,GAAG,CAAC;QACZ,KAAK,EAAE,CAAC,GAAG,CAAC;KACb;IACD,OAAO,EAAE,YAAY;CACxB,CAAA;AAGD,MAAM,0BAA0B;IAG5B,YAAY,OAAe;QACxB,0BAA0B;QACzB,sBAAsB;IAC1B,CAAC;CA0FJ;AAED,eAAe,0BAA0B,CAAA"}
@@ -0,0 +1,78 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import opportunityEventEmitter from "../../events/OpportunityEventEmitter";
11
+ const POW_TIME = 100;
12
+ const TTL = 20;
13
+ const POW_TARGET = 2;
14
+ class WhisperHandler {
15
+ constructor(web3) {
16
+ this.web3 = web3;
17
+ this.generateKeypair();
18
+ }
19
+ generateKeypair() {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const keyPair = yield this.web3.shh.newKeyPair();
22
+ this.keypair = keyPair;
23
+ // Obtain public key
24
+ const pubKey = yield this.web3.shh.getPublicKey(keyPair);
25
+ this.pubKey = pubKey;
26
+ });
27
+ }
28
+ getWhisperPubKey() {
29
+ return this.pubKey;
30
+ }
31
+ sendPrivateMessage(toPubKey, msg, topic) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ // Send private message
34
+ this.web3.shh.post({
35
+ pubKey: toPubKey,
36
+ sig: this.keypair,
37
+ ttl: TTL,
38
+ topic,
39
+ payload: this.web3.utils.fromAscii(msg),
40
+ powTime: POW_TIME,
41
+ powTarget: POW_TARGET
42
+ });
43
+ });
44
+ }
45
+ subscribeToTopic(topic) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ // Subscribe to private messages
48
+ const subscribe = (topic) => __awaiter(this, void 0, void 0, function* () {
49
+ this.web3.shh.subscribe("messages", {
50
+ minPow: POW_TARGET,
51
+ privateKeyID: this.keypair,
52
+ topics: [topic]
53
+ }).on('data', (data) => {
54
+ console.log('Receieved data: ');
55
+ console.log(data);
56
+ console.log(this.web3.utils.toAscii(data.payload));
57
+ opportunityEventEmitter.emit('WHISPER_RECEIVED', data);
58
+ }).on('error', (err) => {
59
+ console.log('Couldnt decode message');
60
+ console.log(err);
61
+ });
62
+ });
63
+ const receivedWhisper = (data) => {
64
+ console.log(data);
65
+ };
66
+ yield subscribe(topic)
67
+ .then(() => {
68
+ opportunityEventEmitter.subscribeToEvent('WHISPER_RECEIVED', receivedWhisper);
69
+ })
70
+ .catch(error => {
71
+ console.log('Error trying to subscribe to topic');
72
+ console.log(error);
73
+ });
74
+ });
75
+ }
76
+ }
77
+ export default WhisperHandler;
78
+ //# sourceMappingURL=ChatHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatHandler.js","sourceRoot":"","sources":["../../../src/modules/whisper/ChatHandler.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { processMarketCreatedEvent } from './processMarketCreatedLog';
4
4
  import { processMarketDestroyedEvent } from "./processMarketDestroyedEvent";
5
5
  import { utils } from "ethers";
6
6
  import { processWorkRelationshipCreatedEvent } from "./processWorkRelationshipCreated";
7
- import { processDisputeCreated } from "./processDisputeCreated";
7
+ import { processDisputeInvolvement } from "./processDisputeInvolvement";
8
8
  /**
9
9
  * Retrieves topics and process the approppriate log
10
10
  * @param log
@@ -56,8 +56,8 @@ function processLogEvents(log) {
56
56
  case "WorkRelationshipCreated":
57
57
  processWorkRelationshipCreatedEvent(log);
58
58
  break;
59
- case "DisputeCreated":
60
- processDisputeCreated(log);
59
+ case "DisputeInvolvement":
60
+ processDisputeInvolvement(log);
61
61
  default:
62
62
  }
63
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"process-log.js","sourceRoot":"","sources":["../../../src/sync/process/process-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA2B,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAQ,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE;;;;;;;;;;;;;;GAcG;AACH,SAAS,UAAU,CAAC,GAAG;IACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChB,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAG;IACzB,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE1C,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE;YACtB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE;gBAAE,SAAS;aAAE;YAAA,CAAC;YAC5C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YAC/H,OAAO,CAAC,GAAG,CAAC,0CAA0C,GAAG,SAAS,CAAC,CAAA;YACnE,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3B,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;gBACnB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM;aACT;SACJ;KACJ;IAED,IAAI,KAAK,IAAI,IAAI,EAAE;QACf,QAAO,KAAK,CAAC,MAAM,CAAC,EAAE;YAClB,KAAK,eAAe;gBAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;gBAChC,yBAAyB,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM;YACV,KAAK,iBAAiB;gBAClB,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM;YACV,KAAK,yBAAyB;gBAC1B,mCAAmC,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM;YACV,KAAK,gBAAgB;gBACjB,qBAAqB,CAAC,GAAG,CAAC,CAAA;YAC9B,QAAQ;SACX;KACJ;SAAM;QACH,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;KACrD;AACL,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"process-log.js","sourceRoot":"","sources":["../../../src/sync/process/process-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA2B,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAQ,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE;;;;;;;;;;;;;;GAcG;AACH,SAAS,UAAU,CAAC,GAAG;IACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChB,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAG;IACzB,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE1C,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE;YACtB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE;gBAAE,SAAS;aAAE;YAAA,CAAC;YAC5C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YAC/H,OAAO,CAAC,GAAG,CAAC,0CAA0C,GAAG,SAAS,CAAC,CAAA;YACnE,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3B,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;gBACnB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM;aACT;SACJ;KACJ;IAED,IAAI,KAAK,IAAI,IAAI,EAAE;QACf,QAAO,KAAK,CAAC,MAAM,CAAC,EAAE;YAClB,KAAK,eAAe;gBAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;gBAChC,yBAAyB,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM;YACV,KAAK,iBAAiB;gBAClB,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM;YACV,KAAK,yBAAyB;gBAC1B,mCAAmC,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM;YACV,KAAK,oBAAoB;gBACrB,yBAAyB,CAAC,GAAG,CAAC,CAAA;YAClC,QAAQ;SACX;KACJ;SAAM;QACH,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;KACrD;AACL,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC"}
@@ -7,7 +7,7 @@ import opportunityEventEmitter from '../../events/OpportunityEventEmitter';
7
7
  * @param log
8
8
  * @returns
9
9
  */
10
- function processDisputeCreated(log) {
10
+ function processDisputeInvolvement(log) {
11
11
  try {
12
12
  const iface = new ethers.utils.Interface(abiMap[Contracts.DISPUTE]);
13
13
  const decodedLog = iface.parseLog(log);
@@ -23,11 +23,11 @@ function processDisputeCreated(log) {
23
23
  address: disputeAddress
24
24
  };
25
25
  console.log("Processing a dispute created event with address: " + disputeData);
26
- opportunityEventEmitter.emit(ExchangeEvents.WorkRelationshipCreated, disputeData);
26
+ opportunityEventEmitter.emit(ExchangeEvents.DisputeInvolvement, disputeData);
27
27
  }
28
28
  catch (error) {
29
29
  console.log(error);
30
30
  }
31
31
  }
32
- export { processDisputeCreated };
33
- //# sourceMappingURL=processDisputeCreated.js.map
32
+ export { processDisputeInvolvement };
33
+ //# sourceMappingURL=processDisputeInvolvement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processDisputeInvolvement.js","sourceRoot":"","sources":["../../../src/sync/process/processDisputeInvolvement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAgB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAIpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,uBAAuB,MAAM,sCAAsC,CAAC;AAG3E;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,GAAG;IAClC,IAAI;QACJ,MAAM,KAAK,GAAe,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAoB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/B,MAAM,WAAW,GAAG;YAChB,QAAQ;YACR,MAAM;YACN,YAAY;YACZ,OAAO,EAAE,cAAc;SAC1B,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,mDAAmD,GAAG,WAAW,CAAC,CAAA;QAE9E,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;KAChF;IAAC,OAAM,KAAK,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;KACrB;AACD,CAAC;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { Contracts, ExchangeEvents } from '../../constants';
2
+ import * as abiMap from '../../blockchain/abi.json';
3
+ import { ethers } from 'ethers';
4
+ import opportunityEventEmitter from '../../events/OpportunityEventEmitter';
5
+ /**
6
+ * WorkRelationshipCreated(address owner, address relationship, address market)
7
+ * @param log
8
+ * @returns
9
+ */
10
+ function processMarketDispute(log) {
11
+ try {
12
+ const iface = new ethers.utils.Interface(abiMap[Contracts.DISPUTE]);
13
+ const decodedLog = iface.parseLog(log);
14
+ const { args, signature } = decodedLog;
15
+ const employer = args[0];
16
+ const worker = args[1];
17
+ const relationship = args[2];
18
+ const disputeAddress = args[3];
19
+ const marketAddress = args[4];
20
+ const disputeData = {
21
+ employer,
22
+ worker,
23
+ relationship,
24
+ address: disputeAddress
25
+ };
26
+ console.log("Processing a dispute created in the market: " + marketAddress);
27
+ opportunityEventEmitter.emit(ExchangeEvents.MarketDispute, disputeData);
28
+ }
29
+ catch (error) {
30
+ console.log(error);
31
+ }
32
+ }
33
+ export { processMarketDispute };
34
+ //# sourceMappingURL=processMarketDisputes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processMarketDisputes.js","sourceRoot":"","sources":["../../../src/sync/process/processMarketDisputes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAgB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAIpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,uBAAuB,MAAM,sCAAsC,CAAC;AAG3E;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,GAAG;IAC7B,IAAI;QACJ,MAAM,KAAK,GAAe,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAoB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAE7B,MAAM,WAAW,GAAG;YAChB,QAAQ;YACR,MAAM;YACN,YAAY;YACZ,OAAO,EAAE,cAAc;SAC1B,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,aAAa,CAAC,CAAA;QAE3E,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;KAC3E;IAAC,OAAM,KAAK,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;KACrB;AACD,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,37 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import opportunityService from "../OpportunityService";
11
+ import { processLog } from './process/process-log';
12
+ function syncCreatedDisputes(userSummaryAddress) {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ if (opportunityService.getProviderInterface()) {
15
+ yield opportunityService.getProviderInterface().getLogs({
16
+ address: userSummaryAddress,
17
+ fromBlock: 1,
18
+ toBlock: 'latest',
19
+ topics: [
20
+ 'DisputeCreated(address,address,address,address)'
21
+ ]
22
+ }).then((logs) => {
23
+ console.log('Found logs.. Processing sync disputes');
24
+ logs.forEach(log => {
25
+ if (log && Array.isArray(log.topics) && log.topics.length) {
26
+ processLog(log); // keccashinside here
27
+ }
28
+ });
29
+ })
30
+ .catch(err => {
31
+ console.log('Err on fetching logs from blockchain: ' + err);
32
+ });
33
+ }
34
+ });
35
+ }
36
+ export default syncCreatedDisputes;
37
+ //# sourceMappingURL=sync-disputes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-disputes.js","sourceRoot":"","sources":["../../src/sync/sync-disputes.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,SAAe,mBAAmB,CAAC,kBAAkB;;QACjD,IAAI,kBAAkB,CAAC,oBAAoB,EAAE,EAAE;YAC9C,MAAM,kBAAkB,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC;gBACrD,OAAO,EAAE,kBAAkB;gBAC3B,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE;oBACJ,iDAAiD;iBACpD;aACJ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;gBACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACf,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;wBACvD,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB;qBACzC;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,GAAG,CAAC,CAAA;YAC/D,CAAC,CAAC,CAAA;SACL;IACD,CAAC;CAAA;AAED,eAAe,mBAAmB,CAAC"}
@@ -16,7 +16,8 @@ function syncJobs(marketAddress) {
16
16
  yield opportunityService.getProviderInterface().getLogs({
17
17
  address: marketAddress,
18
18
  fromBlock: 1,
19
- toBlock: 'latest'
19
+ toBlock: 'latest',
20
+ topics: ['WorkRelationshipCreated(address,address,address)']
20
21
  }).then((logs) => {
21
22
  console.log('Found logs.. Processing sync Jobs');
22
23
  logs.forEach(log => {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-jobs.js","sourceRoot":"","sources":["../../src/sync/sync-jobs.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,SAAe,QAAQ,CAAC,aAAa;;QACjC,IAAI,kBAAkB,CAAC,oBAAoB,EAAE,EAAE;YAC9C,WAAW;YACX,MAAM,kBAAkB,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC;gBACrD,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,QAAQ;aACpB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;gBAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACf,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;wBACvD,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB;qBACzC;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,GAAG,CAAC,CAAA;YAC/D,CAAC,CAAC,CAAA;SACL;IACD,CAAC;CAAA;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"sync-jobs.js","sourceRoot":"","sources":["../../src/sync/sync-jobs.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,SAAe,QAAQ,CAAC,aAAa;;QACjC,IAAI,kBAAkB,CAAC,oBAAoB,EAAE,EAAE;YAC9C,WAAW;YACX,MAAM,kBAAkB,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC;gBACrD,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,CAAC,kDAAkD,CAAC;aAC/D,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;gBAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACf,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;wBACvD,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB;qBACzC;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,GAAG,CAAC,CAAA;YAC/D,CAAC,CAAC,CAAA;SACL;IACD,CAAC;CAAA;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,35 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import opportunityService from "../OpportunityService";
11
+ import { processLog } from './process/process-log';
12
+ function syncMarketDisputes(marketAddress) {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ if (opportunityService.getProviderInterface()) {
15
+ yield opportunityService.getProviderInterface().getLogs({
16
+ address: marketAddress,
17
+ fromBlock: 1,
18
+ toBlock: 'latest',
19
+ topics: ['MarketDispute(address,address,address,address,address)']
20
+ }).then((logs) => {
21
+ console.log('Found logs.. Processing sync market disputes');
22
+ logs.forEach(log => {
23
+ if (log && Array.isArray(log.topics) && log.topics.length) {
24
+ processLog(log); // keccashinside here
25
+ }
26
+ });
27
+ })
28
+ .catch(err => {
29
+ console.log('Err on fetching logs from blockchain: ' + err);
30
+ });
31
+ }
32
+ });
33
+ }
34
+ export default syncMarketDisputes;
35
+ //# sourceMappingURL=sync-market-disputes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-market-disputes.js","sourceRoot":"","sources":["../../src/sync/sync-market-disputes.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,SAAe,kBAAkB,CAAC,aAAa;;QAC3C,IAAI,kBAAkB,CAAC,oBAAoB,EAAE,EAAE;YAC9C,MAAM,kBAAkB,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC;gBACrD,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,CAAC,wDAAwD,CAAC;aACrE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;gBAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACf,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;wBACvD,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB;qBACzC;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,GAAG,CAAC,CAAA;YAC/D,CAAC,CAAC,CAAA;SACL;IACD,CAAC;CAAA;AAED,eAAe,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opportunity-service",
3
- "version": "0.0.604",
3
+ "version": "0.0.608",
4
4
  "description": "A service layer that connects all services between the blockchain and ui.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -14,6 +14,7 @@ import opportunityStorageProvider from "./modules/storage/OpportunityStorageProv
14
14
  import Web3 from 'web3';
15
15
  import OpportunityStorageProvider from "./modules/storage/OpportunityStorageProvider";
16
16
  import { EthNetworkID } from "dvote-js";
17
+ import WhisperHandler from "./modules/whisper/ChatHandler";
17
18
 
18
19
  class OpportunityService {
19
20
  private eventEmitter = opportunityEventEmitter;
@@ -26,6 +27,7 @@ class OpportunityService {
26
27
  private storageProvider = null;
27
28
  private currentAccount = null;
28
29
  private ethNetwork : EthNetworkID | string = 'rinkeby'
30
+ private whisperProvider = null;
29
31
  public storage = null
30
32
 
31
33
  private static instance: OpportunityService;
@@ -56,6 +58,7 @@ class OpportunityService {
56
58
 
57
59
  assignDefaultProvider(provider : Web3) {
58
60
  OpportunityService.defaultProvider = provider;
61
+ this.whisperProvider = new WhisperHandler(provider);
59
62
  }
60
63
 
61
64
  assignProvider(provider : any) {
@@ -86,7 +89,7 @@ class OpportunityService {
86
89
  this.ethNetwork = 'rinkeby'
87
90
  }
88
91
 
89
- this.storageProvider = new OpportunityStorageProvider(dbAddress)
92
+ //this.storageProvider = new OpportunityStorageProvider(dbAddress)
90
93
  }
91
94
 
92
95
  public getEthNetwork(): EthNetworkID | string {
@@ -147,6 +150,10 @@ class OpportunityService {
147
150
  getSignersInterface() : providers.JsonRpcSigner {
148
151
  return this.ethersSigner;
149
152
  }
153
+
154
+ getWhisperProvider() : any {
155
+ return this.whisperProvider
156
+ }
150
157
  }
151
158
 
152
159
  const opportunityService = OpportunityService.getInstance();
package/src/api/index.ts CHANGED
@@ -22,6 +22,9 @@ import { ensureEntityMetadata } from "./dispute/ensure-entity-metadata";
22
22
  import { launchNewVote } from "./dispute/launch-new-vote";
23
23
  import { submitVote } from "./dispute/submit-vote";
24
24
 
25
+ import syncCreatedDisputes from "../sync/sync-disputes";
26
+ import syncMarketDisputes from "../sync/sync-market-disputes";
27
+
25
28
  function generateAPI() {
26
29
  return {
27
30
  crypto: {
@@ -56,7 +59,9 @@ function generateAPI() {
56
59
  sync: {
57
60
  syncWithEthereum: syncWithEthereumNode,
58
61
  syncMarkets,
59
- syncJobs
62
+ syncJobs,
63
+ syncCreatedDisputes,
64
+ syncMarketDisputes
60
65
  }
61
66
  },
62
67
  provider: {
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "rinkeby": {
3
- "MarketFactory": "0x3952B4E5D952Cd0C537b1bA7B19163b1e2ff1dFA",
4
- "UserRegistration": "0x5da9Fce2A9bb357E6831231D2009E2Fe29a38CBa",
5
- "UserSummaryFactory": "0xDdEb6eEB101b9c8E5BA2fF41f03C546834215106",
3
+ "MarketFactory": "0x850cADCF43FB7a40F8aD0C09e7F4B4A649598298",
4
+ "UserRegistration": "0x855B49FEf7e8Ece986E4A63EcA584F44114aBc0e",
5
+ "UserSummaryFactory": "0x9d64421D3472E1c1776d5E4C2d1Fdb71A1B4b541",
6
6
  "Dai": "0x5592ec0cfb4dbc12d3ab100b257153436a1f0fea",
7
- "Participation": "0x02D6C05D222CD5ed5183c88b9673b2e8c254946E"
8
- },
7
+ "Participation": "0xC9dbEA7aeBd89acA4d138Df139E04c30Ea0FF47f"
8
+ },
9
9
  "mainnet": {
10
10
  "MarketFactory": "0x8eb065482F681537e90eab826540E9DF8D8cBd89",
11
11
  "UserRegistration": "0xc4F1B570e57A5035a25035AFA5f7CbA204627024",
@@ -16,7 +16,4 @@
16
16
  "xdai": {
17
17
 
18
18
  }
19
- }
20
-
21
-
22
-
19
+ }
package/src/constants.ts CHANGED
@@ -88,7 +88,9 @@ export enum UserEvents {
88
88
 
89
89
  export enum ExchangeEvents {
90
90
  WorkRelationshipCreated='WorkRelationshipCreated',
91
- DisputeCreated='DisputeCreated'
91
+ DisputeCreated='DisputeCreated',
92
+ DisputeInvolvement='MarketDispute',
93
+ MarketDispute='MarketDispute'
92
94
  }
93
95
 
94
96
  export enum StorageEvents {
@@ -25,10 +25,10 @@ class OpportunityStorageProvider {
25
25
  private db: any
26
26
 
27
27
  constructor(address: string) {
28
- this.initIPFSInstance()
29
- this.listen(address)
28
+ // this.initIPFSInstance()
29
+ //this.listen(address)
30
30
  }
31
-
31
+ /*
32
32
 
33
33
  // Create IPFS instance
34
34
  initIPFSInstance = async () => {
@@ -55,7 +55,7 @@ class OpportunityStorageProvider {
55
55
 
56
56
  if (!this.db?.dbname || this.db?.dbname == '') {
57
57
  console.log('Connecting orbitdb to: ' + address)
58
- orbitdb.
58
+
59
59
  this.db = await orbitdb.docs(address, {
60
60
  type: 'docstore',
61
61
  accessController: {
@@ -86,11 +86,7 @@ class OpportunityStorageProvider {
86
86
  }
87
87
 
88
88
 
89
- /**
90
- * Returns a Promise that resolves to the multihash of the entry as a String.
91
- * @param doc
92
- * @returns
93
- */
89
+
94
90
  async store(doc: DisputeDoc | WorkRelationshipDoc | UserSummaryDoc): Promise<string> {
95
91
  try {
96
92
  const hash = await this.db.put(doc).then(hash => {
@@ -104,11 +100,6 @@ class OpportunityStorageProvider {
104
100
  }
105
101
  }
106
102
 
107
- /**
108
- * Returns an Array of all Objects that match the given key in their _id field or the field specified by indexBy. If no document with
109
- * that key exists, this returns an empty array.
110
- * @param key
111
- */
112
103
  async retrieveDoc(key: string = '', collection: string): Promise<DisputeDoc> | Promise<WorkRelationshipDoc> | Promise<UserSummaryDoc> {
113
104
  try {
114
105
  const docs = await this.db.get(key)
@@ -125,7 +116,7 @@ class OpportunityStorageProvider {
125
116
 
126
117
  async deleteDoc(key: string) {
127
118
  const hash = await this.db.del(key)
128
- }
119
+ }*/
129
120
  }
130
121
 
131
122
  export default OpportunityStorageProvider
@@ -0,0 +1,78 @@
1
+ import opportunityEventEmitter from "../../events/OpportunityEventEmitter";
2
+ import Web3 from "web3";
3
+
4
+ const POW_TIME = 100;
5
+ const TTL = 20;
6
+ const POW_TARGET = 2;
7
+
8
+ class WhisperHandler {
9
+ private web3;
10
+ private keypair;
11
+ private pubKey;
12
+
13
+ constructor(web3: Web3) {
14
+ this.web3 = web3;
15
+ this.generateKeypair()
16
+ }
17
+
18
+ async generateKeypair() {
19
+ const keyPair = await this.web3.shh.newKeyPair();
20
+ this.keypair = keyPair;
21
+
22
+ // Obtain public key
23
+ const pubKey = await this.web3.shh.getPublicKey(keyPair);
24
+ this.pubKey = pubKey;
25
+ }
26
+
27
+
28
+ getWhisperPubKey() {
29
+ return this.pubKey;
30
+ }
31
+
32
+ async sendPrivateMessage(toPubKey: string, msg: string, topic: string) {
33
+ // Send private message
34
+ this.web3.shh.post({
35
+ pubKey: toPubKey,
36
+ sig: this.keypair,
37
+ ttl: TTL,
38
+ topic,
39
+ payload: this.web3.utils.fromAscii(msg),
40
+ powTime: POW_TIME,
41
+ powTarget: POW_TARGET
42
+ });
43
+ }
44
+
45
+ async subscribeToTopic(topic: string) {
46
+ // Subscribe to private messages
47
+ const subscribe = async (topic: string) => {
48
+ this.web3.shh.subscribe("messages", {
49
+ minPow: POW_TARGET,
50
+ privateKeyID: this.keypair,
51
+ topics: [topic]
52
+ }).on('data', (data) => {
53
+ console.log('Receieved data: ')
54
+ console.log(data)
55
+ console.log(this.web3.utils.toAscii(data.payload))
56
+ opportunityEventEmitter.emit('WHISPER_RECEIVED', data)
57
+ }).on('error', (err) => {
58
+ console.log('Couldnt decode message')
59
+ console.log(err)
60
+ });
61
+ }
62
+
63
+ const receivedWhisper = (data) => {
64
+ console.log(data)
65
+ }
66
+
67
+ await subscribe(topic)
68
+ .then(() => {
69
+ opportunityEventEmitter.subscribeToEvent('WHISPER_RECEIVED', receivedWhisper)
70
+ })
71
+ .catch(error => {
72
+ console.log('Error trying to subscribe to topic')
73
+ console.log(error)
74
+ })
75
+ }
76
+ }
77
+
78
+ export default WhisperHandler;
@@ -7,7 +7,7 @@ import { ethers, utils } from "ethers";
7
7
  import { hexZeroPad } from "@ethersproject/bytes";
8
8
  import { decode } from "node:punycode";
9
9
  import { processWorkRelationshipCreatedEvent } from "./processWorkRelationshipCreated";
10
- import { processDisputeCreated } from "./processDisputeCreated";
10
+ import { processDisputeInvolvement } from "./processDisputeInvolvement";
11
11
  /**
12
12
  * Retrieves topics and process the approppriate log
13
13
  * @param log
@@ -59,8 +59,8 @@ function processLogEvents(log) {
59
59
  case "WorkRelationshipCreated":
60
60
  processWorkRelationshipCreatedEvent(log);
61
61
  break;
62
- case "DisputeCreated":
63
- processDisputeCreated(log)
62
+ case "DisputeInvolvement":
63
+ processDisputeInvolvement(log)
64
64
  default:
65
65
  }
66
66
  } else {
@@ -13,7 +13,7 @@ import opportunityEventEmitter from '../../events/OpportunityEventEmitter';
13
13
  * @param log
14
14
  * @returns
15
15
  */
16
- function processDisputeCreated(log) {
16
+ function processDisputeInvolvement(log) {
17
17
  try {
18
18
  const iface : Interface = new ethers.utils.Interface(abiMap[Contracts.DISPUTE]);
19
19
  const decodedLog : LogDescription = iface.parseLog(log);
@@ -33,10 +33,10 @@ function processDisputeCreated(log) {
33
33
 
34
34
  console.log("Processing a dispute created event with address: " + disputeData)
35
35
 
36
- opportunityEventEmitter.emit(ExchangeEvents.WorkRelationshipCreated, disputeData);
36
+ opportunityEventEmitter.emit(ExchangeEvents.DisputeInvolvement, disputeData);
37
37
  } catch(error) {
38
38
  console.log(error)
39
39
  }
40
40
  }
41
41
 
42
- export { processDisputeCreated };
42
+ export { processDisputeInvolvement };
@@ -0,0 +1,43 @@
1
+ import { Contracts, ExchangeEvents, MarketEvents } from '../../constants';
2
+ import * as abiMap from '../../blockchain/abi.json';
3
+ import * as addressMap from '../../blockchain/addresses.json';
4
+ import opportunityService from '../../OpportunityService';
5
+ import { Contract } from '@ethersproject/contracts';
6
+ import { ethers } from 'ethers';
7
+ import { AbiCoder, EventFragment, Interface, LogDescription, Result } from '@ethersproject/abi';
8
+ import opportunityEventEmitter from '../../events/OpportunityEventEmitter';
9
+
10
+
11
+ /**
12
+ * WorkRelationshipCreated(address owner, address relationship, address market)
13
+ * @param log
14
+ * @returns
15
+ */
16
+ function processMarketDispute(log) {
17
+ try {
18
+ const iface : Interface = new ethers.utils.Interface(abiMap[Contracts.DISPUTE]);
19
+ const decodedLog : LogDescription = iface.parseLog(log);
20
+ const { args, signature } = decodedLog;
21
+
22
+ const employer = args[0]
23
+ const worker = args[1]
24
+ const relationship = args[2]
25
+ const disputeAddress = args[3];
26
+ const marketAddress = args[4]
27
+
28
+ const disputeData = {
29
+ employer,
30
+ worker,
31
+ relationship,
32
+ address: disputeAddress
33
+ }
34
+
35
+ console.log("Processing a dispute created in the market: " + marketAddress)
36
+
37
+ opportunityEventEmitter.emit(ExchangeEvents.MarketDispute, disputeData);
38
+ } catch(error) {
39
+ console.log(error)
40
+ }
41
+ }
42
+
43
+ export { processMarketDispute };
@@ -0,0 +1,29 @@
1
+ import opportunityService from "../OpportunityService";
2
+ import { processLog } from './process/process-log';
3
+ import * as addressMap from '../blockchain/addresses.json';
4
+ import { Contracts } from '../constants';
5
+
6
+ async function syncCreatedDisputes(userSummaryAddress) {
7
+ if (opportunityService.getProviderInterface()) {
8
+ await opportunityService.getProviderInterface().getLogs({
9
+ address: userSummaryAddress,
10
+ fromBlock: 1,
11
+ toBlock: 'latest',
12
+ topics: [
13
+ 'DisputeCreated(address,address,address,address)'
14
+ ]
15
+ }).then((logs) => {
16
+ console.log('Found logs.. Processing sync disputes')
17
+ logs.forEach(log => {
18
+ if (log && Array.isArray(log.topics) && log.topics.length) {
19
+ processLog(log); // keccashinside here
20
+ }
21
+ })
22
+ })
23
+ .catch(err => {
24
+ console.log('Err on fetching logs from blockchain: ' + err)
25
+ })
26
+ }
27
+ }
28
+
29
+ export default syncCreatedDisputes;
@@ -9,7 +9,8 @@ async function syncJobs(marketAddress) {
9
9
  await opportunityService.getProviderInterface().getLogs({
10
10
  address: marketAddress,
11
11
  fromBlock: 1,
12
- toBlock: 'latest'
12
+ toBlock: 'latest',
13
+ topics: ['WorkRelationshipCreated(address,address,address)']
13
14
  }).then((logs) => {
14
15
  console.log('Found logs.. Processing sync Jobs')
15
16
  logs.forEach(log => {
@@ -0,0 +1,27 @@
1
+ import opportunityService from "../OpportunityService";
2
+ import { processLog } from './process/process-log';
3
+ import * as addressMap from '../blockchain/addresses.json';
4
+ import { Contracts } from '../constants';
5
+
6
+ async function syncMarketDisputes(marketAddress) {
7
+ if (opportunityService.getProviderInterface()) {
8
+ await opportunityService.getProviderInterface().getLogs({
9
+ address: marketAddress,
10
+ fromBlock: 1,
11
+ toBlock: 'latest',
12
+ topics: ['MarketDispute(address,address,address,address,address)']
13
+ }).then((logs) => {
14
+ console.log('Found logs.. Processing sync market disputes')
15
+ logs.forEach(log => {
16
+ if (log && Array.isArray(log.topics) && log.topics.length) {
17
+ processLog(log); // keccashinside here
18
+ }
19
+ })
20
+ })
21
+ .catch(err => {
22
+ console.log('Err on fetching logs from blockchain: ' + err)
23
+ })
24
+ }
25
+ }
26
+
27
+ export default syncMarketDisputes;
@@ -1 +0,0 @@
1
- {"version":3,"file":"processDisputeCreated.js","sourceRoot":"","sources":["../../../src/sync/process/processDisputeCreated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAgB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAIpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,uBAAuB,MAAM,sCAAsC,CAAC;AAG3E;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,GAAG;IAC9B,IAAI;QACJ,MAAM,KAAK,GAAe,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAoB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/B,MAAM,WAAW,GAAG;YAChB,QAAQ;YACR,MAAM;YACN,YAAY;YACZ,OAAO,EAAE,cAAc;SAC1B,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,mDAAmD,GAAG,WAAW,CAAC,CAAA;QAE9E,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;KACrF;IAAC,OAAM,KAAK,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;KACrB;AACD,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}