tool-db 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/README.md +10 -33
  2. package/bundle.js +1 -124672
  3. package/dist/chain/Block.d.ts +16 -8
  4. package/dist/chain/Block.js +81 -20
  5. package/dist/chain/Block.js.map +1 -1
  6. package/dist/chain/ToolChain.d.ts +18 -3
  7. package/dist/chain/ToolChain.js +191 -24
  8. package/dist/chain/ToolChain.js.map +1 -1
  9. package/dist/chain/Tx.d.ts +46 -30
  10. package/dist/chain/Tx.js +47 -104
  11. package/dist/chain/Tx.js.map +1 -1
  12. package/dist/chain/isValidChain.d.ts +1 -2
  13. package/dist/chain/isValidChain.js +24 -7
  14. package/dist/chain/isValidChain.js.map +1 -1
  15. package/dist/crdt/baseCrdt.d.ts +9 -0
  16. package/dist/crdt/baseCrdt.js +27 -0
  17. package/dist/crdt/baseCrdt.js.map +1 -0
  18. package/dist/crdt/counterCrdt.d.ts +30 -0
  19. package/dist/crdt/counterCrdt.js +124 -0
  20. package/dist/crdt/counterCrdt.js.map +1 -0
  21. package/dist/crdt/listCrdt.d.ts +42 -0
  22. package/dist/crdt/listCrdt.js +177 -0
  23. package/dist/crdt/listCrdt.js.map +1 -0
  24. package/dist/crdt/mapCrdt.d.ts +32 -0
  25. package/dist/crdt/mapCrdt.js +136 -0
  26. package/dist/crdt/mapCrdt.js.map +1 -0
  27. package/dist/index.d.ts +4 -12
  28. package/dist/index.js +9 -35
  29. package/dist/index.js.map +1 -1
  30. package/{test-verify-a/000066.log → dist/infuraFilecoin.d.ts} +0 -0
  31. package/dist/infuraFilecoin.js +2 -0
  32. package/dist/infuraFilecoin.js.map +1 -0
  33. package/dist/makeTx.d.ts +1 -0
  34. package/dist/makeTx.js +27 -0
  35. package/dist/makeTx.js.map +1 -0
  36. package/dist/messageHandlers/handleCrdtGet.js +17 -15
  37. package/dist/messageHandlers/handleCrdtGet.js.map +1 -1
  38. package/dist/messageHandlers/handleCrdtPut.js +53 -72
  39. package/dist/messageHandlers/handleCrdtPut.js.map +1 -1
  40. package/dist/messageHandlers/handleGet.js +6 -12
  41. package/dist/messageHandlers/handleGet.js.map +1 -1
  42. package/dist/messageHandlers/handlePut.js +12 -22
  43. package/dist/messageHandlers/handlePut.js.map +1 -1
  44. package/dist/messageHandlers/handleSubscribe.js +14 -34
  45. package/dist/messageHandlers/handleSubscribe.js.map +1 -1
  46. package/dist/test.d.ts +1 -0
  47. package/dist/test.js +17 -0
  48. package/dist/test.js.map +1 -0
  49. package/dist/toolChainServer.d.ts +8 -0
  50. package/dist/toolChainServer.js +60 -0
  51. package/dist/toolChainServer.js.map +1 -0
  52. package/dist/toolDbClientOnMessage.js +3 -4
  53. package/dist/toolDbClientOnMessage.js.map +1 -1
  54. package/dist/toolDbCrdtGet.d.ts +4 -2
  55. package/dist/toolDbCrdtGet.js +26 -19
  56. package/dist/toolDbCrdtGet.js.map +1 -1
  57. package/dist/toolDbCrdtPut.d.ts +3 -3
  58. package/dist/toolDbCrdtPut.js +17 -22
  59. package/dist/toolDbCrdtPut.js.map +1 -1
  60. package/dist/toolDbGet.d.ts +1 -1
  61. package/dist/toolDbGet.js +5 -4
  62. package/dist/toolDbGet.js.map +1 -1
  63. package/dist/toolDbNetwork.js +4 -4
  64. package/dist/toolDbNetwork.js.map +1 -1
  65. package/dist/toolDbPut.d.ts +1 -1
  66. package/dist/toolDbPut.js +15 -18
  67. package/dist/toolDbPut.js.map +1 -1
  68. package/dist/toolDbQueryKeys.js +2 -2
  69. package/dist/toolDbQueryKeys.js.map +1 -1
  70. package/dist/toolDbSignIn.js +10 -16
  71. package/dist/toolDbSignIn.js.map +1 -1
  72. package/dist/toolDbSignUp.js +10 -24
  73. package/dist/toolDbSignUp.js.map +1 -1
  74. package/dist/toolDbSubscribe.d.ts +1 -1
  75. package/dist/toolDbSubscribe.js +3 -22
  76. package/dist/toolDbSubscribe.js.map +1 -1
  77. package/dist/toolDbVerificationWrapper.d.ts +2 -2
  78. package/dist/toolDbVerificationWrapper.js.map +1 -1
  79. package/dist/toolDbWebrtc.js +16 -1
  80. package/dist/toolDbWebrtc.js.map +1 -1
  81. package/dist/toolchain.d.ts +1 -0
  82. package/dist/toolchain.js +8 -0
  83. package/dist/toolchain.js.map +1 -0
  84. package/dist/tooldb.d.ts +8 -15
  85. package/dist/tooldb.js +3 -15
  86. package/dist/tooldb.js.map +1 -1
  87. package/dist/types/message.d.ts +11 -22
  88. package/dist/types/message.js +1 -1
  89. package/dist/types/message.js.map +1 -1
  90. package/dist/types/tooldb.d.ts +0 -19
  91. package/dist/utils/encoding/uint8ArrayToHex.d.ts +1 -2
  92. package/dist/utils/encoding/uint8ArrayToHex.js.map +1 -1
  93. package/dist/utils/encoding/uint8ToBase64.d.ts +1 -2
  94. package/dist/utils/encoding/uint8ToBase64.js.map +1 -1
  95. package/dist/utils/sha1.d.ts +1 -1
  96. package/dist/utils/sha1.js +2 -3
  97. package/dist/utils/sha1.js.map +1 -1
  98. package/dist/utils/sha256.d.ts +1 -1
  99. package/dist/utils/sha256.js +2 -3
  100. package/dist/utils/sha256.js.map +1 -1
  101. package/dist/utils/verifyMessage.d.ts +1 -1
  102. package/dist/utils/verifyMessage.js +8 -7
  103. package/dist/utils/verifyMessage.js.map +1 -1
  104. package/package.json +4 -6
  105. package/test-alice/000347.ldb +0 -0
  106. package/test-alice/000349.ldb +0 -0
  107. package/test-alice/000352.ldb +0 -0
  108. package/test-alice/000355.ldb +0 -0
  109. package/test-alice/000356.log +0 -0
  110. package/test-alice/CURRENT +1 -1
  111. package/test-alice/LOG +5 -5
  112. package/test-alice/LOG.old +5 -14
  113. package/test-alice/MANIFEST-000354 +0 -0
  114. package/test-alice-speed/000198.ldb +0 -0
  115. package/test-alice-speed/000200.ldb +0 -0
  116. package/test-alice-speed/000203.ldb +0 -0
  117. package/test-alice-speed/000206.ldb +0 -0
  118. package/test-alice-speed/000207.log +0 -0
  119. package/test-alice-speed/CURRENT +1 -1
  120. package/test-alice-speed/LOG +5 -5
  121. package/test-alice-speed/LOG.old +5 -5
  122. package/test-alice-speed/MANIFEST-000205 +0 -0
  123. package/test-bob/000347.ldb +0 -0
  124. package/test-bob/000349.ldb +0 -0
  125. package/test-bob/000352.ldb +0 -0
  126. package/test-bob/000355.ldb +0 -0
  127. package/test-bob/000356.log +0 -0
  128. package/test-bob/CURRENT +1 -1
  129. package/test-bob/LOG +5 -5
  130. package/test-bob/LOG.old +5 -14
  131. package/test-bob/MANIFEST-000354 +0 -0
  132. package/test-node-a/000347.ldb +0 -0
  133. package/test-node-a/000349.ldb +0 -0
  134. package/test-node-a/000352.ldb +0 -0
  135. package/test-node-a/000355.ldb +0 -0
  136. package/test-node-a/000356.log +0 -0
  137. package/test-node-a/CURRENT +1 -1
  138. package/test-node-a/LOG +5 -5
  139. package/test-node-a/LOG.old +5 -14
  140. package/test-node-a/MANIFEST-000354 +0 -0
  141. package/test-node-b/000347.ldb +0 -0
  142. package/test-node-b/000349.ldb +0 -0
  143. package/test-node-b/000352.ldb +0 -0
  144. package/test-node-b/000355.ldb +0 -0
  145. package/test-node-b/000356.log +0 -0
  146. package/test-node-b/CURRENT +1 -1
  147. package/test-node-b/LOG +5 -5
  148. package/test-node-b/LOG.old +5 -14
  149. package/test-node-b/MANIFEST-000354 +0 -0
  150. package/test-verify-a/000194.log +0 -0
  151. package/test-verify-a/CURRENT +1 -1
  152. package/test-verify-a/LOG +3 -3
  153. package/test-verify-a/LOG.old +3 -3
  154. package/test-verify-a/{MANIFEST-000065 → MANIFEST-000193} +0 -0
  155. package/pvutils-tests-replacement.js +0 -777
  156. package/test-alice/000087.ldb +0 -0
  157. package/test-alice/000089.ldb +0 -0
  158. package/test-alice/000090.log +0 -0
  159. package/test-alice/MANIFEST-000088 +0 -0
  160. package/test-alice-speed/000029.ldb +0 -0
  161. package/test-alice-speed/000031.ldb +0 -0
  162. package/test-alice-speed/000034.ldb +0 -0
  163. package/test-alice-speed/000035.log +0 -0
  164. package/test-alice-speed/MANIFEST-000033 +0 -0
  165. package/test-bob/000087.ldb +0 -0
  166. package/test-bob/000089.ldb +0 -0
  167. package/test-bob/000090.log +0 -0
  168. package/test-bob/MANIFEST-000088 +0 -0
  169. package/test-node-a/000087.ldb +0 -0
  170. package/test-node-a/000089.ldb +0 -0
  171. package/test-node-a/000090.log +0 -0
  172. package/test-node-a/MANIFEST-000088 +0 -0
  173. package/test-node-b/000087.ldb +0 -0
  174. package/test-node-b/000089.ldb +0 -0
  175. package/test-node-b/000090.log +0 -0
  176. package/test-node-b/MANIFEST-000088 +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listCrdt.js","sourceRoot":"","sources":["../../src/crdt/listCrdt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import BaseCrdt from "./baseCrdt";
