@permissionless-technologies/upp-sdk 0.5.2 → 0.5.4

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.
@@ -0,0 +1,155 @@
1
+ 'use strict';
2
+
3
+ // src/indexer/storage/indexedDB.ts
4
+ var DB_NAME = "upp-indexer";
5
+ var DB_VERSION = 1;
6
+ var STORE_NAME = "keyval";
7
+ var IndexedDBAdapter = class {
8
+ dbPromise = null;
9
+ prefix;
10
+ constructor(prefix = "") {
11
+ this.prefix = prefix;
12
+ }
13
+ /**
14
+ * Check if IndexedDB is available
15
+ */
16
+ isAvailable() {
17
+ if (typeof window === "undefined") return false;
18
+ return "indexedDB" in window;
19
+ }
20
+ /**
21
+ * Get the database instance
22
+ */
23
+ async getDB() {
24
+ if (!this.isAvailable()) {
25
+ throw new Error("IndexedDB is not available");
26
+ }
27
+ if (this.dbPromise) {
28
+ return this.dbPromise;
29
+ }
30
+ this.dbPromise = new Promise((resolve, reject) => {
31
+ const request = indexedDB.open(DB_NAME, DB_VERSION);
32
+ request.onerror = () => {
33
+ reject(new Error(`Failed to open IndexedDB: ${request.error?.message}`));
34
+ };
35
+ request.onsuccess = () => {
36
+ resolve(request.result);
37
+ };
38
+ request.onupgradeneeded = (event) => {
39
+ const db = event.target.result;
40
+ if (!db.objectStoreNames.contains(STORE_NAME)) {
41
+ db.createObjectStore(STORE_NAME);
42
+ }
43
+ };
44
+ });
45
+ return this.dbPromise;
46
+ }
47
+ /**
48
+ * Get the full key with prefix
49
+ */
50
+ getKey(key) {
51
+ return this.prefix ? `${this.prefix}:${key}` : key;
52
+ }
53
+ /**
54
+ * Get a value by key
55
+ */
56
+ async get(key) {
57
+ const db = await this.getDB();
58
+ const fullKey = this.getKey(key);
59
+ return new Promise((resolve, reject) => {
60
+ const transaction = db.transaction(STORE_NAME, "readonly");
61
+ const store = transaction.objectStore(STORE_NAME);
62
+ const request = store.get(fullKey);
63
+ request.onerror = () => {
64
+ reject(new Error(`Failed to get key "${fullKey}": ${request.error?.message}`));
65
+ };
66
+ request.onsuccess = () => {
67
+ resolve(request.result ?? null);
68
+ };
69
+ });
70
+ }
71
+ /**
72
+ * Set a value
73
+ */
74
+ async set(key, value) {
75
+ const db = await this.getDB();
76
+ const fullKey = this.getKey(key);
77
+ return new Promise((resolve, reject) => {
78
+ const transaction = db.transaction(STORE_NAME, "readwrite");
79
+ const store = transaction.objectStore(STORE_NAME);
80
+ const request = store.put(value, fullKey);
81
+ request.onerror = () => {
82
+ reject(new Error(`Failed to set key "${fullKey}": ${request.error?.message}`));
83
+ };
84
+ request.onsuccess = () => {
85
+ resolve();
86
+ };
87
+ });
88
+ }
89
+ /**
90
+ * Delete a value
91
+ */
92
+ async delete(key) {
93
+ const db = await this.getDB();
94
+ const fullKey = this.getKey(key);
95
+ return new Promise((resolve, reject) => {
96
+ const transaction = db.transaction(STORE_NAME, "readwrite");
97
+ const store = transaction.objectStore(STORE_NAME);
98
+ const request = store.delete(fullKey);
99
+ request.onerror = () => {
100
+ reject(new Error(`Failed to delete key "${fullKey}": ${request.error?.message}`));
101
+ };
102
+ request.onsuccess = () => {
103
+ resolve();
104
+ };
105
+ });
106
+ }
107
+ /**
108
+ * Clear all data with this prefix
109
+ */
110
+ async clear() {
111
+ const db = await this.getDB();
112
+ return new Promise((resolve, reject) => {
113
+ const transaction = db.transaction(STORE_NAME, "readwrite");
114
+ const store = transaction.objectStore(STORE_NAME);
115
+ if (!this.prefix) {
116
+ const request = store.clear();
117
+ request.onerror = () => reject(new Error(`Failed to clear: ${request.error?.message}`));
118
+ request.onsuccess = () => resolve();
119
+ } else {
120
+ const request = store.openCursor();
121
+ const keysToDelete = [];
122
+ request.onerror = () => reject(new Error(`Failed to iterate: ${request.error?.message}`));
123
+ request.onsuccess = (event) => {
124
+ const cursor = event.target.result;
125
+ if (cursor) {
126
+ const key = cursor.key;
127
+ if (typeof key === "string" && key.startsWith(`${this.prefix}:`)) {
128
+ keysToDelete.push(key);
129
+ }
130
+ cursor.continue();
131
+ } else {
132
+ Promise.all(
133
+ keysToDelete.map(
134
+ (k) => new Promise((res, rej) => {
135
+ const deleteReq = store.delete(k);
136
+ deleteReq.onerror = () => rej(deleteReq.error);
137
+ deleteReq.onsuccess = () => res();
138
+ })
139
+ )
140
+ ).then(() => resolve()).catch(reject);
141
+ }
142
+ };
143
+ }
144
+ });
145
+ }
146
+ };
147
+ function createIndexedDBAdapter(prefix = "") {
148
+ return new IndexedDBAdapter(prefix);
149
+ }
150
+ var indexedDBAdapter = createIndexedDBAdapter();
151
+
152
+ exports.createIndexedDBAdapter = createIndexedDBAdapter;
153
+ exports.indexedDBAdapter = indexedDBAdapter;
154
+ //# sourceMappingURL=chunk-ARH2SJM3.cjs.map
155
+ //# sourceMappingURL=chunk-ARH2SJM3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/indexer/storage/indexedDB.ts"],"names":[],"mappings":";;;AAeA,IAAM,OAAA,GAAU,aAAA;AAChB,IAAM,UAAA,GAAa,CAAA;AACnB,IAAM,UAAA,GAAa,QAAA;AAKnB,IAAM,mBAAN,MAAiD;AAAA,EACvC,SAAA,GAAyC,IAAA;AAAA,EACzC,MAAA;AAAA,EAER,WAAA,CAAY,SAAiB,EAAA,EAAI;AAC/B,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,WAAA,GAAuB;AACrB,IAAA,IAAI,OAAO,MAAA,KAAW,WAAA,EAAa,OAAO,KAAA;AAC1C,IAAA,OAAO,WAAA,IAAe,MAAA;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,KAAA,GAA8B;AAC1C,IAAA,IAAI,CAAC,IAAA,CAAK,WAAA,EAAY,EAAG;AACvB,MAAA,MAAM,IAAI,MAAM,4BAA4B,CAAA;AAAA,IAC9C;AAEA,IAAA,IAAI,KAAK,SAAA,EAAW;AAClB,MAAA,OAAO,IAAA,CAAK,SAAA;AAAA,IACd;AAEA,IAAA,IAAA,CAAK,SAAA,GAAY,IAAI,OAAA,CAAQ,CAAC,SAAS,MAAA,KAAW;AAChD,MAAA,MAAM,OAAA,GAAU,SAAA,CAAU,IAAA,CAAK,OAAA,EAAS,UAAU,CAAA;AAElD,MAAA,OAAA,CAAQ,UAAU,MAAM;AACtB,QAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,0BAAA,EAA6B,QAAQ,KAAA,EAAO,OAAO,EAAE,CAAC,CAAA;AAAA,MACzE,CAAA;AAEA,MAAA,OAAA,CAAQ,YAAY,MAAM;AACxB,QAAA,OAAA,CAAQ,QAAQ,MAAM,CAAA;AAAA,MACxB,CAAA;AAEA,MAAA,OAAA,CAAQ,eAAA,GAAkB,CAAC,KAAA,KAAU;AACnC,QAAA,MAAM,EAAA,GAAM,MAAM,MAAA,CAA4B,MAAA;AAG9C,QAAA,IAAI,CAAC,EAAA,CAAG,gBAAA,CAAiB,QAAA,CAAS,UAAU,CAAA,EAAG;AAC7C,UAAA,EAAA,CAAG,kBAAkB,UAAU,CAAA;AAAA,QACjC;AAAA,MACF,CAAA;AAAA,IACF,CAAC,CAAA;AAED,IAAA,OAAO,IAAA,CAAK,SAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKQ,OAAO,GAAA,EAAqB;AAClC,IAAA,OAAO,KAAK,MAAA,GAAS,CAAA,EAAG,KAAK,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,GAAK,GAAA;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,IAAO,GAAA,EAAgC;AAC3C,IAAA,MAAM,EAAA,GAAK,MAAM,IAAA,CAAK,KAAA,EAAM;AAC5B,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,MAAA,CAAO,GAAG,CAAA;AAE/B,IAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAA,KAAW;AACtC,MAAA,MAAM,WAAA,GAAc,EAAA,CAAG,WAAA,CAAY,UAAA,EAAY,UAAU,CAAA;AACzD,MAAA,MAAM,KAAA,GAAQ,WAAA,CAAY,WAAA,CAAY,UAAU,CAAA;AAChD,MAAA,MAAM,OAAA,GAAU,KAAA,CAAM,GAAA,CAAI,OAAO,CAAA;AAEjC,MAAA,OAAA,CAAQ,UAAU,MAAM;AACtB,QAAA,MAAA,CAAO,IAAI,MAAM,CAAA,mBAAA,EAAsB,OAAO,MAAM,OAAA,CAAQ,KAAA,EAAO,OAAO,CAAA,CAAE,CAAC,CAAA;AAAA,MAC/E,CAAA;AAEA,MAAA,OAAA,CAAQ,YAAY,MAAM;AACxB,QAAA,OAAA,CAAQ,OAAA,CAAQ,UAAU,IAAI,CAAA;AAAA,MAChC,CAAA;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,GAAA,CAAO,GAAA,EAAa,KAAA,EAAyB;AACjD,IAAA,MAAM,EAAA,GAAK,MAAM,IAAA,CAAK,KAAA,EAAM;AAC5B,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,MAAA,CAAO,GAAG,CAAA;AAE/B,IAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAA,KAAW;AACtC,MAAA,MAAM,WAAA,GAAc,EAAA,CAAG,WAAA,CAAY,UAAA,EAAY,WAAW,CAAA;AAC1D,MAAA,MAAM,KAAA,GAAQ,WAAA,CAAY,WAAA,CAAY,UAAU,CAAA;AAChD,MAAA,MAAM,OAAA,GAAU,KAAA,CAAM,GAAA,CAAI,KAAA,EAAO,OAAO,CAAA;AAExC,MAAA,OAAA,CAAQ,UAAU,MAAM;AACtB,QAAA,MAAA,CAAO,IAAI,MAAM,CAAA,mBAAA,EAAsB,OAAO,MAAM,OAAA,CAAQ,KAAA,EAAO,OAAO,CAAA,CAAE,CAAC,CAAA;AAAA,MAC/E,CAAA;AAEA,MAAA,OAAA,CAAQ,YAAY,MAAM;AACxB,QAAA,OAAA,EAAQ;AAAA,MACV,CAAA;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,GAAA,EAA4B;AACvC,IAAA,MAAM,EAAA,GAAK,MAAM,IAAA,CAAK,KAAA,EAAM;AAC5B,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,MAAA,CAAO,GAAG,CAAA;AAE/B,IAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAA,KAAW;AACtC,MAAA,MAAM,WAAA,GAAc,EAAA,CAAG,WAAA,CAAY,UAAA,EAAY,WAAW,CAAA;AAC1D,MAAA,MAAM,KAAA,GAAQ,WAAA,CAAY,WAAA,CAAY,UAAU,CAAA;AAChD,MAAA,MAAM,OAAA,GAAU,KAAA,CAAM,MAAA,CAAO,OAAO,CAAA;AAEpC,MAAA,OAAA,CAAQ,UAAU,MAAM;AACtB,QAAA,MAAA,CAAO,IAAI,MAAM,CAAA,sBAAA,EAAyB,OAAO,MAAM,OAAA,CAAQ,KAAA,EAAO,OAAO,CAAA,CAAE,CAAC,CAAA;AAAA,MAClF,CAAA;AAEA,MAAA,OAAA,CAAQ,YAAY,MAAM;AACxB,QAAA,OAAA,EAAQ;AAAA,MACV,CAAA;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,KAAA,GAAuB;AAC3B,IAAA,MAAM,EAAA,GAAK,MAAM,IAAA,CAAK,KAAA,EAAM;AAE5B,IAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAA,KAAW;AACtC,MAAA,MAAM,WAAA,GAAc,EAAA,CAAG,WAAA,CAAY,UAAA,EAAY,WAAW,CAAA;AAC1D,MAAA,MAAM,KAAA,GAAQ,WAAA,CAAY,WAAA,CAAY,UAAU,CAAA;AAEhD,MAAA,IAAI,CAAC,KAAK,MAAA,EAAQ;AAEhB,QAAA,MAAM,OAAA,GAAU,MAAM,KAAA,EAAM;AAC5B,QAAA,OAAA,CAAQ,OAAA,GAAU,MAAM,MAAA,CAAO,IAAI,KAAA,CAAM,oBAAoB,OAAA,CAAQ,KAAA,EAAO,OAAO,CAAA,CAAE,CAAC,CAAA;AACtF,QAAA,OAAA,CAAQ,SAAA,GAAY,MAAM,OAAA,EAAQ;AAAA,MACpC,CAAA,MAAO;AAEL,QAAA,MAAM,OAAA,GAAU,MAAM,UAAA,EAAW;AACjC,QAAA,MAAM,eAA8B,EAAC;AAErC,QAAA,OAAA,CAAQ,OAAA,GAAU,MAAM,MAAA,CAAO,IAAI,KAAA,CAAM,sBAAsB,OAAA,CAAQ,KAAA,EAAO,OAAO,CAAA,CAAE,CAAC,CAAA;AAExF,QAAA,OAAA,CAAQ,SAAA,GAAY,CAAC,KAAA,KAAU;AAC7B,UAAA,MAAM,MAAA,GAAU,MAAM,MAAA,CAA0C,MAAA;AAChE,UAAA,IAAI,MAAA,EAAQ;AACV,YAAA,MAAM,MAAM,MAAA,CAAO,GAAA;AACnB,YAAA,IAAI,OAAO,QAAQ,QAAA,IAAY,GAAA,CAAI,WAAW,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA,CAAA,CAAG,CAAA,EAAG;AAChE,cAAA,YAAA,CAAa,KAAK,GAAG,CAAA;AAAA,YACvB;AACA,YAAA,MAAA,CAAO,QAAA,EAAS;AAAA,UAClB,CAAA,MAAO;AAEL,YAAA,OAAA,CAAQ,GAAA;AAAA,cACN,YAAA,CAAa,GAAA;AAAA,gBACX,CAAC,CAAA,KACC,IAAI,OAAA,CAAc,CAAC,KAAK,GAAA,KAAQ;AAC9B,kBAAA,MAAM,SAAA,GAAY,KAAA,CAAM,MAAA,CAAO,CAAC,CAAA;AAChC,kBAAA,SAAA,CAAU,OAAA,GAAU,MAAM,GAAA,CAAI,SAAA,CAAU,KAAK,CAAA;AAC7C,kBAAA,SAAA,CAAU,SAAA,GAAY,MAAM,GAAA,EAAI;AAAA,gBAClC,CAAC;AAAA;AACL,cAEC,IAAA,CAAK,MAAM,SAAS,CAAA,CACpB,MAAM,MAAM,CAAA;AAAA,UACjB;AAAA,QACF,CAAA;AAAA,MACF;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AACF,CAAA;AAeO,SAAS,sBAAA,CAAuB,SAAiB,EAAA,EAAoB;AAC1E,EAAA,OAAO,IAAI,iBAAiB,MAAM,CAAA;AACpC;AAKO,IAAM,mBAAmB,sBAAA","file":"chunk-ARH2SJM3.cjs","sourcesContent":["/**\n * IndexedDB Storage Adapter\n *\n * Provides persistent storage using IndexedDB for browser environments.\n * This is the default and recommended storage adapter for production use.\n *\n * Benefits:\n * - Large capacity (no 5MB limit like localStorage)\n * - Async API (non-blocking)\n * - Supports storing large objects like Merkle trees\n * - Transactional (data integrity)\n */\n\nimport type { StorageAdapter } from '../types.js'\n\nconst DB_NAME = 'upp-indexer'\nconst DB_VERSION = 1\nconst STORE_NAME = 'keyval'\n\n/**\n * IndexedDB storage adapter\n */\nclass IndexedDBAdapter implements StorageAdapter {\n private dbPromise: Promise<IDBDatabase> | null = null\n private prefix: string\n\n constructor(prefix: string = '') {\n this.prefix = prefix\n }\n\n /**\n * Check if IndexedDB is available\n */\n isAvailable(): boolean {\n if (typeof window === 'undefined') return false\n return 'indexedDB' in window\n }\n\n /**\n * Get the database instance\n */\n private async getDB(): Promise<IDBDatabase> {\n if (!this.isAvailable()) {\n throw new Error('IndexedDB is not available')\n }\n\n if (this.dbPromise) {\n return this.dbPromise\n }\n\n this.dbPromise = new Promise((resolve, reject) => {\n const request = indexedDB.open(DB_NAME, DB_VERSION)\n\n request.onerror = () => {\n reject(new Error(`Failed to open IndexedDB: ${request.error?.message}`))\n }\n\n request.onsuccess = () => {\n resolve(request.result)\n }\n\n request.onupgradeneeded = (event) => {\n const db = (event.target as IDBOpenDBRequest).result\n\n // Create object store if it doesn't exist\n if (!db.objectStoreNames.contains(STORE_NAME)) {\n db.createObjectStore(STORE_NAME)\n }\n }\n })\n\n return this.dbPromise\n }\n\n /**\n * Get the full key with prefix\n */\n private getKey(key: string): string {\n return this.prefix ? `${this.prefix}:${key}` : key\n }\n\n /**\n * Get a value by key\n */\n async get<T>(key: string): Promise<T | null> {\n const db = await this.getDB()\n const fullKey = this.getKey(key)\n\n return new Promise((resolve, reject) => {\n const transaction = db.transaction(STORE_NAME, 'readonly')\n const store = transaction.objectStore(STORE_NAME)\n const request = store.get(fullKey)\n\n request.onerror = () => {\n reject(new Error(`Failed to get key \"${fullKey}\": ${request.error?.message}`))\n }\n\n request.onsuccess = () => {\n resolve(request.result ?? null)\n }\n })\n }\n\n /**\n * Set a value\n */\n async set<T>(key: string, value: T): Promise<void> {\n const db = await this.getDB()\n const fullKey = this.getKey(key)\n\n return new Promise((resolve, reject) => {\n const transaction = db.transaction(STORE_NAME, 'readwrite')\n const store = transaction.objectStore(STORE_NAME)\n const request = store.put(value, fullKey)\n\n request.onerror = () => {\n reject(new Error(`Failed to set key \"${fullKey}\": ${request.error?.message}`))\n }\n\n request.onsuccess = () => {\n resolve()\n }\n })\n }\n\n /**\n * Delete a value\n */\n async delete(key: string): Promise<void> {\n const db = await this.getDB()\n const fullKey = this.getKey(key)\n\n return new Promise((resolve, reject) => {\n const transaction = db.transaction(STORE_NAME, 'readwrite')\n const store = transaction.objectStore(STORE_NAME)\n const request = store.delete(fullKey)\n\n request.onerror = () => {\n reject(new Error(`Failed to delete key \"${fullKey}\": ${request.error?.message}`))\n }\n\n request.onsuccess = () => {\n resolve()\n }\n })\n }\n\n /**\n * Clear all data with this prefix\n */\n async clear(): Promise<void> {\n const db = await this.getDB()\n\n return new Promise((resolve, reject) => {\n const transaction = db.transaction(STORE_NAME, 'readwrite')\n const store = transaction.objectStore(STORE_NAME)\n\n if (!this.prefix) {\n // Clear all if no prefix\n const request = store.clear()\n request.onerror = () => reject(new Error(`Failed to clear: ${request.error?.message}`))\n request.onsuccess = () => resolve()\n } else {\n // Only clear keys with this prefix\n const request = store.openCursor()\n const keysToDelete: IDBValidKey[] = []\n\n request.onerror = () => reject(new Error(`Failed to iterate: ${request.error?.message}`))\n\n request.onsuccess = (event) => {\n const cursor = (event.target as IDBRequest<IDBCursorWithValue>).result\n if (cursor) {\n const key = cursor.key\n if (typeof key === 'string' && key.startsWith(`${this.prefix}:`)) {\n keysToDelete.push(key)\n }\n cursor.continue()\n } else {\n // Delete all matching keys\n Promise.all(\n keysToDelete.map(\n (k) =>\n new Promise<void>((res, rej) => {\n const deleteReq = store.delete(k)\n deleteReq.onerror = () => rej(deleteReq.error)\n deleteReq.onsuccess = () => res()\n })\n )\n )\n .then(() => resolve())\n .catch(reject)\n }\n }\n }\n })\n }\n}\n\n/**\n * Create an IndexedDB storage adapter\n *\n * @param prefix - Optional prefix for keys (useful for multi-account)\n * @returns StorageAdapter instance\n *\n * @example\n * ```ts\n * const storage = createIndexedDBAdapter('account_0x123')\n * await storage.set('notes', myNotes)\n * const notes = await storage.get('notes')\n * ```\n */\nexport function createIndexedDBAdapter(prefix: string = ''): StorageAdapter {\n return new IndexedDBAdapter(prefix)\n}\n\n/**\n * Default IndexedDB adapter instance (no prefix)\n */\nexport const indexedDBAdapter = createIndexedDBAdapter()\n"]}
package/dist/index.cjs CHANGED
@@ -3,12 +3,12 @@
3
3
  var chunkHB43C26P_cjs = require('./chunk-HB43C26P.cjs');
