@towns-protocol/web3 0.0.453 → 0.0.455
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/dist/cache/EntitlementCache.d.ts +16 -11
- package/dist/cache/EntitlementCache.d.ts.map +1 -1
- package/dist/cache/EntitlementCache.js +49 -27
- package/dist/cache/EntitlementCache.js.map +1 -1
- package/dist/cache/ICacheStorage.d.ts +44 -0
- package/dist/cache/ICacheStorage.d.ts.map +1 -0
- package/dist/cache/ICacheStorage.js +2 -0
- package/dist/cache/ICacheStorage.js.map +1 -0
- package/dist/cache/KVCacheStorage.d.ts +79 -0
- package/dist/cache/KVCacheStorage.d.ts.map +1 -0
- package/dist/cache/KVCacheStorage.js +227 -0
- package/dist/cache/KVCacheStorage.js.map +1 -0
- package/dist/cache/Keyable.d.ts +15 -26
- package/dist/cache/Keyable.d.ts.map +1 -1
- package/dist/cache/Keyable.js +57 -42
- package/dist/cache/Keyable.js.map +1 -1
- package/dist/cache/SimpleCache.d.ts +18 -13
- package/dist/cache/SimpleCache.d.ts.map +1 -1
- package/dist/cache/SimpleCache.js +58 -39
- package/dist/cache/SimpleCache.js.map +1 -1
- package/dist/cache/TTLCacheStorage.d.ts +19 -0
- package/dist/cache/TTLCacheStorage.d.ts.map +1 -0
- package/dist/cache/TTLCacheStorage.js +40 -0
- package/dist/cache/TTLCacheStorage.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/space/IEntitlementsShim.d.ts +2 -7
- package/dist/space/IEntitlementsShim.d.ts.map +1 -1
- package/dist/space/IEntitlementsShim.js +4 -11
- package/dist/space/IEntitlementsShim.js.map +1 -1
- package/dist/space/ITippingShim.d.ts +1 -1
- package/dist/space/ITippingShim.d.ts.map +1 -1
- package/dist/space/ITippingShim.js +2 -2
- package/dist/space/ITippingShim.js.map +1 -1
- package/dist/space/OwnableFacetShim.d.ts +2 -7
- package/dist/space/OwnableFacetShim.d.ts.map +1 -1
- package/dist/space/OwnableFacetShim.js +4 -11
- package/dist/space/OwnableFacetShim.js.map +1 -1
- package/dist/space/Space.d.ts +2 -1
- package/dist/space/Space.d.ts.map +1 -1
- package/dist/space/Space.js +3 -3
- package/dist/space/Space.js.map +1 -1
- package/dist/space/entitlements/ConvertersEntitlements.js +1 -1
- package/dist/space/entitlements/ConvertersEntitlements.js.map +1 -1
- package/dist/space-dapp/SpaceDapp.d.ts +16 -11
- package/dist/space-dapp/SpaceDapp.d.ts.map +1 -1
- package/dist/space-dapp/SpaceDapp.js +67 -57
- package/dist/space-dapp/SpaceDapp.js.map +1 -1
- package/dist/space-dapp/SpaceDappFactory.d.ts +2 -2
- package/dist/space-dapp/SpaceDappFactory.d.ts.map +1 -1
- package/dist/space-dapp/SpaceDappFactory.js +2 -2
- package/dist/space-dapp/SpaceDappFactory.js.map +1 -1
- package/dist/space-owner/SpaceOwner.d.ts +2 -1
- package/dist/space-owner/SpaceOwner.d.ts.map +1 -1
- package/dist/space-owner/SpaceOwner.js +5 -12
- package/dist/space-owner/SpaceOwner.js.map +1 -1
- package/dist/space-registrar/SpaceRegistrar.d.ts +3 -1
- package/dist/space-registrar/SpaceRegistrar.d.ts.map +1 -1
- package/dist/space-registrar/SpaceRegistrar.js +4 -2
- package/dist/space-registrar/SpaceRegistrar.js.map +1 -1
- package/dist/towns-token/TownsToken.d.ts +2 -1
- package/dist/towns-token/TownsToken.d.ts.map +1 -1
- package/dist/towns-token/TownsToken.js +4 -11
- package/dist/towns-token/TownsToken.js.map +1 -1
- package/package.json +5 -4
package/dist/cache/Keyable.js
CHANGED
|
@@ -1,47 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
export class Keyable {
|
|
3
|
+
parts;
|
|
4
|
+
constructor(...args) {
|
|
5
|
+
this.parts = args;
|
|
5
6
|
}
|
|
6
7
|
toKey() {
|
|
7
|
-
return
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
8
|
+
return this.parts
|
|
9
|
+
.map((part) => {
|
|
10
|
+
if (part === null)
|
|
11
|
+
return 'null';
|
|
12
|
+
if (part === undefined)
|
|
13
|
+
return 'undefined';
|
|
14
|
+
if (ethers.BigNumber.isBigNumber(part)) {
|
|
15
|
+
return part.toString();
|
|
16
|
+
}
|
|
17
|
+
if (typeof part === 'object') {
|
|
18
|
+
return JSON.stringify(part);
|
|
19
|
+
}
|
|
20
|
+
// At this point, part is a primitive (string, number, boolean, bigint, symbol)
|
|
21
|
+
return String(part);
|
|
22
|
+
})
|
|
23
|
+
.join(':');
|
|
24
|
+
}
|
|
25
|
+
static spaceInfoRequest(spaceId) {
|
|
26
|
+
return new Keyable('spaceInfo', spaceId);
|
|
27
|
+
}
|
|
28
|
+
static getEntitlementsRequest(spaceAddress) {
|
|
29
|
+
return new Keyable('getEntitlements', spaceAddress);
|
|
30
|
+
}
|
|
31
|
+
static ownerRequest(spaceAddress) {
|
|
32
|
+
return new Keyable('owner', spaceAddress);
|
|
33
|
+
}
|
|
34
|
+
static balanceOfRequest(accountAddress) {
|
|
35
|
+
return new Keyable('balanceOf', accountAddress);
|
|
36
|
+
}
|
|
37
|
+
static bannedTokenIdsRequest(spaceId) {
|
|
38
|
+
return new Keyable('bannedTokenIds', spaceId);
|
|
39
|
+
}
|
|
40
|
+
static ownerOfTokenRequest(spaceId, tokenId) {
|
|
41
|
+
return new Keyable('ownerOfToken', spaceId, tokenId);
|
|
42
|
+
}
|
|
43
|
+
static isTokenBanned(spaceId, tokenId) {
|
|
44
|
+
return new Keyable('isTokenBanned', spaceId, tokenId);
|
|
45
|
+
}
|
|
46
|
+
static entitlementRequest(spaceId, channelId, userId, permission) {
|
|
47
|
+
return new Keyable('entitlement', spaceId, channelId, userId, permission);
|
|
48
|
+
}
|
|
49
|
+
static spaceEntitlementRequest(spaceId, permission) {
|
|
50
|
+
return new Keyable('spaceEntitlement', spaceId, permission);
|
|
51
|
+
}
|
|
52
|
+
static spaceEntitlementEvaluationRequest(spaceId, rootKey, permission) {
|
|
53
|
+
return new Keyable('spaceEntitlementEval', spaceId, rootKey, permission);
|
|
54
|
+
}
|
|
55
|
+
static channelEntitlementRequest(spaceId, channelId, permission) {
|
|
56
|
+
return new Keyable('channelEntitlement', spaceId, channelId, permission);
|
|
57
|
+
}
|
|
58
|
+
static channelEntitlementEvaluationRequest(spaceId, channelNetworkId, userId, permission) {
|
|
59
|
+
return new Keyable('channelEntitlementEval', spaceId, channelNetworkId, userId, permission);
|
|
45
60
|
}
|
|
46
61
|
}
|
|
47
62
|
//# sourceMappingURL=Keyable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Keyable.js","sourceRoot":"","sources":["../../src/cache/Keyable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Keyable.js","sourceRoot":"","sources":["../../src/cache/Keyable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
import { Keyable } from './Keyable';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { CreateStorageFn } from './ICacheStorage';
|
|
3
|
+
export interface SimpleCacheOptions<V> {
|
|
4
|
+
ttlSeconds?: number;
|
|
5
|
+
maxSize?: number;
|
|
6
|
+
/** Factory function to create storage. Defaults to in-memory TTLCacheStorage */
|
|
7
|
+
createStorageFn: CreateStorageFn<V> | undefined;
|
|
8
|
+
}
|
|
9
|
+
export declare class SimpleCache<V> {
|
|
10
|
+
private readonly storage;
|
|
4
11
|
private pendingFetches;
|
|
5
12
|
/**
|
|
6
|
-
* @param ttlSeconds Optional time-to-live for cache entries in seconds. If not provided, cache entries do not expire.
|
|
7
|
-
* @param maxSize Optional maximum number of entries in the cache.
|
|
13
|
+
* @param options.ttlSeconds Optional time-to-live for cache entries in seconds. If not provided, cache entries do not expire.
|
|
14
|
+
* @param options.maxSize Optional maximum number of entries in the cache.
|
|
15
|
+
* @param options.createStorageFn Optional factory to create storage backend. Defaults to in-memory TTLCache.
|
|
8
16
|
*/
|
|
9
|
-
constructor(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
add(key: K, value: V): void;
|
|
15
|
-
remove(key: K): void;
|
|
16
|
-
clear(): void;
|
|
17
|
+
constructor(options: SimpleCacheOptions<V>);
|
|
18
|
+
get(key: Keyable): Promise<V | undefined>;
|
|
19
|
+
add(key: Keyable, value: V): Promise<void>;
|
|
20
|
+
remove(key: Keyable): Promise<void>;
|
|
21
|
+
clear(): Promise<void>;
|
|
17
22
|
/**
|
|
18
23
|
* Executes a function to fetch a value if it's not in the cache,
|
|
19
24
|
* stores the result, and returns it.
|
|
20
25
|
*/
|
|
21
|
-
executeUsingCache(key:
|
|
26
|
+
executeUsingCache(key: Keyable, fetchFn: (key: Keyable) => Promise<V>, opts?: {
|
|
22
27
|
skipCache?: boolean;
|
|
23
28
|
}): Promise<V>;
|
|
24
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleCache.d.ts","sourceRoot":"","sources":["../../src/cache/SimpleCache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SimpleCache.d.ts","sourceRoot":"","sources":["../../src/cache/SimpleCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAiB,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGhE,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gFAAgF;IAChF,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CAClD;AAED,qBAAa,WAAW,CAAC,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAqC;IAE3D;;;;OAIG;gBACS,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IASpC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;;OAGG;IACG,iBAAiB,CACnB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EACrC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,OAAO,CAAC,CAAC,CAAC;CA8ChB"}
|
|
@@ -1,30 +1,38 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createDefaultStorage } from './TTLCacheStorage';
|
|
2
2
|
export class SimpleCache {
|
|
3
|
-
|
|
3
|
+
storage;
|
|
4
4
|
pendingFetches = new Map();
|
|
5
5
|
/**
|
|
6
|
-
* @param ttlSeconds Optional time-to-live for cache entries in seconds. If not provided, cache entries do not expire.
|
|
7
|
-
* @param maxSize Optional maximum number of entries in the cache.
|
|
6
|
+
* @param options.ttlSeconds Optional time-to-live for cache entries in seconds. If not provided, cache entries do not expire.
|
|
7
|
+
* @param options.maxSize Optional maximum number of entries in the cache.
|
|
8
|
+
* @param options.createStorageFn Optional factory to create storage backend. Defaults to in-memory TTLCache.
|
|
8
9
|
*/
|
|
9
|
-
constructor(
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
this.
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
constructor(options) {
|
|
11
|
+
const ttlMs = options.ttlSeconds !== undefined ? options.ttlSeconds * 1000 : undefined;
|
|
12
|
+
const createFn = options.createStorageFn ?? createDefaultStorage;
|
|
13
|
+
this.storage = createFn({
|
|
14
|
+
ttlMs,
|
|
15
|
+
maxSize: options.maxSize,
|
|
15
16
|
});
|
|
16
17
|
}
|
|
17
|
-
get(key) {
|
|
18
|
-
return this.
|
|
18
|
+
async get(key) {
|
|
19
|
+
return this.storage.get(key.toKey());
|
|
19
20
|
}
|
|
20
|
-
add(key, value) {
|
|
21
|
-
this.
|
|
21
|
+
async add(key, value) {
|
|
22
|
+
return this.storage.set(key.toKey(), value);
|
|
22
23
|
}
|
|
23
|
-
remove(key) {
|
|
24
|
-
|
|
24
|
+
async remove(key) {
|
|
25
|
+
const cacheKey = key.toKey();
|
|
26
|
+
// Clear pending fetch first to prevent returning stale in-flight data
|
|
27
|
+
this.pendingFetches.delete(cacheKey);
|
|
28
|
+
return this.storage.delete(cacheKey);
|
|
25
29
|
}
|
|
26
|
-
clear() {
|
|
27
|
-
|
|
30
|
+
async clear() {
|
|
31
|
+
// Clear all pending fetches first to prevent returning stale in-flight data
|
|
32
|
+
this.pendingFetches.clear();
|
|
33
|
+
if (this.storage.clear) {
|
|
34
|
+
return this.storage.clear();
|
|
35
|
+
}
|
|
28
36
|
}
|
|
29
37
|
/**
|
|
30
38
|
* Executes a function to fetch a value if it's not in the cache,
|
|
@@ -32,33 +40,44 @@ export class SimpleCache {
|
|
|
32
40
|
*/
|
|
33
41
|
async executeUsingCache(key, fetchFn, opts) {
|
|
34
42
|
const cacheKey = key.toKey();
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
const skipCache = opts?.skipCache === true;
|
|
44
|
+
// 1. Check for pending fetch FIRST (synchronous check before any await)
|
|
45
|
+
// This prevents race conditions where concurrent calls interleave
|
|
46
|
+
// Skip deduplication when skipCache is true - caller explicitly wants fresh data
|
|
47
|
+
if (!skipCache) {
|
|
48
|
+
const pendingPromise = this.pendingFetches.get(cacheKey);
|
|
49
|
+
if (pendingPromise) {
|
|
50
|
+
return pendingPromise;
|
|
40
51
|
}
|
|
41
52
|
}
|
|
42
|
-
// 2.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const fetchedValue = await fetchPromise;
|
|
53
|
+
// 2. Create promise that checks cache then fetches if needed
|
|
54
|
+
// Store it synchronously BEFORE any await to prevent races
|
|
55
|
+
const operationPromise = (async () => {
|
|
56
|
+
// Check main cache
|
|
57
|
+
if (!skipCache) {
|
|
58
|
+
const cachedValue = await this.storage.get(cacheKey);
|
|
59
|
+
if (cachedValue !== undefined) {
|
|
60
|
+
return cachedValue;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// No cached value: Initiate fetch
|
|
64
|
+
const fetchedValue = await fetchFn(key);
|
|
55
65
|
// Add to main cache only on successful fetch
|
|
56
|
-
this.
|
|
66
|
+
await this.storage.set(cacheKey, fetchedValue);
|
|
57
67
|
return fetchedValue;
|
|
68
|
+
})();
|
|
69
|
+
// Only track in pendingFetches if not skipping cache
|
|
70
|
+
// skipCache calls run independently and don't deduplicate
|
|
71
|
+
if (!skipCache) {
|
|
72
|
+
this.pendingFetches.set(cacheKey, operationPromise);
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
return await operationPromise;
|
|
58
76
|
}
|
|
59
77
|
finally {
|
|
60
|
-
|
|
61
|
-
|
|
78
|
+
if (!skipCache) {
|
|
79
|
+
this.pendingFetches.delete(cacheKey);
|
|
80
|
+
}
|
|
62
81
|
}
|
|
63
82
|
}
|
|
64
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleCache.js","sourceRoot":"","sources":["../../src/cache/SimpleCache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SimpleCache.js","sourceRoot":"","sources":["../../src/cache/SimpleCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ICacheStorage, CacheStorageConfig } from './ICacheStorage';
|
|
2
|
+
/**
|
|
3
|
+
* In-memory cache storage implementation using TTLCache
|
|
4
|
+
* This is the default storage backend for SimpleCache and EntitlementCache
|
|
5
|
+
*/
|
|
6
|
+
export declare class TTLCacheStorage<V> implements ICacheStorage<V> {
|
|
7
|
+
private readonly cache;
|
|
8
|
+
private readonly defaultTtlMs;
|
|
9
|
+
constructor(config?: CacheStorageConfig);
|
|
10
|
+
get(key: string): Promise<V | undefined>;
|
|
11
|
+
set(key: string, value: V, ttlMs?: number): Promise<void>;
|
|
12
|
+
delete(key: string): Promise<void>;
|
|
13
|
+
clear(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Default factory function that creates in-memory TTLCacheStorage
|
|
17
|
+
*/
|
|
18
|
+
export declare function createDefaultStorage<V>(config: CacheStorageConfig): ICacheStorage<V>;
|
|
19
|
+
//# sourceMappingURL=TTLCacheStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TTLCacheStorage.d.ts","sourceRoot":"","sources":["../../src/cache/TTLCacheStorage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEnE;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;gBAEzB,MAAM,CAAC,EAAE,kBAAkB;IAQjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAEpF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import TTLCache from '@isaacs/ttlcache';
|
|
2
|
+
/**
|
|
3
|
+
* In-memory cache storage implementation using TTLCache
|
|
4
|
+
* This is the default storage backend for SimpleCache and EntitlementCache
|
|
5
|
+
*/
|
|
6
|
+
export class TTLCacheStorage {
|
|
7
|
+
cache;
|
|
8
|
+
defaultTtlMs;
|
|
9
|
+
constructor(config) {
|
|
10
|
+
this.defaultTtlMs = config?.ttlMs ?? Infinity;
|
|
11
|
+
this.cache = new TTLCache({
|
|
12
|
+
ttl: this.defaultTtlMs,
|
|
13
|
+
max: config?.maxSize ?? 10_000,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async get(key) {
|
|
17
|
+
return this.cache.get(key);
|
|
18
|
+
}
|
|
19
|
+
async set(key, value, ttlMs) {
|
|
20
|
+
if (ttlMs !== undefined) {
|
|
21
|
+
this.cache.set(key, value, { ttl: ttlMs });
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.cache.set(key, value);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async delete(key) {
|
|
28
|
+
this.cache.delete(key);
|
|
29
|
+
}
|
|
30
|
+
async clear() {
|
|
31
|
+
this.cache.clear();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Default factory function that creates in-memory TTLCacheStorage
|
|
36
|
+
*/
|
|
37
|
+
export function createDefaultStorage(config) {
|
|
38
|
+
return new TTLCacheStorage(config);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=TTLCacheStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TTLCacheStorage.js","sourceRoot":"","sources":["../../src/cache/TTLCacheStorage.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAA;AAGvC;;;GAGG;AACH,MAAM,OAAO,eAAe;IACP,KAAK,CAAqB;IAC1B,YAAY,CAAQ;IAErC,YAAY,MAA2B;QACnC,IAAI,CAAC,YAAY,GAAG,MAAM,EAAE,KAAK,IAAI,QAAQ,CAAA;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC;YACtB,GAAG,EAAE,IAAI,CAAC,YAAY;YACtB,GAAG,EAAE,MAAM,EAAE,OAAO,IAAI,MAAM;SACjC,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAQ,EAAE,KAAc;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC9B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAI,MAA0B;IAC9D,OAAO,IAAI,eAAe,CAAI,MAAM,CAAC,CAAA;AACzC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,8 +18,11 @@ export * from './base-registry/INodeOperatorShim';
|
|
|
18
18
|
export * from './base-registry/ISpaceDelegationShim';
|
|
19
19
|
export * from './base-registry/RewardsDistributionShim';
|
|
20
20
|
export * from './cache/EntitlementCache';
|
|
21
|
+
export * from './cache/ICacheStorage';
|
|
21
22
|
export * from './cache/Keyable';
|
|
23
|
+
export * from './cache/KVCacheStorage';
|
|
22
24
|
export * from './cache/SimpleCache';
|
|
25
|
+
export * from './cache/TTLCacheStorage';
|
|
23
26
|
export * from './chain';
|
|
24
27
|
export * from './delegate-registry/DelegateRegistry';
|
|
25
28
|
export * from './eip-712/EIP-712';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,8 +18,11 @@ export * from './base-registry/INodeOperatorShim';
|
|
|
18
18
|
export * from './base-registry/ISpaceDelegationShim';
|
|
19
19
|
export * from './base-registry/RewardsDistributionShim';
|
|
20
20
|
export * from './cache/EntitlementCache';
|
|
21
|
+
export * from './cache/ICacheStorage';
|
|
21
22
|
export * from './cache/Keyable';
|
|
23
|
+
export * from './cache/KVCacheStorage';
|
|
22
24
|
export * from './cache/SimpleCache';
|
|
25
|
+
export * from './cache/TTLCacheStorage';
|
|
23
26
|
export * from './chain';
|
|
24
27
|
export * from './delegate-registry/DelegateRegistry';
|
|
25
28
|
export * from './eip-712/EIP-712';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,17 +2,12 @@ import { EntitlementsManager__factory } from '@towns-protocol/generated/dev/typi
|
|
|
2
2
|
import { ethers } from 'ethers';
|
|
3
3
|
import { IEntitlementsManagerBase } from '@towns-protocol/generated/dev/typings/IEntitlementsManager';
|
|
4
4
|
import { BaseContractShim } from '../BaseContractShim';
|
|
5
|
-
import {
|
|
5
|
+
import { SpaceDappCreateStorageFn } from '../space-dapp/SpaceDapp';
|
|
6
6
|
declare const connect: typeof EntitlementsManager__factory.connect;
|
|
7
7
|
export type { IEntitlementsManagerBase as IEntitlementsBase };
|
|
8
|
-
export declare class GetEntitlements implements Keyable {
|
|
9
|
-
spaceAddress: string;
|
|
10
|
-
constructor(spaceAddress: string);
|
|
11
|
-
toKey(): string;
|
|
12
|
-
}
|
|
13
8
|
export declare class IEntitlementsShim extends BaseContractShim<typeof connect> {
|
|
14
9
|
private readonly getEntitlementsCache;
|
|
15
|
-
constructor(address: string, provider: ethers.providers.Provider);
|
|
10
|
+
constructor(address: string, provider: ethers.providers.Provider, createStorageFn: SpaceDappCreateStorageFn | undefined);
|
|
16
11
|
getEntitlements(): Promise<IEntitlementsManagerBase.EntitlementStructOutput[]>;
|
|
17
12
|
}
|
|
18
13
|
//# sourceMappingURL=IEntitlementsShim.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IEntitlementsShim.d.ts","sourceRoot":"","sources":["../../src/space/IEntitlementsShim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,8EAA8E,CAAA;AAC3H,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAA;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"IEntitlementsShim.d.ts","sourceRoot":"","sources":["../../src/space/IEntitlementsShim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,8EAA8E,CAAA;AAC3H,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAA;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,QAAA,MAAa,OAAO,6CAAiC,CAAA;AAErD,YAAY,EAAE,wBAAwB,IAAI,iBAAiB,EAAE,CAAA;AAE7D,qBAAa,iBAAkB,SAAQ,gBAAgB,CAAC,OAAO,OAAO,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAEpC;gBAGG,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,eAAe,EAAE,wBAAwB,GAAG,SAAS;IAU5C,eAAe,IAAI,OAAO,CAAC,wBAAwB,CAAC,uBAAuB,EAAE,CAAC;CAM9F"}
|
|
@@ -1,26 +1,19 @@
|
|
|
1
1
|
import { EntitlementsManager__factory } from '@towns-protocol/generated/dev/typings/factories/EntitlementsManager__factory';
|
|
2
2
|
import { BaseContractShim } from '../BaseContractShim';
|
|
3
|
+
import { Keyable } from '../cache/Keyable';
|
|
3
4
|
import { SimpleCache } from '../cache/SimpleCache';
|
|
4
5
|
const { abi, connect } = EntitlementsManager__factory;
|
|
5
|
-
export class GetEntitlements {
|
|
6
|
-
spaceAddress;
|
|
7
|
-
constructor(spaceAddress) {
|
|
8
|
-
this.spaceAddress = spaceAddress;
|
|
9
|
-
}
|
|
10
|
-
toKey() {
|
|
11
|
-
return `getEntitlements:${this.spaceAddress}`;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
6
|
export class IEntitlementsShim extends BaseContractShim {
|
|
15
7
|
getEntitlementsCache;
|
|
16
|
-
constructor(address, provider) {
|
|
8
|
+
constructor(address, provider, createStorageFn) {
|
|
17
9
|
super(address, provider, connect, abi);
|
|
18
10
|
this.getEntitlementsCache = new SimpleCache({
|
|
19
11
|
ttlSeconds: 15 * 60,
|
|
12
|
+
createStorageFn,
|
|
20
13
|
});
|
|
21
14
|
}
|
|
22
15
|
async getEntitlements() {
|
|
23
|
-
return this.getEntitlementsCache.executeUsingCache(
|
|
16
|
+
return this.getEntitlementsCache.executeUsingCache(Keyable.getEntitlementsRequest(this.address), async () => this.read.getEntitlements());
|
|
24
17
|
}
|
|
25
18
|
}
|
|
26
19
|
//# sourceMappingURL=IEntitlementsShim.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IEntitlementsShim.js","sourceRoot":"","sources":["../../src/space/IEntitlementsShim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,8EAA8E,CAAA;AAG3H,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"IEntitlementsShim.js","sourceRoot":"","sources":["../../src/space/IEntitlementsShim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,8EAA8E,CAAA;AAG3H,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGlD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,4BAA4B,CAAA;AAIrD,MAAM,OAAO,iBAAkB,SAAQ,gBAAgC;IAClD,oBAAoB,CAEpC;IAED,YACI,OAAe,EACf,QAAmC,EACnC,eAAqD;QAErD,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAEtC,IAAI,CAAC,oBAAoB,GAAG,IAAI,WAAW,CAAC;YACxC,UAAU,EAAE,EAAE,GAAG,EAAE;YACnB,eAAe;SAClB,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,eAAe;QACxB,OAAO,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAC9C,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAC5C,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAC1C,CAAA;IACL,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITippingShim.d.ts","sourceRoot":"","sources":["../../src/space/ITippingShim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAA;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAE3D,QAAA,MAAa,OAAO,kCAAsB,CAAA;AAG1C,MAAM,MAAM,cAAc,GAAG,uBAAuB,CAAA;AAGpD,oBAAY,gBAAgB;IACxB,MAAM,IAAI;IACV,GAAG,IAAI;IACP,
|
|
1
|
+
{"version":3,"file":"ITippingShim.d.ts","sourceRoot":"","sources":["../../src/space/ITippingShim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAA;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAE3D,QAAA,MAAa,OAAO,kCAAsB,CAAA;AAG1C,MAAM,MAAM,cAAc,GAAG,uBAAuB,CAAA;AAGpD,oBAAY,gBAAgB;IACxB,MAAM,IAAI;IACV,GAAG,IAAI;IACP,GAAG,IAAI;CACV;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,qBAAa,YAAa,SAAQ,gBAAgB,CAAC,OAAO,OAAO,CAAC;gBAClD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;IAIhE;;;;OAIG;IACU,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnE;;;;OAIG;IACU,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5D,WAAW,CACd,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,MAAM,GACtB,kBAAkB,GAAG,SAAS;CAmDpC"}
|
|
@@ -7,7 +7,7 @@ export var TipRecipientType;
|
|
|
7
7
|
(function (TipRecipientType) {
|
|
8
8
|
TipRecipientType[TipRecipientType["Member"] = 0] = "Member";
|
|
9
9
|
TipRecipientType[TipRecipientType["Bot"] = 1] = "Bot";
|
|
10
|
-
TipRecipientType[TipRecipientType["
|
|
10
|
+
TipRecipientType[TipRecipientType["Any"] = 2] = "Any";
|
|
11
11
|
})(TipRecipientType || (TipRecipientType = {}));
|
|
12
12
|
export class ITippingShim extends BaseContractShim {
|
|
13
13
|
constructor(address, provider) {
|
|
@@ -51,7 +51,7 @@ export class ITippingShim extends BaseContractShim {
|
|
|
51
51
|
tokenId = decoded[2];
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
54
|
-
// Bot/
|
|
54
|
+
// Bot/Any tips: data = abi.encode(messageId, channelId)
|
|
55
55
|
const decoded = ethers.utils.defaultAbiCoder.decode(['bytes32', 'bytes32'], data);
|
|
56
56
|
messageId = decoded[0];
|
|
57
57
|
channelId = decoded[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITippingShim.js","sourceRoot":"","sources":["../../src/space/ITippingShim.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAA;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAmB,MAAM,EAAa,MAAM,QAAQ,CAAA;AAE3D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAA;AAK1C,qCAAqC;AACrC,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,2DAAU,CAAA;IACV,qDAAO,CAAA;IACP,
|
|
1
|
+
{"version":3,"file":"ITippingShim.js","sourceRoot":"","sources":["../../src/space/ITippingShim.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
2
|
import { BaseContractShim } from '../BaseContractShim';
|
|
3
3
|
import { OwnableFacet__factory } from '@towns-protocol/generated/dev/typings/factories/OwnableFacet__factory';
|
|
4
|
-
import {
|
|
4
|
+
import { SpaceDappCreateStorageFn } from '../space-dapp/SpaceDapp';
|
|
5
5
|
declare const connect: typeof OwnableFacet__factory.connect;
|
|
6
|
-
export declare class OwnerRequest implements Keyable {
|
|
7
|
-
spaceId: string;
|
|
8
|
-
constructor(spaceId: string);
|
|
9
|
-
toKey(): string;
|
|
10
|
-
}
|
|
11
6
|
export declare class OwnableFacetShim extends BaseContractShim<typeof connect> {
|
|
12
7
|
private readonly ownerCache;
|
|
13
|
-
constructor(address: string, provider: ethers.providers.Provider);
|
|
8
|
+
constructor(address: string, provider: ethers.providers.Provider, createStorageFn: SpaceDappCreateStorageFn | undefined);
|
|
14
9
|
getOwner(): Promise<string>;
|
|
15
10
|
}
|
|
16
11
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwnableFacetShim.d.ts","sourceRoot":"","sources":["../../src/space/OwnableFacetShim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAA;
|
|
1
|
+
{"version":3,"file":"OwnableFacetShim.d.ts","sourceRoot":"","sources":["../../src/space/OwnableFacetShim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAA;AAG7G,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,QAAA,MAAa,OAAO,sCAA0B,CAAA;AAE9C,qBAAa,gBAAiB,SAAQ,gBAAgB,CAAC,OAAO,OAAO,CAAC;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAG5C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,eAAe,EAAE,wBAAwB,GAAG,SAAS;IAU5C,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAK3C"}
|
|
@@ -1,26 +1,19 @@
|
|
|
1
1
|
import { BaseContractShim } from '../BaseContractShim';
|
|
2
2
|
import { OwnableFacet__factory } from '@towns-protocol/generated/dev/typings/factories/OwnableFacet__factory';
|
|
3
|
+
import { Keyable } from '../cache/Keyable';
|
|
3
4
|
import { SimpleCache } from '../cache/SimpleCache';
|
|
4
5
|
const { abi, connect } = OwnableFacet__factory;
|
|
5
|
-
export class OwnerRequest {
|
|
6
|
-
spaceId;
|
|
7
|
-
constructor(spaceId) {
|
|
8
|
-
this.spaceId = spaceId;
|
|
9
|
-
}
|
|
10
|
-
toKey() {
|
|
11
|
-
return `owner:${this.spaceId}`;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
6
|
export class OwnableFacetShim extends BaseContractShim {
|
|
15
7
|
ownerCache;
|
|
16
|
-
constructor(address, provider) {
|
|
8
|
+
constructor(address, provider, createStorageFn) {
|
|
17
9
|
super(address, provider, connect, abi);
|
|
18
10
|
this.ownerCache = new SimpleCache({
|
|
19
11
|
ttlSeconds: 120 * 60,
|
|
12
|
+
createStorageFn,
|
|
20
13
|
});
|
|
21
14
|
}
|
|
22
15
|
async getOwner() {
|
|
23
|
-
return this.ownerCache.executeUsingCache(
|
|
16
|
+
return this.ownerCache.executeUsingCache(Keyable.ownerRequest(this.address), async () => this.read.owner());
|
|
24
17
|
}
|
|
25
18
|
}
|
|
26
19
|
//# sourceMappingURL=OwnableFacetShim.js.map
|