2
+ export declare type MapOperations = "SET" | "DEL";
3
+ export interface ChangeMapBase<T> {
4
+ t: MapOperations;
5
+ a: string;
6
+ k: string;
7
+ i: number;
8
+ }
9
+ export interface SetMapChange<T> extends ChangeMapBase<T> {
10
+ t: "SET";
11
+ v: T;
12
+ }
13
+ export interface DelMapChange<T> extends ChangeMapBase<T> {
14
+ t: "DEL";
15
+ }
16
+ export declare type MapChanges<T> = SetMapChange<T> | DelMapChange<T>;
17
+ export default class MapCrdt<T> extends BaseCrdt<T, MapChanges<T>, Record<string, T>> {
18
+ type: string;
19
+ private _changes;
20
+ private _author;
21
+ private _value;
22
+ private _keyIndex;
23
+ private _lastUpdateSize;
24
+ constructor(author: string, changes?: MapChanges<T>[]);
25
+ changesSort(a: MapChanges<T>, b: MapChanges<T>): 0 | 1 | -1;
26
+ calculate(): void;
27
+ get value(): Record<string, T>;
28
+ mergeChanges(newChanges: MapChanges<T>[]): void;
29
+ getChanges(): MapChanges<T>[];
30
+ SET(key: string, value: T): void;
31
+ DEL(key: string): void;
32
+ }
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ var baseCrdt_1 = __importStar(require("./baseCrdt"));
38
+ var MapCrdt = /** @class */ (function (_super) {
39
+ __extends(MapCrdt, _super);
40
+ function MapCrdt(author, changes) {
41
+ var _this = _super.call(this) || this;
42
+ _this.type = baseCrdt_1.CRDT_MAP;
43
+ _this._changes = [];
44
+ _this._author = "";
45
+ _this._value = {};
46
+ _this._keyIndex = {};
47
+ _this._lastUpdateSize = 0;
48
+ _this._author = author;
49
+ if (changes) {
50
+ _this.mergeChanges(changes);
51
+ }
52
+ _this.calculate();
53
+ return _this;
54
+ }
55
+ MapCrdt.prototype.changesSort = function (a, b) {
56
+ if (a.i < b.i)
57
+ return -1;
58
+ if (a.i > b.i)
59
+ return 1;
60
+ if (a.t === "SET" && b.t === "DEL")
61
+ return -1;
62
+ if (a.t === "DEL" && b.t === "SET")
63
+ return 1;
64
+ if (a.a < b.a)
65
+ return -1;
66
+ if (a.a > b.a)
67
+ return 1;
68
+ return 0; // Should never be equal!
69
+ };
70
+ MapCrdt.prototype.calculate = function () {
71
+ var _this = this;
72
+ var temp = {};
73
+ // Only update if we have new changes
74
+ if (Object.values(this._changes).length !== this._lastUpdateSize) {
75
+ this._changes.sort(this.changesSort).forEach(function (change) {
76
+ // Here we apply the model properties
77
+ // Since this is a KV store we dont need much logic,
78
+ // except for the sorting of the changes. Then we just apply them.
79
+ if (change.t === "SET") {
80
+ temp[change.k] = change.v;
81
+ }
82
+ else if (change.t === "DEL") {
83
+ delete temp[change.k];
84
+ }
85
+ _this._keyIndex[change.k] = change.i;
86
+ });
87
+ this._lastUpdateSize = Object.values(temp).length;
88
+ this._value = temp;
89
+ }
90
+ };
91
+ Object.defineProperty(MapCrdt.prototype, "value", {
92
+ get: function () {
93
+ this.calculate();
94
+ return this._value;
95
+ },
96
+ enumerable: false,
97
+ configurable: true
98
+ });
99
+ MapCrdt.prototype.mergeChanges = function (newChanges) {
100
+ var _this = this;
101
+ newChanges.forEach(function (change) {
102
+ // Filter by author and index
103
+ var filtered = _this._changes.filter(function (c) { return c.i === change.i && c.a === change.a && c.t === change.t; });
104
+ // Only add if there are not matches
105
+ if (filtered.length === 0) {
106
+ _this._changes.push(change);
107
+ }
108
+ });
109
+ this.calculate();
110
+ };
111
+ MapCrdt.prototype.getChanges = function () {
112
+ return this._changes;
113
+ };
114
+ MapCrdt.prototype.SET = function (key, value) {
115
+ this._keyIndex[key] = (this._keyIndex[key] || 0) + 1;
116
+ this._changes.push({
117
+ t: "SET",
118
+ k: key,
119
+ a: this._author,
120
+ v: value,
121
+ i: this._keyIndex[key],
122
+ });
123
+ };
124
+ MapCrdt.prototype.DEL = function (key) {
125
+ this._keyIndex[key] = (this._keyIndex[key] || 0) + 1;
126
+ this._changes.push({
127
+ t: "DEL",
128
+ k: key,
129
+ a: this._author,
130
+ i: this._keyIndex[key],
131
+ });
132
+ };
133
+ return MapCrdt;
134
+ }(baseCrdt_1.default));
135
+ exports.default = MapCrdt;
136
+ //# sourceMappingURL=mapCrdt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapCrdt.js","sourceRoot":"","sources":["../../src/crdt/mapCrdt.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  export * from "./types/tooldb";
2
2
  export * from "./types/message";