4
4
  var chunkO2SKZZAP_cjs = require('./chunk-O2SKZZAP.cjs');
5
5
  var chunkIX7HV5TE_cjs = require('./chunk-IX7HV5TE.cjs');
6
- var chunk6DCMXFSQ_cjs = require('./chunk-6DCMXFSQ.cjs');
6
+ var chunk4T5DWZBN_cjs = require('./chunk-4T5DWZBN.cjs');
7
7
  var chunk7BNJV2ZS_cjs = require('./chunk-7BNJV2ZS.cjs');
8
8
  var chunkIYRCJAME_cjs = require('./chunk-IYRCJAME.cjs');
9
9
  var chunkXVIICZKW_cjs = require('./chunk-XVIICZKW.cjs');
10
10
  var chunkVVW5VVY3_cjs = require('./chunk-VVW5VVY3.cjs');
11
- require('./chunk-ERQE57IA.cjs');
11
+ require('./chunk-ARH2SJM3.cjs');
12
12
  var chunkI5EKGD4P_cjs = require('./chunk-I5EKGD4P.cjs');
13
13
  var chunkSWTNJPK5_cjs = require('./chunk-SWTNJPK5.cjs');
14
14
  var chunkIIUKM5VE_cjs = require('./chunk-IIUKM5VE.cjs');
