opportunity-service 0.0.614 → 0.0.615
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/OpportunityService.js +4 -2
- package/dist/OpportunityService.js.map +1 -1
- package/dist/modules/whisper/ChatHandler.js +6 -5
- package/dist/modules/whisper/ChatHandler.js.map +1 -1
- package/package.json +3 -2
- package/src/OpportunityService.ts +6 -2
- package/src/modules/whisper/ChatHandler.ts +7 -5
@@ -15,6 +15,7 @@ import { startEventListeners } from "./events/start-event-listeners";
|
|
15
15
|
import opportunityAPI from './api/index';
|
16
16
|
import Web3 from 'web3';
|
17
17
|
import WhisperHandler from "./modules/whisper/ChatHandler";
|
18
|
+
import { Shh } from 'web3-shh';
|
18
19
|
class OpportunityService {
|
19
20
|
/**
|
20
21
|
* The Singleton's constructor should always be private to prevent direct
|
@@ -51,9 +52,10 @@ class OpportunityService {
|
|
51
52
|
return __awaiter(this, void 0, void 0, function* () {
|
52
53
|
OpportunityService.defaultProvider = provider;
|
53
54
|
const shhProvider = provider;
|
54
|
-
|
55
|
+
var shh = new Shh("ws://localhost:8545");
|
56
|
+
shh.setProvider(new Web3.providers.WebsocketProvider("ws://localhost:8545", { headers: { Origin: "mychat" } }));
|
55
57
|
yield shhProvider.eth.net.isListening();
|
56
|
-
this.whisperProvider = new WhisperHandler(
|
58
|
+
this.whisperProvider = new WhisperHandler(new Web3(provider), shh);
|
57
59
|
});
|
58
60
|
}
|
59
61
|
assignProvider(provider) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"OpportunityService.js","sourceRoot":"","sources":["../src/OpportunityService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAA6B,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,uBAAuB,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAKxE,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,cAAc,MAAM,aAAa,CAAC;AAGzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAM,kBAAkB;IAkBpB;;;OAGG;IACH;QArBQ,iBAAY,GAAG,uBAAuB,CAAC;QACvC,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAY,KAAK,CAAC;QACzB,mBAAc,GAA+B,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;QAChG,iBAAY,GAA6B,IAAI,CAAC;QAE9C,sBAAiB,GAAG,IAAI,CAAC;QACzB,oBAAe,GAAG,IAAI,CAAC;QACvB,mBAAc,GAAG,IAAI,CAAC;QACtB,eAAU,GAA2B,SAAS,CAAA;QAC9C,oBAAe,GAAG,IAAI,CAAC;QACxB,YAAO,GAAG,IAAI,CAAA;QAId,QAAG,GAAI,cAAc,CAAC;QAOzB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC/B,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE;YAC9B,kBAAkB,CAAC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;SAC1D;QAED,OAAO,kBAAkB,CAAC,QAAQ,CAAC;IACvC,CAAC;IAEK,qBAAqB,CAAC,QAAe;;YACvC,kBAAkB,CAAC,eAAe,GAAG,QAAQ,CAAC;YAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"OpportunityService.js","sourceRoot":"","sources":["../src/OpportunityService.ts"],"names":[],"mappings":"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"}
|
@@ -12,16 +12,17 @@ const POW_TIME = 100;
|
|
12
12
|
const TTL = 20;
|
13
13
|
const POW_TARGET = 2;
|
14
14
|
class WhisperHandler {
|
15
|
-
constructor(web3) {
|
15
|
+
constructor(web3, shh) {
|
16
16
|
this.web3 = web3;
|
17
|
+
this.shh = shh;
|
17
18
|
this.generateKeypair();
|
18
19
|
}
|
19
20
|
generateKeypair() {
|
20
21
|
return __awaiter(this, void 0, void 0, function* () {
|
21
|
-
const keyPair = yield this.
|
22
|
+
const keyPair = yield this.shh.newKeyPair();
|
22
23
|
this.keypair = keyPair;
|
23
24
|
// Obtain public key
|
24
|
-
const pubKey = yield this.
|
25
|
+
const pubKey = yield this.shh.getPublicKey(keyPair);
|
25
26
|
this.pubKey = pubKey;
|
26
27
|
});
|
27
28
|
}
|
@@ -31,7 +32,7 @@ class WhisperHandler {
|
|
31
32
|
sendPrivateMessage(toPubKey, msg, topic) {
|
32
33
|
return __awaiter(this, void 0, void 0, function* () {
|
33
34
|
// Send private message
|
34
|
-
this.web3.
|
35
|
+
this.web3.post({
|
35
36
|
pubKey: toPubKey,
|
36
37
|
sig: this.keypair,
|
37
38
|
ttl: TTL,
|
@@ -46,7 +47,7 @@ class WhisperHandler {
|
|
46
47
|
return __awaiter(this, void 0, void 0, function* () {
|
47
48
|
// Subscribe to private messages
|
48
49
|
const subscribe = (topic) => __awaiter(this, void 0, void 0, function* () {
|
49
|
-
this.
|
50
|
+
this.shh.subscribe("messages", {
|
50
51
|
minPow: POW_TARGET,
|
51
52
|
privateKeyID: this.keypair,
|
52
53
|
topics: [topic]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ChatHandler.js","sourceRoot":"","sources":["../../../src/modules/whisper/ChatHandler.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,uBAAuB,MAAM,sCAAsC,CAAC;AAG3E,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,MAAM,GAAG,GAAG,EAAE,CAAC;AACf,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB,MAAM,cAAc;
|
1
|
+
{"version":3,"file":"ChatHandler.js","sourceRoot":"","sources":["../../../src/modules/whisper/ChatHandler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "opportunity-service",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.615",
|
4
4
|
"description": "A service layer that connects all services between the blockchain and ui.",
|
5
5
|
"main": "index.js",
|
6
6
|
"scripts": {
|
@@ -71,6 +71,7 @@
|
|
71
71
|
"orbit-db": "^0.28.0",
|
72
72
|
"orbit-db-identity-provider": "^0.4.0",
|
73
73
|
"secp256k1": "^3.6.2",
|
74
|
-
"web3": "^1.3.5"
|
74
|
+
"web3": "^1.3.5",
|
75
|
+
"web3-shh": "^1.6.1"
|
75
76
|
}
|
76
77
|
}
|
@@ -16,6 +16,8 @@ import OpportunityStorageProvider from "./modules/storage/OpportunityStorageProv
|
|
16
16
|
import { EthNetworkID } from "dvote-js";
|
17
17
|
import WhisperHandler from "./modules/whisper/ChatHandler";
|
18
18
|
|
19
|
+
import { Shh } from 'web3-shh'
|
20
|
+
|
19
21
|
class OpportunityService {
|
20
22
|
private eventEmitter = opportunityEventEmitter;
|
21
23
|
private running: boolean = false;
|
@@ -59,10 +61,12 @@ class OpportunityService {
|
|
59
61
|
async assignDefaultProvider(provider : Web3) {
|
60
62
|
OpportunityService.defaultProvider = provider;
|
61
63
|
const shhProvider = provider;
|
62
|
-
|
64
|
+
|
65
|
+
var shh = new Shh("ws://localhost:8545");
|
66
|
+
shh.setProvider(new Web3.providers.WebsocketProvider("ws://localhost:8545", {headers: {Origin: "mychat"}}));
|
63
67
|
await shhProvider.eth.net.isListening();
|
64
68
|
|
65
|
-
this.whisperProvider = new WhisperHandler(
|
69
|
+
this.whisperProvider = new WhisperHandler(new Web3(provider), shh);
|
66
70
|
}
|
67
71
|
|
68
72
|
assignProvider(provider : any) {
|
@@ -7,20 +7,22 @@ const POW_TARGET = 2;
|
|
7
7
|
|
8
8
|
class WhisperHandler {
|
9
9
|
private web3;
|
10
|
+
private shh;
|
10
11
|
private keypair;
|
11
12
|
private pubKey;
|
12
13
|
|
13
|
-
constructor(web3
|
14
|
+
constructor(web3, shh) {
|
14
15
|
this.web3 = web3;
|
16
|
+
this.shh = shh;
|
15
17
|
this.generateKeypair()
|
16
18
|
}
|
17
19
|
|
18
20
|
async generateKeypair() {
|
19
|
-
const keyPair = await this.
|
21
|
+
const keyPair = await this.shh.newKeyPair();
|
20
22
|
this.keypair = keyPair;
|
21
23
|
|
22
24
|
// Obtain public key
|
23
|
-
const pubKey = await this.
|
25
|
+
const pubKey = await this.shh.getPublicKey(keyPair);
|
24
26
|
this.pubKey = pubKey;
|
25
27
|
}
|
26
28
|
|
@@ -31,7 +33,7 @@ class WhisperHandler {
|
|
31
33
|
|
32
34
|
async sendPrivateMessage(toPubKey: string, msg: string, topic: string) {
|
33
35
|
// Send private message
|
34
|
-
this.web3.
|
36
|
+
this.web3.post({
|
35
37
|
pubKey: toPubKey,
|
36
38
|
sig: this.keypair,
|
37
39
|
ttl: TTL,
|
@@ -45,7 +47,7 @@ class WhisperHandler {
|
|
45
47
|
async subscribeToTopic(topic: string) {
|
46
48
|
// Subscribe to private messages
|
47
49
|
const subscribe = async (topic: string) => {
|
48
|
-
this.
|
50
|
+
this.shh.subscribe("messages", {
|
49
51
|
minPow: POW_TARGET,
|
50
52
|
privateKeyID: this.keypair,
|
51
53
|
topics: [topic]
|