3
+ export { default as BaseCrdt } from "./crdt/baseCrdt";
4
+ export { default as CounterCrdt } from "./crdt/counterCrdt";
5
+ export { default as ListCrdt } from "./crdt/listCrdt";
6
+ export { default as MapCrdt } from "./crdt/mapCrdt";
3
7
  export { default as proofOfWork } from "./utils/proofOfWork";
4
8
  export { default as sha1 } from "./utils/sha1";
5
9
  export { default as sha256 } from "./utils/sha256";
@@ -9,28 +13,16 @@ export { default as textRandom } from "./utils/textRandom";
9
13
  export { default as stringToArrayBuffer } from "./utils/encoding/stringToArrayBuffer";
10
14
  export { default as verifyMessage } from "./utils/verifyMessage";
11
15
  export { default as verifyPeer } from "./utils/verifyPeer";
12
- export { default as arrayBufferToBase64 } from "./utils/encoding/arrayBufferToBase64";
13
16
  export { default as arrayBufferToString } from "./utils/encoding/arrayBufferToString";
14
17
  export { default as arrayBufferToHex } from "./utils/encoding/arrayBufferToHex";
15
- export { default as base64ToArrayBuffer } from "./utils/encoding/base64ToArrayBuffer";
16
- export { default as base64ToBinaryChange } from "./utils/encoding/base64ToBinaryChange";
17
- export { default as base64ToBinaryDocument } from "./utils/encoding/base64ToBinaryDocument";
18
- export { default as base64ToUint8 } from "./utils/encoding/base64ToUint8";
19
- export { default as base64ToHex } from "./utils/encoding/base64ToHex";
20
18
  export { default as hexToArrayBuffer } from "./utils/encoding/hexToArrayBuffer";
21
- export { default as hexToBase64 } from "./utils/encoding/hexToBase64";
22
19
  export { default as hexToString } from "./utils/encoding/hexToString";
23
20
  export { default as hexToUint8 } from "./utils/encoding/hexToUint8";
24
- export { default as fromBase64 } from "./utils/encoding/fromBase64";
25
- export { default as uint8ToBase64 } from "./utils/encoding/uint8ToBase64";
26
- export { default as uint8ArrayToHex } from "./utils/encoding/uint8ArrayToHex";
27
- export { default as toBase64 } from "./utils/encoding/toBase64";
28
21
  export { default as decryptWithPass } from "./utils/crypto/decryptWithPass";
