glow.ts 1.0.3 → 1.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 (121) hide show
  1. package/README.md +6 -15
  2. package/dist/glow.cjs.js +4 -0
  3. package/dist/glow.cjs.js.map +1 -0
  4. package/dist/glow.es.js +993 -0
  5. package/dist/glow.es.js.map +1 -0
  6. package/dist/index.d.ts +544 -0
  7. package/package.json +34 -26
  8. package/dist/cjs2/config.js +0 -18
  9. package/dist/cjs2/config.js.map +0 -1
  10. package/dist/cjs2/crypto-storage/crypto-storage.js +0 -118
  11. package/dist/cjs2/crypto-storage/crypto-storage.js.map +0 -1
  12. package/dist/cjs2/crypto-storage/in-memory-storage.js +0 -36
  13. package/dist/cjs2/crypto-storage/in-memory-storage.js.map +0 -1
  14. package/dist/cjs2/crypto-storage/local-storage.driver.js +0 -36
  15. package/dist/cjs2/crypto-storage/local-storage.driver.js.map +0 -1
  16. package/dist/cjs2/crypto-storage/storage-driver.interface.js +0 -3
  17. package/dist/cjs2/crypto-storage/storage-driver.interface.js.map +0 -1
  18. package/dist/cjs2/index.js +0 -28
  19. package/dist/cjs2/index.js.map +0 -1
  20. package/dist/cjs2/keyring/keyring.js +0 -151
  21. package/dist/cjs2/keyring/keyring.js.map +0 -1
  22. package/dist/cjs2/keys/keys.js +0 -40
  23. package/dist/cjs2/keys/keys.js.map +0 -1
  24. package/dist/cjs2/mailbox/mailbox.js +0 -352
  25. package/dist/cjs2/mailbox/mailbox.js.map +0 -1
  26. package/dist/cjs2/nacl/encryption.helper.js +0 -101
  27. package/dist/cjs2/nacl/encryption.helper.js.map +0 -1
  28. package/dist/cjs2/nacl/js-nacl-driver.js +0 -110
  29. package/dist/cjs2/nacl/js-nacl-driver.js.map +0 -1
  30. package/dist/cjs2/nacl/keypair.interface.js +0 -3
  31. package/dist/cjs2/nacl/keypair.interface.js.map +0 -1
  32. package/dist/cjs2/nacl/nacl-driver.interface.js +0 -3
  33. package/dist/cjs2/nacl/nacl-driver.interface.js.map +0 -1
  34. package/dist/cjs2/nacl/nacl.js +0 -29
  35. package/dist/cjs2/nacl/nacl.js.map +0 -1
  36. package/dist/cjs2/relay/network-error.js +0 -12
  37. package/dist/cjs2/relay/network-error.js.map +0 -1
  38. package/dist/cjs2/relay/relay-factory.js +0 -22
  39. package/dist/cjs2/relay/relay-factory.js.map +0 -1
  40. package/dist/cjs2/relay/relay.js +0 -300
  41. package/dist/cjs2/relay/relay.js.map +0 -1
  42. package/dist/cjs2/utils/utils.js +0 -39
  43. package/dist/cjs2/utils/utils.js.map +0 -1
  44. package/dist/cjs2/zax.interface.js +0 -46
  45. package/dist/cjs2/zax.interface.js.map +0 -1
  46. package/dist/esm/config.js +0 -15
  47. package/dist/esm/config.js.map +0 -1
  48. package/dist/esm/crypto-storage/crypto-storage.js +0 -114
  49. package/dist/esm/crypto-storage/crypto-storage.js.map +0 -1
  50. package/dist/esm/crypto-storage/in-memory-storage.js +0 -32
  51. package/dist/esm/crypto-storage/in-memory-storage.js.map +0 -1
  52. package/dist/esm/crypto-storage/local-storage.driver.js +0 -32
  53. package/dist/esm/crypto-storage/local-storage.driver.js.map +0 -1
  54. package/dist/esm/crypto-storage/storage-driver.interface.js +0 -2
  55. package/dist/esm/crypto-storage/storage-driver.interface.js.map +0 -1
  56. package/dist/esm/index.js +0 -14
  57. package/dist/esm/index.js.map +0 -1
  58. package/dist/esm/keyring/keyring.js +0 -147
  59. package/dist/esm/keyring/keyring.js.map +0 -1
  60. package/dist/esm/keys/keys.js +0 -36
  61. package/dist/esm/keys/keys.js.map +0 -1
  62. package/dist/esm/mailbox/mailbox.js +0 -348
  63. package/dist/esm/mailbox/mailbox.js.map +0 -1
  64. package/dist/esm/nacl/encryption.helper.js +0 -97
  65. package/dist/esm/nacl/encryption.helper.js.map +0 -1
  66. package/dist/esm/nacl/js-nacl-driver.js +0 -106
  67. package/dist/esm/nacl/js-nacl-driver.js.map +0 -1
  68. package/dist/esm/nacl/keypair.interface.js +0 -2
  69. package/dist/esm/nacl/keypair.interface.js.map +0 -1
  70. package/dist/esm/nacl/nacl-driver.interface.js +0 -2
  71. package/dist/esm/nacl/nacl-driver.interface.js.map +0 -1
  72. package/dist/esm/nacl/nacl.js +0 -25
  73. package/dist/esm/nacl/nacl.js.map +0 -1
  74. package/dist/esm/relay/network-error.js +0 -8
  75. package/dist/esm/relay/network-error.js.map +0 -1
  76. package/dist/esm/relay/relay-factory.js +0 -18
  77. package/dist/esm/relay/relay-factory.js.map +0 -1
  78. package/dist/esm/relay/relay.js +0 -293
  79. package/dist/esm/relay/relay.js.map +0 -1
  80. package/dist/esm/utils/utils.js +0 -35
  81. package/dist/esm/utils/utils.js.map +0 -1
  82. package/dist/esm/zax.interface.js +0 -43
  83. package/dist/esm/zax.interface.js.map +0 -1
  84. package/dist/types/config.d.ts +0 -10
  85. package/dist/types/config.d.ts.map +0 -1
  86. package/dist/types/crypto-storage/crypto-storage.d.ts +0 -20
  87. package/dist/types/crypto-storage/crypto-storage.d.ts.map +0 -1
  88. package/dist/types/crypto-storage/in-memory-storage.d.ts +0 -17
  89. package/dist/types/crypto-storage/in-memory-storage.d.ts.map +0 -1
  90. package/dist/types/crypto-storage/local-storage.driver.d.ts +0 -15
  91. package/dist/types/crypto-storage/local-storage.driver.d.ts.map +0 -1
  92. package/dist/types/crypto-storage/storage-driver.interface.d.ts +0 -11
  93. package/dist/types/crypto-storage/storage-driver.interface.d.ts.map +0 -1
  94. package/dist/types/index.d.ts +0 -16
  95. package/dist/types/index.d.ts.map +0 -1
  96. package/dist/types/keyring/keyring.d.ts +0 -43
  97. package/dist/types/keyring/keyring.d.ts.map +0 -1
  98. package/dist/types/keys/keys.d.ts +0 -16
  99. package/dist/types/keys/keys.d.ts.map +0 -1
  100. package/dist/types/mailbox/mailbox.d.ts +0 -148
  101. package/dist/types/mailbox/mailbox.d.ts.map +0 -1
  102. package/dist/types/nacl/encryption.helper.d.ts +0 -37
  103. package/dist/types/nacl/encryption.helper.d.ts.map +0 -1
  104. package/dist/types/nacl/js-nacl-driver.d.ts +0 -39
  105. package/dist/types/nacl/js-nacl-driver.d.ts.map +0 -1
  106. package/dist/types/nacl/keypair.interface.d.ts +0 -5
  107. package/dist/types/nacl/keypair.interface.d.ts.map +0 -1
  108. package/dist/types/nacl/nacl-driver.interface.d.ts +0 -28
  109. package/dist/types/nacl/nacl-driver.interface.d.ts.map +0 -1
  110. package/dist/types/nacl/nacl.d.ts +0 -13
  111. package/dist/types/nacl/nacl.d.ts.map +0 -1
  112. package/dist/types/relay/network-error.d.ts +0 -6
  113. package/dist/types/relay/network-error.d.ts.map +0 -1
  114. package/dist/types/relay/relay-factory.d.ts +0 -10
  115. package/dist/types/relay/relay-factory.d.ts.map +0 -1
  116. package/dist/types/relay/relay.d.ts +0 -88
  117. package/dist/types/relay/relay.d.ts.map +0 -1
  118. package/dist/types/utils/utils.d.ts +0 -9
  119. package/dist/types/utils/utils.d.ts.map +0 -1
  120. package/dist/types/zax.interface.d.ts +0 -101
  121. package/dist/types/zax.interface.d.ts.map +0 -1
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CryptoStorage = void 0;
4
- const nacl_1 = require("../nacl/nacl");
5
- const utils_1 = require("../utils/utils");
6
- const config_1 = require("../config");
7
- const local_storage_driver_1 = require("./local-storage.driver");
8
- // TODO: add bulk operations to set(), get() and remove() pairs of values simultaneously
9
- /* CryptoStorage is a handy wrapper around any storage that provides JavaScript interface,
10
- that allows to store symmetrically encrypted serializable Javascript objects and primitives. */
11
- class CryptoStorage {
12
- constructor(storageDriver, id) {
13
- const nacl = nacl_1.NaCl.getInstance();
14
- this.nacl = nacl;
15
- this.driver = storageDriver;
16
- this.id = id ? `.${id}${config_1.config.STORAGE_ROOT}` : config_1.config.STORAGE_ROOT;
17
- }
18
- static async new(id) {
19
- const storageDriver = this.getStorageDriver();
20
- const storage = new CryptoStorage(storageDriver, id);
21
- const prefixedStorageKeyTag = storage.addPrefix(config_1.config.SKEY_TAG);
22
- const storageKey = await storageDriver.get(prefixedStorageKeyTag);
23
- // Either load or generate a storage key
24
- if (storageKey) {
25
- const { key } = JSON.parse(storageKey);
26
- storage.storageKey = utils_1.Utils.fromBase64(key);
27
- }
28
- else {
29
- storage.storageKey = await storage.nacl.random_bytes(storage.nacl.crypto_secretbox_KEYBYTES);
30
- await storageDriver.set(prefixedStorageKeyTag, JSON.stringify({ key: utils_1.Utils.toBase64(storage.storageKey) }));
31
- }
32
- return storage;
33
- }
34
- static getStorageDriver() {
35
- if (!this.storageDriver) {
36
- throw new Error('[CryptoStorage] StorageDriver instance is not yet set');
37
- }
38
- else {
39
- return this.storageDriver;
40
- }
41
- }
42
- static setDefaultStorageDriver() {
43
- return this.setStorageDriver(new local_storage_driver_1.LocalStorageDriver());
44
- }
45
- static setStorageDriver(driver) {
46
- if (this.storageDriver) {
47
- throw new Error('[CryptoStorage] StorageDriver has been already set, it is supposed to be set only once');
48
- }
49
- this.storageDriver = driver;
50
- return true;
51
- }
52
- async save(tag, data) {
53
- if (!this.driver) {
54
- throw new Error('[CryptoStorage] Storage driver is not set');
55
- }
56
- if (!this.storageKey) {
57
- throw new Error('[CryptoStorage] Storage key is not set');
58
- }
59
- // Convert the data to JSON, then convert that string to a byte array
60
- const input = JSON.stringify(data);
61
- const encoded = await this.nacl.encode_utf8(input);
62
- // For each item in the store we also generate and save its own nonce
63
- const nonce = await this.nacl.crypto_secretbox_random_nonce();
64
- const cipherText = await this.nacl.crypto_secretbox(encoded, nonce, this.storageKey);
65
- // Save the cipher text and nonce
66
- await this.driver.setMultiple({
67
- [this.addPrefix(tag)]: utils_1.Utils.toBase64(cipherText),
68
- [this.addNonceTag(tag)]: utils_1.Utils.toBase64(nonce)
69
- });
70
- return true;
71
- }
72
- async get(tag) {
73
- if (!this.driver) {
74
- throw new Error('[CryptoStorage] Storage driver is not set');
75
- }
76
- if (!this.storageKey) {
77
- throw new Error('[CryptoStorage] Storage key is not set');
78
- }
79
- // Get cipher text and nonce from the storage
80
- const [data, nonce] = await this.driver.getMultiple([this.addPrefix(tag), this.addNonceTag(tag)]);
81
- // Nothing to do without cipher text or nonce
82
- if (!data || !nonce) {
83
- return null;
84
- }
85
- const dataBinary = utils_1.Utils.fromBase64(data);
86
- const nonceBinary = utils_1.Utils.fromBase64(nonce);
87
- const source = await this.nacl.crypto_secretbox_open(dataBinary, nonceBinary, this.storageKey);
88
- if (source) {
89
- const decoded = await this.nacl.decode_utf8(source);
90
- return JSON.parse(decoded);
91
- }
92
- else {
93
- throw new Error('[CryptoStorage] crypto_secretbox_open: decryption error');
94
- }
95
- }
96
- async remove(tag) {
97
- if (!this.driver) {
98
- throw new Error('[CryptoStorage] Storage driver is not set');
99
- }
100
- await this.driver.removeMultiple([this.addPrefix(tag), this.addNonceTag(tag)]);
101
- return true;
102
- }
103
- async selfDestruct() {
104
- if (!this.driver) {
105
- throw new Error('[CryptoStorage] Storage driver is not set');
106
- }
107
- await this.driver.remove(this.addPrefix(config_1.config.SKEY_TAG));
108
- }
109
- // Keys are tagged in the storage with a versioned prefix
110
- addPrefix(key) {
111
- return this.id ? (key + this.id) : key;
112
- }
113
- addNonceTag(tag) {
114
- return this.addPrefix(`${config_1.config.NONCE_TAG}.${tag}`);
115
- }
116
- }
117
- exports.CryptoStorage = CryptoStorage;
118
- //# sourceMappingURL=crypto-storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto-storage.js","sourceRoot":"","sources":["../../../src/crypto-storage/crypto-storage.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,0CAAuC;AACvC,sCAAmC;AAGnC,iEAA4D;AAE5D,wFAAwF;AAExF;kGACkG;AAClG,MAAa,aAAa;IASxB,YAAoB,aAA4B,EAAE,EAAU;QAC1D,MAAM,IAAI,GAAG,WAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,eAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,eAAM,CAAC,YAAY,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAU;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAClE,wCAAwC;QACxC,IAAI,UAAU,EAAE;YACd,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACvC,OAAO,CAAC,UAAU,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC5C;aAAM;YACL,OAAO,CAAC,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC7F,MAAM,aAAa,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,aAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAC,CAAC,CAAC,CAAC;SAC5G;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC1E;aAAM;YACL,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;IACH,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,yCAAkB,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAqB;QAC3C,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;SAC3G;QACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,IAAa;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QACD,qEAAqE;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnD,qEAAqE;QACrE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAC9D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrF,iCAAiC;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAC5B,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,aAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YACjD,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,aAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC/C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QACD,6CAA6C;QAC7C,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClG,6CAA6C;QAC7C,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QACD,MAAM,UAAU,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,aAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/F,IAAI,MAAM,EAAE;YACV,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC5B;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;SAC5E;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,yDAAyD;IACjD,SAAS,CAAC,GAAW;QAC3B,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,CAAC;IAEO,WAAW,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,eAAM,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;CACF;AAxHD,sCAwHC"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InMemoryStorage = void 0;
4
- /**
5
- * temporary created in-memory storage for testing purposes
6
- */
7
- class InMemoryStorage {
8
- constructor() {
9
- this.storage = {};
10
- }
11
- async get(key) {
12
- return (await this.getMultiple([key]))[0];
13
- }
14
- async getMultiple(keys) {
15
- return keys.map(key => this.storage[key]);
16
- }
17
- set(key, value) {
18
- return this.setMultiple({ [key]: value });
19
- }
20
- async setMultiple(values) {
21
- for (const key in values) {
22
- this.storage[key] = values[key];
23
- }
24
- }
25
- remove(key) {
26
- return this.removeMultiple([key]);
27
- }
28
- async removeMultiple(keys) {
29
- keys.forEach(key => delete this.storage[key]);
30
- }
31
- reset() {
32
- this.storage = {};
33
- }
34
- }
35
- exports.InMemoryStorage = InMemoryStorage;
36
- //# sourceMappingURL=in-memory-storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory-storage.js","sourceRoot":"","sources":["../../../src/crypto-storage/in-memory-storage.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,eAAe;IAA5B;QAEU,YAAO,GAAiC,EAAE,CAAC;IA+BrD,CAAC;IA7BC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAc;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAU;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAyC;QACzD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;SACjC;IACH,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAc;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AAjCD,0CAiCC"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LocalStorageDriver = void 0;
4
- class LocalStorageDriver {
5
- constructor(root = 'storage.') {
6
- this.rootTag = `__glow.${root}`;
7
- }
8
- async get(key) {
9
- return (await this.getMultiple([key]))[0];
10
- }
11
- async getMultiple(keys) {
12
- return keys.map(key => localStorage.getItem(this.tag(key)) || null);
13
- }
14
- async set(key, value) {
15
- return this.setMultiple({ [key]: value });
16
- }
17
- async setMultiple(values) {
18
- for (const key in values) {
19
- const value = values[key];
20
- if (value !== null) {
21
- localStorage.setItem(this.tag(key), value);
22
- }
23
- }
24
- }
25
- async remove(key) {
26
- this.removeMultiple([key]);
27
- }
28
- async removeMultiple(keys) {
29
- keys.forEach(key => localStorage.removeItem(this.tag(key)));
30
- }
31
- tag(key) {
32
- return `${this.rootTag}.${key}`;
33
- }
34
- }
35
- exports.LocalStorageDriver = LocalStorageDriver;
36
- //# sourceMappingURL=local-storage.driver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-storage.driver.js","sourceRoot":"","sources":["../../../src/crypto-storage/local-storage.driver.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IAG7B,YAAY,IAAI,GAAG,UAAU;QAC3B,IAAI,CAAC,OAAO,GAAG,UAAU,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAc;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAoB;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAyC;QACzD,KAAI,MAAM,GAAG,IAAI,MAAM,EAAE;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;aAC5C;SACF;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAc;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,GAAG,CAAC,GAAW;QACrB,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC;IAClC,CAAC;CACF;AAvCD,gDAuCC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=storage-driver.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage-driver.interface.js","sourceRoot":"","sources":["../../../src/crypto-storage/storage-driver.interface.ts"],"names":[],"mappings":""}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InMemoryStorage = exports.NetworkError = exports.Utils = exports.JsNaClDriver = exports.ZaxMessageKind = exports.LocalStorageDriver = exports.CryptoStorage = exports.Relay = exports.Mailbox = exports.KeyRing = exports.Keys = exports.NaCl = void 0;
4
- const nacl_1 = require("./nacl/nacl");
5
- Object.defineProperty(exports, "NaCl", { enumerable: true, get: function () { return nacl_1.NaCl; } });
6
- const keys_js_1 = require("./keys/keys.js");
7
- Object.defineProperty(exports, "Keys", { enumerable: true, get: function () { return keys_js_1.Keys; } });
8
- const keyring_js_1 = require("./keyring/keyring.js");
9
- Object.defineProperty(exports, "KeyRing", { enumerable: true, get: function () { return keyring_js_1.KeyRing; } });
10
- const crypto_storage_js_1 = require("./crypto-storage/crypto-storage.js");
11
- Object.defineProperty(exports, "CryptoStorage", { enumerable: true, get: function () { return crypto_storage_js_1.CryptoStorage; } });
12
- const local_storage_driver_js_1 = require("./crypto-storage/local-storage.driver.js");
13
- Object.defineProperty(exports, "LocalStorageDriver", { enumerable: true, get: function () { return local_storage_driver_js_1.LocalStorageDriver; } });
14
- const mailbox_1 = require("./mailbox/mailbox");
15
- Object.defineProperty(exports, "Mailbox", { enumerable: true, get: function () { return mailbox_1.Mailbox; } });
16
- const relay_1 = require("./relay/relay");
17
- Object.defineProperty(exports, "Relay", { enumerable: true, get: function () { return relay_1.Relay; } });
18
- const zax_interface_1 = require("./zax.interface");
19
- Object.defineProperty(exports, "ZaxMessageKind", { enumerable: true, get: function () { return zax_interface_1.ZaxMessageKind; } });
20
- const js_nacl_driver_1 = require("./nacl/js-nacl-driver");
21
- Object.defineProperty(exports, "JsNaClDriver", { enumerable: true, get: function () { return js_nacl_driver_1.JsNaClDriver; } });
22
- const utils_1 = require("./utils/utils");
23
- Object.defineProperty(exports, "Utils", { enumerable: true, get: function () { return utils_1.Utils; } });
24
- const network_error_1 = require("./relay/network-error");
25
- Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return network_error_1.NetworkError; } });
26
- const in_memory_storage_1 = require("./crypto-storage/in-memory-storage");
27
- Object.defineProperty(exports, "InMemoryStorage", { enumerable: true, get: function () { return in_memory_storage_1.InMemoryStorage; } });
28
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAkBjC,qFAlBO,WAAI,OAkBP;AAjBN,4CAAsC;AAkBpC,qFAlBO,cAAI,OAkBP;AAjBN,qDAA+C;AAkB7C,wFAlBO,oBAAO,OAkBP;AAjBT,0EAAmE;AAoBjE,8FApBO,iCAAa,OAoBP;AAlBf,sFAA8E;AAoB5E,mGApBO,4CAAkB,OAoBP;AAnBpB,+CAA4C;AAe1C,wFAfO,iBAAO,OAeP;AAdT,yCAAsC;AAepC,sFAfO,aAAK,OAeP;AAdP,mDAEyB;AAgBvB,+FAjBA,8BAAc,OAiBA;AAfhB,0DAAqD;AAsBnD,6FAtBO,6BAAY,OAsBP;AArBd,yCAAsC;AAsBpC,sFAtBO,aAAK,OAsBP;AApBP,yDAAqD;AAqBnD,6FArBO,4BAAY,OAqBP;AApBd,0EAAqE;AAqBnE,gGArBO,mCAAe,OAqBP"}
@@ -1,151 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyRing = void 0;
4
- const crypto_storage_1 = require("../crypto-storage/crypto-storage");
5
- const keys_1 = require("../keys/keys");
6
- const nacl_1 = require("../nacl/nacl");
7
- const utils_1 = require("../utils/utils");
8
- const commKeyTag = '__::commKey::__';
9
- // Manages the set of public keys of counterparties
10
- class KeyRing {
11
- constructor(naclDriver, cryptoStorage, commKey) {
12
- this.guestKeys = new Map();
13
- this.nacl = naclDriver;
14
- this.storage = cryptoStorage;
15
- this.commKey = commKey;
16
- }
17
- static async new(id) {
18
- const nacl = nacl_1.NaCl.getInstance();
19
- const cryptoStorage = await crypto_storage_1.CryptoStorage.new(id);
20
- const commKey = await KeyRing.getCommKeyOrCreate(nacl, cryptoStorage);
21
- const keyRing = new KeyRing(nacl, cryptoStorage, commKey);
22
- await keyRing.loadGuestKeys();
23
- return keyRing;
24
- }
25
- static async fromBackup(id, backupString) {
26
- const backup = JSON.parse(backupString);
27
- const secretKey = utils_1.Utils.fromBase64(backup[commKeyTag]);
28
- const restoredKeyRing = await KeyRing.new(id);
29
- await restoredKeyRing.setCommFromSecKey(secretKey);
30
- for (const [key, value] of Object.entries(backup)) {
31
- if (key !== commKeyTag) {
32
- await restoredKeyRing.addGuest(key, value);
33
- }
34
- }
35
- return restoredKeyRing;
36
- }
37
- getNumberOfGuests() {
38
- return this.guestKeys.size;
39
- }
40
- get guests() {
41
- return this.guestKeys;
42
- }
43
- /**
44
- * Returns public identity, which is the default communication key.
45
- * Correspondents can know it, whereas Relays do not need it (other than
46
- * temporarily for internal use during the ownership proof)
47
- */
48
- getPubCommKey() {
49
- return this.commKey.publicKey;
50
- }
51
- getPrivateCommKey() {
52
- return this.commKey.privateKey;
53
- }
54
- /**
55
- * Returns HPK (hash of the public key) of the mailbox. This is what Zax relays
56
- * uses as the universal address of the mailbox
57
- */
58
- async getHpk() {
59
- const hpk = await this.nacl.h2(utils_1.Utils.fromBase64(this.commKey.publicKey));
60
- return utils_1.Utils.toBase64(hpk);
61
- }
62
- getTagByHpk(hpk) {
63
- for (const [key, value] of this.guestKeys) {
64
- if (value.hpk === hpk) {
65
- return key;
66
- }
67
- }
68
- return null;
69
- }
70
- getGuestKey(guestTag) {
71
- const keyRecord = this.guestKeys.get(guestTag);
72
- if (keyRecord) {
73
- return keyRecord.pk;
74
- }
75
- return null;
76
- }
77
- // Backups
78
- async backup() {
79
- const backup = {
80
- [commKeyTag]: this.commKey.privateKey
81
- };
82
- if (this.getNumberOfGuests() > 0) {
83
- for (const [key, value] of this.guestKeys) {
84
- if (key && value) {
85
- backup[key] = value.pk;
86
- }
87
- }
88
- }
89
- return JSON.stringify(backup);
90
- }
91
- async setCommFromSeed(seed) {
92
- this.commKey = new keys_1.Keys(await this.nacl.crypto_box_keypair_from_seed(seed));
93
- await this.storage.save(KeyRing.commKeyTag, this.commKey.toString());
94
- }
95
- async setCommFromSecKey(rawSecretKey) {
96
- this.commKey = new keys_1.Keys(await this.nacl.crypto_box_keypair_from_raw_sk(rawSecretKey));
97
- await this.storage.save(KeyRing.commKeyTag, this.commKey.toString());
98
- }
99
- async addGuest(guestTag, publicKey) {
100
- const b64_h2 = utils_1.Utils.toBase64(await this.nacl.h2(utils_1.Utils.fromBase64(publicKey)));
101
- this.guestKeys.set(guestTag, {
102
- pk: publicKey,
103
- hpk: b64_h2
104
- });
105
- await this.saveGuests();
106
- return b64_h2;
107
- }
108
- async removeGuest(guestTag) {
109
- if (this.guestKeys.has(guestTag)) {
110
- this.guestKeys.delete(guestTag);
111
- await this.saveGuests();
112
- }
113
- return true;
114
- }
115
- async loadGuestKeys() {
116
- const guestKeys = await this.storage.get(KeyRing.guestRegistryTag);
117
- if (!guestKeys) {
118
- return;
119
- }
120
- else if (typeof guestKeys === 'object') {
121
- this.guestKeys = new Map(Object.entries(guestKeys));
122
- }
123
- else {
124
- throw new Error('[Keyring] Guest keys is not an object');
125
- }
126
- }
127
- async saveGuests() {
128
- await this.storage.save(KeyRing.guestRegistryTag, utils_1.Utils.toObject(this.guestKeys.entries()));
129
- }
130
- static async getCommKeyOrCreate(nacl, storage) {
131
- const commKeyRecord = await storage.get(KeyRing.commKeyTag);
132
- if (commKeyRecord && typeof commKeyRecord === 'string') {
133
- return new keys_1.Keys(commKeyRecord);
134
- }
135
- else {
136
- const keypair = await nacl.crypto_box_keypair();
137
- const commKey = new keys_1.Keys(keypair);
138
- await storage.save(KeyRing.commKeyTag, commKey.toString());
139
- return commKey;
140
- }
141
- }
142
- async selfDestruct() {
143
- await this.storage.remove(KeyRing.guestRegistryTag);
144
- await this.storage.remove(KeyRing.commKeyTag);
145
- await this.storage.selfDestruct();
146
- }
147
- }
148
- exports.KeyRing = KeyRing;
149
- KeyRing.commKeyTag = 'comm_key';
150
- KeyRing.guestRegistryTag = 'guest_registry';
151
- //# sourceMappingURL=keyring.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyring.js","sourceRoot":"","sources":["../../../src/keyring/keyring.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Keys = void 0;
4
- const utils_1 = require("../utils/utils");
5
- /**
6
- * A simple wrapper around a public/private keys pair.
7
- * Stores keys in base64 format.
8
- */
9
- class Keys {
10
- constructor(keys) {
11
- this.keys = keys;
12
- if (typeof keys === 'string') {
13
- const { boxPk, boxSk } = JSON.parse(keys);
14
- this.keyPair = {
15
- boxPk: utils_1.Utils.fromBase64(boxPk),
16
- boxSk: utils_1.Utils.fromBase64(boxSk)
17
- };
18
- }
19
- else {
20
- this.keyPair = keys;
21
- }
22
- }
23
- static isEqual(keys1, keys2) {
24
- return keys1.toString() === keys2.toString();
25
- }
26
- toString() {
27
- return JSON.stringify({
28
- boxPk: this.publicKey,
29
- boxSk: this.privateKey
30
- });
31
- }
32
- get publicKey() {
33
- return utils_1.Utils.toBase64(this.keyPair.boxPk);
34
- }
35
- get privateKey() {
36
- return utils_1.Utils.toBase64(this.keyPair.boxSk);
37
- }
38
- }
39
- exports.Keys = Keys;
40
- //# sourceMappingURL=keys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":";;;AAAA,0CAA+C;AAG/C;;;GAGG;AACH,MAAa,IAAI;IAGf,YAAmB,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;QACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAG;gBACb,KAAK,EAAE,aAAK,CAAC,UAAU,CAAC,KAAK,CAAC;gBAC9B,KAAK,EAAE,aAAK,CAAC,UAAU,CAAC,KAAK,CAAC;aAC/B,CAAC;SACH;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAW,EAAE,KAAW;QACrC,OAAO,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/C,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,KAAK,EAAE,IAAI,CAAC,UAAU;SACvB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS;QACX,OAAO,aAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,aAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;CACF;AAjCD,oBAiCC"}