@ownables/platform-browser 0.1.0 → 0.5.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 +42 -0
- package/dist/core/src/index.d.ts +21 -0
- package/dist/core/src/index.d.ts.map +1 -0
- package/dist/core/src/index.js +20 -0
- package/dist/core/src/index.js.map +1 -0
- package/dist/core/src/interfaces/core.d.ts +53 -0
- package/dist/core/src/interfaces/core.d.ts.map +1 -0
- package/dist/core/src/interfaces/core.js +2 -0
- package/dist/core/src/interfaces/core.js.map +1 -0
- package/dist/core/src/logger.d.ts +3 -0
- package/dist/core/src/logger.d.ts.map +1 -0
- package/dist/core/src/logger.js +2 -0
- package/dist/core/src/logger.js.map +1 -0
- package/dist/core/src/ownableErrorMessage.d.ts +2 -0
- package/dist/core/src/ownableErrorMessage.d.ts.map +1 -0
- package/dist/core/src/ownableErrorMessage.js +20 -0
- package/dist/core/src/ownableErrorMessage.js.map +1 -0
- package/dist/core/src/progress.d.ts +3 -0
- package/dist/core/src/progress.d.ts.map +1 -0
- package/dist/core/src/progress.js +8 -0
- package/dist/core/src/progress.js.map +1 -0
- package/dist/core/src/services/EventChain.service.d.ts +47 -0
- package/dist/core/src/services/EventChain.service.d.ts.map +1 -0
- package/dist/core/src/services/EventChain.service.js +113 -0
- package/dist/core/src/services/EventChain.service.js.map +1 -0
- package/dist/core/src/services/Ownable.service.d.ts +60 -0
- package/dist/core/src/services/Ownable.service.d.ts.map +1 -0
- package/dist/core/src/services/Ownable.service.js +421 -0
- package/dist/core/src/services/Ownable.service.js.map +1 -0
- package/dist/core/src/services/Polling.service.d.ts +31 -0
- package/dist/core/src/services/Polling.service.d.ts.map +1 -0
- package/dist/core/src/services/Polling.service.js +109 -0
- package/dist/core/src/services/Polling.service.js.map +1 -0
- package/dist/core/src/services/SIWE.service.d.ts +16 -0
- package/dist/core/src/services/SIWE.service.d.ts.map +1 -0
- package/dist/core/src/services/SIWE.service.js +123 -0
- package/dist/core/src/services/SIWE.service.js.map +1 -0
- package/dist/core/src/services/StateStoreRecordStore.service.d.ts +13 -0
- package/dist/core/src/services/StateStoreRecordStore.service.d.ts.map +1 -0
- package/dist/core/src/services/StateStoreRecordStore.service.js +76 -0
- package/dist/core/src/services/StateStoreRecordStore.service.js.map +1 -0
- package/dist/core/src/services/WorkerRPC.service.d.ts +37 -0
- package/dist/core/src/services/WorkerRPC.service.d.ts.map +1 -0
- package/dist/core/src/services/WorkerRPC.service.js +219 -0
- package/dist/core/src/services/WorkerRPC.service.js.map +1 -0
- package/dist/core/src/services/workerSource.d.ts +2 -0
- package/dist/core/src/services/workerSource.d.ts.map +1 -0
- package/dist/core/src/services/workerSource.js +72 -0
- package/dist/core/src/services/workerSource.js.map +1 -0
- package/dist/core/src/types/Authority.d.ts +40 -0
- package/dist/core/src/types/Authority.d.ts.map +1 -0
- package/dist/core/src/types/Authority.js +2 -0
- package/dist/core/src/types/Authority.js.map +1 -0
- package/dist/core/src/types/EventChainStore.d.ts +12 -0
- package/dist/core/src/types/EventChainStore.d.ts.map +1 -0
- package/dist/core/src/types/EventChainStore.js +2 -0
- package/dist/core/src/types/EventChainStore.js.map +1 -0
- package/dist/core/src/types/MessageInfo.d.ts +19 -0
- package/dist/core/src/types/MessageInfo.d.ts.map +1 -0
- package/dist/core/src/types/MessageInfo.js +2 -0
- package/dist/core/src/types/MessageInfo.js.map +1 -0
- package/dist/core/src/types/OwnableRuntime.d.ts +40 -0
- package/dist/core/src/types/OwnableRuntime.d.ts.map +1 -0
- package/dist/core/src/types/OwnableRuntime.js +2 -0
- package/dist/core/src/types/OwnableRuntime.js.map +1 -0
- package/dist/core/src/types/Polling.d.ts +14 -0
- package/dist/core/src/types/Polling.d.ts.map +1 -0
- package/dist/core/src/types/Polling.js +2 -0
- package/dist/core/src/types/Polling.js.map +1 -0
- package/dist/core/src/types/SIWE.d.ts +30 -0
- package/dist/core/src/types/SIWE.d.ts.map +1 -0
- package/dist/core/src/types/SIWE.js +2 -0
- package/dist/core/src/types/SIWE.js.map +1 -0
- package/dist/core/src/types/TypedCosmWasmMsg.d.ts +12 -0
- package/dist/core/src/types/TypedCosmWasmMsg.d.ts.map +1 -0
- package/dist/core/src/types/TypedCosmWasmMsg.js +2 -0
- package/dist/core/src/types/TypedCosmWasmMsg.js.map +1 -0
- package/dist/core/src/types/TypedDict.d.ts +4 -0
- package/dist/core/src/types/TypedDict.d.ts.map +1 -0
- package/dist/core/src/types/TypedDict.js +2 -0
- package/dist/core/src/types/TypedDict.js.map +1 -0
- package/dist/core/src/types/TypedOwnableInfo.d.ts +34 -0
- package/dist/core/src/types/TypedOwnableInfo.d.ts.map +1 -0
- package/dist/core/src/types/TypedOwnableInfo.js +2 -0
- package/dist/core/src/types/TypedOwnableInfo.js.map +1 -0
- package/dist/core/src/types/TypedPackage.d.ts +35 -0
- package/dist/core/src/types/TypedPackage.d.ts.map +1 -0
- package/dist/core/src/types/TypedPackage.js +2 -0
- package/dist/core/src/types/TypedPackage.js.map +1 -0
- package/dist/platform-browser/src/index.d.ts +11 -0
- package/dist/platform-browser/src/index.d.ts.map +1 -0
- package/dist/platform-browser/src/index.js +11 -0
- package/dist/platform-browser/src/index.js.map +1 -0
- package/dist/platform-browser/src/services/IDB.service.d.ts +29 -0
- package/dist/platform-browser/src/services/IDB.service.d.ts.map +1 -0
- package/dist/platform-browser/src/services/IDB.service.js +192 -0
- package/dist/platform-browser/src/services/IDB.service.js.map +1 -0
- package/dist/platform-browser/src/services/LocalStorage.service.d.ts +14 -0
- package/dist/platform-browser/src/services/LocalStorage.service.d.ts.map +1 -0
- package/dist/platform-browser/src/services/LocalStorage.service.js +57 -0
- package/dist/platform-browser/src/services/LocalStorage.service.js.map +1 -0
- package/dist/platform-browser/src/services/Package.service.d.ts +49 -0
- package/dist/platform-browser/src/services/Package.service.d.ts.map +1 -0
- package/dist/platform-browser/src/services/Package.service.js +466 -0
- package/dist/platform-browser/src/services/Package.service.js.map +1 -0
- package/dist/platform-browser/src/services/Relay.service.d.ts +59 -0
- package/dist/platform-browser/src/services/Relay.service.d.ts.map +1 -0
- package/dist/platform-browser/src/services/Relay.service.js +299 -0
- package/dist/platform-browser/src/services/Relay.service.js.map +1 -0
- package/dist/platform-browser/src/services/SessionStorage.service.d.ts +7 -0
- package/dist/platform-browser/src/services/SessionStorage.service.d.ts.map +1 -0
- package/dist/platform-browser/src/services/SessionStorage.service.js +16 -0
- package/dist/platform-browser/src/services/SessionStorage.service.js.map +1 -0
- package/dist/platform-browser/src/utils/calculateCid.d.ts +2 -0
- package/dist/platform-browser/src/utils/calculateCid.d.ts.map +1 -0
- package/dist/platform-browser/src/utils/calculateCid.js +18 -0
- package/dist/platform-browser/src/utils/calculateCid.js.map +1 -0
- package/package.json +7 -2
package/README.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# @ownables/platform-browser
|
|
2
|
+
|
|
3
|
+
Browser adapters and services for Ownables package loading and storage.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
yarn add @ownables/platform-browser
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Main exports
|
|
12
|
+
|
|
13
|
+
- `IDBService`
|
|
14
|
+
- `LocalStorageService`
|
|
15
|
+
- `SessionStorageService`
|
|
16
|
+
- `PackageService`
|
|
17
|
+
- `RelayService` (legacy/deprecated)
|
|
18
|
+
- `calculateCid`
|
|
19
|
+
|
|
20
|
+
## Quick start
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
import {
|
|
24
|
+
IDBService,
|
|
25
|
+
LocalStorageService,
|
|
26
|
+
PackageService,
|
|
27
|
+
RelayService,
|
|
28
|
+
} from "@ownables/platform-browser";
|
|
29
|
+
|
|
30
|
+
const idb = new IDBService();
|
|
31
|
+
const storage = new LocalStorageService();
|
|
32
|
+
const relay = new RelayService(anchorProvider);
|
|
33
|
+
const packages = new PackageService(idb, relay, storage);
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Development
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
yarn workspace @ownables/platform-browser run build
|
|
40
|
+
yarn workspace @ownables/platform-browser run typecheck
|
|
41
|
+
```
|
|
42
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from './interfaces/core';
|
|
2
|
+
export * from './logger';
|
|
3
|
+
export * from './progress';
|
|
4
|
+
export * from './types/TypedCosmWasmMsg';
|
|
5
|
+
export * from './types/TypedOwnableInfo';
|
|
6
|
+
export * from './types/TypedPackage';
|
|
7
|
+
export * from './types/MessageInfo';
|
|
8
|
+
export * from './types/OwnableRuntime';
|
|
9
|
+
export * from './types/SIWE';
|
|
10
|
+
export * from './types/EventChainStore';
|
|
11
|
+
export * from './types/Polling';
|
|
12
|
+
export * from './types/Authority';
|
|
13
|
+
export { default as TypedDict } from './types/TypedDict';
|
|
14
|
+
export { default as ownableErrorMessage } from './ownableErrorMessage';
|
|
15
|
+
export * from './services/SIWE.service';
|
|
16
|
+
export { PollingService } from './services/Polling.service';
|
|
17
|
+
export { default as EventChainService } from './services/EventChain.service';
|
|
18
|
+
export { default as OwnableService } from './services/Ownable.service';
|
|
19
|
+
export { default as WorkerRPC } from './services/WorkerRPC.service';
|
|
20
|
+
export { default as StateStoreRecordStore } from './services/StateStoreRecordStore.service';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAE3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0CAA0C,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export * from './interfaces/core';
|
|
2
|
+
export * from './logger';
|
|
3
|
+
export * from './progress';
|
|
4
|
+
export * from './types/TypedCosmWasmMsg';
|
|
5
|
+
export * from './types/TypedOwnableInfo';
|
|
6
|
+
export * from './types/TypedPackage';
|
|
7
|
+
export * from './types/MessageInfo';
|
|
8
|
+
export * from './types/OwnableRuntime';
|
|
9
|
+
export * from './types/SIWE';
|
|
10
|
+
export * from './types/EventChainStore';
|
|
11
|
+
export * from './types/Polling';
|
|
12
|
+
export * from './types/Authority';
|
|
13
|
+
export { default as ownableErrorMessage } from './ownableErrorMessage';
|
|
14
|
+
export * from './services/SIWE.service';
|
|
15
|
+
export { PollingService } from './services/Polling.service';
|
|
16
|
+
export { default as EventChainService } from './services/EventChain.service';
|
|
17
|
+
export { default as OwnableService } from './services/Ownable.service';
|
|
18
|
+
export { default as WorkerRPC } from './services/WorkerRPC.service';
|
|
19
|
+
export { default as StateStoreRecordStore } from './services/StateStoreRecordStore.service';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../core/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAE3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0CAA0C,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Event, Message } from 'eqty-core';
|
|
2
|
+
import type { TypedPackage } from '../types/TypedPackage';
|
|
3
|
+
import type { OwnableRPC } from '../types/OwnableRuntime';
|
|
4
|
+
export type LogProgress = (step: string, meta?: Record<string, unknown>) => void;
|
|
5
|
+
export interface ProgressReporter {
|
|
6
|
+
step<T>(step: string, fn: () => Promise<T> | T, meta?: () => Record<string, unknown>): Promise<T>;
|
|
7
|
+
}
|
|
8
|
+
export interface KVStore {
|
|
9
|
+
get(key: string): any;
|
|
10
|
+
set(key: string, value: any): void;
|
|
11
|
+
remove(key: string): void;
|
|
12
|
+
clear(): void;
|
|
13
|
+
}
|
|
14
|
+
export interface StateStore {
|
|
15
|
+
get(store: string, key: string): Promise<any>;
|
|
16
|
+
getAll(store: string): Promise<Array<any>>;
|
|
17
|
+
getMap(store: string): Promise<Map<any, any>>;
|
|
18
|
+
keys(store: string): Promise<string[]>;
|
|
19
|
+
set(store: string, key: string, value: any): Promise<void>;
|
|
20
|
+
setAll(store: string, map: Record<string, any> | Map<any, any>): Promise<void>;
|
|
21
|
+
setAll(data: Record<string, Record<string, any> | Map<any, any>>): Promise<void>;
|
|
22
|
+
hasStore(store: string): Promise<boolean>;
|
|
23
|
+
createStore(...stores: string[]): Promise<void>;
|
|
24
|
+
deleteStore(store: string | RegExp): Promise<void>;
|
|
25
|
+
listStores(): Promise<string[]>;
|
|
26
|
+
delete(store: string, key: string): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
export interface AnchorProvider {
|
|
29
|
+
address: string;
|
|
30
|
+
chainId: number;
|
|
31
|
+
signer: any;
|
|
32
|
+
sign(...subjects: Array<Event | Message>): Promise<void>;
|
|
33
|
+
anchor(...anchors: any[]): Promise<void>;
|
|
34
|
+
submitAnchors(): Promise<string | undefined>;
|
|
35
|
+
verifyAnchors(...anchors: any[]): Promise<{
|
|
36
|
+
verified: boolean;
|
|
37
|
+
anchors: Record<string, string | undefined>;
|
|
38
|
+
map: Record<string, string>;
|
|
39
|
+
}>;
|
|
40
|
+
}
|
|
41
|
+
export interface PackageAssetIO {
|
|
42
|
+
info(nameOrCid: string, uniqueMessageHash?: string): TypedPackage;
|
|
43
|
+
getAsset(cid: string, name: string, read: (reader: unknown, contents: unknown) => void): Promise<string | ArrayBuffer>;
|
|
44
|
+
getAssetAsText(cid: string, name: string): Promise<string>;
|
|
45
|
+
zip(cid: string): Promise<any>;
|
|
46
|
+
}
|
|
47
|
+
export interface RuntimeSourceProvider {
|
|
48
|
+
getWorkerSource(): string;
|
|
49
|
+
}
|
|
50
|
+
export interface RuntimeRPCProvider {
|
|
51
|
+
create(id: string): OwnableRPC;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../core/src/interfaces/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../core/src/interfaces/core.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../core/src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAE5E,eAAO,MAAM,aAAa,EAAE,UAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../core/src/logger.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ownableErrorMessage.d.ts","sourceRoot":"","sources":["../../../../core/src/ownableErrorMessage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAsB9D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export default function ownableErrorMessage(error) {
|
|
2
|
+
if (!(error instanceof Error)) {
|
|
3
|
+
return typeof error === 'string' ? error : 'Internal error';
|
|
4
|
+
}
|
|
5
|
+
const message = error.message;
|
|
6
|
+
if (message.match(/^Ownable \w+ failed$/) && error.cause instanceof Error) {
|
|
7
|
+
return error.cause.message.replace(/^Custom Error val: "(.+)"$/, '$1');
|
|
8
|
+
}
|
|
9
|
+
const viemShortMessage = error.shortMessage;
|
|
10
|
+
if (typeof viemShortMessage === 'string' && viemShortMessage.trim()) {
|
|
11
|
+
return viemShortMessage.trim();
|
|
12
|
+
}
|
|
13
|
+
if (/\bviem@/i.test(message) || /\nVersion:\s*viem@/i.test(message)) {
|
|
14
|
+
const firstLine = message.split('\n').find((l) => l.trim());
|
|
15
|
+
if (firstLine)
|
|
16
|
+
return firstLine.trim();
|
|
17
|
+
}
|
|
18
|
+
return message;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ownableErrorMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ownableErrorMessage.js","sourceRoot":"","sources":["../../../../core/src/ownableErrorMessage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAU;IACpD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC9D,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAE9B,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,KAAK,CAAC,KAAK,YAAY,KAAK,EAAE,CAAC;QAC1E,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,gBAAgB,GAAI,KAAa,CAAC,YAAY,CAAC;IACrD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QACpE,OAAO,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../../core/src/progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,eAAO,MAAM,YAAY,GAAI,aAAa,WAAW,KAAG,gBAAgB,CAAC,MAAM,CAM9E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../../core/src/progress.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAwB,EAA4B,EAAE;IACjF,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;QAC1B,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Binary, EventChain } from "eqty-core";
|
|
2
|
+
import type { AnchorProvider, KVStore, StateStore } from "../interfaces/core";
|
|
3
|
+
import type { StateDump } from "../types/OwnableRuntime";
|
|
4
|
+
import type { LoggerLike } from "../logger";
|
|
5
|
+
export default class EventChainService {
|
|
6
|
+
private idb;
|
|
7
|
+
private eqty;
|
|
8
|
+
private settingsStore?;
|
|
9
|
+
private readonly logger;
|
|
10
|
+
constructor(idb: StateStore, eqty: AnchorProvider, settingsStore?: KVStore | undefined, logger?: LoggerLike);
|
|
11
|
+
get anchoring(): boolean;
|
|
12
|
+
setAnchoring(enabled: boolean): void;
|
|
13
|
+
loadAll(): Promise<Array<{
|
|
14
|
+
chain: EventChain;
|
|
15
|
+
package: string;
|
|
16
|
+
isConsumed?: boolean;
|
|
17
|
+
created: Date;
|
|
18
|
+
keywords: string[];
|
|
19
|
+
latestHash?: string;
|
|
20
|
+
uniqueMessageHash: string;
|
|
21
|
+
}>>;
|
|
22
|
+
load(id: string): Promise<{
|
|
23
|
+
chain: EventChain;
|
|
24
|
+
package: string;
|
|
25
|
+
isConsumed?: boolean;
|
|
26
|
+
created: Date;
|
|
27
|
+
keywords: string[];
|
|
28
|
+
uniqueMessageHash: string;
|
|
29
|
+
latestHash?: string;
|
|
30
|
+
}>;
|
|
31
|
+
store(...chains: Array<{
|
|
32
|
+
chain: EventChain;
|
|
33
|
+
stateDump: StateDump;
|
|
34
|
+
keywords?: string[];
|
|
35
|
+
uniqueMessageHash?: string;
|
|
36
|
+
}>): Promise<void>;
|
|
37
|
+
getStateDump(id: string, state: string | Binary): Promise<StateDump | null>;
|
|
38
|
+
private getCurrentStateDump;
|
|
39
|
+
delete(id: string): Promise<void>;
|
|
40
|
+
deleteAll(): Promise<void>;
|
|
41
|
+
verify(chain: EventChain): Promise<{
|
|
42
|
+
verified: boolean;
|
|
43
|
+
anchors: Record<string, string | undefined>;
|
|
44
|
+
map: Record<string, string>;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=EventChain.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventChain.service.d.ts","sourceRoot":"","sources":["../../../../../core/src/services/EventChain.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAElC,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHf,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,cAAc,EACpB,aAAa,CAAC,EAAE,OAAO,YAAA,EACd,MAAM,GAAE,UAAoB;IAG/C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI9B,OAAO,IAAI,OAAO,CACtB,KAAK,CAAC;QACJ,KAAK,EAAE,UAAU,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,IAAI,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC,CACH;IAwCK,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9B,KAAK,EAAE,UAAU,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,IAAI,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IA0BI,KAAK,CACT,GAAG,MAAM,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,UAAU,CAAC;QAClB,SAAS,EAAE,SAAS,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC,GACD,OAAO,CAAC,IAAI,CAAC;IAqCV,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;YAUd,mBAAmB;IAK3B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAInB,MAAM,CAAC,KAAK,EAAE,UAAU;;;;;CAItC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { Binary, EventChain } from "eqty-core";
|
|
2
|
+
export default class EventChainService {
|
|
3
|
+
idb;
|
|
4
|
+
eqty;
|
|
5
|
+
settingsStore;
|
|
6
|
+
logger;
|
|
7
|
+
constructor(idb, eqty, settingsStore, logger = console) {
|
|
8
|
+
this.idb = idb;
|
|
9
|
+
this.eqty = eqty;
|
|
10
|
+
this.settingsStore = settingsStore;
|
|
11
|
+
this.logger = logger;
|
|
12
|
+
}
|
|
13
|
+
get anchoring() {
|
|
14
|
+
return Boolean(this.settingsStore?.get("anchoring"));
|
|
15
|
+
}
|
|
16
|
+
setAnchoring(enabled) {
|
|
17
|
+
this.settingsStore?.set("anchoring", enabled);
|
|
18
|
+
}
|
|
19
|
+
async loadAll() {
|
|
20
|
+
const ids = (await this.idb.listStores())
|
|
21
|
+
.filter((name) => name.match(/^ownable:\w+$/))
|
|
22
|
+
.map((name) => name.replace(/^ownable:(\w+)$/, "$1"));
|
|
23
|
+
const BATCH_SIZE = 10;
|
|
24
|
+
const results = [];
|
|
25
|
+
const isFulfilled = (result) => {
|
|
26
|
+
return result.status === "fulfilled";
|
|
27
|
+
};
|
|
28
|
+
for (let i = 0; i < ids.length; i += BATCH_SIZE) {
|
|
29
|
+
const batch = ids.slice(i, i + BATCH_SIZE);
|
|
30
|
+
const batchResults = await Promise.allSettled(batch.map(async (id) => {
|
|
31
|
+
try {
|
|
32
|
+
return await this.load(id);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
this.logger.error(`Failed to load chain with id ${id}:`, error);
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}));
|
|
39
|
+
results.push(...batchResults
|
|
40
|
+
.filter(isFulfilled)
|
|
41
|
+
.map((result) => result.value)
|
|
42
|
+
.filter((value) => value !== null));
|
|
43
|
+
}
|
|
44
|
+
return results.sort(({ created: a }, { created: b }) => a.getTime() - b.getTime());
|
|
45
|
+
}
|
|
46
|
+
async load(id) {
|
|
47
|
+
const chainInfo = (await this.idb
|
|
48
|
+
.getMap(`ownable:${id}`)
|
|
49
|
+
.then((map) => Object.fromEntries(map.entries())));
|
|
50
|
+
const { chain: chainJson, package: packageCid, isConsumed, latestHash, created, keywords, uniqueMessageHash, } = chainInfo;
|
|
51
|
+
return {
|
|
52
|
+
chain: EventChain.from(chainJson),
|
|
53
|
+
package: packageCid,
|
|
54
|
+
...(isConsumed !== undefined ? { isConsumed } : {}),
|
|
55
|
+
latestHash,
|
|
56
|
+
created,
|
|
57
|
+
keywords,
|
|
58
|
+
uniqueMessageHash,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
async store(...chains) {
|
|
62
|
+
const anchors = [];
|
|
63
|
+
const data = {};
|
|
64
|
+
for (const { chain, stateDump } of chains) {
|
|
65
|
+
const storedState = await this.idb.get(`ownable:${chain.id}`, "state");
|
|
66
|
+
if (storedState === chain.state)
|
|
67
|
+
continue;
|
|
68
|
+
if (this.anchoring) {
|
|
69
|
+
const previousHash = await this.idb.get(`ownable:${chain.id}`, "latestHash");
|
|
70
|
+
const newAnchors = previousHash
|
|
71
|
+
? chain.startingAfter(Binary.fromHex(previousHash)).anchorMap
|
|
72
|
+
: chain.anchorMap;
|
|
73
|
+
anchors.push(...newAnchors);
|
|
74
|
+
}
|
|
75
|
+
data[`ownable:${chain.id}`] = {
|
|
76
|
+
chain: chain.toJSON(),
|
|
77
|
+
state: chain.state.hex,
|
|
78
|
+
latestHash: chain.latestHash.hex,
|
|
79
|
+
};
|
|
80
|
+
data[`ownable:${chain.id}.state`] = new Map(stateDump);
|
|
81
|
+
}
|
|
82
|
+
if (anchors.length > 0) {
|
|
83
|
+
await this.eqty.anchor(...anchors);
|
|
84
|
+
}
|
|
85
|
+
// Only perform storage operation if there are changes
|
|
86
|
+
if (Object.keys(data).length > 0) {
|
|
87
|
+
await this.idb.setAll(data);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async getStateDump(id, state) {
|
|
91
|
+
const storedState = (await this.idb.hasStore(`ownable:${id}`))
|
|
92
|
+
? await this.idb.get(`ownable:${id}`, "state")
|
|
93
|
+
: undefined;
|
|
94
|
+
if (storedState !== (state instanceof Binary ? state.hex : state))
|
|
95
|
+
return null;
|
|
96
|
+
return this.getCurrentStateDump(id);
|
|
97
|
+
}
|
|
98
|
+
async getCurrentStateDump(id) {
|
|
99
|
+
const map = await this.idb.getMap(`ownable:${id}.state`);
|
|
100
|
+
return Array.from(map.entries());
|
|
101
|
+
}
|
|
102
|
+
async delete(id) {
|
|
103
|
+
await this.idb.deleteStore(new RegExp(`^ownable:${id}(\\..+)?$`));
|
|
104
|
+
}
|
|
105
|
+
async deleteAll() {
|
|
106
|
+
await this.idb.deleteStore(/^ownable:.+/);
|
|
107
|
+
}
|
|
108
|
+
async verify(chain) {
|
|
109
|
+
const anchors = chain.anchorMap;
|
|
110
|
+
return await this.eqty.verifyAnchors(...anchors);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=EventChain.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventChain.service.js","sourceRoot":"","sources":["../../../../../core/src/services/EventChain.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AAOhE,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAE1B;IACA;IACA;IACS;IAJnB,YACU,GAAe,EACf,IAAoB,EACpB,aAAuB,EACd,SAAqB,OAAO;QAHrC,QAAG,GAAH,GAAG,CAAY;QACf,SAAI,GAAJ,IAAI,CAAgB;QACpB,kBAAa,GAAb,aAAa,CAAU;QACd,WAAM,GAAN,MAAM,CAAsB;IAC5C,CAAC;IAEJ,IAAI,SAAS;QACX,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,YAAY,CAAC,OAAgB;QAC3B,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,OAAO;QAWX,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;aACtC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;aAC7C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QAExD,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,OAAO,GAAe,EAAE,CAAC;QAE/B,MAAM,WAAW,GAAG,CAClB,MAA+B,EACM,EAAE;YACvC,OAAO,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC;QACvC,CAAC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAC3C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBACrB,IAAI,CAAC;oBACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;oBAChE,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CACV,GAAG,YAAY;iBACZ,MAAM,CAAC,WAAW,CAAC;iBACnB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC7B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CACrC,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAC9D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAU;QASnB,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG;aAC9B,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;aACvB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAoB,CAAC;QAExE,MAAM,EACJ,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,UAAU,EACnB,UAAU,EACV,UAAU,EACV,OAAO,EACP,QAAQ,EACR,iBAAiB,GAClB,GAAG,SAAS,CAAC;QAEd,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,OAAO,EAAE,UAAU;YACnB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,UAAU;YACV,OAAO;YACP,QAAQ;YACR,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAAG,MAKD;QAEF,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAyC,EAAE,CAAC;QAEtD,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,MAAM,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YACvE,IAAI,WAAW,KAAK,KAAK,CAAC,KAAK;gBAAE,SAAS;YAE1C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACrC,WAAW,KAAK,CAAC,EAAE,EAAE,EACrB,YAAY,CACb,CAAC;gBACF,MAAM,UAAU,GAAG,YAAY;oBAC7B,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;oBAC7D,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAC9B,CAAC;YAED,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG;gBAC5B,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;gBACrB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG;gBACtB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG;aACjC,CAAC;YACF,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,sDAAsD;QACtD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,KAAsB;QAEtB,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,WAAW,KAAK,CAAC,KAAK,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAC/D,OAAO,IAAI,CAAC;QAEd,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,EAAU;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,KAAiB;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;QAChC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC;IACnD,CAAC;CACF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { EventChain } from "eqty-core";
|
|
2
|
+
import type TypedDict from "../types/TypedDict";
|
|
3
|
+
import type { AnchorProvider, PackageAssetIO, RuntimeRPCProvider, RuntimeSourceProvider, StateStore, LogProgress } from "../interfaces/core";
|
|
4
|
+
import JSZip from "jszip";
|
|
5
|
+
import type { TypedPackage } from "../types/TypedPackage";
|
|
6
|
+
import type { TypedOwnableInfo } from "../types/TypedOwnableInfo";
|
|
7
|
+
import type { OwnableRPC, StateDump, StateSnapshot } from "../types/OwnableRuntime";
|
|
8
|
+
import EventChainService from "./EventChain.service";
|
|
9
|
+
import type { LoggerLike } from "../logger";
|
|
10
|
+
export default class OwnableService {
|
|
11
|
+
private readonly stateStore;
|
|
12
|
+
private readonly eventChains;
|
|
13
|
+
private readonly eqty;
|
|
14
|
+
private readonly packages;
|
|
15
|
+
private readonly runtimeSource;
|
|
16
|
+
private readonly logger;
|
|
17
|
+
private readonly runtimeRpc;
|
|
18
|
+
private readonly SNAPSHOT_INTERVAL;
|
|
19
|
+
constructor(stateStore: StateStore, eventChains: EventChainService, eqty: AnchorProvider, packages: PackageAssetIO, runtimeSource?: RuntimeSourceProvider, logger?: LoggerLike, runtimeRpc?: RuntimeRPCProvider);
|
|
20
|
+
private readonly _rpc;
|
|
21
|
+
get anchoring(): boolean;
|
|
22
|
+
loadAll(): Promise<Array<{
|
|
23
|
+
chain: EventChain;
|
|
24
|
+
package: string;
|
|
25
|
+
isConsumed?: boolean;
|
|
26
|
+
created: Date;
|
|
27
|
+
keywords: string[];
|
|
28
|
+
uniqueMessageHash?: string;
|
|
29
|
+
}>>;
|
|
30
|
+
isReady(id: string): boolean;
|
|
31
|
+
rpc(id: string): OwnableRPC;
|
|
32
|
+
clearRpc(id: string): void;
|
|
33
|
+
setWidgetWindow(id: string, win: unknown | null): void;
|
|
34
|
+
initWorker(id: string, cid: string): Promise<void>;
|
|
35
|
+
create(pkg: TypedPackage, onProgress?: LogProgress): Promise<{
|
|
36
|
+
chain: EventChain;
|
|
37
|
+
txHash?: string;
|
|
38
|
+
}>;
|
|
39
|
+
init(chain: any, cid: string, uniqueMessageHash?: string): Promise<void>;
|
|
40
|
+
private createSnapshot;
|
|
41
|
+
private getLatestSnapshot;
|
|
42
|
+
listSnapshots(chainId: string): Promise<StateSnapshot[]>;
|
|
43
|
+
deleteSnapshots(chainId: string): Promise<void>;
|
|
44
|
+
private applyEvent;
|
|
45
|
+
apply(partialChain: EventChain, stateDump: StateDump): Promise<StateDump>;
|
|
46
|
+
execute(chain: EventChain, msg: TypedDict, stateDump: StateDump, onProgress?: LogProgress): Promise<StateDump>;
|
|
47
|
+
submitAnchors(onProgress?: LogProgress): Promise<string | undefined>;
|
|
48
|
+
canConsume(consumer: {
|
|
49
|
+
chain: EventChain;
|
|
50
|
+
package: string;
|
|
51
|
+
}, info: TypedOwnableInfo): Promise<boolean>;
|
|
52
|
+
consume(consumer: EventChain, consumable: EventChain, onProgress?: LogProgress): Promise<void>;
|
|
53
|
+
private retryOperation;
|
|
54
|
+
initStore(chain: EventChain, pkg: string, uniqueMessageHash?: string, stateDump?: StateDump): Promise<void>;
|
|
55
|
+
store(chain: EventChain, stateDump: StateDump): Promise<void>;
|
|
56
|
+
delete(id: string): Promise<void>;
|
|
57
|
+
deleteAll(): Promise<void>;
|
|
58
|
+
zip(chain: EventChain): Promise<JSZip>;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=Ownable.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Ownable.service.d.ts","sourceRoot":"","sources":["../../../../../core/src/services/Ownable.service.ts"],"names":[],"mappings":"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"}
|