29
22
  export { default as encryptWithPass } from "./utils/crypto/encryptWithPass";
30
23
  export { default as generateKeyFromPassword } from "./utils/crypto/generateKeyFromPassword";
31
24
  export { default as toolDbNetwork } from "./toolDbNetwork";
32
25
  export { default as toolDbWebrtc } from "./toolDbWebrtc";
33
- export { default as handleCrdt } from "./messageHandlers/handleCrdt";
34
26
  export { default as handleCrdtGet } from "./messageHandlers/handleCrdtGet";
35
27
  export { default as handleCrdtPut } from "./messageHandlers/handleCrdtPut";
36
28
  export { default as handleGet } from "./messageHandlers/handleGet";
package/dist/index.js CHANGED
@@ -15,23 +15,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  return (mod && mod.__esModule) ? mod : { "default": mod };
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ToolDb = exports.handleSubscribe = exports.handleQuery = exports.handlePut = exports.handlePong = exports.handlePing = exports.handleGet = exports.handleCrdtPut = exports.handleCrdtGet = exports.handleCrdt = exports.toolDbWebrtc = exports.toolDbNetwork = exports.generateKeyFromPassword = exports.encryptWithPass = exports.decryptWithPass = exports.toBase64 = exports.uint8ArrayToHex = exports.uint8ToBase64 = exports.fromBase64 = exports.hexToUint8 = exports.hexToString = exports.hexToBase64 = exports.hexToArrayBuffer = exports.base64ToHex = exports.base64ToUint8 = exports.base64ToBinaryDocument = exports.base64ToBinaryChange = exports.base64ToArrayBuffer = exports.arrayBufferToHex = exports.arrayBufferToString = exports.arrayBufferToBase64 = exports.verifyPeer = exports.verifyMessage = exports.stringToArrayBuffer = exports.textRandom = exports.randomAnimal = exports.generateIv = exports.sha256 = exports.sha1 = exports.proofOfWork = void 0;
18
+ exports.ToolDb = exports.handleSubscribe = exports.handleQuery = exports.handlePut = exports.handlePong = exports.handlePing = exports.handleGet = exports.handleCrdtPut = exports.handleCrdtGet = exports.toolDbWebrtc = exports.toolDbNetwork = exports.generateKeyFromPassword = exports.encryptWithPass = exports.decryptWithPass = exports.hexToUint8 = exports.hexToString = exports.hexToArrayBuffer = exports.arrayBufferToHex = exports.arrayBufferToString = exports.verifyPeer = exports.verifyMessage = exports.stringToArrayBuffer = exports.textRandom = exports.randomAnimal = exports.generateIv = exports.sha256 = exports.sha1 = exports.proofOfWork = exports.MapCrdt = exports.ListCrdt = exports.CounterCrdt = exports.BaseCrdt = void 0;
19
19
  __exportStar(require("./types/tooldb"), exports);
20
20
  __exportStar(require("./types/message"), exports);
21
21
  global.Buffer = global.Buffer || require("buffer").Buffer;
22
- if (typeof btoa === "undefined") {
23
- global.btoa = function (str) {
24
- return Buffer.from(str, "binary").toString("base64");
25
- };
26
- }
27
- if (typeof atob === "undefined") {
28
- global.atob = function (b64Encoded) {
29
- return Buffer.from(b64Encoded, "base64").toString("binary");
30
- };
31
- }
32
22
  if (typeof window === "undefined") {
33
23
  global.crypto = require("crypto").webcrypto;
34
24
  }
25
+ var baseCrdt_1 = require("./crdt/baseCrdt");
26
+ Object.defineProperty(exports, "BaseCrdt", { enumerable: true, get: function () { return __importDefault(baseCrdt_1).default; } });
27
+ var counterCrdt_1 = require("./crdt/counterCrdt");
28
+ Object.defineProperty(exports, "CounterCrdt", { enumerable: true, get: function () { return __importDefault(counterCrdt_1).default; } });
29
+ var listCrdt_1 = require("./crdt/listCrdt");
30
+ Object.defineProperty(exports, "ListCrdt", { enumerable: true, get: function () { return __importDefault(listCrdt_1).default; } });
31
+ var mapCrdt_1 = require("./crdt/mapCrdt");
32
+ Object.defineProperty(exports, "MapCrdt", { enumerable: true, get: function () { return __importDefault(mapCrdt_1).default; } });
35
33
  var proofOfWork_1 = require("./utils/proofOfWork");
36
34
  Object.defineProperty(exports, "proofOfWork", { enumerable: true, get: function () { return __importDefault(proofOfWork_1).default; } });
37
35
  var sha1_1 = require("./utils/sha1");
@@ -50,38 +48,16 @@ var verifyMessage_1 = require("./utils/verifyMessage");
50
48
  Object.defineProperty(exports, "verifyMessage", { enumerable: true, get: function () { return __importDefault(verifyMessage_1).default; } });
51
49
  var verifyPeer_1 = require("./utils/verifyPeer");
52
50
  Object.defineProperty(exports, "verifyPeer", { enumerable: true, get: function () { return __importDefault(verifyPeer_1).default; } });
53
- var arrayBufferToBase64_1 = require("./utils/encoding/arrayBufferToBase64");
54
- Object.defineProperty(exports, "arrayBufferToBase64", { enumerable: true, get: function () { return __importDefault(arrayBufferToBase64_1).default; } });
55
51
  var arrayBufferToString_1 = require("./utils/encoding/arrayBufferToString");
56
52
  Object.defineProperty(exports, "arrayBufferToString", { enumerable: true, get: function () { return __importDefault(arrayBufferToString_1).default; } });
57
53
  var arrayBufferToHex_1 = require("./utils/encoding/arrayBufferToHex");
58
54
  Object.defineProperty(exports, "arrayBufferToHex", { enumerable: true, get: function () { return __importDefault(arrayBufferToHex_1).default; } });
