@xyo-network/xl1-rpc 1.15.1 → 1.15.3

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 (234) hide show
  1. package/README.md +11897 -1213
  2. package/dist/neutral/engine/index-node.d.ts +2 -2
  3. package/dist/neutral/engine/index-node.d.ts.map +1 -1
  4. package/dist/neutral/engine/index.d.ts +2 -1
  5. package/dist/neutral/engine/index.d.ts.map +1 -1
  6. package/dist/neutral/engine/rpcEngineFromConnection.d.ts +4 -0
  7. package/dist/neutral/engine/rpcEngineFromConnection.d.ts.map +1 -0
  8. package/dist/neutral/engine/rpcMethodHandlersFromConnection.d.ts +4 -0
  9. package/dist/neutral/engine/rpcMethodHandlersFromConnection.d.ts.map +1 -0
  10. package/dist/neutral/engine/rpcMethodHandlersFromPermissions.d.ts +4 -0
  11. package/dist/neutral/engine/rpcMethodHandlersFromPermissions.d.ts.map +1 -0
  12. package/dist/neutral/engine/rpcMethodHandlersFromViewer.d.ts.map +1 -1
  13. package/dist/neutral/index.mjs +894 -437
  14. package/dist/neutral/index.mjs.map +1 -1
  15. package/dist/neutral/provider/client/MemoryXyoClient.d.ts +2 -2
  16. package/dist/neutral/provider/client/MemoryXyoClient.d.ts.map +1 -1
  17. package/dist/neutral/provider/client/index.d.ts +0 -1
  18. package/dist/neutral/provider/client/index.d.ts.map +1 -1
  19. package/dist/neutral/provider/index.d.ts +1 -0
  20. package/dist/neutral/provider/index.d.ts.map +1 -1
  21. package/dist/neutral/provider/permissions/MemoryXyoPermissions.d.ts +17 -0
  22. package/dist/neutral/provider/permissions/MemoryXyoPermissions.d.ts.map +1 -0
  23. package/dist/neutral/provider/permissions/RpcXyoPermissions.d.ts +11 -0
  24. package/dist/neutral/provider/permissions/RpcXyoPermissions.d.ts.map +1 -0
  25. package/dist/neutral/provider/permissions/index.d.ts +4 -0
  26. package/dist/neutral/provider/permissions/index.d.ts.map +1 -0
  27. package/dist/neutral/provider/permissions/spec/MemoryXyoPermissions.spec.d.ts +2 -0
  28. package/dist/neutral/provider/permissions/spec/MemoryXyoPermissions.spec.d.ts.map +1 -0
  29. package/dist/neutral/provider/permissions/store/MemoryPermissions.d.ts +16 -0
  30. package/dist/neutral/provider/permissions/store/MemoryPermissions.d.ts.map +1 -0
  31. package/dist/neutral/provider/permissions/store/PermissionsStore.d.ts +12 -0
  32. package/dist/neutral/provider/permissions/store/PermissionsStore.d.ts.map +1 -0
  33. package/dist/neutral/provider/permissions/store/index.d.ts +3 -0
  34. package/dist/neutral/provider/permissions/store/index.d.ts.map +1 -0
  35. package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts +3 -2
  36. package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
  37. package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts +2 -2
  38. package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
  39. package/dist/neutral/provider/viewer/JsonRpcXyoViewer.d.ts +26 -9
  40. package/dist/neutral/provider/viewer/JsonRpcXyoViewer.d.ts.map +1 -1
  41. package/dist/neutral/transport/post-message/index.d.ts +0 -1
  42. package/dist/neutral/transport/post-message/index.d.ts.map +1 -1
  43. package/dist/neutral/types/ErrorCodes.d.ts.map +1 -1
  44. package/dist/neutral/types/XyoPermissions.d.ts +7 -0
  45. package/dist/neutral/types/XyoPermissions.d.ts.map +1 -0
  46. package/dist/neutral/types/index.d.ts +1 -2
  47. package/dist/neutral/types/index.d.ts.map +1 -1
  48. package/dist/neutral/types/schema/AllRpcSchemas.d.ts +914 -80
  49. package/dist/neutral/types/schema/AllRpcSchemas.d.ts.map +1 -1
  50. package/dist/neutral/types/schema/XyoPermissionsRpcSchemas.d.ts +74 -0
  51. package/dist/neutral/types/schema/XyoPermissionsRpcSchemas.d.ts.map +1 -0
  52. package/dist/neutral/types/schema/XyoProviderRpcSchemas.d.ts +4 -4
  53. package/dist/neutral/types/schema/XyoRunnerRpcSchemas.d.ts +4 -4
  54. package/dist/neutral/types/schema/XyoSignerRpcSchemas.d.ts +19 -19
  55. package/dist/neutral/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
  56. package/dist/neutral/types/schema/XyoViewerRpcSchemas.d.ts +828 -64
  57. package/dist/neutral/types/schema/XyoViewerRpcSchemas.d.ts.map +1 -1
  58. package/dist/neutral/types/schema/common/BlockBoundWitness.d.ts +4 -4
  59. package/dist/neutral/types/schema/common/Chain.d.ts +2 -2
  60. package/dist/neutral/types/schema/common/Chain.d.ts.map +1 -1
  61. package/dist/neutral/types/schema/common/HydratedBlock.d.ts +5 -5
  62. package/dist/neutral/types/schema/common/HydratedTransaction.d.ts +14 -14
  63. package/dist/neutral/types/schema/common/Permission.d.ts +53 -0
  64. package/dist/neutral/types/schema/common/Permission.d.ts.map +1 -0
  65. package/dist/neutral/types/schema/common/Stake.d.ts +11 -5
  66. package/dist/neutral/types/schema/common/Stake.d.ts.map +1 -1
  67. package/dist/neutral/types/schema/common/StepContext.d.ts +6 -0
  68. package/dist/neutral/types/schema/common/StepContext.d.ts.map +1 -0
  69. package/dist/neutral/types/schema/common/TransactionBoundWitness.d.ts +4 -4
  70. package/dist/neutral/types/schema/common/Transfer.d.ts +33 -0
  71. package/dist/neutral/types/schema/common/Transfer.d.ts.map +1 -0
  72. package/dist/neutral/types/schema/common/index.d.ts +3 -0
  73. package/dist/neutral/types/schema/common/index.d.ts.map +1 -1
  74. package/dist/neutral/types/schema/index.d.ts +1 -1
  75. package/dist/neutral/types/schema/index.d.ts.map +1 -1
  76. package/dist/node/engine/index-node.d.ts +2 -2
  77. package/dist/node/engine/index-node.d.ts.map +1 -1
  78. package/dist/node/engine/index.d.ts +2 -1
  79. package/dist/node/engine/index.d.ts.map +1 -1
  80. package/dist/node/engine/rpcEngineFromConnection.d.ts +4 -0
  81. package/dist/node/engine/rpcEngineFromConnection.d.ts.map +1 -0
  82. package/dist/node/engine/rpcMethodHandlersFromConnection.d.ts +4 -0
  83. package/dist/node/engine/rpcMethodHandlersFromConnection.d.ts.map +1 -0
  84. package/dist/node/engine/rpcMethodHandlersFromPermissions.d.ts +4 -0
  85. package/dist/node/engine/rpcMethodHandlersFromPermissions.d.ts.map +1 -0
  86. package/dist/node/engine/rpcMethodHandlersFromViewer.d.ts.map +1 -1
  87. package/dist/node/index-node.mjs +900 -443
  88. package/dist/node/index-node.mjs.map +1 -1
  89. package/dist/node/provider/client/MemoryXyoClient.d.ts +2 -2
  90. package/dist/node/provider/client/MemoryXyoClient.d.ts.map +1 -1
  91. package/dist/node/provider/client/index.d.ts +0 -1
  92. package/dist/node/provider/client/index.d.ts.map +1 -1
  93. package/dist/node/provider/index.d.ts +1 -0
  94. package/dist/node/provider/index.d.ts.map +1 -1
  95. package/dist/node/provider/permissions/MemoryXyoPermissions.d.ts +17 -0
  96. package/dist/node/provider/permissions/MemoryXyoPermissions.d.ts.map +1 -0
  97. package/dist/node/provider/permissions/RpcXyoPermissions.d.ts +11 -0
  98. package/dist/node/provider/permissions/RpcXyoPermissions.d.ts.map +1 -0
  99. package/dist/node/provider/permissions/index.d.ts +4 -0
  100. package/dist/node/provider/permissions/index.d.ts.map +1 -0
  101. package/dist/node/provider/permissions/spec/MemoryXyoPermissions.spec.d.ts +2 -0
  102. package/dist/node/provider/permissions/spec/MemoryXyoPermissions.spec.d.ts.map +1 -0
  103. package/dist/node/provider/permissions/store/MemoryPermissions.d.ts +16 -0
  104. package/dist/node/provider/permissions/store/MemoryPermissions.d.ts.map +1 -0
  105. package/dist/node/provider/permissions/store/PermissionsStore.d.ts +12 -0
  106. package/dist/node/provider/permissions/store/PermissionsStore.d.ts.map +1 -0
  107. package/dist/node/provider/permissions/store/index.d.ts +3 -0
  108. package/dist/node/provider/permissions/store/index.d.ts.map +1 -0
  109. package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts +3 -2
  110. package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
  111. package/dist/node/provider/signer/MemoryXyoSigner.d.ts +2 -2
  112. package/dist/node/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
  113. package/dist/node/provider/viewer/JsonRpcXyoViewer.d.ts +26 -9
  114. package/dist/node/provider/viewer/JsonRpcXyoViewer.d.ts.map +1 -1
  115. package/dist/node/transport/post-message/index.d.ts +0 -1
  116. package/dist/node/transport/post-message/index.d.ts.map +1 -1
  117. package/dist/node/types/ErrorCodes.d.ts.map +1 -1
  118. package/dist/node/types/XyoPermissions.d.ts +7 -0
  119. package/dist/node/types/XyoPermissions.d.ts.map +1 -0
  120. package/dist/node/types/index.d.ts +1 -2
  121. package/dist/node/types/index.d.ts.map +1 -1
  122. package/dist/node/types/schema/AllRpcSchemas.d.ts +914 -80
  123. package/dist/node/types/schema/AllRpcSchemas.d.ts.map +1 -1
  124. package/dist/node/types/schema/XyoPermissionsRpcSchemas.d.ts +74 -0
  125. package/dist/node/types/schema/XyoPermissionsRpcSchemas.d.ts.map +1 -0
  126. package/dist/node/types/schema/XyoProviderRpcSchemas.d.ts +4 -4
  127. package/dist/node/types/schema/XyoRunnerRpcSchemas.d.ts +4 -4
  128. package/dist/node/types/schema/XyoSignerRpcSchemas.d.ts +19 -19
  129. package/dist/node/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
  130. package/dist/node/types/schema/XyoViewerRpcSchemas.d.ts +828 -64
  131. package/dist/node/types/schema/XyoViewerRpcSchemas.d.ts.map +1 -1
  132. package/dist/node/types/schema/common/BlockBoundWitness.d.ts +4 -4
  133. package/dist/node/types/schema/common/Chain.d.ts +2 -2
  134. package/dist/node/types/schema/common/Chain.d.ts.map +1 -1
  135. package/dist/node/types/schema/common/HydratedBlock.d.ts +5 -5
  136. package/dist/node/types/schema/common/HydratedTransaction.d.ts +14 -14
  137. package/dist/node/types/schema/common/Permission.d.ts +53 -0
  138. package/dist/node/types/schema/common/Permission.d.ts.map +1 -0
  139. package/dist/node/types/schema/common/Stake.d.ts +11 -5
  140. package/dist/node/types/schema/common/Stake.d.ts.map +1 -1
  141. package/dist/node/types/schema/common/StepContext.d.ts +6 -0
  142. package/dist/node/types/schema/common/StepContext.d.ts.map +1 -0
  143. package/dist/node/types/schema/common/TransactionBoundWitness.d.ts +4 -4
  144. package/dist/node/types/schema/common/Transfer.d.ts +33 -0
  145. package/dist/node/types/schema/common/Transfer.d.ts.map +1 -0
  146. package/dist/node/types/schema/common/index.d.ts +3 -0
  147. package/dist/node/types/schema/common/index.d.ts.map +1 -1
  148. package/dist/node/types/schema/index.d.ts +1 -1
  149. package/dist/node/types/schema/index.d.ts.map +1 -1
  150. package/package.json +36 -36
  151. package/src/engine/index-node.ts +2 -2
  152. package/src/engine/index.ts +2 -1
  153. package/src/engine/{rpcEngineFromProvider.ts → rpcEngineFromConnection.ts} +3 -3
  154. package/src/engine/{rpcMethodHandlersFromProvider.ts → rpcMethodHandlersFromConnection.ts} +3 -3
  155. package/src/engine/rpcMethodHandlersFromPermissions.ts +11 -0
  156. package/src/engine/rpcMethodHandlersFromViewer.ts +19 -1
  157. package/src/provider/client/MemoryXyoClient.ts +2 -1
  158. package/src/provider/client/index.ts +0 -1
  159. package/src/provider/client/spec/MemoryXyoClient.spec.ts +17 -31
  160. package/src/provider/index.ts +1 -0
  161. package/src/provider/permissions/MemoryXyoPermissions.ts +82 -0
  162. package/src/provider/permissions/RpcXyoPermissions.ts +30 -0
  163. package/src/provider/permissions/index.ts +3 -0
  164. package/src/provider/permissions/spec/MemoryXyoPermissions.spec.ts +93 -0
  165. package/src/provider/permissions/store/MemoryPermissions.ts +32 -0
  166. package/src/provider/permissions/store/PermissionsStore.ts +15 -0
  167. package/src/provider/permissions/store/index.ts +2 -0
  168. package/src/provider/signer/JsonRpcXyoSigner.ts +3 -2
  169. package/src/provider/signer/MemoryXyoSigner.ts +2 -2
  170. package/src/provider/signer/spec/RpcEngineXyoSigner.spec.ts +5 -5
  171. package/src/provider/viewer/JsonRpcXyoViewer.ts +105 -30
  172. package/src/transport/post-message/index.ts +0 -1
  173. package/src/types/ErrorCodes.ts +1 -0
  174. package/src/types/XyoPermissions.ts +13 -0
  175. package/src/types/index.ts +1 -2
  176. package/src/types/schema/AllRpcSchemas.ts +2 -0
  177. package/src/types/schema/XyoPermissionsRpcSchemas.ts +40 -0
  178. package/src/types/schema/XyoSignerRpcSchemas.ts +1 -1
  179. package/src/types/schema/XyoViewerRpcSchemas.ts +261 -15
  180. package/src/types/schema/common/Chain.ts +2 -2
  181. package/src/types/schema/common/Permission.ts +23 -0
  182. package/src/types/schema/common/Stake.ts +3 -3
  183. package/src/types/schema/common/StepContext.ts +6 -0
  184. package/src/types/schema/common/Transfer.ts +14 -0
  185. package/src/types/schema/common/index.ts +3 -0
  186. package/src/types/schema/index.ts +1 -1
  187. package/dist/neutral/engine/rpcEngineFromProvider.d.ts +0 -4
  188. package/dist/neutral/engine/rpcEngineFromProvider.d.ts.map +0 -1
  189. package/dist/neutral/engine/rpcMethodHandlersFromProvider.d.ts +0 -4
  190. package/dist/neutral/engine/rpcMethodHandlersFromProvider.d.ts.map +0 -1
  191. package/dist/neutral/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts +0 -11
  192. package/dist/neutral/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
  193. package/dist/neutral/provider/client/PermissionsStore/PermissionsStore.d.ts +0 -8
  194. package/dist/neutral/provider/client/PermissionsStore/PermissionsStore.d.ts.map +0 -1
  195. package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -5
  196. package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
  197. package/dist/neutral/provider/client/PermissionsStore/index.d.ts +0 -4
  198. package/dist/neutral/provider/client/PermissionsStore/index.d.ts.map +0 -1
  199. package/dist/neutral/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -2
  200. package/dist/neutral/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
  201. package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts +0 -15
  202. package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +0 -1
  203. package/dist/neutral/types/XyoGatewayRpc.d.ts +0 -8
  204. package/dist/neutral/types/XyoGatewayRpc.d.ts.map +0 -1
  205. package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts +0 -437
  206. package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts.map +0 -1
  207. package/dist/node/engine/rpcEngineFromProvider.d.ts +0 -4
  208. package/dist/node/engine/rpcEngineFromProvider.d.ts.map +0 -1
  209. package/dist/node/engine/rpcMethodHandlersFromProvider.d.ts +0 -4
  210. package/dist/node/engine/rpcMethodHandlersFromProvider.d.ts.map +0 -1
  211. package/dist/node/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts +0 -11
  212. package/dist/node/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
  213. package/dist/node/provider/client/PermissionsStore/PermissionsStore.d.ts +0 -8
  214. package/dist/node/provider/client/PermissionsStore/PermissionsStore.d.ts.map +0 -1
  215. package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -5
  216. package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
  217. package/dist/node/provider/client/PermissionsStore/index.d.ts +0 -4
  218. package/dist/node/provider/client/PermissionsStore/index.d.ts.map +0 -1
  219. package/dist/node/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -2
  220. package/dist/node/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
  221. package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts +0 -15
  222. package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +0 -1
  223. package/dist/node/types/XyoGatewayRpc.d.ts +0 -8
  224. package/dist/node/types/XyoGatewayRpc.d.ts.map +0 -1
  225. package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts +0 -437
  226. package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts.map +0 -1
  227. package/src/provider/client/PermissionsStore/MemoryPermissionsStore.ts +0 -33
  228. package/src/provider/client/PermissionsStore/PermissionsStore.ts +0 -8
  229. package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +0 -12
  230. package/src/provider/client/PermissionsStore/index.ts +0 -3
  231. package/src/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.ts +0 -78
  232. package/src/transport/post-message/LegacyPostMessageRpcTransport.ts +0 -120
  233. package/src/types/XyoGatewayRpc.ts +0 -15
  234. package/src/types/schema/XyoGatewayRpcSchemas.ts +0 -108
