@powerhousedao/connect 5.1.0 → 5.2.0-staging.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.
Files changed (124) hide show
  1. package/.env +1 -0
  2. package/dist/assets/AddDriveModal-CMhY7EXt.js +1 -0
  3. package/dist/assets/ClearStorageModal-DFtnMF37.js +1 -0
  4. package/dist/assets/CookiesPolicyModal-wKn_crAz.js +1 -0
  5. package/dist/assets/CreateDocumentModal-axk-Gv87.js +1 -0
  6. package/dist/assets/{DebugSettingsModal-CooFY-Go.js → DebugSettingsModal-B8EImEik.js} +1 -1
  7. package/dist/assets/{DeleteDriveModal-BOdu1bg5.js → DeleteDriveModal-CDBGjFVT.js} +1 -1
  8. package/dist/assets/DeleteItemModal--lW49X7Z.js +1 -0
  9. package/dist/assets/DisclaimerModal-Cwlnu4SD.js +1 -0
  10. package/dist/assets/DriveSettingsModal-DLSYwH01.js +1 -0
  11. package/dist/assets/{ExportDocumentWithErrorsModal-BzgGSmxg.js → ExportDocumentWithErrorsModal-sNmpWNiL.js} +1 -1
  12. package/dist/assets/SettingsModal-BI_PIj3P.js +1 -0
  13. package/dist/assets/UpgradeDriveModal-fS2KcP5T.js +1 -0
  14. package/dist/assets/{design_system-DGYPpUGa.js → design_system-DRiFz7P7.js} +1 -1
  15. package/dist/assets/design_system_connect-D7mJC7XF.js +45 -0
  16. package/dist/assets/design_system_ui-7P3ayrQ9.js +1 -0
  17. package/dist/assets/{document_drive-BEIKnuGM.js → document_drive-BuVpBb4l.js} +25 -14
  18. package/dist/assets/{document_engineering-B49PhCDR.js → document_engineering-CXK5S1hf.js} +1 -1
  19. package/dist/assets/{document_model-DXcLJEjZ.js → document_model-DB4SzBSe.js} +3 -3
  20. package/dist/assets/document_model_editor-C7-Rcfye.js +23 -0
  21. package/dist/assets/{drive_explorer-d0kn77Nx.js → drive_explorer-xuI0xiNd.js} +2 -2
  22. package/dist/assets/{graphql-editor-CSkqTexL.js → graphql-editor-BpQTpuKO.js} +2 -2
  23. package/dist/assets/{hooks-D4Uas2SG.js → hooks-CAyBWwxg.js} +1 -1
  24. package/dist/assets/index-BchTCSNf.js +20 -0
  25. package/dist/assets/index-BilHslhO.css +1 -0
  26. package/dist/assets/index-CJrSFr5V.js +25 -0
  27. package/dist/assets/json-editor-CtpJfU25.js +1 -0
  28. package/dist/assets/nodefs-CNM_9qdV.js +1 -0
  29. package/dist/assets/opfs-ahp-D-CiKXE2.js +3 -0
  30. package/dist/assets/pg_dump-CW0pN9tG.wasm +0 -0
  31. package/dist/assets/postgres-CkP7QCDB.data +0 -0
  32. package/dist/assets/postgres-CyuUVpXN.wasm +0 -0
  33. package/dist/assets/reactor_browser-CV2asu7c.js +127 -0
  34. package/dist/assets/state-schemas-DXZotcNp.js +2 -0
  35. package/dist/assets/zod-BpTyxkjy.js +20 -0
  36. package/dist/index.html +11 -11
  37. package/heroku/Dockerfile +4 -1
  38. package/lib/package.copy.json +14 -8
  39. package/lib/src/components/app-skeleton.js +1 -1
  40. package/lib/src/components/app-skeleton.js.map +1 -1
  41. package/lib/src/components/modal/modals/AddDriveModal.d.ts.map +1 -1
  42. package/lib/src/components/modal/modals/AddDriveModal.js +35 -27
  43. package/lib/src/components/modal/modals/AddDriveModal.js.map +1 -1
  44. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts +2 -0
  45. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts.map +1 -0
  46. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js +26 -0
  47. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js.map +1 -0
  48. package/lib/src/components/modal/modals/InspectorModal/index.d.ts +2 -0
  49. package/lib/src/components/modal/modals/InspectorModal/index.d.ts.map +1 -0
  50. package/lib/src/components/modal/modals/InspectorModal/index.js +2 -0
  51. package/lib/src/components/modal/modals/InspectorModal/index.js.map +1 -0
  52. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts +32 -0
  53. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts.map +1 -0
  54. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js +108 -0
  55. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js.map +1 -0
  56. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts +4 -0
  57. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts.map +1 -0
  58. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js +12 -0
  59. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js.map +1 -0
  60. package/lib/src/components/modal/modals-container.d.ts.map +1 -1
  61. package/lib/src/components/modal/modals-container.js +4 -0
  62. package/lib/src/components/modal/modals-container.js.map +1 -1
  63. package/lib/src/components/root.js +1 -1
  64. package/lib/src/components/root.js.map +1 -1
  65. package/lib/src/components/sidebar.d.ts.map +1 -1
  66. package/lib/src/components/sidebar.js +6 -2
  67. package/lib/src/components/sidebar.js.map +1 -1
  68. package/lib/src/connect.config.d.ts +2 -0
  69. package/lib/src/connect.config.d.ts.map +1 -1
  70. package/lib/src/connect.config.js +1 -0
  71. package/lib/src/connect.config.js.map +1 -1
  72. package/lib/src/feature-flags.d.ts +22 -3
  73. package/lib/src/feature-flags.d.ts.map +1 -1
  74. package/lib/src/feature-flags.js +48 -3
  75. package/lib/src/feature-flags.js.map +1 -1
  76. package/lib/src/hooks/useClientErrorHandler.d.ts.map +1 -1
  77. package/lib/src/hooks/useClientErrorHandler.js +13 -2
  78. package/lib/src/hooks/useClientErrorHandler.js.map +1 -1
  79. package/lib/src/pages/demo/atlas-import.js +2 -2
  80. package/lib/src/pages/demo/atlas-import.js.map +1 -1
  81. package/lib/src/store/reactor.d.ts.map +1 -1
  82. package/lib/src/store/reactor.js +102 -51
  83. package/lib/src/store/reactor.js.map +1 -1
  84. package/lib/src/utils/reactor.d.ts +7 -0
  85. package/lib/src/utils/reactor.d.ts.map +1 -1
  86. package/lib/src/utils/reactor.js +35 -2
  87. package/lib/src/utils/reactor.js.map +1 -1
  88. package/lib/src/utils/signer.d.ts +18 -0
  89. package/lib/src/utils/signer.d.ts.map +1 -0
  90. package/lib/src/utils/signer.js +215 -0
  91. package/lib/src/utils/signer.js.map +1 -0
  92. package/lib/test/utils/signer.test.d.ts +2 -0
  93. package/lib/test/utils/signer.test.d.ts.map +1 -0
  94. package/lib/test/utils/signer.test.js +319 -0
  95. package/lib/test/utils/signer.test.js.map +1 -0
  96. package/lib/tsconfig.tsbuildinfo +1 -1
  97. package/lib/vite.config.d.ts.map +1 -1
  98. package/lib/vite.config.js +4 -0
  99. package/lib/vite.config.js.map +1 -1
  100. package/lib/vitest.config.d.ts +3 -0
  101. package/lib/vitest.config.d.ts.map +1 -0
  102. package/lib/vitest.config.js +8 -0
  103. package/lib/vitest.config.js.map +1 -0
  104. package/nginx.conf +7 -0
  105. package/package.copy.json +14 -8
  106. package/package.json +21 -15
  107. package/dist/assets/AddDriveModal-_XSf2ZlN.js +0 -1
  108. package/dist/assets/ClearStorageModal-CbfJTlAo.js +0 -1
  109. package/dist/assets/CookiesPolicyModal-DTRuUeM_.js +0 -1
  110. package/dist/assets/CreateDocumentModal-DUTbfZYr.js +0 -1
  111. package/dist/assets/DeleteItemModal-D8MlQS3W.js +0 -1
  112. package/dist/assets/DisclaimerModal-RBBaiKyO.js +0 -1
  113. package/dist/assets/DriveSettingsModal-BHBZfzaY.js +0 -1
  114. package/dist/assets/SettingsModal-BXDXscnR.js +0 -1
  115. package/dist/assets/UpgradeDriveModal-15TBzq11.js +0 -1
  116. package/dist/assets/design_system_connect-Vb8XBnLs.js +0 -45
  117. package/dist/assets/design_system_ui-Dnwc_Xm9.js +0 -1
  118. package/dist/assets/document_model_editor-lmHQ6HZy.js +0 -23
  119. package/dist/assets/index-Br7E7qjt.css +0 -1
  120. package/dist/assets/index-CK2Jk_ho.js +0 -18
  121. package/dist/assets/json-editor-CQKAVxat.js +0 -1
  122. package/dist/assets/reactor_browser-BGn_P-dn.js +0 -25
  123. package/dist/assets/state-schemas-36mF-wEI.js +0 -2
  124. package/dist/assets/zod-C6yxFxyo.js +0 -1
