@ownables/platform-browser 0.9.0 → 0.9.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 +3 -3
- package/dist/core/src/index.d.ts +1 -3
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/index.js +1 -3
- package/dist/core/src/index.js.map +1 -1
- package/dist/core/src/interfaces/core.d.ts +1 -1
- package/dist/core/src/interfaces/core.d.ts.map +1 -1
- package/dist/core/src/logger.d.ts +1 -1
- package/dist/core/src/services/AnchorValidation.service.d.ts +9 -21
- package/dist/core/src/services/AnchorValidation.service.d.ts.map +1 -1
- package/dist/core/src/services/AnchorValidation.service.js +36 -15
- package/dist/core/src/services/AnchorValidation.service.js.map +1 -1
- package/dist/core/src/services/EventChain.service.d.ts +8 -6
- package/dist/core/src/services/EventChain.service.d.ts.map +1 -1
- package/dist/core/src/services/EventChain.service.js +13 -12
- package/dist/core/src/services/EventChain.service.js.map +1 -1
- package/dist/core/src/services/Ownable.service.d.ts +27 -15
- package/dist/core/src/services/Ownable.service.d.ts.map +1 -1
- package/dist/core/src/services/Ownable.service.js +90 -94
- package/dist/core/src/services/Ownable.service.js.map +1 -1
- package/dist/core/src/services/Polling.service.d.ts +3 -3
- package/dist/core/src/services/Polling.service.d.ts.map +1 -1
- package/dist/core/src/services/Polling.service.js +10 -10
- package/dist/core/src/services/Polling.service.js.map +1 -1
- package/dist/core/src/services/Progress.service.d.ts +7 -0
- package/dist/core/src/services/Progress.service.d.ts.map +1 -0
- package/dist/core/src/services/Progress.service.js +12 -0
- package/dist/core/src/services/Progress.service.js.map +1 -0
- package/dist/core/src/services/ReplayAuthority.service.d.ts +13 -10
- package/dist/core/src/services/ReplayAuthority.service.d.ts.map +1 -1
- package/dist/core/src/services/ReplayAuthority.service.js +36 -16
- package/dist/core/src/services/ReplayAuthority.service.js.map +1 -1
- package/dist/core/src/services/SIWE.service.d.ts +2 -2
- package/dist/core/src/services/SIWE.service.d.ts.map +1 -1
- package/dist/core/src/services/SIWE.service.js +26 -27
- package/dist/core/src/services/SIWE.service.js.map +1 -1
- package/dist/core/src/services/WorkerRPC.service.d.ts.map +1 -1
- package/dist/core/src/services/WorkerRPC.service.js +3 -1
- package/dist/core/src/services/WorkerRPC.service.js.map +1 -1
- package/dist/core/src/types/AnchorValidation.d.ts +12 -2
- package/dist/core/src/types/AnchorValidation.d.ts.map +1 -1
- package/dist/core/src/types/MessageInfo.d.ts +1 -1
- package/dist/core/src/types/OwnableRuntime.d.ts +1 -1
- package/dist/core/src/types/Replay.d.ts +9 -9
- package/dist/core/src/types/Replay.d.ts.map +1 -1
- package/dist/core/src/utils/calculateOwnablePackageCid.d.ts +6 -0
- package/dist/core/src/utils/calculateOwnablePackageCid.d.ts.map +1 -0
- package/dist/core/src/{services/OwnablePackageCid.service.js → utils/calculateOwnablePackageCid.js} +8 -8
- package/dist/core/src/utils/calculateOwnablePackageCid.js.map +1 -0
- package/dist/core/src/utils.d.ts +2 -0
- package/dist/core/src/utils.d.ts.map +1 -0
- package/dist/core/src/utils.js +2 -0
- package/dist/core/src/utils.js.map +1 -0
- package/dist/platform-browser/src/assets/workerSource.d.ts.map +1 -0
- package/dist/platform-browser/src/assets/workerSource.js.map +1 -0
- package/dist/platform-browser/src/constants/hub.d.ts +2 -0
- package/dist/platform-browser/src/constants/hub.d.ts.map +1 -0
- package/dist/platform-browser/src/constants/hub.js +2 -0
- package/dist/platform-browser/src/constants/hub.js.map +1 -0
- package/dist/platform-browser/src/index.d.ts +5 -3
- package/dist/platform-browser/src/index.d.ts.map +1 -1
- package/dist/platform-browser/src/index.js +5 -3
- package/dist/platform-browser/src/index.js.map +1 -1
- package/dist/platform-browser/src/services/BrowserRuntimeRpcProvider.service.d.ts +5 -0
- package/dist/platform-browser/src/services/BrowserRuntimeRpcProvider.service.d.ts.map +1 -0
- package/dist/platform-browser/src/services/BrowserRuntimeRpcProvider.service.js +7 -0
- package/dist/platform-browser/src/services/BrowserRuntimeRpcProvider.service.js.map +1 -0
- package/dist/platform-browser/src/services/BrowserRuntimeSourceProvider.service.d.ts +7 -0
- package/dist/platform-browser/src/services/BrowserRuntimeSourceProvider.service.d.ts.map +1 -0
- package/dist/platform-browser/src/services/BrowserRuntimeSourceProvider.service.js +11 -0
- package/dist/platform-browser/src/services/BrowserRuntimeSourceProvider.service.js.map +1 -0
- package/dist/platform-browser/src/services/Hub.service.d.ts +2 -3
- package/dist/platform-browser/src/services/Hub.service.d.ts.map +1 -1
- package/dist/platform-browser/src/services/Hub.service.js +39 -40
- package/dist/platform-browser/src/services/Hub.service.js.map +1 -1
- package/dist/platform-browser/src/services/IDB.service.d.ts +1 -1
- package/dist/platform-browser/src/services/IDB.service.d.ts.map +1 -1
- package/dist/platform-browser/src/services/IDB.service.js +18 -19
- package/dist/platform-browser/src/services/IDB.service.js.map +1 -1
- package/dist/platform-browser/src/services/LocalStorage.service.d.ts.map +1 -1
- package/dist/platform-browser/src/services/LocalStorage.service.js +1 -1
- package/dist/platform-browser/src/services/LocalStorage.service.js.map +1 -1
- package/dist/platform-browser/src/services/Package.service.d.ts +8 -10
- package/dist/platform-browser/src/services/Package.service.d.ts.map +1 -1
- package/dist/platform-browser/src/services/Package.service.js +72 -77
- package/dist/platform-browser/src/services/Package.service.js.map +1 -1
- package/dist/platform-browser/src/services/Relay.service.d.ts +7 -7
- package/dist/platform-browser/src/services/Relay.service.d.ts.map +1 -1
- package/dist/platform-browser/src/services/Relay.service.js +25 -25
- package/dist/platform-browser/src/services/Relay.service.js.map +1 -1
- package/package.json +2 -2
- package/dist/core/src/ownableErrorMessage.d.ts +0 -2
- package/dist/core/src/ownableErrorMessage.d.ts.map +0 -1
- package/dist/core/src/ownableErrorMessage.js +0 -23
- package/dist/core/src/ownableErrorMessage.js.map +0 -1
- package/dist/core/src/progress.d.ts +0 -3
- package/dist/core/src/progress.d.ts.map +0 -1
- package/dist/core/src/progress.js +0 -8
- package/dist/core/src/progress.js.map +0 -1
- package/dist/core/src/services/OwnablePackageCid.service.d.ts +0 -6
- package/dist/core/src/services/OwnablePackageCid.service.d.ts.map +0 -1
- package/dist/core/src/services/OwnablePackageCid.service.js.map +0 -1
- package/dist/core/src/services/workerSource.d.ts.map +0 -1
- package/dist/core/src/services/workerSource.js.map +0 -1
- package/dist/platform-browser/src/utils/calculateCid.d.ts +0 -2
- package/dist/platform-browser/src/utils/calculateCid.d.ts.map +0 -1
- package/dist/platform-browser/src/utils/calculateCid.js +0 -8
- package/dist/platform-browser/src/utils/calculateCid.js.map +0 -1
- /package/dist/{core/src/services → platform-browser/src/assets}/workerSource.d.ts +0 -0
- /package/dist/{core/src/services → platform-browser/src/assets}/workerSource.js +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Default base DB name; per-address DBs will suffix this with the address
|
|
2
|
-
const DEFAULT_DB_NAME =
|
|
2
|
+
const DEFAULT_DB_NAME = 'ownables';
|
|
3
3
|
const PACKAGE_DB_NAME = `${DEFAULT_DB_NAME}:packages`;
|
|
4
|
-
const PACKAGE_DB_STORES = [
|
|
4
|
+
const PACKAGE_DB_STORES = ['package-assets'];
|
|
5
5
|
export default class IDBService {
|
|
6
6
|
db;
|
|
7
7
|
dbName;
|
|
@@ -32,7 +32,7 @@ export default class IDBService {
|
|
|
32
32
|
return this.packageInstance;
|
|
33
33
|
}
|
|
34
34
|
static async open(suffix, indexedDBApi = window.indexedDB) {
|
|
35
|
-
const suffixClean = (suffix ||
|
|
35
|
+
const suffixClean = (suffix || '').trim().toLowerCase();
|
|
36
36
|
const dbName = suffixClean ? `${DEFAULT_DB_NAME}:${suffixClean}` : DEFAULT_DB_NAME;
|
|
37
37
|
return this.openWithSchema(dbName, [], indexedDBApi);
|
|
38
38
|
}
|
|
@@ -76,11 +76,11 @@ export default class IDBService {
|
|
|
76
76
|
this.db.close();
|
|
77
77
|
}
|
|
78
78
|
error(event) {
|
|
79
|
-
return event.target?.error || new Error(
|
|
79
|
+
return event.target?.error || new Error('Unknown error');
|
|
80
80
|
}
|
|
81
81
|
async get(store, key) {
|
|
82
82
|
return new Promise(async (resolve, reject) => {
|
|
83
|
-
const tx = this.db.transaction(store,
|
|
83
|
+
const tx = this.db.transaction(store, 'readonly');
|
|
84
84
|
const request = tx.objectStore(store).get(key);
|
|
85
85
|
request.onsuccess = () => resolve(request.result);
|
|
86
86
|
request.onerror = (event) => reject(this.error(event));
|
|
@@ -88,7 +88,7 @@ export default class IDBService {
|
|
|
88
88
|
}
|
|
89
89
|
async getAll(store) {
|
|
90
90
|
return new Promise(async (resolve, reject) => {
|
|
91
|
-
const tx = this.db.transaction(store,
|
|
91
|
+
const tx = this.db.transaction(store, 'readonly');
|
|
92
92
|
const request = tx.objectStore(store).getAll();
|
|
93
93
|
request.onsuccess = () => resolve(request.result);
|
|
94
94
|
request.onerror = (event) => reject(this.error(event));
|
|
@@ -96,7 +96,7 @@ export default class IDBService {
|
|
|
96
96
|
}
|
|
97
97
|
async getMap(store) {
|
|
98
98
|
return new Promise(async (resolve, reject) => {
|
|
99
|
-
const tx = this.db.transaction(store,
|
|
99
|
+
const tx = this.db.transaction(store, 'readonly');
|
|
100
100
|
const request = tx.objectStore(store).openCursor();
|
|
101
101
|
const map = new Map();
|
|
102
102
|
request.onsuccess = () => {
|
|
@@ -114,17 +114,14 @@ export default class IDBService {
|
|
|
114
114
|
}
|
|
115
115
|
async keys(store) {
|
|
116
116
|
return new Promise(async (resolve, reject) => {
|
|
117
|
-
const tx = this.db
|
|
118
|
-
.transaction(store, "readonly")
|
|
119
|
-
.objectStore(store)
|
|
120
|
-
.getAllKeys();
|
|
117
|
+
const tx = this.db.transaction(store, 'readonly').objectStore(store).getAllKeys();
|
|
121
118
|
tx.onsuccess = () => resolve(tx.result);
|
|
122
119
|
tx.onerror = (event) => reject(this.error(event));
|
|
123
120
|
});
|
|
124
121
|
}
|
|
125
122
|
async keysByPrefix(store, prefix) {
|
|
126
123
|
return new Promise((resolve, reject) => {
|
|
127
|
-
const tx = this.db.transaction(store,
|
|
124
|
+
const tx = this.db.transaction(store, 'readonly');
|
|
128
125
|
const request = tx.objectStore(store).openKeyCursor();
|
|
129
126
|
const keys = [];
|
|
130
127
|
request.onsuccess = () => {
|
|
@@ -144,7 +141,7 @@ export default class IDBService {
|
|
|
144
141
|
}
|
|
145
142
|
async getAllByPrefix(store, prefix) {
|
|
146
143
|
return new Promise((resolve, reject) => {
|
|
147
|
-
const tx = this.db.transaction(store,
|
|
144
|
+
const tx = this.db.transaction(store, 'readonly');
|
|
148
145
|
const request = tx.objectStore(store).openCursor();
|
|
149
146
|
const values = [];
|
|
150
147
|
request.onsuccess = () => {
|
|
@@ -164,7 +161,7 @@ export default class IDBService {
|
|
|
164
161
|
}
|
|
165
162
|
async set(store, key, value) {
|
|
166
163
|
return new Promise(async (resolve, reject) => {
|
|
167
|
-
const tx = this.db.transaction(store,
|
|
164
|
+
const tx = this.db.transaction(store, 'readwrite');
|
|
168
165
|
const request = tx.objectStore(store).put(value, key);
|
|
169
166
|
request.onsuccess = () => resolve();
|
|
170
167
|
request.onerror = (event) => reject(this.error(event));
|
|
@@ -174,10 +171,10 @@ export default class IDBService {
|
|
|
174
171
|
const storeNames = b ? [a] : Object.keys(a);
|
|
175
172
|
const data = b ? { [a]: b } : a;
|
|
176
173
|
return new Promise(async (resolve, reject) => {
|
|
177
|
-
const tx = this.db.transaction(storeNames,
|
|
174
|
+
const tx = this.db.transaction(storeNames, 'readwrite');
|
|
178
175
|
tx.oncomplete = () => resolve();
|
|
179
176
|
tx.onerror = (event) => reject(this.error(event));
|
|
180
|
-
tx.onabort = () => reject(new Error(
|
|
177
|
+
tx.onabort = () => reject(new Error('Transaction aborted'));
|
|
181
178
|
try {
|
|
182
179
|
for (const [store, map] of Object.entries(data)) {
|
|
183
180
|
const objectStore = tx.objectStore(store);
|
|
@@ -195,7 +192,7 @@ export default class IDBService {
|
|
|
195
192
|
}
|
|
196
193
|
async clear(store) {
|
|
197
194
|
return new Promise(async (resolve, reject) => {
|
|
198
|
-
const tx = this.db.transaction(store,
|
|
195
|
+
const tx = this.db.transaction(store, 'readwrite');
|
|
199
196
|
const request = tx.objectStore(store).clear();
|
|
200
197
|
request.onsuccess = () => resolve();
|
|
201
198
|
request.onerror = (event) => reject(this.error(event));
|
|
@@ -236,7 +233,9 @@ export default class IDBService {
|
|
|
236
233
|
async deleteStore(store) {
|
|
237
234
|
const stores = store instanceof RegExp
|
|
238
235
|
? Array.from(this.db.objectStoreNames).filter((name) => name.match(store))
|
|
239
|
-
: this.db.objectStoreNames.contains(store)
|
|
236
|
+
: this.db.objectStoreNames.contains(store)
|
|
237
|
+
? [store]
|
|
238
|
+
: [];
|
|
240
239
|
if (stores.length === 0)
|
|
241
240
|
return;
|
|
242
241
|
await this.upgrade((db2) => {
|
|
@@ -268,7 +267,7 @@ export default class IDBService {
|
|
|
268
267
|
}
|
|
269
268
|
async delete(store, key) {
|
|
270
269
|
return new Promise(async (resolve, reject) => {
|
|
271
|
-
const tx = this.db.transaction(store,
|
|
270
|
+
const tx = this.db.transaction(store, 'readwrite');
|
|
272
271
|
const request = tx.objectStore(store).delete(key);
|
|
273
272
|
request.onsuccess = () => resolve();
|
|
274
273
|
request.onerror = (event) => reject(this.error(event));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDB.service.js","sourceRoot":"","sources":["../../../../src/services/IDB.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IDB.service.js","sourceRoot":"","sources":["../../../../src/services/IDB.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalStorage.service.d.ts","sourceRoot":"","sources":["../../../../src/services/LocalStorage.service.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,KAAK,GAAE,MAAW,EAAE,OAAO,GAAE,OAAsB;IAK/D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAKrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAIlC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"LocalStorage.service.d.ts","sourceRoot":"","sources":["../../../../src/services/LocalStorage.service.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,KAAK,GAAE,MAAW,EAAE,OAAO,GAAE,OAAsB;IAK/D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAKrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAIlC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IASrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,KAAK,IAAI,IAAI;IAeb,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAE,OAAsB,GAAG,IAAI;IAItD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAazC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;CAO5D"}
|
|
@@ -41,7 +41,7 @@ export default class LocalStorageService {
|
|
|
41
41
|
const list = this.get(`${this.prefix}${key}`);
|
|
42
42
|
if (!Array.isArray(list))
|
|
43
43
|
throw new Error(`"${this.prefix}${key}" is not an array in local storage`);
|
|
44
|
-
const updatedList = typeof list[0] ===
|
|
44
|
+
const updatedList = typeof list[0] === 'object'
|
|
45
45
|
? list.filter((item) => item[value] !== value)
|
|
46
46
|
: list.filter((item) => item !== value);
|
|
47
47
|
this.set(`${this.prefix}${key}`, updatedList);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalStorage.service.js","sourceRoot":"","sources":["../../../../src/services/LocalStorage.service.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACrB,MAAM,CAAS;IACf,OAAO,CAAU;IAElC,YAAY,QAAgB,EAAE,EAAE,UAAmB,YAAY;QAC7D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAU;QACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,KAAU;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACtB,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"LocalStorage.service.js","sourceRoot":"","sources":["../../../../src/services/LocalStorage.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import LocalStorageService from
|
|
2
|
-
import type { TypedPackage, TypedPackageStub } from
|
|
3
|
-
import JSZip from
|
|
4
|
-
import IDBService from
|
|
5
|
-
import { RelayService } from
|
|
6
|
-
import { Buffer } from
|
|
7
|
-
import { EventChain } from
|
|
1
|
+
import LocalStorageService from './LocalStorage.service.js';
|
|
2
|
+
import type { TypedPackage, TypedPackageStub } from '@ownables/core/types/TypedPackage';
|
|
3
|
+
import JSZip from 'jszip';
|
|
4
|
+
import IDBService from './IDB.service.js';
|
|
5
|
+
import { RelayService } from './Relay.service.js';
|
|
6
|
+
import { Buffer } from 'buffer';
|
|
7
|
+
import { EventChain } from 'eqty-core';
|
|
8
8
|
export default class PackageService {
|
|
9
9
|
private idb;
|
|
10
10
|
private relay;
|
|
11
11
|
private localStorage;
|
|
12
12
|
private readonly exampleUrl;
|
|
13
13
|
private readonly examples;
|
|
14
|
-
private readonly calculateCidFn;
|
|
15
14
|
private readonly fetchFn;
|
|
16
15
|
private readonly fileReaderFactory;
|
|
17
16
|
private readonly logger;
|
|
@@ -19,10 +18,9 @@ export default class PackageService {
|
|
|
19
18
|
constructor(idb: IDBService, relay: RelayService, localStorage: LocalStorageService, options?: {
|
|
20
19
|
exampleUrl?: string;
|
|
21
20
|
examples?: TypedPackageStub[];
|
|
22
|
-
calculateCidFn?: (files: File[]) => Promise<string>;
|
|
23
21
|
fetchFn?: (input: string, init?: RequestInit) => Promise<Response>;
|
|
24
22
|
fileReaderFactory?: () => FileReader;
|
|
25
|
-
logger?: Pick<Console,
|
|
23
|
+
logger?: Pick<Console, 'debug' | 'info' | 'warn' | 'error'>;
|
|
26
24
|
legacyIdb?: IDBService;
|
|
27
25
|
});
|
|
28
26
|
list(): Array<TypedPackage | TypedPackageStub>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Package.service.d.ts","sourceRoot":"","sources":["../../../../src/services/Package.service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Package.service.d.ts","sourceRoot":"","sources":["../../../../src/services/Package.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import JSZip from
|
|
2
|
-
import mime from
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import JSZip from 'jszip';
|
|
2
|
+
import mime from 'mime/lite';
|
|
3
|
+
import { Buffer } from 'buffer';
|
|
4
|
+
import { EventChain } from 'eqty-core';
|
|
5
|
+
import { calculateOwnablePackageCid } from '@ownables/core/utils';
|
|
6
6
|
const getMimeType = (filename) => mime?.getType?.(filename);
|
|
7
|
-
const PACKAGE_ASSET_STORE =
|
|
8
|
-
const ATTACHMENT_PREFIX =
|
|
7
|
+
const PACKAGE_ASSET_STORE = 'package-assets';
|
|
8
|
+
const ATTACHMENT_PREFIX = 'attachment:';
|
|
9
9
|
const capabilitiesStaticOwnable = {
|
|
10
10
|
isDynamic: false,
|
|
11
11
|
hasMetadata: false,
|
|
@@ -17,14 +17,13 @@ const capabilitiesStaticOwnable = {
|
|
|
17
17
|
isLockable: false,
|
|
18
18
|
isTransferable: false,
|
|
19
19
|
};
|
|
20
|
-
const isInternalPackage = (pkg) => Array.isArray(pkg.keywords) && pkg.keywords.includes(
|
|
20
|
+
const isInternalPackage = (pkg) => Array.isArray(pkg.keywords) && pkg.keywords.includes('internal');
|
|
21
21
|
export default class PackageService {
|
|
22
22
|
idb;
|
|
23
23
|
relay;
|
|
24
24
|
localStorage;
|
|
25
25
|
exampleUrl;
|
|
26
26
|
examples;
|
|
27
|
-
calculateCidFn;
|
|
28
27
|
fetchFn;
|
|
29
28
|
fileReaderFactory;
|
|
30
29
|
logger;
|
|
@@ -35,14 +34,13 @@ export default class PackageService {
|
|
|
35
34
|
this.localStorage = localStorage;
|
|
36
35
|
this.exampleUrl = options.exampleUrl;
|
|
37
36
|
this.examples = options.examples ?? [];
|
|
38
|
-
this.calculateCidFn = options.calculateCidFn ?? calculateCid;
|
|
39
37
|
this.fetchFn = options.fetchFn ?? ((input, init) => fetch(input, init));
|
|
40
38
|
this.fileReaderFactory = options.fileReaderFactory ?? (() => new FileReader());
|
|
41
39
|
this.logger = options.logger ?? console;
|
|
42
40
|
this.legacyIdb = options.legacyIdb;
|
|
43
41
|
}
|
|
44
42
|
list() {
|
|
45
|
-
const local = (this.localStorage.get(
|
|
43
|
+
const local = (this.localStorage.get('packages') || []);
|
|
46
44
|
for (const pkg of local) {
|
|
47
45
|
pkg.versions = pkg.versions.map(({ date, cid }) => ({
|
|
48
46
|
date: new Date(date),
|
|
@@ -61,20 +59,16 @@ export default class PackageService {
|
|
|
61
59
|
return found;
|
|
62
60
|
}
|
|
63
61
|
maybeInfo(nameOrCid, uniqueMessageHash) {
|
|
64
|
-
const packages = (this.localStorage.get(
|
|
65
|
-
[]);
|
|
62
|
+
const packages = (this.localStorage.get('packages') || []);
|
|
66
63
|
return packages.find((pkg) => (pkg.name === nameOrCid ||
|
|
67
64
|
pkg.versions.some((v) => v.cid === nameOrCid)) &&
|
|
68
65
|
(!uniqueMessageHash ||
|
|
69
66
|
pkg.versions.some((v) => v.uniqueMessageHash === uniqueMessageHash)));
|
|
70
67
|
}
|
|
71
68
|
storePackageInfo(title, name, version, ownablesAbi, wireFormat, description, cid, keywords, capabilities, isNotLocal, uniqueMessageHash) {
|
|
72
|
-
const packages = (this.localStorage.get(
|
|
73
|
-
[]);
|
|
69
|
+
const packages = (this.localStorage.get('packages') || []);
|
|
74
70
|
// Locate the package with matching cid and uniqueMessageHash
|
|
75
|
-
let pkg = packages.find((pkg) => pkg.name === name &&
|
|
76
|
-
pkg.cid === cid &&
|
|
77
|
-
pkg.uniqueMessageHash === uniqueMessageHash);
|
|
71
|
+
let pkg = packages.find((pkg) => pkg.name === name && pkg.cid === cid && pkg.uniqueMessageHash === uniqueMessageHash);
|
|
78
72
|
if (!pkg) {
|
|
79
73
|
const versionEntry = uniqueMessageHash
|
|
80
74
|
? { date: new Date(), cid, uniqueMessageHash }
|
|
@@ -114,27 +108,27 @@ export default class PackageService {
|
|
|
114
108
|
pkg.versions.push(versionEntry);
|
|
115
109
|
}
|
|
116
110
|
// Save all packages back to LocalStorage under the single "packages" key
|
|
117
|
-
this.localStorage.set(
|
|
111
|
+
this.localStorage.set('packages', packages);
|
|
118
112
|
if (!pkg)
|
|
119
|
-
throw new Error(
|
|
113
|
+
throw new Error('Failed to create package entry');
|
|
120
114
|
return pkg;
|
|
121
115
|
}
|
|
122
116
|
async extractAssets(zipFile, chain) {
|
|
123
117
|
const zip = await JSZip.loadAsync(zipFile);
|
|
124
118
|
if (chain) {
|
|
125
119
|
return await Promise.all(Array.from(Object.entries(zip.files))
|
|
126
|
-
.filter(([filename]) => !filename.startsWith(
|
|
120
|
+
.filter(([filename]) => !filename.startsWith('.'))
|
|
127
121
|
.map(async ([filename, file]) => {
|
|
128
|
-
const blob = await file.async(
|
|
129
|
-
const type = getMimeType(filename) ||
|
|
122
|
+
const blob = await file.async('blob');
|
|
123
|
+
const type = getMimeType(filename) || 'application/octet-stream';
|
|
130
124
|
return new File([blob], filename, { type });
|
|
131
125
|
}));
|
|
132
126
|
}
|
|
133
127
|
return await Promise.all(Array.from(Object.entries(zip.files))
|
|
134
|
-
.filter(([filename]) => !filename.startsWith(
|
|
128
|
+
.filter(([filename]) => !filename.startsWith('.') && filename !== 'chain.json')
|
|
135
129
|
.map(async ([filename, file]) => {
|
|
136
|
-
const blob = await file.async(
|
|
137
|
-
const type = getMimeType(filename) ||
|
|
130
|
+
const blob = await file.async('blob');
|
|
131
|
+
const type = getMimeType(filename) || 'application/octet-stream';
|
|
138
132
|
return new File([blob], filename, { type });
|
|
139
133
|
}));
|
|
140
134
|
}
|
|
@@ -186,7 +180,7 @@ export default class PackageService {
|
|
|
186
180
|
}
|
|
187
181
|
}
|
|
188
182
|
catch (error) {
|
|
189
|
-
if (error instanceof Error && error.name ===
|
|
183
|
+
if (error instanceof Error && error.name === 'QuotaExceededError') {
|
|
190
184
|
throw new Error(`Device storage quota exceeded. Please free up space and try again.`);
|
|
191
185
|
}
|
|
192
186
|
throw error;
|
|
@@ -249,10 +243,10 @@ export default class PackageService {
|
|
|
249
243
|
}
|
|
250
244
|
}
|
|
251
245
|
base64ToBuffer(base64) {
|
|
252
|
-
return Buffer.from(base64,
|
|
246
|
+
return Buffer.from(base64, 'base64');
|
|
253
247
|
}
|
|
254
248
|
bufferToString(buffer) {
|
|
255
|
-
return buffer.toString(
|
|
249
|
+
return buffer.toString('utf8');
|
|
256
250
|
}
|
|
257
251
|
async getChainJson(filename, files) {
|
|
258
252
|
const extractedFile = await this.extractAssets(files, true);
|
|
@@ -262,7 +256,7 @@ export default class PackageService {
|
|
|
262
256
|
const fileContent = await file.text();
|
|
263
257
|
const json = JSON.parse(fileContent);
|
|
264
258
|
json.events = json.events.map((event) => {
|
|
265
|
-
if (event.data.startsWith(
|
|
259
|
+
if (event.data.startsWith('base64:')) {
|
|
266
260
|
const base64Data = event.data.slice(7);
|
|
267
261
|
const bufferData = this.base64ToBuffer(base64Data);
|
|
268
262
|
event.parsedData = JSON.parse(this.bufferToString(bufferData));
|
|
@@ -278,37 +272,38 @@ export default class PackageService {
|
|
|
278
272
|
return JSON.parse(await file.text());
|
|
279
273
|
}
|
|
280
274
|
async getCapabilities(files) {
|
|
281
|
-
if (files.findIndex((file) => file.name ===
|
|
282
|
-
throw new Error(
|
|
283
|
-
if (files.findIndex((file) => file.name ===
|
|
275
|
+
if (files.findIndex((file) => file.name === 'package.json') < 0)
|
|
276
|
+
throw new Error('Invalid package: missing package.json');
|
|
277
|
+
if (files.findIndex((file) => file.name === 'ownable_bg.wasm') < 0)
|
|
284
278
|
return capabilitiesStaticOwnable;
|
|
285
|
-
const query = await this.getPackageJson(
|
|
286
|
-
const execute = await this.getPackageJson(
|
|
287
|
-
const hasMethod = (schema, find) => schema.oneOf.findIndex((method) => method.required.includes(find)) >=
|
|
288
|
-
|
|
289
|
-
|
|
279
|
+
const query = await this.getPackageJson('query_msg.json', files);
|
|
280
|
+
const execute = await this.getPackageJson('execute_msg.json', files);
|
|
281
|
+
const hasMethod = (schema, find) => schema.oneOf.findIndex((method) => method.required.includes(find)) >=
|
|
282
|
+
0;
|
|
283
|
+
if (!hasMethod(query, 'get_info'))
|
|
284
|
+
throw new Error('Invalid package: missing `get_info` query method');
|
|
290
285
|
return {
|
|
291
286
|
isDynamic: true,
|
|
292
|
-
hasMetadata: hasMethod(query,
|
|
293
|
-
hasWidgetState: hasMethod(query,
|
|
294
|
-
hasAttachments: hasMethod(query,
|
|
295
|
-
isClosable: hasMethod(query,
|
|
296
|
-
isConsumable: hasMethod(execute,
|
|
297
|
-
isConsumer: hasMethod(query,
|
|
298
|
-
isLockable: hasMethod(execute,
|
|
299
|
-
isTransferable: hasMethod(execute,
|
|
287
|
+
hasMetadata: hasMethod(query, 'get_metadata'),
|
|
288
|
+
hasWidgetState: hasMethod(query, 'get_widget_state'),
|
|
289
|
+
hasAttachments: hasMethod(query, 'get_attachments') && hasMethod(execute, 'attach'),
|
|
290
|
+
isClosable: hasMethod(query, 'is_closed') && hasMethod(execute, 'close'),
|
|
291
|
+
isConsumable: hasMethod(execute, 'consume'),
|
|
292
|
+
isConsumer: hasMethod(query, 'is_consumer_of'),
|
|
293
|
+
isLockable: hasMethod(execute, 'lock'),
|
|
294
|
+
isTransferable: hasMethod(execute, 'transfer'),
|
|
300
295
|
};
|
|
301
296
|
}
|
|
302
297
|
validatePackageFormat(packageJson, files) {
|
|
303
|
-
const hasWasm = files.some((file) => file.name ===
|
|
298
|
+
const hasWasm = files.some((file) => file.name === 'ownable_bg.wasm');
|
|
304
299
|
if (!hasWasm)
|
|
305
300
|
return;
|
|
306
301
|
const ownablesAbi = packageJson.ownablesAbi;
|
|
307
302
|
const wireFormat = packageJson.wireFormat;
|
|
308
|
-
if (ownablesAbi !==
|
|
303
|
+
if (ownablesAbi !== '1') {
|
|
309
304
|
throw new Error(`Invalid package: expected package.json ownablesAbi to be "1", got "${String(ownablesAbi)}"`);
|
|
310
305
|
}
|
|
311
|
-
if (wireFormat !==
|
|
306
|
+
if (wireFormat !== 'cbor') {
|
|
312
307
|
throw new Error(`Invalid package: expected package.json wireFormat to be "cbor", got "${String(wireFormat)}"`);
|
|
313
308
|
}
|
|
314
309
|
}
|
|
@@ -318,7 +313,7 @@ export default class PackageService {
|
|
|
318
313
|
//Extract files
|
|
319
314
|
if (isNotLocal) {
|
|
320
315
|
files = await this.extractAssets(message.data.buffer, false);
|
|
321
|
-
chainJson = await this.getChainJson(
|
|
316
|
+
chainJson = await this.getChainJson('chain.json', message.data.buffer);
|
|
322
317
|
}
|
|
323
318
|
else {
|
|
324
319
|
files = message; // Local files
|
|
@@ -329,29 +324,32 @@ export default class PackageService {
|
|
|
329
324
|
const files = await this.extractAssets(packageZipFile);
|
|
330
325
|
const pkg = await this.finalizeImportedPackage(files, chainJson, undefined, true);
|
|
331
326
|
if (!pkg?.chain) {
|
|
332
|
-
throw new Error(
|
|
327
|
+
throw new Error('Hub notification package did not include chain state');
|
|
333
328
|
}
|
|
334
329
|
return pkg;
|
|
335
330
|
}
|
|
336
331
|
async finalizeImportedPackage(files, chainJson, uniqueMessageHash, isNotLocal = false) {
|
|
337
|
-
const packageJson = await this.getPackageJson(
|
|
332
|
+
const packageJson = await this.getPackageJson('package.json', files);
|
|
338
333
|
if (!packageJson) {
|
|
339
|
-
throw new Error(
|
|
334
|
+
throw new Error('Missing package.json in extracted assets');
|
|
340
335
|
}
|
|
341
336
|
if (isNotLocal && !chainJson) {
|
|
342
|
-
throw new Error(
|
|
337
|
+
throw new Error('Missing chain.json for relay package');
|
|
343
338
|
}
|
|
344
|
-
const cid = await
|
|
339
|
+
const cid = await calculateOwnablePackageCid(await Promise.all(files.map(async (file) => ({
|
|
340
|
+
path: file.name,
|
|
341
|
+
content: new Uint8Array(await file.arrayBuffer()),
|
|
342
|
+
}))));
|
|
345
343
|
if (await this.hasPackageAssets(cid)) {
|
|
346
344
|
if (isNotLocal && chainJson && !(await this.isCurrentEvent(chainJson))) {
|
|
347
345
|
this.logger.warn(`Package with CID ${cid} is already current or newer.`);
|
|
348
346
|
return null;
|
|
349
347
|
}
|
|
350
348
|
}
|
|
351
|
-
const name = packageJson.name ||
|
|
349
|
+
const name = packageJson.name || 'Unnamed Package';
|
|
352
350
|
const title = name
|
|
353
|
-
.replace(/^ownable-|-ownable$/,
|
|
354
|
-
.replace(/[-_]+/,
|
|
351
|
+
.replace(/^ownable-|-ownable$/, '')
|
|
352
|
+
.replace(/[-_]+/, ' ')
|
|
355
353
|
.replace(/\b\w/, (c) => c.toUpperCase());
|
|
356
354
|
const description = packageJson.description;
|
|
357
355
|
const version = packageJson.version;
|
|
@@ -377,14 +375,13 @@ export default class PackageService {
|
|
|
377
375
|
const files = await this.extractAssets(zipFile);
|
|
378
376
|
const pkg = await this.processPackage(files);
|
|
379
377
|
if (!pkg) {
|
|
380
|
-
throw new Error(
|
|
378
|
+
throw new Error('Failed to process package: duplicate or invalid package.');
|
|
381
379
|
}
|
|
382
380
|
// Verify store exists after import
|
|
383
381
|
const hasStore = await this.hasPackageAssets(pkg.cid);
|
|
384
382
|
if (!hasStore) {
|
|
385
383
|
// Retry verification in background (non-blocking)
|
|
386
|
-
this.retryPackageVerification(pkg.cid, files.length, 3, 1000)
|
|
387
|
-
.catch((error) => {
|
|
384
|
+
this.retryPackageVerification(pkg.cid, files.length, 3, 1000).catch((error) => {
|
|
388
385
|
this.logger.error(`Background store verification failed after retries:`, error);
|
|
389
386
|
// Optionally notify user or log to error tracking service
|
|
390
387
|
});
|
|
@@ -399,8 +396,7 @@ export default class PackageService {
|
|
|
399
396
|
catch (error) {
|
|
400
397
|
// If verification fails, start background retry
|
|
401
398
|
this.logger.warn(`Initial store verification failed, retrying in background:`, error);
|
|
402
|
-
this.retryPackageVerification(pkg.cid, files.length, 3, 1000)
|
|
403
|
-
.catch((retryError) => {
|
|
399
|
+
this.retryPackageVerification(pkg.cid, files.length, 3, 1000).catch((retryError) => {
|
|
404
400
|
this.logger.error(`Background store verification failed after retries:`, retryError);
|
|
405
401
|
});
|
|
406
402
|
}
|
|
@@ -418,15 +414,15 @@ export default class PackageService {
|
|
|
418
414
|
.filter((data) => data !== null && data.message && data.hash)
|
|
419
415
|
.map((data) => ({
|
|
420
416
|
hash: data.hash,
|
|
421
|
-
recipient: data.message.recipient ||
|
|
417
|
+
recipient: data.message.recipient || '',
|
|
422
418
|
sender: data.message.sender || {},
|
|
423
419
|
size: data.message.data?.length || 0,
|
|
424
420
|
timestamp: new Date(data.message.timestamp || Date.now()),
|
|
425
|
-
type: data.message.meta?.type ||
|
|
421
|
+
type: data.message.meta?.type || 'basic',
|
|
426
422
|
data: data.message.data,
|
|
427
423
|
signature: data.message.signature,
|
|
428
424
|
_hash: data.message.hash,
|
|
429
|
-
parsedData: data.message.parsedData ||
|
|
425
|
+
parsedData: data.message.parsedData || '',
|
|
430
426
|
messageHash: data.hash,
|
|
431
427
|
message: data.message,
|
|
432
428
|
}));
|
|
@@ -451,7 +447,7 @@ export default class PackageService {
|
|
|
451
447
|
return pkg;
|
|
452
448
|
}
|
|
453
449
|
catch (err) {
|
|
454
|
-
this.logger.error(
|
|
450
|
+
this.logger.error('Error processing data:', err);
|
|
455
451
|
return null;
|
|
456
452
|
}
|
|
457
453
|
}));
|
|
@@ -459,14 +455,14 @@ export default class PackageService {
|
|
|
459
455
|
return [packages, triggerRefresh];
|
|
460
456
|
}
|
|
461
457
|
catch (error) {
|
|
462
|
-
this.logger.error(
|
|
458
|
+
this.logger.error('Error:', error);
|
|
463
459
|
return null;
|
|
464
460
|
}
|
|
465
461
|
}
|
|
466
462
|
async isCurrentEvent(chainJson) {
|
|
467
463
|
let existingChain;
|
|
468
464
|
if (await this.idb.hasStore(`ownable:${chainJson.id}`)) {
|
|
469
|
-
existingChain = await this.idb.get(`ownable:${chainJson.id}`,
|
|
465
|
+
existingChain = await this.idb.get(`ownable:${chainJson.id}`, 'chain');
|
|
470
466
|
}
|
|
471
467
|
if (existingChain === undefined || existingChain.events === undefined) {
|
|
472
468
|
return true;
|
|
@@ -482,17 +478,16 @@ export default class PackageService {
|
|
|
482
478
|
}
|
|
483
479
|
async downloadExample(key) {
|
|
484
480
|
if (!this.exampleUrl)
|
|
485
|
-
throw new Error(
|
|
486
|
-
const filename = key.replace(/^ownable-/,
|
|
481
|
+
throw new Error('Unable to download example ownable: URL not configured');
|
|
482
|
+
const filename = key.replace(/^ownable-/, '') + '.zip';
|
|
487
483
|
const response = await this.fetchFn(`${this.exampleUrl}/${filename}`);
|
|
488
484
|
if (!response.ok)
|
|
489
485
|
throw new Error(`Failed to download example ownable: ${response.statusText}`);
|
|
490
|
-
const contentType = response.headers.get(
|
|
491
|
-
if (contentType !==
|
|
492
|
-
|
|
493
|
-
throw new Error("Failed to download example ownable: invalid content type");
|
|
486
|
+
const contentType = response.headers.get('Content-Type')?.trim();
|
|
487
|
+
if (contentType !== 'application/zip' && contentType !== 'application/x-zip-compressed')
|
|
488
|
+
throw new Error('Failed to download example ownable: invalid content type');
|
|
494
489
|
const zipFile = new File([await response.blob()], `${key}.zip`, {
|
|
495
|
-
type:
|
|
490
|
+
type: 'application/zip',
|
|
496
491
|
});
|
|
497
492
|
return this.import(zipFile);
|
|
498
493
|
}
|
|
@@ -562,7 +557,7 @@ export default class PackageService {
|
|
|
562
557
|
: [];
|
|
563
558
|
const packageFiles = files.length > 0
|
|
564
559
|
? files
|
|
565
|
-
:
|
|
560
|
+
: this.legacyIdb && (await this.legacyIdb.hasStore(`package:${cid}`))
|
|
566
561
|
? await this.legacyIdb.getAll(`package:${cid}`)
|
|
567
562
|
: [];
|
|
568
563
|
for (const file of packageFiles) {
|