@@ -1,120 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import type { JsonRpcRequest } from '@metamask/utils'
3
- import {
4
- isJsonRpcError,
5
- isJsonRpcSuccess,
6
- } from '@metamask/utils'
7
- import { isDefined } from '@xylabs/typeof'
8
- import { v4 } from 'uuid'
9
- import type * as z from 'zod'
10
-
11
- import type { RpcSchemaMap, XyoGatewayRpcMethodName } from '../../types/index.ts'
12
- import { jsonrpc, XyoGatewayRpcSchemas } from '../../types/index.ts'
13
- import type { RpcTransport } from '../RpcTransport.ts'
14
- // eslint-disable-next-line sonarjs/deprecation
15
- import { isRpcError } from './helpers.ts'
16
- import { resolvedEvent } from './resolveData.ts'
17
-
18
- const isValidBaseRpcEvent = (data: any) => {
19
- return !!(data && typeof data === 'object'
20
- && 'jsonrpc' in data && data.jsonrpc === '2.0'
21
- && 'method' in data && typeof data.method === 'string'
22
- && 'id' in data && typeof data.id === 'string')
23
- }
24
-
25
- const isRpcResponse = (data: any, targetId: string) => {
26
- return isValidBaseRpcEvent(data) && (isDefined(targetId) ? data.id === targetId : true) && 'result' in data && Array.isArray(data.result)
27
- }
28
-
29
- /** @deprecated - now part of a client gateway */
30
- export class LegacyPostMessageRpcTransport implements RpcTransport<RpcSchemaMap<XyoGatewayRpcMethodName>> {
31
- protected readonly destination?: string
32
- protected readonly schemas: RpcSchemaMap<XyoGatewayRpcMethodName>
33
- protected readonly sessionId?: string
34
-
35
- constructor(defaultDestination?: string, sessionId?: string) {
36
- this.schemas = XyoGatewayRpcSchemas
37
- this.destination = defaultDestination
38
- this.sessionId = sessionId
39
- }
40
-
41
- async sendRequest<
42
- TMethod extends keyof RpcSchemaMap<XyoGatewayRpcMethodName>,
43
- >(
44
- method: TMethod,
45
- params?: z.input<RpcSchemaMap<XyoGatewayRpcMethodName>[TMethod]['params']['to']>,
46
- ): Promise<z.output<RpcSchemaMap<XyoGatewayRpcMethodName>[TMethod]['result']['from']>> {
47
- const id = v4()
48
- return await this.callRpc(this.schemas, method, id, params)
49
- }
50
-
51
- private async callRpc<
52
- TSchemas extends RpcSchemaMap,
53
- TMethod extends keyof TSchemas,
54
- >(
55
- schemas: TSchemas,
56
- method: TMethod,
57
- id: string,
58
- params?: z.input<TSchemas[TMethod]['params']['to']>,
59
- ): Promise<z.output<TSchemas[TMethod]['result']['from']>> {
60
- const body: JsonRpcRequest = {
61
- jsonrpc,
62
- id,
63
- method: method as string,
64
- }
65
-
66
- body.params = ((isDefined(params) && isDefined(schemas[method])) ? schemas[method].params.to.parse(params) : params) as JsonRpcRequest
67
-
68
- return await new Promise((resolve, reject) => {
69
- const id = body.id
70
-
71
- const handler = (event: MessageEvent) => {
72
- if (event.origin !== globalThis.window.origin) return
73
- if (!isRpcResponse(event.data, id as string)) return
74
- const data = resolvedEvent(event, id as string)
75
- if (data === false) return
76
-
77
- globalThis.removeEventListener('message', handler)
78
-
79
- if (data.legacyEventData) {
80
- // Handle legacy event data
81
- // eslint-disable-next-line sonarjs/deprecation
82
- if (data.legacyEventData.result.some(isRpcError)) {
83
- reject(data.legacyEventData.result[0])
84
- } else {
85
- resolve(data.legacyEventData.result[0])
86
- }
87
- return
88
- }
89
-
90
- if (data.eventData) {
91
- // Handle new event data
92
- if (isJsonRpcError(data.eventData)) {
93
- reject(data.eventData)
94
- return
95
- }
96
- if (isJsonRpcSuccess(data.eventData)) {
97
- resolve(data.eventData as z.infer<TSchemas[TMethod]['result']['from']>)
98
- return
99
- }
100
- reject(new Error('Unexpected response format'))
101
- }
102
- }
103
-
104
- globalThis.addEventListener('message', handler)
105
-
106
- globalThis.postMessage(
107
- {
108
- data: body,
109
- destination: this.destination,
110
- sessionId: this.sessionId,
111
- },
112
- globalThis.location.origin,
113
- )
114
- })
115
- }
116
- }
117
-
118
- /** @deprecated - use LegacyPostMessageRpcTransport but rely on wallet release > 1.17.1 to handle the postMessage flow */
119
- // eslint-disable-next-line sonarjs/deprecation
120
- export const PostMessageRpcTransport = LegacyPostMessageRpcTransport
@@ -1,15 +0,0 @@
1
- import type { XyoGatewayProvider } from '@xyo-network/xl1-protocol'
2
-
3
- export type XyoGatewayMethodPrefix = 'xyoGateway'
4
-
5
- export type XyoGatewayMethodName = keyof Pick<XyoGatewayProvider, 'submitTransaction'>
6
-
7
- // Convert `getPermissions` to `xyoGateway_getPermissions`, etc.
8
- export type XyoGatewayRpcMethodName = `${XyoGatewayMethodPrefix}_${XyoGatewayMethodName}`
9
-
10
- // Map each XYO RPC method string to the corresponding function type from XyoGateway
11
- export type XyoGatewayRpcMethodHandlers = {
12
- [K in XyoGatewayMethodName as `${XyoGatewayMethodPrefix}_${K}`]: (
13
- params: Parameters<Exclude<XyoGatewayProvider[K], undefined>>
14
- ) => ReturnType<Exclude<XyoGatewayProvider[K], undefined>>
15
- }
@@ -1,108 +0,0 @@
1
- import type { Chain } from '@xyo-network/xl1-protocol'
2
- import * as z from 'zod'
3
-
4
- import type { XyoGatewayRpcMethodName } from '../XyoGatewayRpc.ts'
5
- import { BlockBoundWitnessZod, HydratedTransactionZod } from './common/index.ts'
6
- import type { RpcSchemaMap } from './RpcSchemaMap.ts'
7
-
8
- export const ChainConnectionZod = z.object({
9
- chainId: z.union([z.string(), z.custom<Chain>()]).optional(),
10
- name: z.string(),
11
- url: z.string(),
12
- })
13
-
14
- export const CaveatTypesZod = z.enum(['chain', 'expiration', 'filteredResponse', 'rateLimit'])
15
-
16
- export const CaveatsZod = z.object({
17
- type: CaveatTypesZod,
18
- value: z.unknown(), // JsonValue is usually unknown, adjust if you have a stricter type
19
- })
20
-
21
- export const PermissionZod = z.object({
22
- capability: z.string(),
23
- caveats: CaveatsZod.array().optional(),
24
- invoker: z.string(),
25
- })
26
-
27
- export const InvokerPermissionZod = PermissionZod.extend({ date: z.number().optional() })
28
-
29
- export type ChainConnection = z.infer<typeof ChainConnectionZod>
30
-
31
- export const XyoGatewayRpcSchemas = {
32
- /*
33
- xyoGateway_addConnection: {
34
- params: {
35
- to: z.tuple([ChainConnectionSchema]),
36
- from: z.tuple([ChainConnectionSchema]),
37
- },
38
- result: {
39
- to: z.tuple([z.boolean()]),
40
- from: z.tuple([z.boolean()]),
41
- },
42
- },
43
- xyoGateway_connections: {
44
- params: {
45
- to: z.array(z.any()).length(0).optional(),
46
- from: z.array(z.any()).length(0).optional(),
47
- },
48
- result: {
49
- to: z.array(ChainConnectionSchema),
50
- from: z.array(ChainConnectionSchema),
51
- },
52
- },
53
- xyoGateway_getPermissions: {
54
- params: {
55
- to: z.array(z.any()).length(0).optional(),
56
- from: z.array(z.any()).length(0).optional(),
57
- },
58
- result: {
59
- to: z.array(InvokerPermissionSchema),
60
- from: z.array(InvokerPermissionSchema),
61
- },
62
- },
63
- xyoGateway_requestPermissions: {
64
- params: {
65
- to: z.array(PermissionSchema),
66
- from: z.array(PermissionSchema),
67
- },
68
- result: {
69
- to: z.boolean(),
70
- from: z.boolean(),
71
- },
72
- },
73
- xyoGateway_revokePermissions: {
74
- params: {
75
- to: z.array(PermissionSchema),
76
- from: z.array(PermissionSchema),
77
- },
78
- result: {
79
- to: z.boolean(),
80
- from: z.boolean(),
81
- },
82
- },
83
- xyoGateway_activeConnection: {
84
- params: {
85
- from: z.never(),
86
- to: z.never(),
87
- },
88
- result: {
89
- from: z.string().optional(),
90
- to: z.string().optional(),
91
- },
92
- },
93
- */
94
- xyoGateway_submitTransaction: {
95
- params: {
96
- from: z.array(
97
- HydratedTransactionZod,
98
- ),
99
- to: z.array(
100
- HydratedTransactionZod,
101
- ),
102
- },
103
- result: {
104
- from: BlockBoundWitnessZod,
105
- to: BlockBoundWitnessZod,
106
- },
107
- },
108
- } satisfies RpcSchemaMap<XyoGatewayRpcMethodName>