@@ -5550,7 +5550,7 @@ Object.defineProperty(exports, "verifyProof", {
5550
5550
  });
5551
5551
  Object.defineProperty(exports, "makeRpcIndexer", {
5552
5552
  enumerable: true,
5553
- get: function () { return chunk6DCMXFSQ_cjs.makeRpcIndexer; }
5553
+ get: function () { return chunk4T5DWZBN_cjs.makeRpcIndexer; }
5554
5554
  });
5555
5555
  Object.defineProperty(exports, "DEFAULT_KEY_DERIVATION_CONFIG", {
5556
5556
  enumerable: true,
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  export { NOTE_VERSION, checkImplementation, createNote, createUPPClient, decryptNote, encryptNote, verifyDeployment } from './chunk-53JACDGZ.js';
2
2
  export { buildTransfer, buildUPPTransferCircuitInputs, computeNullifier, formatOutputForContract, getDeployment, getDeploymentOrThrow, getMerkleProofsForNotes, getSupportedChainIds, getTokenAddress, hasDeployment, registerDeployment, syncMerkleTree } from './chunk-DD4NT4D7.js';
3
3
  export { ASP_TREE_DEPTH, STATE_TREE_DEPTH, formatProofForContract, generateProof, generateStealthProof, generateUPPProof, getStealthCircuitArtifacts, getUPPCircuitArtifacts, verifyProof } from './chunk-KR4GB6VC.js';
4
- export { makeRpcIndexer } from './chunk-MVSBQMRA.js';
4
+ export { makeRpcIndexer } from './chunk-4W7BBQ4H.js';
5
5
  export { DEFAULT_KEY_DERIVATION_CONFIG, deriveDualKeysFromSignature, deriveKeysFromSignature, deriveNullifierKey, derivePerNoteKey, derivePerNoteKeyFromKeys, deriveStarkKeysFromSignature, deriveStarkPerNoteKey, deriveStarkPerNoteKeyFromKeys, exportViewingKeysForAudit, getKeyDerivationMessage, getViewingKeyFromExport, validateAuditKeyExport, verifyKeysMatchSignature } from './chunk-DTEAFJG7.js';
6
6
  export { ADDRESS_VERSION, DirectAccountAdapter, NoteStore, ProofWorkerManager, RATE_PRECISION, STARK_ADDRESS_VERSION, STARK_STEALTH_ADDRESS_PREFIX, STEALTH_ADDRESS_PREFIX, SWAP_EVENTS_ABI, SWAP_ORDER_CANCELLED_EVENT, SWAP_ORDER_CLAIMED_EVENT, SWAP_ORDER_FILLED_EVENT, SWAP_ORDER_PLACED_EVENT, StorableAccountAdapter, computeCancelKeyHash, computeFillPercentage, computeGiveAmount, computeNoteEncryptionKey, computeRate, computeTakeAmount, computeTotalBuyAmount, createOneTimeKeys, decodeStarkStealthAddress, decodeStealthAddress, detectAddressType, encodeStarkStealthAddress, encodeStealthAddress, filterOrdersByASP, filterOrdersByTokenPair, formatRate, generateCancelSecret, generateStarkStealthAddress, generateStealthAddress, generateUPPProofAsync, getCancelSecret, getOwnOrderIds, isFillerASPAccepted, isOrderActive, isValidStarkStealthAddress, isValidStealthAddress, removeCancelSecret, storeCancelSecret, verifyOwnership } from './chunk-Q6BLTPWV.js';
7
7
  export { DEMO_ASP_ID, DEMO_ASP_NAME, buildASPTree, computeMultiOriginASPRoot, computeSingleOriginASPRoot, createDemoASPRoot, generateASPProof, generateMultiOriginASPProof, generateSingleOriginASPProof, verifyASPProof } from './chunk-6IEYWJVS.js';
8
8
  export { CIRCUIT_CDN_BASE, CIRCUIT_VERSION, CircuitArtifactCache } from './chunk-2BSIUEPO.js';
9
- import './chunk-XV72HNHN.js';
9
+ import './chunk-ABVALIIG.js';
10
10
  export { addPoints, computeSharedSecret, deriveDecryptionViewingKey, deriveEncryptionViewingKey, getBasePoint, getSubOrder, isOnCurve, mulPointScalar, packPoint, pointToTuple, privateToPublic, tupleToPoint } from './chunk-EHGH6TAW.js';
11
11
  export { STARK_AMOUNT_SCALE, STARK_ASP_TREE_DEPTH, STARK_STATE_TREE_DEPTH, addressToM31, buildStarkTransferWitness, buildStarkWithdrawWitness, computeTransferPublicInputsSeed, computeWithdrawPublicInputsSeed, isStarkAligned, packM31Digest, scaleAmountForStark, splitSecretToM31Limbs, truncateToM31 } from './chunk-7T4CUE6E.js';
12
12
  export { MAX_TREE_DEPTH, MerkleTree, buildMerkleTree, getMerkleProof, verifyMerkleProof } from './chunk-GPF72JFR.js';
@@ -1,58 +1,58 @@
1
1
  'use strict';
2
2
 
3
- var chunk6DCMXFSQ_cjs = require('../chunk-6DCMXFSQ.cjs');
4
- var chunkERQE57IA_cjs = require('../chunk-ERQE57IA.cjs');
3
+ var chunk4T5DWZBN_cjs = require('../chunk-4T5DWZBN.cjs');
4
+ var chunkARH2SJM3_cjs = require('../chunk-ARH2SJM3.cjs');
5
5
  require('../chunk-G7VZBCD6.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "computeSearchTag", {
10
10
  enumerable: true,
11
- get: function () { return chunk6DCMXFSQ_cjs.computeSearchTag; }
11
+ get: function () { return chunk4T5DWZBN_cjs.computeSearchTag; }
12
12
  });
13
- Object.defineProperty(exports, "makeRpcIndexer", {
13
+ Object.defineProperty(exports, "createAutoAdapter", {
14
14
  enumerable: true,
15
- get: function () { return chunk6DCMXFSQ_cjs.makeRpcIndexer; }
15
+ get: function () { return chunk4T5DWZBN_cjs.createAutoAdapter; }
16
16
  });
17
- Object.defineProperty(exports, "matchesSearchTag", {
17
+ Object.defineProperty(exports, "createLocalStorageAdapter", {
18
18
  enumerable: true,
19
- get: function () { return chunk6DCMXFSQ_cjs.matchesSearchTag; }
19
+ get: function () { return chunk4T5DWZBN_cjs.createLocalStorageAdapter; }
20
20
  });
21
- Object.defineProperty(exports, "tryDecryptNote", {
21
+ Object.defineProperty(exports, "createMemoryAdapter", {
22
22
  enumerable: true,
23
- get: function () { return chunk6DCMXFSQ_cjs.tryDecryptNote; }
23
+ get: function () { return chunk4T5DWZBN_cjs.createMemoryAdapter; }
24
24
  });
25
- Object.defineProperty(exports, "unpackNoteData", {
25
+ Object.defineProperty(exports, "localStorageAdapter", {
26
26
  enumerable: true,
27
- get: function () { return chunk6DCMXFSQ_cjs.unpackNoteData; }
27
+ get: function () { return chunk4T5DWZBN_cjs.localStorageAdapter; }
28
28
  });
29
- Object.defineProperty(exports, "createAutoAdapter", {
29
+ Object.defineProperty(exports, "makeRpcIndexer", {
30
30
  enumerable: true,
31
- get: function () { return chunkERQE57IA_cjs.createAutoAdapter; }
31
+ get: function () { return chunk4T5DWZBN_cjs.makeRpcIndexer; }
32
32
  });
33
- Object.defineProperty(exports, "createIndexedDBAdapter", {
33
+ Object.defineProperty(exports, "matchesSearchTag", {
34
34
  enumerable: true,
35
- get: function () { return chunkERQE57IA_cjs.createIndexedDBAdapter; }
35
+ get: function () { return chunk4T5DWZBN_cjs.matchesSearchTag; }
36
36
  });
37
- Object.defineProperty(exports, "createLocalStorageAdapter", {
37
+ Object.defineProperty(exports, "memoryAdapter", {
38
38
  enumerable: true,
39
- get: function () { return chunkERQE57IA_cjs.createLocalStorageAdapter; }
39
+ get: function () { return chunk4T5DWZBN_cjs.memoryAdapter; }
40
40
  });
41
- Object.defineProperty(exports, "createMemoryAdapter", {
41
+ Object.defineProperty(exports, "tryDecryptNote", {
42
42
  enumerable: true,
43
- get: function () { return chunkERQE57IA_cjs.createMemoryAdapter; }
43
+ get: function () { return chunk4T5DWZBN_cjs.tryDecryptNote; }
44
44
  });
45
- Object.defineProperty(exports, "indexedDBAdapter", {
45
+ Object.defineProperty(exports, "unpackNoteData", {
46
46
  enumerable: true,
47
- get: function () { return chunkERQE57IA_cjs.indexedDBAdapter; }
47
+ get: function () { return chunk4T5DWZBN_cjs.unpackNoteData; }
48
48
  });
49
- Object.defineProperty(exports, "localStorageAdapter", {
49
+ Object.defineProperty(exports, "createIndexedDBAdapter", {
50
50
  enumerable: true,
51
- get: function () { return chunkERQE57IA_cjs.localStorageAdapter; }
51
+ get: function () { return chunkARH2SJM3_cjs.createIndexedDBAdapter; }
52
52
  });
53
- Object.defineProperty(exports, "memoryAdapter", {
53
+ Object.defineProperty(exports, "indexedDBAdapter", {
54
54
  enumerable: true,
55
- get: function () { return chunkERQE57IA_cjs.memoryAdapter; }
55
+ get: function () { return chunkARH2SJM3_cjs.indexedDBAdapter; }
56
56
  });
57
57
  //# sourceMappingURL=index.cjs.map
58
58
  //# sourceMappingURL=index.cjs.map
@@ -194,6 +194,12 @@ declare const memoryAdapter: StorageAdapter & {
194
194
  keys(): string[];
195
195
  };
196
196
 
197
+ /**
198
+ * Storage Adapters
199
+ *
200
+ * Pluggable storage backends for the indexer.
201
+ */
202
+
197
203
  /**
198
204
  * Create the best available storage adapter
199
205
  *
@@ -194,6 +194,12 @@ declare const memoryAdapter: StorageAdapter & {
194
194
  keys(): string[];
195
195
  };
196
196
 
197
+ /**
198
+ * Storage Adapters
199
+ *
200
+ * Pluggable storage backends for the indexer.
201
+ */
202
+
197
203
  /**
198
204
  * Create the best available storage adapter
199
205
  *
@@ -1,5 +1,5 @@
1
- export { computeSearchTag, makeRpcIndexer, matchesSearchTag, tryDecryptNote, unpackNoteData } from '../chunk-MVSBQMRA.js';
2
- export { createAutoAdapter, createIndexedDBAdapter, createLocalStorageAdapter, createMemoryAdapter, indexedDBAdapter, localStorageAdapter, memoryAdapter } from '../chunk-XV72HNHN.js';
1
+ export { computeSearchTag, createAutoAdapter, createLocalStorageAdapter, createMemoryAdapter, localStorageAdapter, makeRpcIndexer, matchesSearchTag, memoryAdapter, tryDecryptNote, unpackNoteData } from '../chunk-4W7BBQ4H.js';
2
+ export { createIndexedDBAdapter, indexedDBAdapter } from '../chunk-ABVALIIG.js';
3
3
  import '../chunk-Z6ZWNWWR.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -3,7 +3,7 @@
3
3
  var chunkIYRCJAME_cjs = require('../chunk-IYRCJAME.cjs');
4
4
  var chunkXVIICZKW_cjs = require('../chunk-XVIICZKW.cjs');
5
5
  var chunkVVW5VVY3_cjs = require('../chunk-VVW5VVY3.cjs');
6
- var chunkERQE57IA_cjs = require('../chunk-ERQE57IA.cjs');
6
+ var chunkARH2SJM3_cjs = require('../chunk-ARH2SJM3.cjs');
7
7
  require('../chunk-UFEDJJSH.cjs');
8
8
  var chunkHEHXSV47_cjs = require('../chunk-HEHXSV47.cjs');
9
9
  var chunkG7VZBCD6_cjs = require('../chunk-G7VZBCD6.cjs');
@@ -107,7 +107,7 @@ function UPPAccountProvider({
107
107
  accountAdapterRef.current = null;
108
108
  return;
109
109
  }
110
- const accountStorage = chunkERQE57IA_cjs.createAutoAdapter(`upp_account`);
110
+ const accountStorage = chunkARH2SJM3_cjs.createIndexedDBAdapter(`upp_account`);
111
111
  const adapter = new chunkIYRCJAME_cjs.StorableAccountAdapter(accountStorage, ethAddress);
112
112
  accountAdapterRef.current = adapter;
113
113
  const legacyKey = getStorageKey(ethAddress);
@@ -148,7 +148,7 @@ function UPPAccountProvider({
148
148
  if (account.starkKeys) setStarkMasterKeys(account.starkKeys);
149
149
  const ownerHashHex2 = viem.toHex(account.keys.ownerHash, { size: 32 });
150
150
  const storagePrefix = `upp_${chainId}_${ownerHashHex2.slice(0, 12)}`;
151
- const noteStorage = chunkERQE57IA_cjs.createAutoAdapter(storagePrefix);
151
+ const noteStorage = chunkARH2SJM3_cjs.createIndexedDBAdapter(storagePrefix);
152
152
  const store = new chunkIYRCJAME_cjs.NoteStore(noteStorage, "notes");
153
153
  noteStoreRef.current = store;
154
154
  noteStoreUnsub = store.onChange(() => {