@ownables/platform-browser 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/core/src/index.d.ts +19 -0
  2. package/dist/core/src/index.d.ts.map +1 -0
  3. package/dist/core/src/index.js +18 -0
  4. package/dist/core/src/index.js.map +1 -0
  5. package/dist/core/src/interfaces/core.d.ts +49 -0
  6. package/dist/core/src/interfaces/core.d.ts.map +1 -0
  7. package/dist/core/src/interfaces/core.js +2 -0
  8. package/dist/core/src/interfaces/core.js.map +1 -0
  9. package/dist/core/src/logger.d.ts +3 -0
  10. package/dist/core/src/logger.d.ts.map +1 -0
  11. package/dist/core/src/logger.js +2 -0
  12. package/dist/core/src/logger.js.map +1 -0
  13. package/dist/core/src/progress.d.ts +3 -0
  14. package/dist/core/src/progress.d.ts.map +1 -0
  15. package/dist/core/src/progress.js +8 -0
  16. package/dist/core/src/progress.js.map +1 -0
  17. package/dist/core/src/services/EventChain.service.d.ts +45 -0
  18. package/dist/core/src/services/EventChain.service.d.ts.map +1 -0
  19. package/dist/core/src/services/EventChain.service.js +112 -0
  20. package/dist/core/src/services/EventChain.service.js.map +1 -0
  21. package/dist/core/src/services/Ownable.service.d.ts +56 -0
  22. package/dist/core/src/services/Ownable.service.d.ts.map +1 -0
  23. package/dist/core/src/services/Ownable.service.js +411 -0
  24. package/dist/core/src/services/Ownable.service.js.map +1 -0
  25. package/dist/core/src/services/Polling.service.d.ts +31 -0
  26. package/dist/core/src/services/Polling.service.d.ts.map +1 -0
  27. package/dist/core/src/services/Polling.service.js +109 -0
  28. package/dist/core/src/services/Polling.service.js.map +1 -0
  29. package/dist/core/src/services/SIWE.service.d.ts +16 -0
  30. package/dist/core/src/services/SIWE.service.d.ts.map +1 -0
  31. package/dist/core/src/services/SIWE.service.js +123 -0
  32. package/dist/core/src/services/SIWE.service.js.map +1 -0
  33. package/dist/core/src/services/StateStoreRecordStore.service.d.ts +13 -0
  34. package/dist/core/src/services/StateStoreRecordStore.service.d.ts.map +1 -0
  35. package/dist/core/src/services/StateStoreRecordStore.service.js +76 -0
  36. package/dist/core/src/services/StateStoreRecordStore.service.js.map +1 -0
  37. package/dist/core/src/types/Authority.d.ts +40 -0
  38. package/dist/core/src/types/Authority.d.ts.map +1 -0
  39. package/dist/core/src/types/Authority.js +2 -0
  40. package/dist/core/src/types/Authority.js.map +1 -0
  41. package/dist/core/src/types/EventChainStore.d.ts +11 -0
  42. package/dist/core/src/types/EventChainStore.d.ts.map +1 -0
  43. package/dist/core/src/types/EventChainStore.js +2 -0
  44. package/dist/core/src/types/EventChainStore.js.map +1 -0
  45. package/dist/core/src/types/MessageInfo.d.ts +19 -0
  46. package/dist/core/src/types/MessageInfo.d.ts.map +1 -0
  47. package/dist/core/src/types/MessageInfo.js +2 -0
  48. package/dist/core/src/types/MessageInfo.js.map +1 -0
  49. package/dist/core/src/types/OwnableRuntime.d.ts +38 -0
  50. package/dist/core/src/types/OwnableRuntime.d.ts.map +1 -0
  51. package/dist/core/src/types/OwnableRuntime.js +2 -0
  52. package/dist/core/src/types/OwnableRuntime.js.map +1 -0
  53. package/dist/core/src/types/Polling.d.ts +14 -0
  54. package/dist/core/src/types/Polling.d.ts.map +1 -0
  55. package/dist/core/src/types/Polling.js +2 -0
  56. package/dist/core/src/types/Polling.js.map +1 -0
  57. package/dist/core/src/types/SIWE.d.ts +30 -0
  58. package/dist/core/src/types/SIWE.d.ts.map +1 -0
  59. package/dist/core/src/types/SIWE.js +2 -0
  60. package/dist/core/src/types/SIWE.js.map +1 -0
  61. package/dist/core/src/types/TypedCosmWasmMsg.d.ts +12 -0
  62. package/dist/core/src/types/TypedCosmWasmMsg.d.ts.map +1 -0
  63. package/dist/core/src/types/TypedCosmWasmMsg.js +2 -0
  64. package/dist/core/src/types/TypedCosmWasmMsg.js.map +1 -0
  65. package/dist/core/src/types/TypedDict.d.ts +4 -0
  66. package/dist/core/src/types/TypedDict.d.ts.map +1 -0
  67. package/dist/core/src/types/TypedDict.js +2 -0
  68. package/dist/core/src/types/TypedDict.js.map +1 -0
  69. package/dist/core/src/types/TypedOwnableInfo.d.ts +34 -0
  70. package/dist/core/src/types/TypedOwnableInfo.d.ts.map +1 -0
  71. package/dist/core/src/types/TypedOwnableInfo.js +2 -0
  72. package/dist/core/src/types/TypedOwnableInfo.js.map +1 -0
  73. package/dist/core/src/types/TypedPackage.d.ts +32 -0
  74. package/dist/core/src/types/TypedPackage.d.ts.map +1 -0
  75. package/dist/core/src/types/TypedPackage.js +2 -0
  76. package/dist/core/src/types/TypedPackage.js.map +1 -0
  77. package/dist/platform-browser/src/index.d.ts +7 -0
  78. package/dist/platform-browser/src/index.d.ts.map +1 -0
  79. package/dist/platform-browser/src/index.js +7 -0
  80. package/dist/platform-browser/src/index.js.map +1 -0
  81. package/dist/platform-browser/src/services/IDB.service.d.ts +29 -0
  82. package/dist/platform-browser/src/services/IDB.service.d.ts.map +1 -0
  83. package/dist/platform-browser/src/services/IDB.service.js +192 -0
  84. package/dist/platform-browser/src/services/IDB.service.js.map +1 -0
  85. package/dist/platform-browser/src/services/LocalStorage.service.d.ts +14 -0
  86. package/dist/platform-browser/src/services/LocalStorage.service.d.ts.map +1 -0
  87. package/dist/platform-browser/src/services/LocalStorage.service.js +57 -0
  88. package/dist/platform-browser/src/services/LocalStorage.service.js.map +1 -0
  89. package/dist/platform-browser/src/services/Package.service.d.ts +48 -0
  90. package/dist/platform-browser/src/services/Package.service.d.ts.map +1 -0
  91. package/dist/platform-browser/src/services/Package.service.js +443 -0
  92. package/dist/platform-browser/src/services/Package.service.js.map +1 -0
  93. package/dist/platform-browser/src/services/Relay.service.d.ts +59 -0
  94. package/dist/platform-browser/src/services/Relay.service.d.ts.map +1 -0
  95. package/dist/platform-browser/src/services/Relay.service.js +289 -0
  96. package/dist/platform-browser/src/services/Relay.service.js.map +1 -0
  97. package/dist/platform-browser/src/services/SessionStorage.service.d.ts +7 -0
  98. package/dist/platform-browser/src/services/SessionStorage.service.d.ts.map +1 -0
  99. package/dist/platform-browser/src/services/SessionStorage.service.js +16 -0
  100. package/dist/platform-browser/src/services/SessionStorage.service.js.map +1 -0
  101. package/dist/platform-browser/src/utils/calculateCid.d.ts +2 -0
  102. package/dist/platform-browser/src/utils/calculateCid.d.ts.map +1 -0
  103. package/dist/platform-browser/src/utils/calculateCid.js +18 -0
  104. package/dist/platform-browser/src/utils/calculateCid.js.map +1 -0
  105. package/package.json +7 -2