59
- var base64ToArrayBuffer_1 = require("./utils/encoding/base64ToArrayBuffer");
60
- Object.defineProperty(exports, "base64ToArrayBuffer", { enumerable: true, get: function () { return __importDefault(base64ToArrayBuffer_1).default; } });
61
- var base64ToBinaryChange_1 = require("./utils/encoding/base64ToBinaryChange");
62
- Object.defineProperty(exports, "base64ToBinaryChange", { enumerable: true, get: function () { return __importDefault(base64ToBinaryChange_1).default; } });
63
- var base64ToBinaryDocument_1 = require("./utils/encoding/base64ToBinaryDocument");
64
- Object.defineProperty(exports, "base64ToBinaryDocument", { enumerable: true, get: function () { return __importDefault(base64ToBinaryDocument_1).default; } });
65
- var base64ToUint8_1 = require("./utils/encoding/base64ToUint8");
66
- Object.defineProperty(exports, "base64ToUint8", { enumerable: true, get: function () { return __importDefault(base64ToUint8_1).default; } });
67
- var base64ToHex_1 = require("./utils/encoding/base64ToHex");
68
- Object.defineProperty(exports, "base64ToHex", { enumerable: true, get: function () { return __importDefault(base64ToHex_1).default; } });
69
55
  var hexToArrayBuffer_1 = require("./utils/encoding/hexToArrayBuffer");
70
56
  Object.defineProperty(exports, "hexToArrayBuffer", { enumerable: true, get: function () { return __importDefault(hexToArrayBuffer_1).default; } });
71
- var hexToBase64_1 = require("./utils/encoding/hexToBase64");
72
- Object.defineProperty(exports, "hexToBase64", { enumerable: true, get: function () { return __importDefault(hexToBase64_1).default; } });
73
57
  var hexToString_1 = require("./utils/encoding/hexToString");
74
58
  Object.defineProperty(exports, "hexToString", { enumerable: true, get: function () { return __importDefault(hexToString_1).default; } });
75
59
  var hexToUint8_1 = require("./utils/encoding/hexToUint8");
76
60
  Object.defineProperty(exports, "hexToUint8", { enumerable: true, get: function () { return __importDefault(hexToUint8_1).default; } });
77
- var fromBase64_1 = require("./utils/encoding/fromBase64");
78
- Object.defineProperty(exports, "fromBase64", { enumerable: true, get: function () { return __importDefault(fromBase64_1).default; } });
79
- var uint8ToBase64_1 = require("./utils/encoding/uint8ToBase64");
80
- Object.defineProperty(exports, "uint8ToBase64", { enumerable: true, get: function () { return __importDefault(uint8ToBase64_1).default; } });
81
- var uint8ArrayToHex_1 = require("./utils/encoding/uint8ArrayToHex");
82
- Object.defineProperty(exports, "uint8ArrayToHex", { enumerable: true, get: function () { return __importDefault(uint8ArrayToHex_1).default; } });
83
- var toBase64_1 = require("./utils/encoding/toBase64");
84
- Object.defineProperty(exports, "toBase64", { enumerable: true, get: function () { return __importDefault(toBase64_1).default; } });
85
61
  var decryptWithPass_1 = require("./utils/crypto/decryptWithPass");
86
62
  Object.defineProperty(exports, "decryptWithPass", { enumerable: true, get: function () { return __importDefault(decryptWithPass_1).default; } });
87
63
  var encryptWithPass_1 = require("./utils/crypto/encryptWithPass");
@@ -92,8 +68,6 @@ var toolDbNetwork_1 = require("./toolDbNetwork");
92
68
  Object.defineProperty(exports, "toolDbNetwork", { enumerable: true, get: function () { return __importDefault(toolDbNetwork_1).default; } });
93
69
  var toolDbWebrtc_1 = require("./toolDbWebrtc");
94
70
  Object.defineProperty(exports, "toolDbWebrtc", { enumerable: true, get: function () { return __importDefault(toolDbWebrtc_1).default; } });
95
- var handleCrdt_1 = require("./messageHandlers/handleCrdt");
96
- Object.defineProperty(exports, "handleCrdt", { enumerable: true, get: function () { return __importDefault(handleCrdt_1).default; } });
97
71
  var handleCrdtGet_1 = require("./messageHandlers/handleCrdtGet");
98
72
  Object.defineProperty(exports, "handleCrdtGet", { enumerable: true, get: function () { return __importDefault(handleCrdtGet_1).default; } });