@@ -1,20 +1,26 @@
1
1
  import { phGlobalConfigFromEnv } from "@powerhousedao/connect/config";
2
- import { initFeatureFlags, isDualActionCreateEnabled, } from "@powerhousedao/connect/feature-flags.js";
3
- import { createBrowserDocumentDriveServer, createBrowserStorage, } from "@powerhousedao/connect/utils";
4
- import { extractDriveSlugFromPath, extractNodeSlugFromPath, getDrives, getReactorDefaultDrivesConfig, initConnectCrypto, initDocumentCache, initReactor, login, refreshReactorData, setSelectedDrive, setSelectedNode, setVetraPackages, } from "@powerhousedao/reactor-browser";
5
- import { addPHEventHandlers, setConnectCrypto, setDefaultPHGlobalConfig, setDid, setDocumentCache, setDrives, setProcessorManager, setReactor, setRenown, } from "@powerhousedao/reactor-browser/connect";
2
+ import { initFeatureFlags } from "@powerhousedao/connect/feature-flags.js";
3
+ import { createBrowserDocumentDriveServer, createBrowserReactor, createBrowserStorage, } from "@powerhousedao/connect/utils";
4
+ import { truncateAllTables as dropAllTables, extractDriveSlugFromPath, extractNodeSlugFromPath, getDrives, getReactorDefaultDrivesConfig, initConnectCrypto, initDocumentCache, initLegacyReactor, login, refreshReactorData, refreshReactorDataClient, setFeatures, setSelectedDrive, setSelectedNode, setVetraPackages, } from "@powerhousedao/reactor-browser";
5
+ import { addPHEventHandlers, setConnectCrypto, setDatabase, setDefaultPHGlobalConfig, setDid, setDocumentCache, setDrives, setLegacyReactor, setPGlite, setProcessorManager, setReactorClient, setReactorClientModule, setRenown, setSync, } from "@powerhousedao/reactor-browser/connect";
6
6
  import { initRenown } from "@renown/sdk";
