@xyo-network/xl1-rpc 1.9.0 → 1.10.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 (138) hide show
  1. package/dist/neutral/index.mjs +519 -501
  2. package/dist/neutral/index.mjs.map +1 -1
  3. package/dist/neutral/provider/client/MemoryXyoClient.d.ts +2 -2
  4. package/dist/neutral/provider/client/MemoryXyoClient.d.ts.map +1 -1
  5. package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +1 -1
  6. package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -1
  7. package/dist/neutral/provider/{provider → connection}/HttpRpcXyoConnection.d.ts +2 -0
  8. package/dist/neutral/provider/connection/HttpRpcXyoConnection.d.ts.map +1 -0
  9. package/dist/neutral/provider/{provider → connection}/XyoConnection.d.ts +4 -2
  10. package/dist/neutral/provider/connection/XyoConnection.d.ts.map +1 -0
  11. package/dist/neutral/provider/connection/index.d.ts.map +1 -0
  12. package/dist/neutral/provider/connection/spec/XyoConnection.d.ts.map +1 -0
  13. package/dist/neutral/provider/datalake/AbstractXyoDataLake.d.ts +10 -0
  14. package/dist/neutral/provider/datalake/AbstractXyoDataLake.d.ts.map +1 -0
  15. package/dist/neutral/provider/datalake/ArchivistXyoDataLake.d.ts +11 -0
  16. package/dist/neutral/provider/datalake/ArchivistXyoDataLake.d.ts.map +1 -0
  17. package/dist/neutral/provider/datalake/HttpXyoDataLake.d.ts +20 -0
  18. package/dist/neutral/provider/datalake/HttpXyoDataLake.d.ts.map +1 -0
  19. package/dist/neutral/provider/datalake/index.d.ts +4 -0
  20. package/dist/neutral/provider/datalake/index.d.ts.map +1 -0
  21. package/dist/neutral/provider/gateway/Abstract.d.ts +13 -0
  22. package/dist/neutral/provider/gateway/Abstract.d.ts.map +1 -0
  23. package/dist/neutral/provider/gateway/MemoryXyoGateway.d.ts.map +1 -0
  24. package/dist/neutral/provider/gateway/index.d.ts.map +1 -0
  25. package/dist/neutral/provider/gateway/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
  26. package/dist/neutral/provider/index.d.ts +3 -2
  27. package/dist/neutral/provider/index.d.ts.map +1 -1
  28. package/dist/neutral/provider/network/MemoryXyoNetwork.d.ts +3 -3
  29. package/dist/neutral/provider/network/MemoryXyoNetwork.d.ts.map +1 -1
  30. package/dist/neutral/provider/network/lib/StatusNetworks.d.ts +3 -3
  31. package/dist/neutral/provider/network/lib/StatusNetworks.d.ts.map +1 -1
  32. package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts +15 -0
  33. package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -0
  34. package/dist/neutral/transport/post-message/index.d.ts +1 -1
  35. package/dist/neutral/transport/post-message/index.d.ts.map +1 -1
  36. package/dist/neutral/transport/post-message/resolveData.d.ts +13 -0
  37. package/dist/neutral/transport/post-message/resolveData.d.ts.map +1 -0
  38. package/dist/neutral/types/XyoGatewayRpc.d.ts +1 -1
  39. package/dist/neutral/types/XyoGatewayRpc.d.ts.map +1 -1
  40. package/dist/node/index-node.mjs +550 -530
  41. package/dist/node/index-node.mjs.map +1 -1
  42. package/dist/node/provider/client/MemoryXyoClient.d.ts +2 -2
  43. package/dist/node/provider/client/MemoryXyoClient.d.ts.map +1 -1
  44. package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +1 -1
  45. package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -1
  46. package/dist/node/provider/{provider → connection}/HttpRpcXyoConnection.d.ts +2 -0
  47. package/dist/node/provider/connection/HttpRpcXyoConnection.d.ts.map +1 -0
  48. package/dist/node/provider/{provider → connection}/XyoConnection.d.ts +4 -2
  49. package/dist/node/provider/connection/XyoConnection.d.ts.map +1 -0
  50. package/dist/node/provider/connection/index.d.ts.map +1 -0
  51. package/dist/node/provider/connection/spec/XyoConnection.d.ts.map +1 -0
  52. package/dist/node/provider/datalake/AbstractXyoDataLake.d.ts +10 -0
  53. package/dist/node/provider/datalake/AbstractXyoDataLake.d.ts.map +1 -0
  54. package/dist/node/provider/datalake/ArchivistXyoDataLake.d.ts +11 -0
  55. package/dist/node/provider/datalake/ArchivistXyoDataLake.d.ts.map +1 -0
  56. package/dist/node/provider/datalake/HttpXyoDataLake.d.ts +20 -0
  57. package/dist/node/provider/datalake/HttpXyoDataLake.d.ts.map +1 -0
  58. package/dist/node/provider/datalake/index.d.ts +4 -0
  59. package/dist/node/provider/datalake/index.d.ts.map +1 -0
  60. package/dist/node/provider/gateway/Abstract.d.ts +13 -0
  61. package/dist/node/provider/gateway/Abstract.d.ts.map +1 -0
  62. package/dist/node/provider/gateway/MemoryXyoGateway.d.ts.map +1 -0
  63. package/dist/node/provider/gateway/index.d.ts.map +1 -0
  64. package/dist/node/provider/gateway/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
  65. package/dist/node/provider/index.d.ts +3 -2
  66. package/dist/node/provider/index.d.ts.map +1 -1
  67. package/dist/node/provider/network/MemoryXyoNetwork.d.ts +3 -3
  68. package/dist/node/provider/network/MemoryXyoNetwork.d.ts.map +1 -1
  69. package/dist/node/provider/network/lib/StatusNetworks.d.ts +3 -3
  70. package/dist/node/provider/network/lib/StatusNetworks.d.ts.map +1 -1
  71. package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts +15 -0
  72. package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -0
  73. package/dist/node/transport/post-message/index.d.ts +1 -1
  74. package/dist/node/transport/post-message/index.d.ts.map +1 -1
  75. package/dist/node/transport/post-message/resolveData.d.ts +13 -0
  76. package/dist/node/transport/post-message/resolveData.d.ts.map +1 -0
  77. package/dist/node/types/XyoGatewayRpc.d.ts +1 -1
  78. package/dist/node/types/XyoGatewayRpc.d.ts.map +1 -1
  79. package/package.json +37 -36
  80. package/src/provider/client/MemoryXyoClient.ts +3 -3
  81. package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +1 -1
  82. package/src/provider/client/spec/MemoryXyoClient.spec.ts +17 -10
  83. package/src/provider/{provider → connection}/HttpRpcXyoConnection.ts +10 -3
  84. package/src/provider/{provider → connection}/XyoConnection.ts +7 -2
  85. package/src/provider/{provider → connection}/spec/XyoConnection.ts +1 -0
  86. package/src/provider/datalake/AbstractXyoDataLake.ts +38 -0
  87. package/src/provider/datalake/ArchivistXyoDataLake.ts +26 -0
  88. package/src/provider/datalake/HttpXyoDataLake.ts +105 -0
  89. package/src/provider/datalake/index.ts +3 -0
  90. package/src/provider/gateway/Abstract.ts +47 -0
  91. package/src/provider/{host → gateway}/spec/MemoryXyoGateway.spec.ts +7 -3
  92. package/src/provider/index.ts +3 -2
  93. package/src/provider/network/MemoryXyoNetwork.ts +4 -3
  94. package/src/provider/network/lib/StatusNetworks.ts +9 -9
  95. package/src/provider/signer/spec/RpcEngineXyoSigner.spec.ts +2 -1
  96. package/src/transport/post-message/LegacyPostMessageRpcTransport.ts +117 -0
  97. package/src/transport/post-message/helpers.ts +1 -1
  98. package/src/transport/post-message/index.ts +1 -1
  99. package/src/transport/post-message/resolveData.ts +30 -0
  100. package/src/types/XyoGatewayRpc.ts +2 -2
  101. package/src/types/global.d.ts +1 -1
  102. package/dist/neutral/provider/host/Abstract.d.ts +0 -15
  103. package/dist/neutral/provider/host/Abstract.d.ts.map +0 -1
  104. package/dist/neutral/provider/host/MemoryXyoGateway.d.ts.map +0 -1
  105. package/dist/neutral/provider/host/index.d.ts.map +0 -1
  106. package/dist/neutral/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +0 -1
  107. package/dist/neutral/provider/provider/HttpRpcXyoConnection.d.ts.map +0 -1
  108. package/dist/neutral/provider/provider/XyoConnection.d.ts.map +0 -1
  109. package/dist/neutral/provider/provider/index.d.ts.map +0 -1
  110. package/dist/neutral/provider/provider/spec/XyoConnection.d.ts.map +0 -1
  111. package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts +0 -12
  112. package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts.map +0 -1
  113. package/dist/node/provider/host/Abstract.d.ts +0 -15
  114. package/dist/node/provider/host/Abstract.d.ts.map +0 -1
  115. package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +0 -1
  116. package/dist/node/provider/host/index.d.ts.map +0 -1
  117. package/dist/node/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +0 -1
  118. package/dist/node/provider/provider/HttpRpcXyoConnection.d.ts.map +0 -1
  119. package/dist/node/provider/provider/XyoConnection.d.ts.map +0 -1
  120. package/dist/node/provider/provider/index.d.ts.map +0 -1
  121. package/dist/node/provider/provider/spec/XyoConnection.d.ts.map +0 -1
  122. package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts +0 -12
  123. package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts.map +0 -1
  124. package/src/provider/host/Abstract.ts +0 -42
  125. package/src/transport/post-message/PostMessageRpcTransport.ts +0 -73
  126. /package/dist/neutral/provider/{provider → connection}/index.d.ts +0 -0
  127. /package/dist/neutral/provider/{provider → connection}/spec/XyoConnection.d.ts +0 -0
  128. /package/dist/neutral/provider/{host → gateway}/MemoryXyoGateway.d.ts +0 -0
  129. /package/dist/neutral/provider/{host → gateway}/index.d.ts +0 -0
  130. /package/dist/neutral/provider/{host → gateway}/spec/MemoryXyoGateway.spec.d.ts +0 -0
  131. /package/dist/node/provider/{provider → connection}/index.d.ts +0 -0
  132. /package/dist/node/provider/{provider → connection}/spec/XyoConnection.d.ts +0 -0
  133. /package/dist/node/provider/{host → gateway}/MemoryXyoGateway.d.ts +0 -0
  134. /package/dist/node/provider/{host → gateway}/index.d.ts +0 -0
  135. /package/dist/node/provider/{host → gateway}/spec/MemoryXyoGateway.spec.d.ts +0 -0
  136. /package/src/provider/{provider → connection}/index.ts +0 -0
  137. /package/src/provider/{host → gateway}/MemoryXyoGateway.ts +0 -0
  138. /package/src/provider/{host → gateway}/index.ts +0 -0