99
73
  var handleCrdtPut_1 = require("./messageHandlers/handleCrdtPut");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,mCAAmC;;;;;;;;;;;;;;;;AAEnC,iDAA+B;AAC/B,kDAAgC;AAEhC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AAE1D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;CAC7C;AAED,4CAAsD;AAA7C,qHAAA,OAAO,OAAY;AAC5B,kDAA4D;AAAnD,2HAAA,OAAO,OAAe;AAC/B,4CAAsD;AAA7C,qHAAA,OAAO,OAAY;AAC5B,0CAAoD;AAA3C,mHAAA,OAAO,OAAW;AAE3B,mDAA6D;AAApD,2HAAA,OAAO,OAAe;AAC/B,qCAA+C;AAAtC,6GAAA,OAAO,OAAQ;AACxB,yCAAmD;AAA1C,iHAAA,OAAO,OAAU;AAE1B,iDAA2D;AAAlD,yHAAA,OAAO,OAAc;AAC9B,qDAA+D;AAAtD,6HAAA,OAAO,OAAgB;AAChC,iDAA2D;AAAlD,yHAAA,OAAO,OAAc;AAC9B,4EAAsF;AAA7E,2IAAA,OAAO,OAAuB;AACvC,uDAAiE;AAAxD,+HAAA,OAAO,OAAiB;AACjC,iDAA2D;AAAlD,yHAAA,OAAO,OAAc;AAE9B,4EAAsF;AAA7E,2IAAA,OAAO,OAAuB;AACvC,sEAAgF;AAAvE,qIAAA,OAAO,OAAoB;AACpC,sEAAgF;AAAvE,qIAAA,OAAO,OAAoB;AACpC,4DAAsE;AAA7D,2HAAA,OAAO,OAAe;AAC/B,0DAAoE;AAA3D,yHAAA,OAAO,OAAc;AAE9B,kEAA4E;AAAnE,mIAAA,OAAO,OAAmB;AACnC,kEAA4E;AAAnE,mIAAA,OAAO,OAAmB;AACnC,kFAA4F;AAAnF,mJAAA,OAAO,OAA2B;AAE3C,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAEhC,iEAA2E;AAAlE,+HAAA,OAAO,OAAiB;AACjC,iEAA2E;AAAlE,+HAAA,OAAO,OAAiB;AACjC,yDAAmE;AAA1D,uHAAA,OAAO,OAAa;AAC7B,2DAAqE;AAA5D,yHAAA,OAAO,OAAc;AAC9B,2DAAqE;AAA5D,yHAAA,OAAO,OAAc;AAC9B,yDAAmE;AAA1D,uHAAA,OAAO,OAAa;AAC7B,6DAAuE;AAA9D,2HAAA,OAAO,OAAe;AAC/B,qEAA+E;AAAtE,mIAAA,OAAO,OAAmB;AAEnC,mCAA6C;AAApC,iHAAA,OAAO,OAAU"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=infuraFilecoin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infuraFilecoin.js","sourceRoot":"","sources":["../src/infuraFilecoin.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export {};
package/dist/makeTx.js ADDED
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var web3_1 = __importDefault(require("web3"));
7
+ var getTimestamp_1 = __importDefault(require("./utils/getTimestamp"));
8
+ var sha256_1 = __importDefault(require("./utils/sha256"));
9
+ var web3 = new web3_1.default(web3_1.default.givenProvider);
10
+ var account = web3.eth.accounts.create();
11
+ var timestamp = (0, getTimestamp_1.default)();
12
+ var txid = (0, sha256_1.default)(account.address + timestamp + "put");
13
+ var tx = {
14
+ adress: account.address,
15
+ id: txid,
16
+ timestamp: timestamp,
17
+ sig: account.sign(txid).signature,
18
+ type: "put",
19
+ key: "testkey",
20
+ nonce: 0,
21
+ fee: 0,
22
+ data: {
23
+ message: "hello world",
24
+ },
25
+ };
26
+ console.log(tx);
27
+ //# sourceMappingURL=makeTx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeTx.js","sourceRoot":"","sources":["../src/makeTx.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsB;AAEtB,sEAAgD;AAChD,0DAAoC;AAEpC,IAAM,IAAI,GAAG,IAAI,cAAE,CAAC,cAAE,CAAC,aAAa,CAAC,CAAC;AAEtC,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AAE3C,IAAM,SAAS,GAAG,IAAA,sBAAY,GAAE,CAAC;AACjC,IAAM,IAAI,GAAG,IAAA,gBAAM,EAAC,OAAO,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;AAEzD,IAAM,EAAE,GAAiB;IACvB,MAAM,EAAE,OAAO,CAAC,OAAO;IACvB,EAAE,EAAE,IAAI;IACR,SAAS,WAAA;IACT,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS;IACjC,IAAI,EAAE,KAAK;IACX,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,IAAI,EAAE;QACJ,OAAO,EAAE,aAAa;KACvB;CACF,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC"}
@@ -1,22 +1,24 @@
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
- var automerge_1 = __importDefault(require("automerge"));
7
- var uint8ArrayToHex_1 = __importDefault(require("../utils/encoding/uint8ArrayToHex"));
8
3
  function handleCrdtGet(message, remotePeerId) {
9
4
  var _this = this;
10
- this.loadCrdtDocument(message.key, false).then(function (currentDoc) {
11
- if (currentDoc) {
12
- var saved = automerge_1.default.save(currentDoc || automerge_1.default.init());
13
- _this.network.sendToClientId(remotePeerId, {
14
- type: "crdt",
15
- id: message.id,
16
- key: message.key,
17
- to: [],
18
- doc: (0, uint8ArrayToHex_1.default)(saved),
19
- });
5
+ this.emit("crdtget", message);
6
+ this.store.get(message.key, function (err, data) {
7
+ if (data) {
8
+ try {
9
+ // Use the id of the get so the other client knows we are replying
10
+ var oldData = {
11
+ type: "crdtPut",
12
+ data: JSON.parse(data),
13
+ to: [],
14
+ id: message.id,
15
+ };
16
+ _this.network.sendToClientId(remotePeerId, oldData);
17
+ }
18
+ catch (e) {
19
+ // socket.send(data);
20
+ // do nothing
21
+ }
20
22
  }
21
23
  else {
22
24
  if (_this.options.debug) {
@@ -1 +1 @@
1
- {"version":3,"file":"handleCrdtGet.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtGet.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAGlC,sFAAgE;AAEhE,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAsBC;IAjBC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;QACxD,IAAI,UAAU,EAAE;YACd,IAAM,KAAK,GAAG,mBAAS,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;gBACxC,IAAI,EAAE,MAAM;gBACZ,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,EAAE,EAAE,EAAE;gBACN,GAAG,EAAE,IAAA,yBAAe,EAAC,KAAK,CAAC;aACb,CAAC,CAAC;SACnB;aAAM;YACL,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACpE;YACD,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAtBD,gCAsBC"}
1
+ {"version":3,"file":"handleCrdtGet.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtGet.ts"],"names":[],"mappings":";;AAGA,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBA4BC;IAvBC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;QACpC,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,kEAAkE;gBAClE,IAAM,OAAO,GAAG;oBACd,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACtB,EAAE,EAAE,EAAE;oBACN,EAAE,EAAE,OAAO,CAAC,EAAE;iBACG,CAAC;gBACpB,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACpD;YAAC,OAAO,CAAC,EAAE;gBACV,qBAAqB;gBACrB,aAAa;aACd;SACF;aAAM;YACL,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACpE;YACD,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA5BD,gCA4BC"}
@@ -1,91 +1,72 @@
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
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var automerge_1 = __importDefault(require("automerge"));
7
17
  var message_1 = require("../types/message");
8
18
  var toolDbVerificationWrapper_1 = __importDefault(require("../toolDbVerificationWrapper"));
9
- var hexToBase64_1 = __importDefault(require("../utils/encoding/hexToBase64"));
10
- var uint8ArrayToHex_1 = __importDefault(require("../utils/encoding/uint8ArrayToHex"));
11
- var base64ToBinaryChange_1 = __importDefault(require("../utils/encoding/base64ToBinaryChange"));
19
+ var mapCrdt_1 = __importDefault(require("../crdt/mapCrdt"));
12
20
  function handleCrdtPut(message, remotePeerId) {
13
21
  var _this = this;
14
- // key = aggregated, final value
15
- // key.crdt = automerge doc with changes
16
- var writeStart = new Date().getTime();
17
- toolDbVerificationWrapper_1.default.call(this, message).then(function (value) {
18
- // console.log("CRDT verification: ", (new Date().getTime() - writeStart) / 1000);
19
- // console.log("CRDT Verification wrapper result: ", value);
22
+ toolDbVerificationWrapper_1.default.call(this, message.data).then(function (value) {
23
+ // console.log("Verification wrapper result: ", value, message.k);
20
24
  if (value === message_1.VerifyResult.Verified) {
21
- var key_1 = message.k;
22
- var data = [];
23
- try {
24
- data = JSON.parse(message.v);
25
- }
26
- catch (e) {
27
- //
28
- }
29
- var changes_1 = data.map(hexToBase64_1.default).map(base64ToBinaryChange_1.default);
30
- _this.loadCrdtDocument(key_1).then(function (currentDoc) {
31
- // if (currentDoc) {
32
- // console.log(
33
- // "loaded",
34
- // key,
35
- // currentDoc,
36
- // Automerge.getHistory(currentDoc)
37
- // );
38
- // }
39
- var newDoc = automerge_1.default.init();
40
- try {
41
- newDoc = automerge_1.default.applyChanges(currentDoc || automerge_1.default.init(), changes_1)[0];
42
- }
43
- catch (e) {
44
- try {
45
- newDoc = automerge_1.default.applyChanges(automerge_1.default.init(), changes_1)[0];
25
+ _this.emit("crdtput", message);
26
+ _this.emit("verified", message);
27
+ // relay to other servers !!!
28
+ _this.network.sendToAll(message, true);
29
+ _this.store.get(message.data.k, function (err, oldData) {
30
+ if (oldData) {
31
+ var parsedOldData = JSON.parse(oldData);
32
+ var newMessage = message;
33
+ // Merge old document with new data incoming and save it
34
+ // Add handles for all kinds of CRDT we add
35
+ if (parsedOldData.crdt === "MAP") {
36
+ var oldDoc = new mapCrdt_1.default(_this.getAddress() || "", parsedOldData.v);
37
+ oldDoc.mergeChanges(message.data.v);
38
+ var changesMerged = oldDoc.getChanges();
39
+ newMessage = __assign({}, message);
40
+ newMessage.data.v = changesMerged;
46
41
  }
47
- catch (ee) {
48
- if (_this.options.debug) {
49
- console.warn(ee);
50
- }
42
+ if (parsedOldData.t < message.data.t) {
43
+ var key = newMessage.data.k;
44
+ _this.triggerKeyListener(key, newMessage.data);
45
+ _this.store.put(newMessage.data.k, JSON.stringify(newMessage.data), function (err, data) {
46
+ //
47
+ });
51
48
  }
49
+ else {
50
+ var key = message.data.k;
51
+ _this.triggerKeyListener(key, parsedOldData);
52
+ }
53
+ // } else if (this.options.debug) {
54
+ // console.log(
55
+ // `${message.k} has old data, but its newer. old ${parsedOldData.t} < new ${message.t}`
56
+ // );
57
+ // }
58
+ }
59
+ else {
60
+ var key = message.data.k;
61
+ _this.triggerKeyListener(key, message.data);
62
+ _this.store.put(message.data.k, JSON.stringify(message.data), function (err, data) {
63
+ //
64
+ });
52
65
  }
53
- // if (newDoc) {
54
- // console.log(
55
- // "new document changes:",
56
- // Automerge.getHistory(newDoc),
57
- // "final: ",
58
- // newDoc
59
- // );
60
- // }
61
- // persist
62
- _this.documents[key_1] = newDoc;
63
- // OOHH THE TYPECAST PAIN
64
- // Convert the crdt document to hex before saving
65
- var savedDoc = (0, uint8ArrayToHex_1.default)(automerge_1.default.save(newDoc));
66
- _this.store.put(key_1 + ".crdt", savedDoc, function (err, data) {
67
- // const writeEnd = new Date().getTime();
68
- // console.log(
69
- // "CRDT write: ",
70
- // `${key}.crdt`,
71
- // (writeEnd - writeStart) / 1000
72
- // );
73
- });
74
- var crdtMessage = {
75
- type: "crdt",
76
- key: key_1,
77
- id: message.id,
78
- to: [],
79
- doc: savedDoc,
80
- };
81
- _this.triggerKeyListener(key_1, crdtMessage);
82
- // relay to other servers
83
- // !!!
84
- _this.network.sendToAll(crdtMessage, true);
85
66
  });
86
67
  }
87
68
  else {
88
- console.log("unverified message", value, message);
69
+ console.warn("unverified message: ", value, message);
89
70
  }
90
71
  });
91
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handleCrdtPut.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtPut.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAElC,4CAA6E;AAC7E,2FAAqE;AACrE,8EAAwD;AACxD,sFAAgE;AAChE,gGAA0E;AAE1E,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAwFC;IAnFC,gCAAgC;IAChC,wCAAwC;IACxC,IAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACxC,mCAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;QACvD,kFAAkF;QAClF,4DAA4D;QAC5D,IAAI,KAAK,KAAK,sBAAY,CAAC,QAAQ,EAAE;YACnC,IAAM,KAAG,GAAG,OAAO,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,IAAI;gBACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC9B;YAAC,OAAO,CAAC,EAAE;gBACV,EAAE;aACH;YACD,IAAM,SAAO,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAW,CAAC,CAAC,GAAG,CAAC,8BAAoB,CAAC,CAAC;YAEhE,KAAI,CAAC,gBAAgB,CAAC,KAAG,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gBACzC,oBAAoB;gBACpB,iBAAiB;gBACjB,gBAAgB;gBAChB,WAAW;gBACX,kBAAkB;gBAClB,uCAAuC;gBACvC,OAAO;gBACP,IAAI;gBAEJ,IAAI,MAAM,GAAG,mBAAS,CAAC,IAAI,EAAE,CAAC;gBAC9B,IAAI;oBACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAC/B,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,EAC9B,SAAO,CACR,GAHM,CAGL;iBACH;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI;wBACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAAC,mBAAS,CAAC,IAAI,EAAE,EAAE,SAAO,CAAC,GAArD,CAAsD;qBAC9D;oBAAC,OAAO,EAAE,EAAE;wBACX,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;4BACtB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBAClB;qBACF;iBACF;gBAED,gBAAgB;gBAChB,iBAAiB;gBACjB,+BAA+B;gBAC/B,oCAAoC;gBACpC,iBAAiB;gBACjB,aAAa;gBACb,OAAO;gBACP,IAAI;gBAEJ,UAAU;gBACV,KAAI,CAAC,SAAS,CAAC,KAAG,CAAC,GAAG,MAAM,CAAC;gBAE7B,yBAAyB;gBACzB,iDAAiD;gBACjD,IAAM,QAAQ,GAAG,IAAA,yBAAe,EAAC,mBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACzD,KAAI,CAAC,KAAK,CAAC,GAAG,CAAI,KAAG,UAAO,EAAE,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;oBAChD,yCAAyC;oBACzC,eAAe;oBACf,oBAAoB;oBACpB,mBAAmB;oBACnB,mCAAmC;oBACnC,KAAK;gBACP,CAAC,CAAC,CAAC;gBAEH,IAAM,WAAW,GAAgB;oBAC/B,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,KAAG;oBACR,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,EAAE,EAAE,EAAE;oBACN,GAAG,EAAE,QAAQ;iBACd,CAAC;gBACF,KAAI,CAAC,kBAAkB,CAAC,KAAG,EAAE,WAAW,CAAC,CAAC;gBAE1C,yBAAyB;gBACzB,MAAM;gBACN,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACnD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAxFD,gCAwFC"}
1
+ {"version":3,"file":"handleCrdtPut.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtPut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,4CAAgE;AAChE,2FAAqE;AACrE,4DAAsC;AAEtC,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAqEC;IAhEC,mCAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;QAC5D,kEAAkE;QAClE,IAAI,KAAK,KAAK,sBAAY,CAAC,QAAQ,EAAE;YACnC,KAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9B,KAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC/B,6BAA6B;YAC7B,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEtC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,UAAC,GAAG,EAAE,OAAgB;gBACnD,IAAI,OAAO,EAAE;oBACX,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAE1C,IAAI,UAAU,GAAG,OAAO,CAAC;oBAEzB,wDAAwD;oBACxD,2CAA2C;oBAC3C,IAAI,aAAa,CAAC,IAAI,KAAK,KAAK,EAAE;wBAChC,IAAM,MAAM,GAAG,IAAI,iBAAO,CACxB,KAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EACvB,aAAa,CAAC,CAAC,CAChB,CAAC;wBACF,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACpC,IAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;wBAC1C,UAAU,gBACL,OAAO,CACX,CAAC;wBACF,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC;qBACnC;oBAED,IAAI,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;wBACpC,IAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC9B,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;wBAC9C,KAAI,CAAC,KAAK,CAAC,GAAG,CACZ,UAAU,CAAC,IAAI,CAAC,CAAC,EACjB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAC/B,UAAC,GAAG,EAAE,IAAI;4BACR,EAAE;wBACJ,CAAC,CACF,CAAC;qBACH;yBAAM;wBACL,IAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC3B,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;qBAC7C;oBACD,mCAAmC;oBACnC,iBAAiB;oBACjB,4FAA4F;oBAC5F,OAAO;oBACP,IAAI;iBACL;qBAAM;oBACL,IAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC3B,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC3C,KAAI,CAAC,KAAK,CAAC,GAAG,CACZ,OAAO,CAAC,IAAI,CAAC,CAAC,EACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAC5B,UAAC,GAAG,EAAE,IAAI;wBACR,EAAE;oBACJ,CAAC,CACF,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AArED,gCAqEC"}
@@ -1,15 +1,4 @@
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  function handleGet(message, remotePeerId) {
15
4
  var _this = this;
@@ -17,7 +6,12 @@ function handleGet(message, remotePeerId) {
17
6
  if (data) {
18
7
  try {
19
8
  // Use the id of the get so the other client knows we are replying
20
- var oldData = __assign(__assign({ type: "put" }, JSON.parse(data)), { to: [], id: message.id });
9
+ var oldData = {
10
+ type: "put",
11
+ data: JSON.parse(data),
12
+ to: [],
13
+ id: message.id,
14
+ };
21
15
  _this.network.sendToClientId(remotePeerId, oldData);
22
16
  }
23
17
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"handleGet.js","sourceRoot":"","sources":["../../src/messageHandlers/handleGet.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAGA,SAAwB,SAAS,CAE/B,OAAmB,EACnB,YAAoB;IAHtB,iBA2BC;IAtBC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;QACpC,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,kEAAkE;gBAClE,IAAM,OAAO,GAAG,oBACd,IAAI,EAAE,KAAK,IACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KACnB,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,OAAO,CAAC,EAAE,GACD,CAAC;gBAChB,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACpD;YAAC,OAAO,CAAC,EAAE;gBACV,qBAAqB;gBACrB,aAAa;aACd;SACF;aAAM;YACL,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACpE;YACD,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA3BD,4BA2BC"}
1
+ {"version":3,"file":"handleGet.js","sourceRoot":"","sources":["../../src/messageHandlers/handleGet.ts"],"names":[],"mappings":";;AAGA,SAAwB,SAAS,CAE/B,OAAmB,EACnB,YAAoB;IAHtB,iBA2BC;IAtBC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;QACpC,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,kEAAkE;gBAClE,IAAM,OAAO,GAAG;oBACd,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACtB,EAAE,EAAE,EAAE;oBACN,EAAE,EAAE,OAAO,CAAC,EAAE;iBACD,CAAC;gBAChB,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACpD;YAAC,OAAO,CAAC,EAAE;gBACV,qBAAqB;gBACrB,aAAa;aACd;SACF;aAAM;YACL,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACpE;YACD,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA3BD,4BA2BC"}