7
7
  import { ProcessorManager, logger } from "document-drive";
8
8
  import { generateId } from "document-model/core";
9
9
  import { loadCommonPackage } from "./document-model.js";
10
10
  import { loadExternalPackages, subscribeExternalPackages, } from "./external-packages.js";
11
- let reactorStorage;
12
- function setReactorStorage(storage) {
13
- reactorStorage = storage;
11
+ let reactorLegacyStorage;
12
+ function setLegacyReactorStorage(storage) {
13
+ reactorLegacyStorage = storage;
14
14
  }
15
15
  export async function clearReactorStorage() {
16
- await reactorStorage?.clear();
17
- return !!reactorStorage;
16
+ // clear legacy storage
17
+ await reactorLegacyStorage?.clear();
18
+ // clear all the reactor dependencies
19
+ const pg = window.ph?.reactorClientModule?.pg;
20
+ if (pg) {
21
+ await dropAllTables(pg);
22
+ }
23
+ return !!reactorLegacyStorage;
18
24
  }
19
25
  async function updateVetraPackages(externalPackages) {
20
26
  const commonPackage = await loadCommonPackage();
@@ -62,13 +68,14 @@ export async function createReactor() {
62
68
  if (!window.ph) {
63
69
  window.ph = {};
64
70
  }
65
- if (window.ph.reactor || window.ph.loading)
71
+ if (window.ph.legacyReactor || window.ph.loading)
66
72
  return;
67
73
  window.ph.loading = true;
68
74
  // add window event handlers for updates
69
75
  addPHEventHandlers();
70
76
  // initialize feature flags
71
- await initFeatureFlags();
77
+ const features = await initFeatureFlags();
78
+ logger.info(`Features: ${JSON.stringify(Object.fromEntries(features), null, 2)}`);
72
79
  // initialize connect crypto
73
80
  const connectCrypto = await initConnectCrypto();
74
81
  // initialize did
@@ -78,7 +85,7 @@ export async function createReactor() {
78
85
  // initialize storage
79
86
  const storage = createBrowserStorage(phGlobalConfigFromEnv.routerBasename);
80
87
  // store storage for admin access
81
- setReactorStorage(storage);
88
+ setLegacyReactorStorage(storage);
82
89
  // load vetra packages
83
90
  const externalPackages = await loadExternalPackages();
84
91
  const vetraPackages = await updateVetraPackages(externalPackages);
@@ -87,31 +94,31 @@ export async function createReactor() {
87
94
  const documentModelModules = vetraPackages
88
95
  .flatMap((pkg) => pkg.modules.documentModelModules)
89
96
  .filter((module) => module !== undefined);
90
- // create the reactor
91
- const dualActionCreateEnabled = await isDualActionCreateEnabled();
97
+ // create the legacy reactor
92
98
  const defaultConfig = getReactorDefaultDrivesConfig();
93
- const reactor = createBrowserDocumentDriveServer(documentModelModules, storage, {
99
+ const legacyReactor = createBrowserDocumentDriveServer(documentModelModules, storage, {
94
100
  ...defaultConfig,
95
101
  featureFlags: {
96
- enableDualActionCreate: dualActionCreateEnabled,
102
+ enableDualActionCreate: true,
97
103
  },
98
104
  });
105
+ const reactorClientModule = await createBrowserReactor(documentModelModules, storage, connectCrypto);
99
106
  // initialize the reactor
100
- await initReactor(reactor, renown, connectCrypto);
107
+ await initLegacyReactor(legacyReactor, renown, connectCrypto);
101
108
  // initialize the document cache
102
- const documentCache = initDocumentCache(reactor);
109
+ const documentCache = initDocumentCache(legacyReactor);
103
110
  // create the processor manager
104
- const processorManager = new ProcessorManager(reactor.listeners, reactor);
111
+ const processorManager = new ProcessorManager(legacyReactor.listeners, legacyReactor);
105
112
  // get the drives from the reactor
106
- let drives = await getDrives(reactor);
113
+ let drives = await getDrives(legacyReactor);
107
114
  // if remoteUrl is set and drive not already existing add remote drive and open it
108
115
  const remoteUrl = getDriveUrl();
109
116
  const remoteDrive = remoteUrl
110
- ? await loadDriveFromRemoteUrl(remoteUrl, reactor, drives)
117
+ ? await loadDriveFromRemoteUrl(remoteUrl, legacyReactor, drives)
111
118
  : undefined;
112
119
  // if a remote drive was added then refetches the drives
113
120
  if (remoteDrive) {
114
- drives = await getDrives(reactor);
121
+ drives = await getDrives(legacyReactor);
115
122
  }
116
123
  // get the documents from the reactor
117
124
  // set the selected drive and node from the path
@@ -120,10 +127,15 @@ export async function createReactor() {
120
127
  const nodeSlug = !remoteDrive ? extractNodeSlugFromPath(path) : "";
121
128
  // initialize user
122
129
  const didFromUrl = getDidFromUrl();
123
- await login(didFromUrl, reactor, renown, connectCrypto);
130
+ await login(didFromUrl, legacyReactor, renown, connectCrypto);
124
131
  // dispatch the events to set the values in the window object
125
132
  setDefaultPHGlobalConfig(phGlobalConfigFromEnv);
126
- setReactor(reactor);
133
+ setLegacyReactor(legacyReactor);
134
+ setReactorClientModule(reactorClientModule);
135
+ setReactorClient(reactorClientModule.client);
136
+ setSync(reactorClientModule.reactorModule?.syncModule?.syncManager);
137
+ setDatabase(reactorClientModule.reactorModule?.database);
138
+ setPGlite(reactorClientModule.pg);
127
139
  setDocumentCache(documentCache);
128
140
  setConnectCrypto(connectCrypto);
129
141
  setDid(did);
@@ -133,33 +145,72 @@ export async function createReactor() {
133
145
  setVetraPackages(vetraPackages);
134
146
  setSelectedDrive(driveSlug);
135
147
  setSelectedNode(nodeSlug);
136
- // subscribe to reactor events
137
- reactor.on("defaultRemoteDrive", (...args) => {
138
- logger.verbose("defaultRemoteDrive", ...args);
139
- refreshReactorData(reactor).catch(logger.error);
140
- });
141
- reactor.on("clientStrandsError", (...args) => {
142
- logger.verbose("clientStrandsError", ...args);
143
- refreshReactorData(reactor).catch(logger.error);
144
- });
145
- reactor.on("driveAdded", (...args) => {
146
- logger.verbose("driveAdded", ...args);
147
- // register the drive with the processor manager
148
- processorManager.registerDrive(args[0].header.id).catch(logger.error);
149
- refreshReactorData(reactor).catch(logger.error);
150
- });
151
- reactor.on("driveDeleted", (...args) => {
152
- logger.verbose("driveDeleted", ...args);
153
- refreshReactorData(reactor).catch(logger.error);
154
- });
155
- reactor.on("documentModelModules", (...args) => {
156
- logger.verbose("documentModelModules", ...args);
157
- refreshReactorData(reactor).catch(logger.error);
158
- });
159
- reactor.on("driveOperationsAdded", (...args) => {
160
- logger.verbose("driveOperationsAdded", ...args);
161
- refreshReactorData(reactor).catch(logger.error);
162
- });
148
+ setFeatures(features);
149
+ // subscribe to reactor events based on feature flags
150
+ const useLegacyRead = features.get("FEATURE_LEGACY_READ_ENABLED") ?? true;
151
+ if (useLegacyRead) {
152
+ // Subscribe to legacy reactor events
153
+ legacyReactor.on("defaultRemoteDrive", (...args) => {
154
+ logger.verbose("defaultRemoteDrive", ...args);
155
+ refreshReactorData(legacyReactor).catch(logger.error);
156
+ });
157
+ legacyReactor.on("clientStrandsError", (...args) => {
158
+ logger.verbose("clientStrandsError", ...args);
159
+ refreshReactorData(legacyReactor).catch(logger.error);
160
+ });
161
+ legacyReactor.on("driveAdded", (...args) => {
162
+ logger.verbose("driveAdded", ...args);
163
+ // register the drive with the processor manager
164
+ processorManager.registerDrive(args[0].header.id).catch(logger.error);
165
+ refreshReactorData(legacyReactor).catch(logger.error);
166
+ });
167
+ legacyReactor.on("driveDeleted", (...args) => {
168
+ logger.verbose("driveDeleted", ...args);
169
+ refreshReactorData(legacyReactor).catch(logger.error);
170
+ });
171
+ legacyReactor.on("documentModelModules", (...args) => {
172
+ logger.verbose("documentModelModules", ...args);
173
+ refreshReactorData(legacyReactor).catch(logger.error);
174
+ });
175
+ legacyReactor.on("driveOperationsAdded", (...args) => {
176
+ logger.verbose("driveOperationsAdded", ...args);
177
+ refreshReactorData(legacyReactor).catch(logger.error);
178
+ });
179
+ }
180
+ else {
181
+ legacyReactor.on("defaultRemoteDrive", (...args) => {
182
+ logger.verbose("future:defaultRemoteDrive", ...args);
183
+ refreshReactorDataClient(reactorClientModule.client).catch(logger.error);
184
+ });
185
+ legacyReactor.on("clientStrandsError", (...args) => {
186
+ logger.verbose("future:clientStrandsError", ...args);
187
+ refreshReactorDataClient(reactorClientModule.client).catch(logger.error);
188
+ });
189
+ legacyReactor.on("driveAdded", (...args) => {
190
+ logger.verbose("future:driveAdded", ...args);
191
+ // register the drive with the processor manager
192
+ processorManager.registerDrive(args[0].header.id).catch(logger.error);
193
+ refreshReactorDataClient(reactorClientModule.client).catch(logger.error);
194
+ });
195
+ legacyReactor.on("driveDeleted", (...args) => {
196
+ logger.verbose("future:driveDeleted", ...args);
197
+ refreshReactorDataClient(reactorClientModule.client).catch(logger.error);
198
+ });
199
+ legacyReactor.on("documentModelModules", (...args) => {
200
+ logger.verbose("future:documentModelModules", ...args);
201
+ refreshReactorDataClient(reactorClientModule.client).catch(logger.error);
202
+ });
203
+ legacyReactor.on("driveOperationsAdded", (...args) => {
204
+ logger.verbose("future:driveOperationsAdded", ...args);
205
+ refreshReactorDataClient(reactorClientModule.client).catch(logger.error);
206
+ });
207
+ // Subscribe via ReactorClient interface
208
+ const reactorClient = reactorClientModule.client;
209
+ reactorClient.subscribe({ type: "powerhouse/document-drive" }, (event) => {
210
+ logger.verbose("ReactorClient subscription event", event);
211
+ refreshReactorDataClient(reactorClientModule.client).catch(logger.error);
212
+ });
213
+ }
163
214
  window.ph.loading = false;
164
215
  }
165
216
  function getDidFromUrl() {
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../../src/store/reactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../../src/store/reactor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
+ import type { BrowserReactorClientModule } from "@powerhousedao/reactor-browser";
2
+ import type { IConnectCrypto } from "@renown/sdk";
1
3
  import type { DocumentDriveServerOptions, IDocumentAdminStorage, IDocumentDriveServer, IDocumentOperationStorage, IDocumentStorage, IDriveOperationStorage } from "document-drive";
2
4
  import type { DocumentModelModule } from "document-model";
3
5
  export declare const getReactorDefaultDrivesConfig: () => Pick<DocumentDriveServerOptions, "defaultDrives">;
4
6
  export declare function createBrowserStorage(routerBasename: string): IDriveOperationStorage & IDocumentOperationStorage & IDocumentStorage & IDocumentAdminStorage;
5
7
  export declare function createBrowserDocumentDriveServer(documentModels: DocumentModelModule[], storage: IDriveOperationStorage, options: DocumentDriveServerOptions): IDocumentDriveServer;
8
+ /**
9
+ * Creates a Reactor that plugs into legacy storage but syncs through the new
10
+ * Reactor GQL API.
11
+ */
12
+ export declare function createBrowserReactor(documentModelModules: DocumentModelModule[], legacyStorage: IDocumentStorage & IDocumentOperationStorage, connectCrypto: IConnectCrypto): Promise<BrowserReactorClientModule>;
6
13
  //# sourceMappingURL=reactor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/utils/reactor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAS1D,eAAO,MAAM,6BAA6B,QAAO,IAAI,CACnD,0BAA0B,EAC1B,eAAe,CAuChB,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,MAAM,GACrB,sBAAsB,GACvB,yBAAyB,GACzB,gBAAgB,GAChB,qBAAqB,CAEtB;AAED,wBAAgB,gCAAgC,CAC9C,cAAc,EAAE,mBAAmB,EAAE,EACrC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,0BAA0B,GAClC,oBAAoB,CAUtB"}
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/utils/reactor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAEV,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAa1D,eAAO,MAAM,6BAA6B,QAAO,IAAI,CACnD,0BAA0B,EAC1B,eAAe,CAuChB,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,MAAM,GACrB,sBAAsB,GACvB,yBAAyB,GACzB,gBAAgB,GAChB,qBAAqB,CAEtB;AAED,wBAAgB,gCAAgC,CAC9C,cAAc,EAAE,mBAAmB,EAAE,EACrC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,0BAA0B,GAClC,oBAAoB,CAUtB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,oBAAoB,EAAE,mBAAmB,EAAE,EAC3C,aAAa,EAAE,gBAAgB,GAAG,yBAAyB,EAC3D,aAAa,EAAE,cAAc,GAC5B,OAAO,CAAC,0BAA0B,CAAC,CA6BrC"}
@@ -1,5 +1,10 @@
1
+ import { PGlite } from "@electric-sql/pglite";
2
+ import { GqlChannelFactory, ReactorBuilder, ReactorClientBuilder, SyncBuilder, } from "@powerhousedao/reactor";
3
+ import { BrowserStorage, EventQueueManager, InMemoryCache, ReactorBuilder as LegacyReactorBuilder, } from "document-drive";
4
+ import { Kysely } from "kysely";
5
+ import { PGliteDialect } from "kysely-pglite-dialect";
1
6
  import { createRemoveOldRemoteDrivesConfig } from "./drive-preservation.js";
2
- import { BrowserStorage, EventQueueManager, InMemoryCache, ReactorBuilder, } from "document-drive";
7
+ import { ConnectCryptoSigner, createSignatureVerifier } from "./signer.js";
3
8
  const DEFAULT_DRIVES_URL = import.meta.env.PH_CONNECT_DEFAULT_DRIVES_URL ||
4
9
  undefined;
5
10
  const defaultDrivesUrl = DEFAULT_DRIVES_URL
@@ -44,7 +49,7 @@ export function createBrowserStorage(routerBasename) {
44
49
  return new BrowserStorage(routerBasename);
45
50
  }
46
51
  export function createBrowserDocumentDriveServer(documentModels, storage, options) {
47
- return new ReactorBuilder(documentModels)
52
+ return new LegacyReactorBuilder(documentModels)
48
53
  .withStorage(storage)
49
54
  .withCache(new InMemoryCache())
50
55
  .withQueueManager(new EventQueueManager())
@@ -54,4 +59,32 @@ export function createBrowserDocumentDriveServer(documentModels, storage, option
54
59
  })
55
60
  .build();
56
61
  }
62
+ /**
63
+ * Creates a Reactor that plugs into legacy storage but syncs through the new
64
+ * Reactor GQL API.
65
+ */
66
+ export async function createBrowserReactor(documentModelModules, legacyStorage, connectCrypto) {
67
+ const signerConfig = {
68
+ signer: new ConnectCryptoSigner(connectCrypto),
69
+ verifier: createSignatureVerifier(),
70
+ };
71
+ const pg = new PGlite("idb://reactor", {
72
+ relaxedDurability: true,
73
+ });
74
+ const builder = new ReactorClientBuilder()
75
+ .withSigner(signerConfig)
76
+ .withReactorBuilder(new ReactorBuilder()
77
+ .withDocumentModels(documentModelModules)
78
+ .withLegacyStorage(legacyStorage)
79
+ .withSync(new SyncBuilder().withChannelFactory(new GqlChannelFactory()))
80
+ .withFeatures({ legacyStorageEnabled: true })
81
+ .withKysely(new Kysely({
82
+ dialect: new PGliteDialect(pg),
83
+ })));
84
+ const module = await builder.buildModule();
85
+ return {
86
+ ...module,
87
+ pg,
88
+ };
89
+ }
57
90
  //# sourceMappingURL=reactor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../../src/utils/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAU5E,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,MAAM,kBAAkB,GACrB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,6BAAoD;IACrE,SAAS,CAAC;AACZ,MAAM,gBAAgB,GAAG,kBAAkB;IACzC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/B,CAAC,CAAC,EAAE,CAAC;AAEP,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAG3C,EAAE;IACF,MAAM,YAAY,GAA8B,gBAAgB,CAAC,GAAG,CAClE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACb,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE;YACP,WAAW,EAAE,QAAQ;YACrB,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,kBAAkB;wBACxB,eAAe,EAAE,iBAAiB;qBACnC;oBACD,MAAM,EAAE;wBACN,MAAM,EAAE,CAAC,MAAM,CAAC;wBAChB,UAAU,EAAE,CAAC,GAAG,CAAC;wBACjB,YAAY,EAAE,CAAC,GAAG,CAAC;wBACnB,KAAK,EAAE,CAAC,QAAQ,CAAC;qBAClB;oBACD,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,GAAG;oBACf,MAAM,EAAE,IAAI;iBACb;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF,CAAC,CACH,CAAC;IAEF,OAAO;QACL,aAAa,EAAE;YACb,YAAY;YACZ,qBAAqB,EACnB,iCAAiC,CAAC,gBAAgB,CAAC;SACtD;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAClC,cAAsB;IAKtB,OAAO,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,cAAqC,EACrC,OAA+B,EAC/B,OAAmC;IAEnC,OAAO,IAAI,cAAc,CAAC,cAAc,CAAC;SACtC,WAAW,CAAC,OAAO,CAAC;SACpB,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC;SAC9B,gBAAgB,CAAC,IAAI,iBAAiB,EAAE,CAAC;SACzC,WAAW,CAAC;QACX,GAAG,OAAO;QACV,GAAG,6BAA6B,EAAE;KACnC,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../../src/utils/reactor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ISigner, SignatureVerificationHandler } from "@powerhousedao/reactor";
2
+ import type { IConnectCrypto } from "@renown/sdk";
3
+ import type { Action, Signature } from "document-model";
4
+ export declare class ConnectCryptoSigner implements ISigner {
5
+ private readonly connectCrypto;
6
+ constructor(connectCrypto: IConnectCrypto);
7
+ sign(action: Action, abortSignal?: AbortSignal): Promise<Signature>;
8
+ private hashAction;
9
+ private buildSignatureMessage;
10
+ private arrayBufferToHex;
11
+ private arrayBufferToBase64;
12
+ }
13
+ /**
14
+ * Creates a signature verification handler that verifies signatures using the Web Crypto API.
15
+ * The verification uses ECDSA with P-256 curve and SHA-256 hash, matching the ConnectCrypto signing algorithm.
16
+ */
17
+ export declare function createSignatureVerifier(): SignatureVerificationHandler;
18
+ //# sourceMappingURL=signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAa,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEnE,qBAAa,mBAAoB,YAAW,OAAO;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,cAAc;IAEpD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;YAqC3D,UAAU;IAYxB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,mBAAmB;CAQ5B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,4BAA4B,CAuCtE"}
@@ -0,0 +1,215 @@
1
+ export class ConnectCryptoSigner {
2
+ connectCrypto;
3
+ constructor(connectCrypto) {
4
+ this.connectCrypto = connectCrypto;
5
+ }
6
+ async sign(action, abortSignal) {
7
+ if (abortSignal?.aborted) {
8
+ throw new Error("Signing aborted");
9
+ }
10
+ const timestamp = (new Date().getTime() / 1000).toFixed(0);
11
+ const did = await this.connectCrypto.did();
12
+ if (abortSignal?.aborted) {
13
+ throw new Error("Signing aborted");
14
+ }
15
+ const hash = await this.hashAction(action);
16
+ if (abortSignal?.aborted) {
17
+ throw new Error("Signing aborted");
18
+ }
19
+ const prevStateHash = action.context?.prevOpHash ?? "";
20
+ const params = [
21
+ timestamp,
22
+ did,
23
+ hash,
24
+ prevStateHash,
25
+ ];
26
+ const message = this.buildSignatureMessage(params);
27
+ const signatureBytes = await this.connectCrypto.sign(message);
28
+ const signatureHex = `0x${this.arrayBufferToHex(signatureBytes)}`;
29
+ if (abortSignal?.aborted) {
30
+ throw new Error("Signing aborted");
31
+ }
32
+ return [...params, signatureHex];
33
+ }
34
+ async hashAction(action) {
35
+ const payload = [
36
+ action.scope,
37
+ action.type,
38
+ JSON.stringify(action.input),
39
+ ].join("");
40
+ const encoder = new TextEncoder();
41
+ const data = encoder.encode(payload);
42
+ const hashBuffer = await crypto.subtle.digest("SHA-256", data);
43
+ return this.arrayBufferToBase64(hashBuffer);
44
+ }
45
+ buildSignatureMessage(params) {
46
+ const message = params.join("");
47
+ const prefix = "\x19Signed Operation:\n" + message.length.toString();
48
+ const encoder = new TextEncoder();
49
+ return encoder.encode(prefix + message);
50
+ }
51
+ arrayBufferToHex(buffer) {
52
+ const bytes = buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer);
53
+ return Array.from(bytes)
54
+ .map((byte) => byte.toString(16).padStart(2, "0"))
55
+ .join("");
56
+ }
57
+ arrayBufferToBase64(buffer) {
58
+ const bytes = new Uint8Array(buffer);
59
+ let binary = "";
60
+ for (let i = 0; i < bytes.length; i++) {
61
+ binary += String.fromCharCode(bytes[i]);
62
+ }
63
+ return btoa(binary);
64
+ }
65
+ }
66
+ /**
67
+ * Creates a signature verification handler that verifies signatures using the Web Crypto API.
68
+ * The verification uses ECDSA with P-256 curve and SHA-256 hash, matching the ConnectCrypto signing algorithm.
69
+ */
70
+ export function createSignatureVerifier() {
71
+ return async (operation, publicKey) => {
72
+ const signer = operation.action.context?.signer;
73
+ if (!signer) {
74
+ return true;
75
+ }
76
+ const signatures = signer.signatures;
77
+ if (signatures.length === 0) {
78
+ return false;
79
+ }
80
+ const signature = signatures[signatures.length - 1];
81
+ const [timestamp, signerKey, hash, prevStateHash, signatureHex] = signature;
82
+ if (signerKey !== publicKey) {
83
+ return false;
84
+ }
85
+ const params = [
86
+ timestamp,
87
+ signerKey,
88
+ hash,
89
+ prevStateHash,
90
+ ];
91
+ const message = buildSignatureMessage(params);
92
+ const signatureBytes = hexToUint8Array(signatureHex);
93
+ const cryptoKey = await importPublicKey(publicKey);
94
+ const isValid = await crypto.subtle.verify({ name: "ECDSA", hash: "SHA-256" }, cryptoKey, signatureBytes.buffer, message.buffer);
95
+ return isValid;
96
+ };
97
+ }
98
+ function buildSignatureMessage(params) {
99
+ const message = params.join("");
100
+ const prefix = "\x19Signed Operation:\n" + message.length.toString();
101
+ const encoder = new TextEncoder();
102
+ return encoder.encode(prefix + message);
103
+ }
104
+ function hexToUint8Array(hex) {
105
+ const cleanHex = hex.startsWith("0x") ? hex.slice(2) : hex;
106
+ const bytes = new Uint8Array(cleanHex.length / 2);
107
+ for (let i = 0; i < cleanHex.length; i += 2) {
108
+ bytes[i / 2] = parseInt(cleanHex.substring(i, i + 2), 16);
109
+ }
110
+ return bytes;
111
+ }
112
+ async function importPublicKey(did) {
113
+ const keyData = extractKeyFromDid(did);
114
+ return crypto.subtle.importKey("raw", keyData.buffer, { name: "ECDSA", namedCurve: "P-256" }, true, ["verify"]);
115
+ }
116
+ function extractKeyFromDid(did) {
117
+ const parts = did.split(":");
118
+ if (parts.length < 3 || parts[0] !== "did" || parts[1] !== "key") {
119
+ throw new Error(`Invalid DID format: ${did}`);
120
+ }
121
+ const multibaseKey = parts[2];
122
+ if (!multibaseKey.startsWith("z")) {
123
+ throw new Error(`Unsupported multibase encoding: ${multibaseKey[0]}`);
124
+ }
125
+ const decoded = base58Decode(multibaseKey.slice(1));
126
+ if (decoded[0] !== 0x80 || decoded[1] !== 0x24) {
127
+ throw new Error("Not a P-256 public key multicodec");
128
+ }
129
+ const compressedKey = decoded.slice(2);
130
+ return decompressP256PublicKey(compressedKey);
131
+ }
132
+ function base58Decode(input) {
133
+ const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
134
+ const ALPHABET_MAP = new Map();
135
+ for (let i = 0; i < ALPHABET.length; i++) {
136
+ ALPHABET_MAP.set(ALPHABET[i], i);
137
+ }
138
+ if (input.length === 0) {
139
+ return new Uint8Array(0);
140
+ }
141
+ const bytes = [0];
142
+ for (const char of input) {
143
+ const value = ALPHABET_MAP.get(char);
144
+ if (value === undefined) {
145
+ throw new Error(`Invalid base58 character: ${char}`);
146
+ }
147
+ let carry = value;
148
+ for (let j = 0; j < bytes.length; j++) {
149
+ carry += bytes[j] * 58;
150
+ bytes[j] = carry & 0xff;
151
+ carry >>= 8;
152
+ }
153
+ while (carry > 0) {
154
+ bytes.push(carry & 0xff);
155
+ carry >>= 8;
156
+ }
157
+ }
158
+ for (const char of input) {
159
+ if (char !== "1")
160
+ break;
161
+ bytes.push(0);
162
+ }
163
+ return new Uint8Array(bytes.reverse());
164
+ }
165
+ function decompressP256PublicKey(compressed) {
166
+ if (compressed.length !== 33) {
167
+ throw new Error(`Invalid compressed key length: ${compressed.length}`);
168
+ }
169
+ const prefix = compressed[0];
170
+ if (prefix !== 0x02 && prefix !== 0x03) {
171
+ throw new Error(`Invalid compression prefix: ${prefix}`);
172
+ }
173
+ const p = BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff");
174
+ const a = BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc");
175
+ const b = BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b");
176
+ let x = BigInt(0);
177
+ for (let i = 1; i < compressed.length; i++) {
178
+ x = (x << BigInt(8)) | BigInt(compressed[i]);
179
+ }
180
+ const ySquared = (modPow(x, BigInt(3), p) + a * x + b) % p;
181
+ let y = modPow(ySquared, (p + BigInt(1)) / BigInt(4), p);
182
+ const isYEven = y % BigInt(2) === BigInt(0);
183
+ const shouldBeEven = prefix === 0x02;
184
+ if (isYEven !== shouldBeEven) {
185
+ y = p - y;
186
+ }
187
+ const uncompressed = new Uint8Array(65);
188
+ uncompressed[0] = 0x04;
189
+ const xBytes = bigIntToBytes(x, 32);
190
+ const yBytes = bigIntToBytes(y, 32);
191
+ uncompressed.set(xBytes, 1);
192
+ uncompressed.set(yBytes, 33);
193
+ return uncompressed;
194
+ }
195
+ function modPow(base, exp, mod) {
196
+ let result = BigInt(1);
197
+ base = base % mod;
198
+ while (exp > BigInt(0)) {
199
+ if (exp % BigInt(2) === BigInt(1)) {
200
+ result = (result * base) % mod;
201
+ }
202
+ exp = exp >> BigInt(1);
203
+ base = (base * base) % mod;
204
+ }
205
+ return result;
206
+ }
207
+ function bigIntToBytes(n, length) {
208
+ const bytes = new Uint8Array(length);
209
+ for (let i = length - 1; i >= 0; i--) {
210
+ bytes[i] = Number(n & BigInt(0xff));
211
+ n = n >> BigInt(8);
212
+ }
213
+ return bytes;
214
+ }
215
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,aAA6B;QAA7B,kBAAa,GAAb,aAAa,CAAgB;IAAG,CAAC;IAE9D,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,WAAyB;QAClD,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QAE3C,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;QAEvD,MAAM,MAAM,GAAqC;YAC/C,SAAS;YACT,GAAG;YACH,IAAI;YACJ,aAAa;SACd,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;QAElE,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAc;QACrC,MAAM,OAAO,GAAG;YACd,MAAM,CAAC,KAAK;YACZ,MAAM,CAAC,IAAI;YACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;SAC7B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACX,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAEO,qBAAqB,CAC3B,MAAwC;QAExC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,gBAAgB,CAAC,MAAgC;QACvD,MAAM,KAAK,GACT,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;aACrB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACjD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,MAAmB;QAC7C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,KAAK,EAAE,SAAoB,EAAE,SAAiB,EAAoB,EAAE;QACzE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC;QAE5E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAqC;YAC/C,SAAS;YACT,SAAS;YACT,IAAI;YACJ,aAAa;SACd,CAAC;QACF,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CACxC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAClC,SAAS,EACT,cAAc,CAAC,MAAqB,EACpC,OAAO,CAAC,MAAqB,CAC9B,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAwC;IAExC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B,KAAK,EACL,OAAO,CAAC,MAAqB,EAC7B,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EACtC,IAAI,EACJ,CAAC,QAAQ,CAAC,CACX,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,mCAAmC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,QAAQ,GAAG,4DAA4D,CAAC;IAC9E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,KAAK,GAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;YACxB,KAAK,KAAK,CAAC,CAAC;QACd,CAAC;QAED,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YACzB,KAAK,KAAK,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM;QACxB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAsB;IACrD,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,CACd,oEAAoE,CACrE,CAAC;IACF,MAAM,CAAC,GAAG,MAAM,CACd,oEAAoE,CACrE,CAAC;IACF,MAAM,CAAC,GAAG,MAAM,CACd,oEAAoE,CACrE,CAAC;IAEF,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzD,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,MAAM,KAAK,IAAI,CAAC;IACrC,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACxC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAEvB,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5B,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAE7B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW;IACpD,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;IAClB,OAAO,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QACjC,CAAC;QACD,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,CAAS,EAAE,MAAc;IAC9C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=signer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.test.d.ts","sourceRoot":"","sources":["../../../test/utils/signer.test.ts"],"names":[],"mappings":""}