tool-db 1.1.11 → 1.2.1
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.
- package/README.md +32 -7
- package/dist/toolDbClientOnMessage.js +211 -199
- package/dist/toolDbClientOnMessage.js.map +1 -1
- package/dist/toolDbCrdtPut.js +1 -2
- package/dist/toolDbCrdtPut.js.map +1 -1
- package/dist/toolDbGet.js +1 -5
- package/dist/toolDbGet.js.map +1 -1
- package/dist/toolDbPut.js +1 -2
- package/dist/toolDbPut.js.map +1 -1
- package/dist/toolDbQueryKeys.js +1 -2
- package/dist/toolDbQueryKeys.js.map +1 -1
- package/dist/toolDbSignUp.js +1 -2
- package/dist/toolDbSignUp.js.map +1 -1
- package/dist/toolDbSubscribe.js +2 -0
- package/dist/toolDbSubscribe.js.map +1 -1
- package/dist/tooldb.d.ts +1 -0
- package/dist/tooldb.js +12 -1
- package/dist/tooldb.js.map +1 -1
- package/dist/types/message.d.ts +14 -13
- package/dist/types/message.js +9 -9
- package/dist/types/message.js.map +1 -1
- package/dist/types/tooldb.d.ts +1 -0
- package/dist/wss.d.ts +4 -2
- package/dist/wss.js +55 -17
- package/dist/wss.js.map +1 -1
- package/dist/zkp.d.ts +1 -0
- package/dist/zkp.js +29 -0
- package/dist/zkp.js.map +1 -0
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -15,9 +15,9 @@ Please check the [chain-swarm](https://github.com/Manuel-777/chain-swarm) reposi
|
|
|
15
15
|
We do that using [discovery-channel](https://www.npmjs.com/package/discovery-channel), but you can use any DHT solution you want! Theoretically, even WebRTC between browsers would work.
|
|
16
16
|
|
|
17
17
|
## Base usage
|
|
18
|
-
Connect to the selected
|
|
18
|
+
Connect to the selected toolDb peers;
|
|
19
19
|
```
|
|
20
|
-
const client = new
|
|
20
|
+
const client = new ToolDb(options);
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
These are the options you can pass to the constructor:
|
|
@@ -63,7 +63,9 @@ if (client.user) {
|
|
|
63
63
|
}
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
## Putting and getting data
|
|
67
|
+
|
|
68
|
+
Core methods are very straighforward:
|
|
67
69
|
```
|
|
68
70
|
client.getData("key", userNamespaced?, timeout?).then();
|
|
69
71
|
client.putData("key", value, userNamespaced?).then();
|
|
@@ -83,9 +85,9 @@ client.removeKeyListener(listenerId);
|
|
|
83
85
|
|
|
84
86
|
Similarly, for using a custom verification on a key (or subset of keys) you can create a new function that returns a Promise boolean;
|
|
85
87
|
```
|
|
86
|
-
const
|
|
88
|
+
const validateFn = (msg) => {
|
|
87
89
|
return new Promise((resolve) => {
|
|
88
|
-
console.log("Custom
|
|
90
|
+
console.log("Custom verification: ", msg);
|
|
89
91
|
if (typeof msg.value === "string") resolve(true);
|
|
90
92
|
else resolve(false);
|
|
91
93
|
});
|
|
@@ -93,12 +95,27 @@ const validateDn = (msg) => {
|
|
|
93
95
|
|
|
94
96
|
const validatorId = client.addCustomVerification("value", validateFn);
|
|
95
97
|
|
|
96
|
-
// You will not usually need to remove validators, but we provide a function anyway.
|
|
97
98
|
client.removeCustomVerification(validatorId);
|
|
98
99
|
```
|
|
99
100
|
|
|
100
101
|
Keep in mind custom validators should run on all client and server nodes, and even though the nodes not running your validator will be able to store and relay invalid messages its up to each peer to check these messages on arrival. ToolDb does this automatically when using the custom validation, but its important to make sure every peer runs the same code to avoid tampered messages flowing in the network.
|
|
101
102
|
|
|
103
|
+
## Query
|
|
104
|
+
|
|
105
|
+
To make queries or just create indexes you can make a query, it simply asks all server or peers connected a list of all keys starting with a prefix. You can later use these keys to get the data itself.
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
client.queryKeys(keyPrefix, userNamespaced?, timeout?).then()
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Just like previous methods you can configure the namespace and timeout and returns a promise, but in this case the value is always an array with the found keys.
|
|
112
|
+
Using for example ":" + publicKey as our prefix would return all keys stored for that specific user namespace; you can also create keys for very specific use cases like "post-1" and query again "post-" to get a list of all available posts.
|
|
113
|
+
|
|
114
|
+
Keep in mind this can be an intensive thing to do if your indexes are too big, and not recommended to be used very frequently.
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
## Listen for changes
|
|
118
|
+
|
|
102
119
|
Some times you want to subscribe to the changes made on a certain key, this is possible via subscribeData;
|
|
103
120
|
```
|
|
104
121
|
client.subscribeData("key", userNamespaced?);
|
|
@@ -125,4 +142,12 @@ function handleDocumentKeyCrdt(msg) {
|
|
|
125
142
|
}
|
|
126
143
|
}
|
|
127
144
|
}
|
|
128
|
-
```
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Events
|
|
148
|
+
|
|
149
|
+
If you need to check when you are connected to a server peer or not you can use the following method replacements;
|
|
150
|
+
```
|
|
151
|
+
client.onConnect = () => { /* Your code here */ };
|
|
152
|
+
client.onDisconnect = () => { /* Your code here */ };
|
|
153
|
+
```
|
|
@@ -22,231 +22,243 @@ function toolDbClientOnMessage(data, socket) {
|
|
|
22
22
|
var _this = this;
|
|
23
23
|
var originalData = data;
|
|
24
24
|
if (typeof data === "string") {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
var msgId = message_1.id;
|
|
35
|
-
if (this._idListeners[msgId]) {
|
|
36
|
-
this._idListeners[msgId](message_1);
|
|
37
|
-
this.removeIdListener(msgId);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
if (message_1.type === "ping") {
|
|
41
|
-
socket.toolDbId = message_1.id;
|
|
42
|
-
this.websockets._clientSockets[message_1.id] = socket;
|
|
43
|
-
socket.send(JSON.stringify({
|
|
44
|
-
type: "pong",
|
|
45
|
-
id: this.options.id,
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
48
|
-
if (message_1.type === "pong") {
|
|
49
|
-
socket.toolDbId = message_1.id;
|
|
50
|
-
this.websockets._clientSockets[message_1.id] = socket;
|
|
51
|
-
}
|
|
52
|
-
if (message_1.type === "subscribe") {
|
|
53
|
-
if (socket.toolDbId) {
|
|
54
|
-
var subId = socket.toolDbId + "-" + message_1.key;
|
|
55
|
-
if (!this.subscriptions.includes(subId)) {
|
|
56
|
-
this.subscriptions.push(subId);
|
|
57
|
-
this.addKeyListener(message_1.key, function (msg) {
|
|
58
|
-
if ((msg.type === "put" || msg.type === "crdt") &&
|
|
59
|
-
socket.toolDbId) {
|
|
60
|
-
// We do not reply to the socket directly
|
|
61
|
-
// instead we use the client id, in case the socket reconnects
|
|
62
|
-
_this.websockets.sendToClientId(socket.toolDbId, msg);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
25
|
+
try {
|
|
26
|
+
var message_1 = JSON.parse(data);
|
|
27
|
+
console.warn("Got message > ", message_1.type, message_1.k || "", message_1);
|
|
28
|
+
// Check if we are listening for this ID
|
|
29
|
+
if (message_1.id) {
|
|
30
|
+
var msgId = message_1.id;
|
|
31
|
+
if (this._idListeners[msgId]) {
|
|
32
|
+
this._idListeners[msgId](message_1);
|
|
33
|
+
this.removeIdListener(msgId);
|
|
65
34
|
}
|
|
66
35
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
36
|
+
if (message_1.type === "ping") {
|
|
37
|
+
socket.toolDbId = message_1.clientId;
|
|
38
|
+
this.websockets._clientSockets[message_1.clientId] = socket;
|
|
39
|
+
socket.isServer = message_1.isServer;
|
|
40
|
+
this.websockets.sendToClientId(socket.toolDbId || "", {
|
|
41
|
+
type: "pong",
|
|
42
|
+
isServer: this.options.server,
|
|
43
|
+
clientId: this.options.id,
|
|
44
|
+
to: [],
|
|
45
|
+
id: (0, _1.textRandom)(10),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (message_1.type === "pong") {
|
|
49
|
+
socket.toolDbId = message_1.clientId;
|
|
50
|
+
socket.isServer = message_1.isServer;
|
|
51
|
+
this.websockets._clientSockets[message_1.clientId] = socket;
|
|
52
|
+
this.onConnect();
|
|
53
|
+
}
|
|
54
|
+
if (message_1.type === "subscribe") {
|
|
55
|
+
if (socket.toolDbId) {
|
|
56
|
+
var subId = socket.toolDbId + "-" + message_1.key;
|
|
57
|
+
if (!this.subscriptions.includes(subId)) {
|
|
58
|
+
this.subscriptions.push(subId);
|
|
59
|
+
this.addKeyListener(message_1.key, function (msg) {
|
|
60
|
+
if ((msg.type === "put" || msg.type === "crdt") &&
|
|
61
|
+
socket.toolDbId) {
|
|
62
|
+
// We do not reply to the socket directly
|
|
63
|
+
// instead we use the client id, in case the socket reconnects
|
|
64
|
+
_this.websockets.sendToClientId(socket.toolDbId, msg);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
76
67
|
}
|
|
77
68
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
doc: (0, _1.uint8ToBase64)(savedDoc),
|
|
89
|
-
};
|
|
90
|
-
socket.send(JSON.stringify(msg));
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
if (message_1.type === "get") {
|
|
95
|
-
this.store.get(message_1.key, function (err, data) {
|
|
96
|
-
if (data) {
|
|
97
|
-
try {
|
|
98
|
-
// Use the id of the get so the other client knows we are replying
|
|
99
|
-
var oldData = __assign(__assign({ type: "put" }, JSON.parse(data)), { id: message_1.id });
|
|
100
|
-
socket.send(JSON.stringify(oldData));
|
|
69
|
+
// basically the exact same as GET, below
|
|
70
|
+
this.store.get(message_1.key, function (err, data) {
|
|
71
|
+
if (data) {
|
|
72
|
+
try {
|
|
73
|
+
var oldData = __assign(__assign({}, JSON.parse(data)), { id: message_1.id });
|
|
74
|
+
_this.websockets.sendToClientId(socket.toolDbId || "", oldData);
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
// do nothing
|
|
78
|
+
}
|
|
101
79
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
80
|
+
});
|
|
81
|
+
this.loadCrdtDocument(message_1.key, false).then(function (doc) {
|
|
82
|
+
// console.log("Load crdt from subscribe", message.key, doc);
|
|
83
|
+
if (doc) {
|
|
84
|
+
var savedDoc = automerge_1.default.save(doc);
|
|
85
|
+
// console.log("saved", savedDoc);
|
|
86
|
+
var msg = {
|
|
87
|
+
type: "crdt",
|
|
88
|
+
key: message_1.key,
|
|
89
|
+
to: [],
|
|
90
|
+
id: (0, _1.textRandom)(10),
|
|
91
|
+
doc: (0, _1.uint8ToBase64)(savedDoc),
|
|
92
|
+
};
|
|
93
|
+
_this.websockets.sendToClientId(socket.toolDbId || "", msg);
|
|
105
94
|
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
if (message_1.type === "get") {
|
|
98
|
+
this.store.get(message_1.key, function (err, data) {
|
|
99
|
+
if (data) {
|
|
100
|
+
try {
|
|
101
|
+
// Use the id of the get so the other client knows we are replying
|
|
102
|
+
var oldData = __assign(__assign({ type: "put" }, JSON.parse(data)), { id: message_1.id });
|
|
103
|
+
_this.websockets.sendToClientId(socket.toolDbId || "", oldData);
|
|
104
|
+
}
|
|
105
|
+
catch (e) {
|
|
106
|
+
// socket.send(data);
|
|
107
|
+
// do nothing
|
|
108
|
+
}
|
|
110
109
|
}
|
|
111
|
-
|
|
112
|
-
if (
|
|
113
|
-
|
|
114
|
-
console.log("Sending to", socketId);
|
|
115
|
-
socket_1.send(originalData);
|
|
110
|
+
else {
|
|
111
|
+
if (_this.options.debug) {
|
|
112
|
+
console.log("Local key not found, relay", originalData);
|
|
116
113
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
114
|
+
_this.websockets.send(message_1);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
if (message_1.type === "put") {
|
|
119
|
+
toolDbVerificationWrapper_1.default.call(this, message_1).then(function (value) {
|
|
120
|
+
// console.log("Verification wrapper result: ", value, message.k);
|
|
121
|
+
if (value === _1.VerifyResult.Verified) {
|
|
122
|
+
// relay to other servers !!!
|
|
123
|
+
_this.websockets.send(message_1);
|
|
124
|
+
_this.store.get(message_1.k, function (err, oldData) {
|
|
125
|
+
if (oldData) {
|
|
126
|
+
var parsedOldData = __assign({ type: "put" }, JSON.parse(oldData));
|
|
127
|
+
if (parsedOldData.t < message_1.t) {
|
|
128
|
+
var key = message_1.k;
|
|
129
|
+
_this.triggerKeyListener(key, message_1);
|
|
130
|
+
_this.store.put(message_1.k, JSON.stringify(message_1), function (err, data) {
|
|
131
|
+
//
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
var key = message_1.k;
|
|
136
|
+
_this.triggerKeyListener(key, parsedOldData);
|
|
137
|
+
}
|
|
138
|
+
// } else if (this.options.debug) {
|
|
139
|
+
// console.log(
|
|
140
|
+
// `${message.k} has old data, but its newer. old ${parsedOldData.t} < new ${message.t}`
|
|
141
|
+
// );
|
|
142
|
+
// }
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
130
145
|
var key = message_1.k;
|
|
131
146
|
_this.triggerKeyListener(key, message_1);
|
|
132
147
|
_this.store.put(message_1.k, JSON.stringify(message_1), function (err, data) {
|
|
133
148
|
//
|
|
134
149
|
});
|
|
135
150
|
}
|
|
136
|
-
|
|
137
|
-
// console.log(
|
|
138
|
-
// `${message.k} has old data, but its newer. old ${parsedOldData.t} < new ${message.t}`
|
|
139
|
-
// );
|
|
140
|
-
// }
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
var key = message_1.k;
|
|
144
|
-
_this.triggerKeyListener(key, message_1);
|
|
145
|
-
_this.store.put(message_1.k, JSON.stringify(message_1), function (err, data) {
|
|
146
|
-
//
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
console.log("unverified message", value, message_1);
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
if (message_1.type === "crdtPut") {
|
|
157
|
-
// key = aggregated, final value
|
|
158
|
-
// key.crdt = automerge doc with changes
|
|
159
|
-
// const writeStart = new Date().getTime();
|
|
160
|
-
toolDbVerificationWrapper_1.default.call(this, message_1).then(function (value) {
|
|
161
|
-
if (value === _1.VerifyResult.Verified) {
|
|
162
|
-
var key_1 = message_1.k;
|
|
163
|
-
var data_1 = [];
|
|
164
|
-
try {
|
|
165
|
-
data_1 = JSON.parse(message_1.v);
|
|
151
|
+
});
|
|
166
152
|
}
|
|
167
|
-
|
|
168
|
-
|
|
153
|
+
else {
|
|
154
|
+
console.warn("unverified message: ", value, message_1);
|
|
169
155
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
var
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
if (message_1.type === "crdtPut") {
|
|
159
|
+
// key = aggregated, final value
|
|
160
|
+
// key.crdt = automerge doc with changes
|
|
161
|
+
// const writeStart = new Date().getTime();
|
|
162
|
+
toolDbVerificationWrapper_1.default.call(this, message_1).then(function (value) {
|
|
163
|
+
// console.log("CRDT Verification wrapper result: ", value);
|
|
164
|
+
if (value === _1.VerifyResult.Verified) {
|
|
165
|
+
var key_1 = message_1.k;
|
|
166
|
+
var data_1 = [];
|
|
181
167
|
try {
|
|
182
|
-
|
|
168
|
+
data_1 = JSON.parse(message_1.v);
|
|
183
169
|
}
|
|
184
170
|
catch (e) {
|
|
171
|
+
//
|
|
172
|
+
}
|
|
173
|
+
var changes_1 = data_1.map(base64ToBinaryChange_1.default);
|
|
174
|
+
_this.loadCrdtDocument(key_1).then(function (currentDoc) {
|
|
175
|
+
// if (currentDoc) {
|
|
176
|
+
// console.log(
|
|
177
|
+
// "loaded",
|
|
178
|
+
// key,
|
|
179
|
+
// currentDoc,
|
|
180
|
+
// Automerge.getHistory(currentDoc)
|
|
181
|
+
// );
|
|
182
|
+
// }
|
|
183
|
+
var newDoc = automerge_1.default.init();
|
|
185
184
|
try {
|
|
186
|
-
newDoc = automerge_1.default.applyChanges(automerge_1.default.init(), changes_1)[0];
|
|
185
|
+
newDoc = automerge_1.default.applyChanges(currentDoc || automerge_1.default.init(), changes_1)[0];
|
|
187
186
|
}
|
|
188
|
-
catch (
|
|
189
|
-
|
|
190
|
-
|
|
187
|
+
catch (e) {
|
|
188
|
+
try {
|
|
189
|
+
newDoc = automerge_1.default.applyChanges(automerge_1.default.init(), changes_1)[0];
|
|
190
|
+
}
|
|
191
|
+
catch (ee) {
|
|
192
|
+
if (_this.options.debug) {
|
|
193
|
+
console.log(ee);
|
|
194
|
+
}
|
|
191
195
|
}
|
|
192
196
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
197
|
+
// if (newDoc) {
|
|
198
|
+
// console.log(
|
|
199
|
+
// "new document changes:",
|
|
200
|
+
// Automerge.getHistory(newDoc)
|
|
201
|
+
// );
|
|
202
|
+
// }
|
|
203
|
+
// persist
|
|
204
|
+
_this.documents[key_1] = newDoc;
|
|
205
|
+
var savedDoc = automerge_1.default.save(newDoc);
|
|
206
|
+
_this.store.put(key_1 + ".crdt", savedDoc, function (err, data) {
|
|
207
|
+
// const writeEnd = new Date().getTime();
|
|
208
|
+
// console.log("CRDT write: ", (writeEnd - writeStart) / 1000);
|
|
209
|
+
});
|
|
210
|
+
var crdtMessage = {
|
|
211
|
+
type: "crdt",
|
|
212
|
+
key: key_1,
|
|
213
|
+
id: message_1.id,
|
|
214
|
+
to: [],
|
|
215
|
+
doc: (0, _1.uint8ToBase64)(savedDoc),
|
|
216
|
+
};
|
|
217
|
+
_this.triggerKeyListener(key_1, crdtMessage);
|
|
218
|
+
// relay to other servers
|
|
219
|
+
// !!!
|
|
220
|
+
_this.websockets.send(crdtMessage);
|
|
206
221
|
});
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
console.log("unverified message", value, message_1);
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
if (message_1.type === "crdtGet") {
|
|
229
|
+
this.loadCrdtDocument(message_1.key).then(function (currentDoc) {
|
|
230
|
+
var saved = automerge_1.default.save(currentDoc || automerge_1.default.init());
|
|
231
|
+
_this.websockets.sendToClientId(socket.toolDbId || "", {
|
|
232
|
+
type: "crdt",
|
|
233
|
+
id: message_1.id,
|
|
234
|
+
key: message_1.key,
|
|
235
|
+
to: [],
|
|
236
|
+
doc: (0, _1.uint8ToBase64)(saved),
|
|
216
237
|
});
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
type: "queryAck",
|
|
238
|
-
id: message_1.id,
|
|
239
|
-
keys: keys,
|
|
240
|
-
}));
|
|
241
|
-
});
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
if (message_1.type === "query") {
|
|
241
|
+
this.store.query(message_1.key).then(function (keys) {
|
|
242
|
+
_this.websockets.sendToClientId(socket.toolDbId || "", {
|
|
243
|
+
type: "queryAck",
|
|
244
|
+
id: message_1.id,
|
|
245
|
+
to: [],
|
|
246
|
+
keys: keys,
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
if (message_1.type === "crdt") {
|
|
251
|
+
var key = message_1.key;
|
|
252
|
+
this.triggerKeyListener(key, message_1);
|
|
253
|
+
var savedDoc = (0, _1.base64ToBinaryDocument)(message_1.doc);
|
|
254
|
+
this.store.put(key + ".crdt", savedDoc, function (err, data) {
|
|
255
|
+
//
|
|
256
|
+
});
|
|
257
|
+
}
|
|
242
258
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
var savedDoc = (0, _1.base64ToBinaryDocument)(message_1.doc);
|
|
247
|
-
this.store.put(key + ".crdt", savedDoc, function (err, data) {
|
|
248
|
-
//
|
|
249
|
-
});
|
|
259
|
+
catch (e) {
|
|
260
|
+
console.log("Got message ERR > ", data);
|
|
261
|
+
console.log(e);
|
|
250
262
|
}
|
|
251
263
|
}
|
|
252
264
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbClientOnMessage.js","sourceRoot":"","sources":["../src/toolDbClientOnMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sBAUW;AAEX,0FAAoE;AAEpE,wDAAkC;AAClC,sFAAgE;AAGhE,SAAwB,qBAAqB,CAE3C,IAAY,EACZ,MAAuB;IAHzB,
|
|
1
|
+
{"version":3,"file":"toolDbClientOnMessage.js","sourceRoot":"","sources":["../src/toolDbClientOnMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sBAUW;AAEX,0FAAoE;AAEpE,wDAAkC;AAClC,sFAAgE;AAGhE,SAAwB,qBAAqB,CAE3C,IAAY,EACZ,MAAuB;IAHzB,iBAyRC;IApRC,IAAM,YAAY,GAAG,IAAI,CAAC;IAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,IAAI;YACF,IAAM,SAAO,GAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CACV,gBAAgB,EAChB,SAAO,CAAC,IAAI,EACX,SAAe,CAAC,CAAC,IAAI,EAAE,EACxB,SAAO,CACR,CAAC;YAEF,wCAAwC;YACxC,IAAI,SAAO,CAAC,EAAE,EAAE;gBACd,IAAM,KAAK,GAAG,SAAO,CAAC,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;oBAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,SAAO,CAAC,CAAC;oBAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;iBAC9B;aACF;YAED,IAAI,SAAO,CAAC,IAAI,KAAK,MAAM,EAAE;gBAC3B,MAAM,CAAC,QAAQ,GAAG,SAAO,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;gBAC1D,MAAM,CAAC,QAAQ,GAAG,SAAO,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE;oBACpD,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;oBAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;oBACzB,EAAE,EAAE,EAAE;oBACN,EAAE,EAAE,IAAA,aAAU,EAAC,EAAE,CAAC;iBACJ,CAAC,CAAC;aACnB;YAED,IAAI,SAAO,CAAC,IAAI,KAAK,MAAM,EAAE;gBAC3B,MAAM,CAAC,QAAQ,GAAG,SAAO,CAAC,QAAQ,CAAC;gBACnC,MAAM,CAAC,QAAQ,GAAG,SAAO,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;gBAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;YAED,IAAI,SAAO,CAAC,IAAI,KAAK,WAAW,EAAE;gBAChC,IAAI,MAAM,CAAC,QAAQ,EAAE;oBACnB,IAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,GAAG,GAAG,GAAG,SAAO,CAAC,GAAG,CAAC;oBAClD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;wBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAE/B,IAAI,CAAC,cAAc,CAAC,SAAO,CAAC,GAAG,EAAE,UAAC,GAAG;4BACnC,IACE,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;gCAC3C,MAAM,CAAC,QAAQ,EACf;gCACA,yCAAyC;gCACzC,8DAA8D;gCAC9D,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;6BACtD;wBACH,CAAC,CAAC,CAAC;qBACJ;iBACF;gBAED,yCAAyC;gBACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;oBACpC,IAAI,IAAI,EAAE;wBACR,IAAI;4BACF,IAAM,OAAO,yBAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAE,EAAE,EAAE,SAAO,CAAC,EAAE,GAAE,CAAC;4BACxD,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;yBAChE;wBAAC,OAAO,CAAC,EAAE;4BACV,aAAa;yBACd;qBACF;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,gBAAgB,CAAC,SAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;oBACjD,6DAA6D;oBAC7D,IAAI,GAAG,EAAE;wBACP,IAAM,QAAQ,GAAG,mBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACrC,kCAAkC;wBAClC,IAAM,GAAG,GAAgB;4BACvB,IAAI,EAAE,MAAM;4BACZ,GAAG,EAAE,SAAO,CAAC,GAAG;4BAChB,EAAE,EAAE,EAAE;4BACN,EAAE,EAAE,IAAA,aAAU,EAAC,EAAE,CAAC;4BAClB,GAAG,EAAE,IAAA,gBAAa,EAAC,QAAQ,CAAC;yBAC7B,CAAC;wBACF,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;qBAC5D;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,SAAO,CAAC,IAAI,KAAK,KAAK,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;oBACpC,IAAI,IAAI,EAAE;wBACR,IAAI;4BACF,kEAAkE;4BAClE,IAAM,OAAO,GAAG,oBACd,IAAI,EAAE,KAAK,IACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KACnB,EAAE,EAAE,SAAO,CAAC,EAAE,GACD,CAAC;4BAChB,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;yBAChE;wBAAC,OAAO,CAAC,EAAE;4BACV,qBAAqB;4BACrB,aAAa;yBACd;qBACF;yBAAM;wBACL,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;4BACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;yBACzD;wBACD,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAO,CAAC,CAAC;qBAC/B;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,SAAO,CAAC,IAAI,KAAK,KAAK,EAAE;gBAC1B,mCAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACvD,kEAAkE;oBAClE,IAAI,KAAK,KAAK,eAAY,CAAC,QAAQ,EAAE;wBACnC,6BAA6B;wBAC7B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAO,CAAC,CAAC;wBAE9B,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAO,CAAC,CAAC,EAAE,UAAC,GAAG,EAAE,OAAe;4BAC7C,IAAI,OAAO,EAAE;gCACX,IAAM,aAAa,cACjB,IAAI,EAAE,KAAK,IACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,CAAC;gCACF,IAAI,aAAa,CAAC,CAAC,GAAG,SAAO,CAAC,CAAC,EAAE;oCAC/B,IAAM,GAAG,GAAG,SAAO,CAAC,CAAC,CAAC;oCACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAO,CAAC,CAAC;oCACtC,KAAI,CAAC,KAAK,CAAC,GAAG,CACZ,SAAO,CAAC,CAAC,EACT,IAAI,CAAC,SAAS,CAAC,SAAO,CAAC,EACvB,UAAC,GAAG,EAAE,IAAI;wCACR,EAAE;oCACJ,CAAC,CACF,CAAC;iCACH;qCAAM;oCACL,IAAM,GAAG,GAAG,SAAO,CAAC,CAAC,CAAC;oCACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;iCAC7C;gCACD,mCAAmC;gCACnC,iBAAiB;gCACjB,4FAA4F;gCAC5F,OAAO;gCACP,IAAI;6BACL;iCAAM;gCACL,IAAM,GAAG,GAAG,SAAO,CAAC,CAAC,CAAC;gCACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAO,CAAC,CAAC;gCACtC,KAAI,CAAC,KAAK,CAAC,GAAG,CACZ,SAAO,CAAC,CAAC,EACT,IAAI,CAAC,SAAS,CAAC,SAAO,CAAC,EACvB,UAAC,GAAG,EAAE,IAAI;oCACR,EAAE;gCACJ,CAAC,CACF,CAAC;6BACH;wBACH,CAAC,CAAC,CAAC;qBACJ;yBAAM;wBACL,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,SAAO,CAAC,CAAC;qBACtD;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,SAAO,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC9B,gCAAgC;gBAChC,wCAAwC;gBACxC,2CAA2C;gBAC3C,mCAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACvD,4DAA4D;oBAC5D,IAAI,KAAK,KAAK,eAAY,CAAC,QAAQ,EAAE;wBACnC,IAAM,KAAG,GAAG,SAAO,CAAC,CAAC,CAAC;wBACtB,IAAI,MAAI,GAAa,EAAE,CAAC;wBACxB,IAAI;4BACF,MAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAO,CAAC,CAAC,CAAC,CAAC;yBAC9B;wBAAC,OAAO,CAAC,EAAE;4BACV,EAAE;yBACH;wBACD,IAAM,SAAO,GAAG,MAAI,CAAC,GAAG,CAAC,8BAAoB,CAAC,CAAC;wBAE/C,KAAI,CAAC,gBAAgB,CAAC,KAAG,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;4BACzC,oBAAoB;4BACpB,iBAAiB;4BACjB,gBAAgB;4BAChB,WAAW;4BACX,kBAAkB;4BAClB,uCAAuC;4BACvC,OAAO;4BACP,IAAI;4BAEJ,IAAI,MAAM,GAAG,mBAAS,CAAC,IAAI,EAAE,CAAC;4BAC9B,IAAI;gCACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAC/B,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,EAC9B,SAAO,CACR,GAHM,CAGL;6BACH;4BAAC,OAAO,CAAC,EAAE;gCACV,IAAI;oCACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAAC,mBAAS,CAAC,IAAI,EAAE,EAAE,SAAO,CAAC,GAArD,CAAsD;iCAC9D;gCAAC,OAAO,EAAE,EAAE;oCACX,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;wCACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;qCACjB;iCACF;6BACF;4BAED,gBAAgB;4BAChB,iBAAiB;4BACjB,+BAA+B;4BAC/B,mCAAmC;4BACnC,OAAO;4BACP,IAAI;4BAEJ,UAAU;4BACV,KAAI,CAAC,SAAS,CAAC,KAAG,CAAC,GAAG,MAAM,CAAC;4BAC7B,IAAM,QAAQ,GAAG,mBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACxC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAI,KAAG,UAAO,EAAE,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;gCAChD,yCAAyC;gCACzC,+DAA+D;4BACjE,CAAC,CAAC,CAAC;4BAEH,IAAM,WAAW,GAAgB;gCAC/B,IAAI,EAAE,MAAM;gCACZ,GAAG,EAAE,KAAG;gCACR,EAAE,EAAE,SAAO,CAAC,EAAE;gCACd,EAAE,EAAE,EAAE;gCACN,GAAG,EAAE,IAAA,gBAAa,EAAC,QAAQ,CAAC;6BAC7B,CAAC;4BACF,KAAI,CAAC,kBAAkB,CAAC,KAAG,EAAE,WAAW,CAAC,CAAC;4BAE1C,yBAAyB;4BACzB,MAAM;4BACN,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACpC,CAAC,CAAC,CAAC;qBACJ;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,SAAO,CAAC,CAAC;qBACnD;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,SAAO,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,SAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;oBACjD,IAAM,KAAK,GAAG,mBAAS,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7D,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE;wBACpD,IAAI,EAAE,MAAM;wBACZ,EAAE,EAAE,SAAO,CAAC,EAAE;wBACd,GAAG,EAAE,SAAO,CAAC,GAAG;wBAChB,EAAE,EAAE,EAAE;wBACN,GAAG,EAAE,IAAA,gBAAa,EAAC,KAAK,CAAC;qBACX,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,SAAO,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;oBACtC,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE;wBACpD,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,SAAO,CAAC,EAAE;wBACd,EAAE,EAAE,EAAE;wBACN,IAAI,MAAA;qBACc,CAAC,CAAC;gBACxB,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,SAAO,CAAC,IAAI,KAAK,MAAM,EAAE;gBAC3B,IAAM,GAAG,GAAG,SAAO,CAAC,GAAG,CAAC;gBACxB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAO,CAAC,CAAC;gBAEtC,IAAM,QAAQ,GAAG,IAAA,yBAAsB,EAAC,SAAO,CAAC,GAAG,CAAC,CAAC;gBACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,GAAG,UAAO,EAAE,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;oBAChD,EAAE;gBACJ,CAAC,CAAC,CAAC;aACJ;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAChB;KACF;AACH,CAAC;AAzRD,wCAyRC"}
|
package/dist/toolDbCrdtPut.js
CHANGED
|
@@ -51,7 +51,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
51
51
|
};
|
|
52
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
53
|
var _1 = require(".");
|
|
54
|
-
var getIpFromUrl_1 = __importDefault(require("./utils/getIpFromUrl"));
|
|
55
54
|
var proofOfWork_1 = __importDefault(require("./utils/proofOfWork"));
|
|
56
55
|
var signData_1 = __importDefault(require("./utils/signData"));
|
|
57
56
|
var toBase64_1 = __importDefault(require("./utils/toBase64"));
|
|
@@ -102,7 +101,7 @@ function toolDbCrdtPut(key, value, userNamespaced) {
|
|
|
102
101
|
if (this.options.debug) {
|
|
103
102
|
console.log("PUT CRDT > " + key, data);
|
|
104
103
|
}
|
|
105
|
-
finalMessage = __assign({ type: "crdtPut", id: (0, _1.textRandom)(10), to:
|
|
104
|
+
finalMessage = __assign({ type: "crdtPut", id: (0, _1.textRandom)(10), to: [] }, data);
|
|
106
105
|
this.websockets.send(finalMessage);
|
|
107
106
|
resolve(finalMessage);
|
|
108
107
|
return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbCrdtPut.js","sourceRoot":"","sources":["../src/toolDbCrdtPut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sBAAgF;
|
|
1
|
+
{"version":3,"file":"toolDbCrdtPut.js","sourceRoot":"","sources":["../src/toolDbCrdtPut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sBAAgF;AAGhF,oEAA8C;AAE9C,8DAAwC;AACxC,8DAAwC;AAExC;;;;;;GAMG;AACH,SAAwB,aAAa,CAEnC,GAAW,EACX,KAAqB,EACrB,cAAsB;IAJxB,iBA4DC;IAxDC,+BAAA,EAAA,sBAAsB;IAEtB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,8FAA8F;YAC9F,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA6B,GAAK,CAAC,CAAC,CAAC;YACtD,OAAO;SACR;QAED,IAAI,CAAC,KAAI,CAAC,IAAI,EAAE;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAC5D,OAAO;SACR;QAED,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEvC,IAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAa,CAAC,CAAC,CAAC;QAE7D,IAAM,UAAU,GAAG,KAAG,WAAW,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAW,CAAC;QAEnE,OAAO;QACP,IAAA,qBAAW,EAAC,UAAU,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;aACtC,IAAI,CAAC,UAAC,EAAe;;gBAAb,IAAI,UAAA,EAAE,KAAK,WAAA;YAClB,IAAI,MAAA,KAAI,CAAC,IAAI,0CAAE,IAAI,EAAE;gBACnB,iBAAiB;gBACjB,IAAA,kBAAQ,EAAC,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAuB,CAAC;qBAC5D,IAAI,CAAC,UAAO,SAAS;;;;wBAEd,IAAI,GAAqB;4BAC7B,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,OAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,UAAI,GAAK,CAAC,CAAC,CAAC,GAAG;4BACxD,CAAC,EAAE,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,KAAI,EAAE;4BAC1B,CAAC,EAAE,KAAK;4BACR,CAAC,EAAE,SAAS;4BACZ,CAAC,EAAE,IAAI;4BACP,CAAC,EAAE,IAAA,kBAAQ,EAAC,SAAS,CAAC;4BACtB,CAAC,EAAE,WAAW;yBACf,CAAC;wBAEF,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;4BACtB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;yBACxC;wBAEK,YAAY,cAChB,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,IAAA,aAAU,EAAC,EAAE,CAAC,EAClB,EAAE,EAAE,EAAE,IACH,IAAI,CACR,CAAC;wBACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,OAAO,CAAC,YAAY,CAAC,CAAC;;;qBACvB,CAAC;qBACD,KAAK,CAAC,MAAM,CAAC,CAAC;aAClB;QACH,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AA5DD,gCA4DC"}
|
package/dist/toolDbGet.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
var _1 = require(".");
|
|
7
|
-
var getIpFromUrl_1 = __importDefault(require("./utils/getIpFromUrl"));
|
|
8
4
|
/**
|
|
9
5
|
* Triggers a GET request to other peers. If the data is available locally it will return that instead.
|
|
10
6
|
* @param key key of the data
|
|
@@ -68,7 +64,7 @@ function toolDbGet(key, userNamespaced, timeoutMs) {
|
|
|
68
64
|
// Do get
|
|
69
65
|
_this.websockets.send({
|
|
70
66
|
type: "get",
|
|
71
|
-
to:
|
|
67
|
+
to: [],
|
|
72
68
|
key: finalKey,
|
|
73
69
|
id: msgId,
|
|
74
70
|
});
|
package/dist/toolDbGet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbGet.js","sourceRoot":"","sources":["../src/toolDbGet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolDbGet.js","sourceRoot":"","sources":["../src/toolDbGet.ts"],"names":[],"mappings":";;AAAA,sBAA+B;AAI/B;;;;;;GAMG;AACH,SAAwB,SAAS,CAE/B,GAAW,EACX,cAAsB,EACtB,SAAgB;IAJlB,iBAiEC;IA9DC,+BAAA,EAAA,sBAAsB;IACtB,0BAAA,EAAA,gBAAgB;IAEhB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,cAAc,IAAI,CAAA,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,MAAK,SAAS,EAAE;YACrD,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACjD,OAAO;SACR;QACD,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,OAAI,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,UAAI,GAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACvE,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;SAClC;QAED,IAAM,KAAK,GAAG,IAAA,aAAU,EAAC,EAAE,CAAC,CAAC;QAE7B,IAAM,aAAa,GAAG,UAAU,CAAC;YAC/B,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;gBACjC,IAAI,IAAI,EAAE;oBACR,IAAI;wBACF,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBACpB;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;iBACF;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAC,GAAG;YAC5B,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;aAC7C;YAED,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QAEH,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;YACjC,IAAI,IAAI,EAAE;gBACR,IAAI;oBACF,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC/B,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC5B,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;gBAAC,OAAO,CAAC,EAAE;oBACV,aAAa;iBACd;aACF;QACH,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,QAAQ;YACb,EAAE,EAAE,KAAK;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAjED,4BAiEC"}
|
package/dist/toolDbPut.js
CHANGED
|
@@ -51,7 +51,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
51
51
|
};
|
|
52
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
53
|
var _1 = require(".");
|
|
54
|
-
var getIpFromUrl_1 = __importDefault(require("./utils/getIpFromUrl"));
|
|
55
54
|
var proofOfWork_1 = __importDefault(require("./utils/proofOfWork"));
|
|
56
55
|
var signData_1 = __importDefault(require("./utils/signData"));
|
|
57
56
|
var toBase64_1 = __importDefault(require("./utils/toBase64"));
|
|
@@ -107,7 +106,7 @@ function toolDbPut(key, value, userNamespaced) {
|
|
|
107
106
|
if (this.options.debug) {
|
|
108
107
|
console.log("PUT > " + key, data);
|
|
109
108
|
}
|
|
110
|
-
finalMessage = __assign({ type: "put", id: (0, _1.textRandom)(10), to:
|
|
109
|
+
finalMessage = __assign({ type: "put", id: (0, _1.textRandom)(10), to: [] }, data);
|
|
111
110
|
this.websockets.send(finalMessage);
|
|
112
111
|
resolve(finalMessage);
|
|
113
112
|
return [2 /*return*/];
|
package/dist/toolDbPut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbPut.js","sourceRoot":"","sources":["../src/toolDbPut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sBAA4E;
|
|
1
|
+
{"version":3,"file":"toolDbPut.js","sourceRoot":"","sources":["../src/toolDbPut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sBAA4E;AAI5E,oEAA8C;AAE9C,8DAAwC;AACxC,8DAAwC;AAExC;;;;;;GAMG;AACH,SAAwB,SAAS,CAE/B,GAAW,EACX,KAAQ,EACR,cAAsB;IAJxB,iBAmEC;IA/DC,+BAAA,EAAA,sBAAsB;IAEtB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,8FAA8F;YAC9F,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA6B,GAAK,CAAC,CAAC,CAAC;YACtD,OAAO;SACR;QAED,IAAI,CAAC,KAAI,CAAC,IAAI,EAAE;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAC5D,OAAO;SACR;QAED,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACvC,IAAM,UAAU,GAAG,KAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GACzC,KAAI,CAAC,IAAI,CAAC,MAAM,GACf,SAAW,CAAC;QAEf,OAAO;QACP,IAAA,qBAAW,EAAC,UAAU,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;aACtC,IAAI,CAAC,UAAC,EAAe;;gBAAb,IAAI,UAAA,EAAE,KAAK,WAAA;YAClB,IAAI,MAAA,KAAI,CAAC,IAAI,0CAAE,IAAI,EAAE;gBACnB,iBAAiB;gBACjB,IAAA,kBAAQ,EAAC,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAuB,CAAC;qBAC5D,IAAI,CAAC,UAAO,SAAS;;;;wBACd,QAAQ,GAAG,cAAc;4BAC7B,CAAC,CAAC,OAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,UAAI,GAAK;4BAChC,CAAC,CAAC,GAAG,CAAC;wBAEF,IAAI,GAAqB;4BAC7B,CAAC,EAAE,QAAQ;4BACX,CAAC,EAAE,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,KAAI,EAAE;4BAC1B,CAAC,EAAE,KAAK;4BACR,CAAC,EAAE,SAAS;4BACZ,CAAC,EAAE,IAAI;4BACP,CAAC,EAAE,IAAA,kBAAQ,EAAC,SAAS,CAAC;4BACtB,CAAC,EAAE,KAAK;yBACT,CAAC;wBAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAC,GAAG,EAAE,IAAI;4BACvD,EAAE;wBACJ,CAAC,CAAC,CAAC;wBAEH,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;4BACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;yBACnC;wBAEK,YAAY,cAChB,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,IAAA,aAAU,EAAC,EAAE,CAAC,EAClB,EAAE,EAAE,EAAE,IACH,IAAI,CACR,CAAC;wBACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBAEnC,OAAO,CAAC,YAAY,CAAC,CAAC;;;qBACvB,CAAC;qBACD,KAAK,CAAC,MAAM,CAAC,CAAC;aAClB;QACH,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAnED,4BAmEC"}
|
package/dist/toolDbQueryKeys.js
CHANGED
|
@@ -14,7 +14,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
var lodash_1 = __importDefault(require("lodash"));
|
|
16
16
|
var _1 = require(".");
|
|
17
|
-
var getIpFromUrl_1 = __importDefault(require("./utils/getIpFromUrl"));
|
|
18
17
|
/**
|
|
19
18
|
* Triggers a QUERY request to other peers.
|
|
20
19
|
* @param key start of the key
|
|
@@ -60,7 +59,7 @@ function toolDbQueryKeys(key, userNamespaced, timeoutMs) {
|
|
|
60
59
|
// Do get
|
|
61
60
|
_this.websockets.send({
|
|
62
61
|
type: "query",
|
|
63
|
-
to:
|
|
62
|
+
to: [],
|
|
64
63
|
key: finalKey,
|
|
65
64
|
id: msgId,
|
|
66
65
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbQueryKeys.js","sourceRoot":"","sources":["../src/toolDbQueryKeys.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAAuB;AACvB,sBAA+B;
|
|
1
|
+
{"version":3,"file":"toolDbQueryKeys.js","sourceRoot":"","sources":["../src/toolDbQueryKeys.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAAuB;AACvB,sBAA+B;AAI/B;;;;;GAKG;AACH,SAAwB,eAAe,CAErC,GAAW,EACX,cAAsB,EACtB,SAAgB;IAJlB,iBAmDC;IAhDC,+BAAA,EAAA,sBAAsB;IACtB,0BAAA,EAAA,gBAAgB;IAEhB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,cAAc,IAAI,CAAA,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,MAAK,SAAS,EAAE;YACrD,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACjD,OAAO;SACR;QACD,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,OAAI,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,UAAI,GAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACvE,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;SACpC;QAED,IAAM,KAAK,GAAG,IAAA,aAAU,EAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,SAAS,GAAa,EAAE,CAAC;QAC7B,IAAI,OAAmC,CAAC;QAExC,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YACxC,SAAS,mCAAO,SAAS,SAAK,SAAS,OAAC,CAAC;YACzC,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAM,eAAe,GAAG;YACtB,OAAO,CAAC,gBAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAC,GAAG;YAC5B,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;aAC/C;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC3B,SAAS,mCAAO,SAAS,SAAK,GAAG,CAAC,IAAI,OAAC,CAAC;gBAExC,IAAI,OAAO,EAAE;oBACX,YAAY,CAAC,OAAO,CAAC,CAAC;iBACvB;gBACD,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;aAClD;QACH,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,QAAQ;YACb,EAAE,EAAE,KAAK;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAnDD,kCAmDC"}
|
package/dist/toolDbSignUp.js
CHANGED
|
@@ -55,7 +55,6 @@ var encryptWithPass_1 = __importDefault(require("./utils/crypto/encryptWithPass"
|
|
|
55
55
|
var generateKeysComb_1 = __importDefault(require("./utils/crypto/generateKeysComb"));
|
|
56
56
|
var saveKeysComb_1 = __importDefault(require("./utils/crypto/saveKeysComb"));
|
|
57
57
|
var generateIv_1 = __importDefault(require("./utils/generateIv"));
|
|
58
|
-
var getIpFromUrl_1 = __importDefault(require("./utils/getIpFromUrl"));
|
|
59
58
|
var proofOfWork_1 = __importDefault(require("./utils/proofOfWork"));
|
|
60
59
|
var sha256_1 = __importDefault(require("./utils/sha256"));
|
|
61
60
|
var signData_1 = __importDefault(require("./utils/signData"));
|
|
@@ -116,7 +115,7 @@ function toolDbSignUp(user, password) {
|
|
|
116
115
|
if (_this.options.debug) {
|
|
117
116
|
console.log("SIGNUP PUT > " + userRoot, signupMessage);
|
|
118
117
|
}
|
|
119
|
-
var finalMsg = __assign({ type: "put", id: (0, _1.textRandom)(10), to:
|
|
118
|
+
var finalMsg = __assign({ type: "put", id: (0, _1.textRandom)(10), to: [] }, signupMessage);
|
|
120
119
|
_this.websockets.send(finalMsg);
|
|
121
120
|
resolve(finalMsg);
|
|
122
121
|
});
|
package/dist/toolDbSignUp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbSignUp.js","sourceRoot":"","sources":["../src/toolDbSignUp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sBAA2E;AAI3E,mFAA6D;AAC7D,qFAA+D;AAC/D,6EAAuD;AACvD,kEAA4C;
|
|
1
|
+
{"version":3,"file":"toolDbSignUp.js","sourceRoot":"","sources":["../src/toolDbSignUp.ts"],"names":[],"mappings":"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"}
|
package/dist/toolDbSubscribe.js
CHANGED
|
@@ -44,6 +44,7 @@ function toolDbSubscribe(key, userNamespaced) {
|
|
|
44
44
|
type: "crdt",
|
|
45
45
|
key: finalKey,
|
|
46
46
|
id: (0, _1.textRandom)(10),
|
|
47
|
+
to: [],
|
|
47
48
|
doc: (0, _1.uint8ToBase64)(savedDoc),
|
|
48
49
|
};
|
|
49
50
|
_this.triggerKeyListener(finalKey, msg);
|
|
@@ -52,6 +53,7 @@ function toolDbSubscribe(key, userNamespaced) {
|
|
|
52
53
|
_this.websockets.send({
|
|
53
54
|
type: "subscribe",
|
|
54
55
|
key: finalKey,
|
|
56
|
+
to: [],
|
|
55
57
|
id: msgId,
|
|
56
58
|
});
|
|
57
59
|
resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbSubscribe.js","sourceRoot":"","sources":["../src/toolDbSubscribe.ts"],"names":[],"mappings":";;;;;AAAA,sBAA2D;AAE3D,wDAAkC;AAElC;;;;;GAKG;AACH,SAAwB,eAAe,CAErC,GAAW,EACX,cAAsB;IAHxB,
|
|
1
|
+
{"version":3,"file":"toolDbSubscribe.js","sourceRoot":"","sources":["../src/toolDbSubscribe.ts"],"names":[],"mappings":";;;;;AAAA,sBAA2D;AAE3D,wDAAkC;AAElC;;;;;GAKG;AACH,SAAwB,eAAe,CAErC,GAAW,EACX,cAAsB;IAHxB,iBAoDC;IAjDC,+BAAA,EAAA,sBAAsB;IAEtB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,cAAc,IAAI,CAAA,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,MAAK,SAAS,EAAE;YACrD,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACjD,OAAO;SACR;QACD,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,OAAI,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,UAAI,GAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACvE,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAC;SACxC;QAED,IAAM,KAAK,GAAG,IAAA,aAAU,EAAC,EAAE,CAAC,CAAC;QAE7B,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;YACjC,IAAI,IAAI,EAAE;gBACR,IAAI;oBACF,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjC,KAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;iBAC5C;gBAAC,OAAO,CAAC,EAAE;oBACV,aAAa;iBACd;aACF;QACH,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,KAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YAC9C,IAAI,GAAG,EAAE;gBACP,IAAM,QAAQ,GAAG,mBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAM,GAAG,GAAgB;oBACvB,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,QAAQ;oBACb,EAAE,EAAE,IAAA,aAAU,EAAC,EAAE,CAAC;oBAClB,EAAE,EAAE,EAAE;oBACN,GAAG,EAAE,IAAA,gBAAa,EAAC,QAAQ,CAAC;iBAC7B,CAAC;gBACF,KAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;QAEH,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,QAAQ;YACb,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,KAAK;SACV,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AApDD,kCAoDC"}
|
package/dist/tooldb.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export default class ToolDb {
|
|
|
33
33
|
get subscriptions(): string[];
|
|
34
34
|
subscribeData: typeof toolDbSubscribe;
|
|
35
35
|
onDisconnect: () => void;
|
|
36
|
+
onConnect: () => void;
|
|
36
37
|
loadCrdtDocument: typeof loadCrdtDocument;
|
|
37
38
|
getData: typeof toolDbGet;
|
|
38
39
|
putData: typeof toolDbPut;
|
package/dist/tooldb.js
CHANGED
|
@@ -39,9 +39,14 @@ var ToolDb = /** @class */ (function () {
|
|
|
39
39
|
this.clientOnMessage = toolDbClientOnMessage_1.default;
|
|
40
40
|
this._subscriptions = [];
|
|
41
41
|
this.subscribeData = toolDbSubscribe_1.default;
|
|
42
|
+
// Emitted when there are no more server peers connected to
|
|
42
43
|
this.onDisconnect = function () {
|
|
43
44
|
//
|
|
44
45
|
};
|
|
46
|
+
// Emitted when a server peer responds with "pong"
|
|
47
|
+
this.onConnect = function () {
|
|
48
|
+
//
|
|
49
|
+
};
|
|
45
50
|
this.loadCrdtDocument = loadCrdtDocument_1.default;
|
|
46
51
|
this.getData = toolDbGet_1.default;
|
|
47
52
|
this.putData = toolDbPut_1.default;
|
|
@@ -84,9 +89,14 @@ var ToolDb = /** @class */ (function () {
|
|
|
84
89
|
_this._keyListeners[id] = null;
|
|
85
90
|
};
|
|
86
91
|
this.triggerKeyListener = function (key, message) {
|
|
92
|
+
// console.warn(`triggerKeyListener ${key}`);
|
|
87
93
|
_this._keyListeners.forEach(function (listener) {
|
|
88
94
|
if ((listener === null || listener === void 0 ? void 0 : listener.key) === key) {
|
|
89
|
-
|
|
95
|
+
// console.log(`TRIGGER OK`, message);
|
|
96
|
+
if (listener.timeout) {
|
|
97
|
+
clearTimeout(listener.timeout);
|
|
98
|
+
}
|
|
99
|
+
listener.timeout = setTimeout(function () { return listener.fn(message); }, _this._options.triggerDebouce);
|
|
90
100
|
}
|
|
91
101
|
});
|
|
92
102
|
};
|
|
@@ -110,6 +120,7 @@ var ToolDb = /** @class */ (function () {
|
|
|
110
120
|
db: "tooldb",
|
|
111
121
|
peers: [],
|
|
112
122
|
maxRetries: 5,
|
|
123
|
+
triggerDebouce: 100,
|
|
113
124
|
wait: 2000,
|
|
114
125
|
pow: 0,
|
|
115
126
|
server: false,
|
package/dist/tooldb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooldb.js","sourceRoot":"","sources":["../src/tooldb.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAwB;AAIxB,0DAAoC;AACpC,0DAAoC;AACpC,sEAAgD;AAChD,gEAA0C;AAC1C,wEAAkD;AAClD,gEAA0C;AAC1C,0FAAoE;AAEpE,kFAA4D;AAC5D,8DAAwC;AACxC,4DAAsC;AACtC,sBAOW;AACX,sEAAgD;AAChD,kEAA4C;AAE5C,wEAAkD;AAClD,wEAAkD;AAClD,sEAAgD;AAahD;
|
|
1
|
+
{"version":3,"file":"tooldb.js","sourceRoot":"","sources":["../src/tooldb.ts"],"names":[],"mappings":"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"}
|
package/dist/types/message.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export declare enum VerifyResult {
|
|
2
|
-
CustomVerificationFailed =
|
|
3
|
-
InvalidData =
|
|
4
|
-
InvalidVerification =
|
|
5
|
-
InvalidTimestamp =
|
|
6
|
-
PubKeyMismatch =
|
|
7
|
-
NoProofOfWork =
|
|
8
|
-
InvalidHashNonce =
|
|
9
|
-
InvalidSignature =
|
|
10
|
-
Verified =
|
|
2
|
+
CustomVerificationFailed = "CustomVerificationFailed",
|
|
3
|
+
InvalidData = "InvalidData",
|
|
4
|
+
InvalidVerification = "InvalidVerification",
|
|
5
|
+
InvalidTimestamp = "InvalidTimestamp",
|
|
6
|
+
PubKeyMismatch = "PubKeyMismatch",
|
|
7
|
+
NoProofOfWork = "NoProofOfWork",
|
|
8
|
+
InvalidHashNonce = "InvalidHashNonce",
|
|
9
|
+
InvalidSignature = "InvalidSignature",
|
|
10
|
+
Verified = "Verified"
|
|
11
11
|
}
|
|
12
12
|
export interface VerificationData<T = any> {
|
|
13
13
|
k: string;
|
|
@@ -22,17 +22,21 @@ export declare type MessageType = "ping" | "pong" | "query" | "queryAck" | "subs
|
|
|
22
22
|
export interface BaseMessage {
|
|
23
23
|
type: MessageType;
|
|
24
24
|
id: string;
|
|
25
|
+
to: string[];
|
|
25
26
|
}
|
|
26
27
|
export interface PingMessage extends BaseMessage {
|
|
27
28
|
type: "ping";
|
|
29
|
+
isServer: boolean;
|
|
30
|
+
clientId: string;
|
|
28
31
|
}
|
|
29
32
|
export interface PongMessage extends BaseMessage {
|
|
30
33
|
type: "pong";
|
|
34
|
+
isServer: boolean;
|
|
35
|
+
clientId: string;
|
|
31
36
|
}
|
|
32
37
|
export interface QueryMessage extends BaseMessage {
|
|
33
38
|
type: "query";
|
|
34
39
|
key: string;
|
|
35
|
-
to: string[];
|
|
36
40
|
}
|
|
37
41
|
export interface QueryAckMessage extends BaseMessage {
|
|
38
42
|
type: "queryAck";
|
|
@@ -45,15 +49,12 @@ export interface SubscribeMessage extends BaseMessage {
|
|
|
45
49
|
export interface GetMessage extends BaseMessage {
|
|
46
50
|
type: "get";
|
|
47
51
|
key: string;
|
|
48
|
-
to: string[];
|
|
49
52
|
}
|
|
50
53
|
export interface PutMessage<T = any> extends BaseMessage, VerificationData<T> {
|
|
51
54
|
type: "put";
|
|
52
|
-
to: string[];
|
|
53
55
|
}
|
|
54
56
|
export interface CrdtPutMessage extends BaseMessage, VerificationData<string> {
|
|
55
57
|
type: "crdtPut";
|
|
56
|
-
to: string[];
|
|
57
58
|
}
|
|
58
59
|
export interface CrdtGetMessage extends BaseMessage {
|
|
59
60
|
type: "crdtGet";
|
package/dist/types/message.js
CHANGED
|
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VerifyResult = void 0;
|
|
4
4
|
var VerifyResult;
|
|
5
5
|
(function (VerifyResult) {
|
|
6
|
-
VerifyResult[
|
|
7
|
-
VerifyResult[
|
|
8
|
-
VerifyResult[
|
|
9
|
-
VerifyResult[
|
|
10
|
-
VerifyResult[
|
|
11
|
-
VerifyResult[
|
|
12
|
-
VerifyResult[
|
|
13
|
-
VerifyResult[
|
|
14
|
-
VerifyResult[
|
|
6
|
+
VerifyResult["CustomVerificationFailed"] = "CustomVerificationFailed";
|
|
7
|
+
VerifyResult["InvalidData"] = "InvalidData";
|
|
8
|
+
VerifyResult["InvalidVerification"] = "InvalidVerification";
|
|
9
|
+
VerifyResult["InvalidTimestamp"] = "InvalidTimestamp";
|
|
10
|
+
VerifyResult["PubKeyMismatch"] = "PubKeyMismatch";
|
|
11
|
+
VerifyResult["NoProofOfWork"] = "NoProofOfWork";
|
|
12
|
+
VerifyResult["InvalidHashNonce"] = "InvalidHashNonce";
|
|
13
|
+
VerifyResult["InvalidSignature"] = "InvalidSignature";
|
|
14
|
+
VerifyResult["Verified"] = "Verified";
|
|
15
15
|
})(VerifyResult = exports.VerifyResult || (exports.VerifyResult = {}));
|
|
16
16
|
//# sourceMappingURL=message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAUX;AAVD,WAAY,YAAY;IACtB,
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAUX;AAVD,WAAY,YAAY;IACtB,qEAAqD,CAAA;IACrD,2CAA2B,CAAA;IAC3B,2DAA2C,CAAA;IAC3C,qDAAqC,CAAA;IACrC,iDAAiC,CAAA;IACjC,+CAA+B,CAAA;IAC/B,qDAAqC,CAAA;IACrC,qDAAqC,CAAA;IACrC,qCAAqB,CAAA;AACvB,CAAC,EAVW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAUvB"}
|
package/dist/types/tooldb.d.ts
CHANGED
package/dist/wss.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { ToolDbMessage } from ".";
|
|
|
3
3
|
import ToolDb from "./tooldb";
|
|
4
4
|
export declare type ToolDbWebSocket = WebSocket & {
|
|
5
5
|
toolDbId?: string;
|
|
6
|
+
isServer: boolean;
|
|
7
|
+
origUrl: string;
|
|
6
8
|
};
|
|
7
9
|
export default class WSS {
|
|
8
10
|
private wnd;
|
|
@@ -24,8 +26,8 @@ export default class WSS {
|
|
|
24
26
|
* @returns websocket
|
|
25
27
|
*/
|
|
26
28
|
open: (url: string) => ToolDbWebSocket | undefined;
|
|
27
|
-
close(
|
|
28
|
-
send(msg: ToolDbMessage,
|
|
29
|
+
close(clientId: string): void;
|
|
30
|
+
send(msg: ToolDbMessage, crossServer?: boolean): void;
|
|
29
31
|
sendToClientId(clientId: string, msg: ToolDbMessage): void;
|
|
30
32
|
private reconnect;
|
|
31
33
|
get tooldb(): ToolDb;
|
package/dist/wss.js
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
2
22
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
24
|
};
|
|
5
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
var lodash_1 = __importDefault(require("lodash"));
|
|
6
27
|
var ws_1 = __importDefault(require("ws"));
|
|
7
28
|
var _1 = require(".");
|
|
8
29
|
var WSS = /** @class */ (function () {
|
|
@@ -29,6 +50,7 @@ var WSS = /** @class */ (function () {
|
|
|
29
50
|
if (!_this._connections[url]) {
|
|
30
51
|
_this._connections[url] = { tries: 0, peer: wss_1, defer: null };
|
|
31
52
|
}
|
|
53
|
+
wss_1.origUrl = url;
|
|
32
54
|
wss_1.onclose = function (_error) {
|
|
33
55
|
if (_this._activePeers.includes(url)) {
|
|
34
56
|
_this._activePeers.splice(_this._activePeers.indexOf(url), 1);
|
|
@@ -59,7 +81,10 @@ var WSS = /** @class */ (function () {
|
|
|
59
81
|
// hi peer
|
|
60
82
|
wss_1.send(JSON.stringify({
|
|
61
83
|
type: "ping",
|
|
62
|
-
|
|
84
|
+
clientId: _this.options.id,
|
|
85
|
+
to: [_this.options.id],
|
|
86
|
+
isServer: _this.options.server,
|
|
87
|
+
id: (0, _1.textRandom)(10),
|
|
63
88
|
}));
|
|
64
89
|
};
|
|
65
90
|
wss_1.onmessage = function (msg) {
|
|
@@ -162,32 +187,45 @@ var WSS = /** @class */ (function () {
|
|
|
162
187
|
WSS.prototype.connectTo = function (url) {
|
|
163
188
|
this.open(url);
|
|
164
189
|
};
|
|
165
|
-
WSS.prototype.close = function (
|
|
166
|
-
var
|
|
167
|
-
|
|
168
|
-
|
|
190
|
+
WSS.prototype.close = function (clientId) {
|
|
191
|
+
var sock = this._clientSockets[clientId];
|
|
192
|
+
if (sock) {
|
|
193
|
+
if (sock.origUrl) {
|
|
194
|
+
var peer = this._connections[sock.origUrl];
|
|
195
|
+
peer.tries = this.options.maxRetries;
|
|
196
|
+
}
|
|
197
|
+
sock.close();
|
|
198
|
+
delete this._clientSockets[clientId];
|
|
199
|
+
}
|
|
169
200
|
};
|
|
170
|
-
WSS.prototype.send = function (msg,
|
|
201
|
+
WSS.prototype.send = function (msg, crossServer) {
|
|
171
202
|
var _this = this;
|
|
172
|
-
if (
|
|
173
|
-
var
|
|
174
|
-
|
|
175
|
-
.
|
|
176
|
-
.
|
|
203
|
+
if (crossServer === void 0) { crossServer = false; }
|
|
204
|
+
var to = lodash_1.default.uniq(__spreadArray(__spreadArray([], msg.to, true), [this.options.id], false));
|
|
205
|
+
var filteredConns = Object.keys(this.clientSockets)
|
|
206
|
+
.filter(function (id) { return !to.includes(id); })
|
|
207
|
+
.map(function (clientId) { return _this._clientSockets[clientId]; })
|
|
208
|
+
.filter(function (conn) { return conn && conn.readyState === conn.OPEN; });
|
|
209
|
+
// console.log(">> Send message: ", msg, "to: ", to);
|
|
177
210
|
// console.log(
|
|
178
|
-
// "
|
|
179
|
-
// filteredConns.map((c) => c.
|
|
180
|
-
// "but not to",
|
|
181
|
-
// filterUrls
|
|
211
|
+
// "filteredConns ",
|
|
212
|
+
// filteredConns.map((c) => c.toolDbId)
|
|
182
213
|
// );
|
|
183
214
|
filteredConns.forEach(function (conn) {
|
|
184
|
-
conn.
|
|
215
|
+
if ((crossServer && conn.isServer) || !crossServer) {
|
|
216
|
+
// console.log("Sent out to: ", conn.toolDbId, conn.origUrl);
|
|
217
|
+
conn.send(JSON.stringify(__assign(__assign({}, msg), { to: to })));
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
// console.log("Fitlered out!", conn.toolDbId, conn.origUrl);
|
|
221
|
+
}
|
|
185
222
|
});
|
|
186
223
|
};
|
|
187
224
|
WSS.prototype.sendToClientId = function (clientId, msg) {
|
|
188
225
|
var socket = this._clientSockets[clientId];
|
|
189
226
|
if (socket) {
|
|
190
|
-
|
|
227
|
+
var to = lodash_1.default.uniq(__spreadArray(__spreadArray([], msg.to, true), [this.options.id], false));
|
|
228
|
+
socket.send(JSON.stringify(__assign(__assign({}, msg), { to: to })));
|
|
191
229
|
}
|
|
192
230
|
};
|
|
193
231
|
Object.defineProperty(WSS.prototype, "tooldb", {
|
package/dist/wss.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wss.js","sourceRoot":"","sources":["../src/wss.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wss.js","sourceRoot":"","sources":["../src/wss.ts"],"names":[],"mappings":"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"}
|
package/dist/zkp.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function zkp(): void;
|
package/dist/zkp.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function zkp() {
|
|
4
|
+
/*
|
|
5
|
+
|
|
6
|
+
A and B are key pairs each with the following properties;
|
|
7
|
+
A(pub): Public key
|
|
8
|
+
A(priv): Private key
|
|
9
|
+
A(env): Public (evaluation) key
|
|
10
|
+
|
|
11
|
+
A wants to transfer 12 coins to B and has 15 coins on his wallet, based on its last UTxI added up.
|
|
12
|
+
A encrypts the UTxI and UTxO (12 and 3) values of the Tx with (B)env so its now H(i) and H(o)
|
|
13
|
+
A creates proof for each PH(i) and PH(o), and sends the transaction
|
|
14
|
+
|
|
15
|
+
Tx = H, UTxI => H(i), UTxO => H(o), In => A(pub), PH(i), PH(o), Out => B(pub)
|
|
16
|
+
|
|
17
|
+
V wants to know if all the UTxO on A(pub) added up are lower than all of the UTxI on A(pub).
|
|
18
|
+
V uses homomorphic evaluation to add all the H(o) of TX and compares against all H(i) on A(pub)
|
|
19
|
+
V verifies the proofs PH(i) and PH(o), if valid, proceeds to accept Tx.
|
|
20
|
+
|
|
21
|
+
B recieves Tx and should be able to decrypt all UTxI and UTxO to know how many coins he recieved using (B)priv
|
|
22
|
+
and B(env) to reverse the homomorphic calculation.
|
|
23
|
+
|
|
24
|
+
He also has proof of each one of them for third parties to validate he has that ammount exactly.
|
|
25
|
+
|
|
26
|
+
*/
|
|
27
|
+
}
|
|
28
|
+
exports.default = zkp;
|
|
29
|
+
//# sourceMappingURL=zkp.js.map
|
package/dist/zkp.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zkp.js","sourceRoot":"","sources":["../src/zkp.ts"],"names":[],"mappings":";;AAAA,SAAwB,GAAG;IACzB;;;;;;;;;;;;;;;;;;;;;;MAsBE;AACJ,CAAC;AAxBD,sBAwBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tool-db",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A decentralized database model for federated p2p networks.",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@peculiar/webcrypto": "^1.1.7",
|
|
21
21
|
"automerge": "^1.0.1-preview.4",
|
|
22
|
-
"axios": "^0.21.1",
|
|
23
22
|
"babel": "^6.23.0",
|
|
24
23
|
"buffer": "^6.0.3",
|
|
25
24
|
"crypto": "^1.0.1",
|