@@ -0,0 +1,19 @@
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 * 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 StateStoreRecordStore } from './services/StateStoreRecordStore.service';
19
+ //# 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;AAEzD,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,qBAAqB,EAAE,MAAM,0CAA0C,CAAC"}
@@ -0,0 +1,18 @@
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 * from './services/SIWE.service';
14
+ export { PollingService } from './services/Polling.service';
15
+ export { default as EventChainService } from './services/EventChain.service';
16
+ export { default as OwnableService } from './services/Ownable.service';
17
+ export { default as StateStoreRecordStore } from './services/StateStoreRecordStore.service';
18
+ //# 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;AAGlC,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,qBAAqB,EAAE,MAAM,0CAA0C,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { Event, Message } from 'eqty-core';
2
+ import type { TypedPackage } from '../types/TypedPackage';
3
+ export type LogProgress = (step: string, meta?: Record<string, unknown>) => void;
4
+ export interface ProgressReporter {
5
+ step<T>(step: string, fn: () => Promise<T> | T, meta?: () => Record<string, unknown>): Promise<T>;
6
+ }
7
+ export interface KVStore {
8
+ get(key: string): any;
9
+ set(key: string, value: any): void;
10
+ remove(key: string): void;
11
+ clear(): void;
12
+ }
13
+ export interface StateStore {
14
+ get(store: string, key: string): Promise<any>;
15
+ getAll(store: string): Promise<Array<any>>;
16
+ getMap(store: string): Promise<Map<any, any>>;
17
+ keys(store: string): Promise<string[]>;
18
+ set(store: string, key: string, value: any): Promise<void>;
19
+ setAll(store: string, map: Record<string, any> | Map<any, any>): Promise<void>;
20
+ setAll(data: Record<string, Record<string, any> | Map<any, any>>): Promise<void>;
21
+ hasStore(store: string): Promise<boolean>;
22
+ createStore(...stores: string[]): Promise<void>;
23
+ deleteStore(store: string | RegExp): Promise<void>;
24
+ listStores(): Promise<string[]>;
25
+ delete(store: string, key: string): Promise<void>;
26
+ }
27
+ export interface AnchorProvider {
28
+ address: string;
29
+ chainId: number;
30
+ signer: any;
31
+ sign(...subjects: Array<Event | Message>): Promise<void>;
32
+ anchor(...anchors: any[]): Promise<void>;
33
+ submitAnchors(): Promise<string | undefined>;
34
+ verifyAnchors(...anchors: any[]): Promise<{
35
+ verified: boolean;
36
+ anchors: Record<string, string | undefined>;
37
+ map: Record<string, string>;
38
+ }>;
39
+ }
40
+ export interface PackageAssetIO {
41
+ info(nameOrCid: string, uniqueMessageHash?: string): TypedPackage;
42
+ getAsset(cid: string, name: string, read: (reader: unknown, contents: unknown) => void): Promise<string | ArrayBuffer>;
43
+ getAssetAsText(cid: string, name: string): Promise<string>;
44
+ zip(cid: string): Promise<any>;
45
+ }
46
+ export interface RuntimeSourceProvider {
47
+ getWorkerPrelude(): string;
48
+ }
49
+ //# 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../core/src/interfaces/core.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export type LoggerLike = Pick<Console, "debug" | "info" | "warn" | "error">;
2
+ export declare const consoleLogger: LoggerLike;
3
+ //# sourceMappingURL=logger.d.ts.map
@@ -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,2 @@
1
+ export const consoleLogger = console;
2
+ //# sourceMappingURL=logger.js.map
@@ -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,3 @@
1
+ import type { LogProgress, ProgressReporter } from './interfaces/core';
2
+ export declare const withProgress: (onProgress?: LogProgress) => ProgressReporter["step"];
3
+ //# sourceMappingURL=progress.d.ts.map
@@ -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,8 @@
1
+ export const withProgress = (onProgress) => {
2
+ return async (step, fn, meta) => {
3
+ const result = await fn();
4
+ onProgress?.(step, meta ? meta() : undefined);
5
+ return result;
6
+ };
7
+ };
8
+ //# sourceMappingURL=progress.js.map
@@ -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,45 @@
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
+ created: Date;
17
+ keywords: string[];
18
+ latestHash?: string;
19
+ uniqueMessageHash: string;
20
+ }>>;
21
+ load(id: string): Promise<{
22
+ chain: EventChain;
23
+ package: string;
24
+ created: Date;
25
+ keywords: string[];
26
+ uniqueMessageHash: string;
27
+ latestHash?: string;
28
+ }>;
29
+ store(...chains: Array<{
30
+ chain: EventChain;
31
+ stateDump: StateDump;
32
+ keywords?: string[];
33
+ uniqueMessageHash?: string;
34
+ }>): Promise<void>;
35
+ getStateDump(id: string, state: string | Binary): Promise<StateDump | null>;
36
+ private getCurrentStateDump;
37
+ delete(id: string): Promise<void>;
38
+ deleteAll(): Promise<void>;
39
+ verify(chain: EventChain): Promise<{
40
+ verified: boolean;
41
+ anchors: Record<string, string | undefined>;
42
+ map: Record<string, string>;
43
+ }>;
44
+ }
45
+ //# 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,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,OAAO,EAAE,IAAI,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAwBI,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,112 @@
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, latestHash, created, keywords, uniqueMessageHash, } = chainInfo;
51
+ return {
52
+ chain: EventChain.from(chainJson),
53
+ package: packageCid,
54
+ latestHash,
55
+ created,
56
+ keywords,
57
+ uniqueMessageHash,
58
+ };
59
+ }
60
+ async store(...chains) {
61
+ const anchors = [];
62
+ const data = {};
63
+ for (const { chain, stateDump } of chains) {
64
+ const storedState = await this.idb.get(`ownable:${chain.id}`, "state");
65
+ if (storedState === chain.state)
66
+ continue;
67
+ if (this.anchoring) {
68
+ const previousHash = await this.idb.get(`ownable:${chain.id}`, "latestHash");
69
+ const newAnchors = previousHash
70
+ ? chain.startingAfter(Binary.fromHex(previousHash)).anchorMap
71
+ : chain.anchorMap;
72
+ anchors.push(...newAnchors);
73
+ }
74
+ data[`ownable:${chain.id}`] = {
75
+ chain: chain.toJSON(),
76
+ state: chain.state.hex,
77
+ latestHash: chain.latestHash.hex,
78
+ };
79
+ data[`ownable:${chain.id}.state`] = new Map(stateDump);
80
+ }
81
+ if (anchors.length > 0) {
82
+ await this.eqty.anchor(...anchors);
83
+ }
84
+ // Only perform storage operation if there are changes
85
+ if (Object.keys(data).length > 0) {
86
+ await this.idb.setAll(data);
87
+ }
88
+ }
89
+ async getStateDump(id, state) {
90
+ const storedState = (await this.idb.hasStore(`ownable:${id}`))
91
+ ? await this.idb.get(`ownable:${id}`, "state")
92
+ : undefined;
93
+ if (storedState !== (state instanceof Binary ? state.hex : state))
94
+ return null;
95
+ return this.getCurrentStateDump(id);
96
+ }
97
+ async getCurrentStateDump(id) {
98
+ const map = await this.idb.getMap(`ownable:${id}.state`);
99
+ return Array.from(map.entries());
100
+ }
101
+ async delete(id) {
102
+ await this.idb.deleteStore(new RegExp(`^ownable:${id}(\\..+)?$`));
103
+ }
104
+ async deleteAll() {
105
+ await this.idb.deleteStore(/^ownable:.+/);
106
+ }
107
+ async verify(chain) {
108
+ const anchors = chain.anchorMap;
109
+ return await this.eqty.verifyAnchors(...anchors);
110
+ }
111
+ }
112
+ //# 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":"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"}
@@ -0,0 +1,56 @@
1
+ import { EventChain } from "eqty-core";
2
+ import type TypedDict from "../types/TypedDict";
3
+ import type { AnchorProvider, PackageAssetIO, 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 SNAPSHOT_INTERVAL;
18
+ constructor(stateStore: StateStore, eventChains: EventChainService, eqty: AnchorProvider, packages: PackageAssetIO, runtimeSource?: RuntimeSourceProvider, logger?: LoggerLike);
19
+ private readonly _rpc;
20
+ get anchoring(): boolean;
21
+ loadAll(): Promise<Array<{
22
+ chain: EventChain;
23
+ package: string;
24
+ created: Date;
25
+ keywords: string[];
26
+ uniqueMessageHash?: string;
27
+ }>>;
28
+ isReady(id: string): boolean;
29
+ rpc(id: string): OwnableRPC;
30
+ clearRpc(id: string): void;
31
+ create(pkg: TypedPackage, onProgress?: LogProgress): Promise<{
32
+ chain: EventChain;
33
+ txHash?: string;
34
+ }>;
35
+ init(chain: any, cid: string, rpc: OwnableRPC, uniqueMessageHash?: string): Promise<void>;
36
+ private createSnapshot;
37
+ private getLatestSnapshot;
38
+ listSnapshots(chainId: string): Promise<StateSnapshot[]>;
39
+ deleteSnapshots(chainId: string): Promise<void>;
40
+ private applyEvent;
41
+ apply(partialChain: EventChain, stateDump: StateDump): Promise<StateDump>;
42
+ execute(chain: EventChain, msg: TypedDict, stateDump: StateDump, onProgress?: LogProgress): Promise<StateDump>;
43
+ submitAnchors(onProgress?: LogProgress): Promise<string | undefined>;
44
+ canConsume(consumer: {
45
+ chain: EventChain;
46
+ package: string;
47
+ }, info: TypedOwnableInfo): Promise<boolean>;
48
+ consume(consumer: EventChain, consumable: EventChain, onProgress?: LogProgress): Promise<void>;
49
+ private retryOperation;
50
+ initStore(chain: EventChain, pkg: string, uniqueMessageHash?: string, stateDump?: StateDump): Promise<void>;
51
+ store(chain: EventChain, stateDump: StateDump): Promise<void>;
52
+ delete(id: string): Promise<void>;
53
+ deleteAll(): Promise<void>;
54
+ zip(chain: EventChain): Promise<JSZip>;
55
+ }
56
+ //# 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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"}