@@ -1,42 +0,0 @@
1
- import { assertEx } from '@xylabs/assert'
2
- import type { Promisable } from '@xylabs/promise'
3
- import type { Payload } from '@xyo-network/payload-model'
4
- import type {
5
- AllowedBlockPayload, HydratedTransaction, InvokerPermission, Permission, XyoConnectionProvider, XyoGatewayProvider, XyoRpcConnectionConfig, XyoSigner,
6
- } from '@xyo-network/xl1-protocol'
7
-
8
- export abstract class AbstractXyoGateway implements XyoGatewayProvider {
9
- activeConnection(): Promisable<XyoConnectionProvider | undefined> {
10
- throw new Error('Deprecated method not implemented.')
11
- }
12
-
13
- addConnection(_config: XyoRpcConnectionConfig): Promisable<XyoConnectionProvider> {
14
- throw new Error('Deprecated method not implemented.')
15
- }
16
-
17
- connections(): Promisable<Record<string, XyoConnectionProvider>> {
18
- throw new Error('Deprecated method not implemented.')
19
- }
20
-
21
- getPermissions(): Promisable<InvokerPermission[]> {
22
- throw new Error('Deprecated method not implemented.')
23
- }
24
-
25
- requestPermissions(_permissions: Permission[]): Promisable<boolean> {
26
- throw new Error('Deprecated method not implemented.')
27
- }
28
-
29
- revokePermissions(_permissions: Permission[]): Promisable<boolean> {
30
- throw new Error('Deprecated method not implemented.')
31
- }
32
-
33
- async submitTransaction(elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[]): Promise<HydratedTransaction> {
34
- const connection = await this.connection()
35
- assertEx(connection.submitTransaction, () => 'Active connection does not support transaction submission')
36
- const tx = await connection.submitTransaction?.(elevatedPayloads, additionalPayloads)
37
- return assertEx(tx, () => 'Transaction submission failed')
38
- }
39
-
40
- abstract connection(): Promisable<XyoConnectionProvider>
41
- abstract signer(): Promisable<XyoSigner>
42
- }
@@ -1,73 +0,0 @@
1
- import type { JsonRpcRequest } from '@metamask/utils'
2
- import { isDefined } from '@xylabs/typeof'
3
- import { v4 } from 'uuid'
4
- import type { z } from 'zod'
5
-
6
- import type { RpcSchemaMap } from '../../types/index.ts'
7
- import { jsonrpc, XyoGatewayRpcSchemas } from '../../types/index.ts'
8
- import type { RpcTransport } from '../RpcTransport.ts'
9
- import type { JsonRpcRequestWithId } from './helpers.ts'
10
- import { isRpcError } from './helpers.ts'
11
- import { buildSessionMessageRequest } from './SessionEnvelope.ts'
12
-
13
- /** @deprecated - now part of a client gateway */
14
- export class PostMessageRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {
15
- protected readonly destination?: string
16
- protected readonly schemas: T
17
-
18
- constructor(defaultDestination?: string, schemas: T = XyoGatewayRpcSchemas as T) {
19
- this.schemas = schemas
20
- this.destination = defaultDestination
21
- }
22
-
23
- async sendRequest<
24
- TMethod extends keyof T & string,
25
- >(
26
- method: TMethod,
27
- params?: z.infer<T[TMethod]['params']['to']>,
28
- ): Promise<z.infer<T[TMethod]['result']['from']>> {
29
- const id = v4()
30
- return await this.callRpc(this.schemas, method, id, params)
31
- }
32
-
33
- private async callRpc<
34
- TSchemas extends RpcSchemaMap,
35
- TMethod extends keyof TSchemas,
36
- >(
37
- schemas: TSchemas,
38
- method: TMethod,
39
- id: string,
40
- params?: z.infer<TSchemas[TMethod]['params']['to']>,
41
- ): Promise<z.infer<TSchemas[TMethod]['result']['from']>> {
42
- const body: JsonRpcRequest = {
43
- jsonrpc,
44
- id,
45
- method: method as string,
46
- }
47
-
48
- body.params = (isDefined(params) && isDefined(schemas[method])) ? schemas[method].params.to.parse(params) : params
49
-
50
- return await new Promise((resolve, reject) => {
51
- const id = body.id
52
-
53
- const handler = (event: MessageEvent) => {
54
- if (event.origin !== globalThis.window.origin) return
55
- if ((event.data as JsonRpcRequestWithId).id !== id) return
56
-
57
- globalThis.removeEventListener('message', handler)
58
- if (event.data.result.some(isRpcError)) {
59
- reject(event.data.result[0])
60
- } else {
61
- resolve(event.data.result[0])
62
- }
63
- }
64
-
65
- globalThis.addEventListener('message', handler)
66
-
67
- globalThis.postMessage(
68
- buildSessionMessageRequest(body, this.destination),
69
- globalThis.location.origin,
70
- )
71
- })
72
- }
73
- }
File without changes
File without changes
File without changes