@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.
- package/README.md +11897 -1213
- package/dist/neutral/engine/index-node.d.ts +2 -2
- package/dist/neutral/engine/index-node.d.ts.map +1 -1
- package/dist/neutral/engine/index.d.ts +2 -1
- package/dist/neutral/engine/index.d.ts.map +1 -1
- package/dist/neutral/engine/rpcEngineFromConnection.d.ts +4 -0
- package/dist/neutral/engine/rpcEngineFromConnection.d.ts.map +1 -0
- package/dist/neutral/engine/rpcMethodHandlersFromConnection.d.ts +4 -0
- package/dist/neutral/engine/rpcMethodHandlersFromConnection.d.ts.map +1 -0
- package/dist/neutral/engine/rpcMethodHandlersFromPermissions.d.ts +4 -0
- package/dist/neutral/engine/rpcMethodHandlersFromPermissions.d.ts.map +1 -0
- package/dist/neutral/engine/rpcMethodHandlersFromViewer.d.ts.map +1 -1
- package/dist/neutral/index.mjs +894 -437
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/provider/client/MemoryXyoClient.d.ts +2 -2
- package/dist/neutral/provider/client/MemoryXyoClient.d.ts.map +1 -1
- package/dist/neutral/provider/client/index.d.ts +0 -1
- package/dist/neutral/provider/client/index.d.ts.map +1 -1
- package/dist/neutral/provider/index.d.ts +1 -0
- package/dist/neutral/provider/index.d.ts.map +1 -1
- package/dist/neutral/provider/permissions/MemoryXyoPermissions.d.ts +17 -0
- package/dist/neutral/provider/permissions/MemoryXyoPermissions.d.ts.map +1 -0
- package/dist/neutral/provider/permissions/RpcXyoPermissions.d.ts +11 -0
- package/dist/neutral/provider/permissions/RpcXyoPermissions.d.ts.map +1 -0
- package/dist/neutral/provider/permissions/index.d.ts +4 -0
- package/dist/neutral/provider/permissions/index.d.ts.map +1 -0
- package/dist/neutral/provider/permissions/spec/MemoryXyoPermissions.spec.d.ts +2 -0
- package/dist/neutral/provider/permissions/spec/MemoryXyoPermissions.spec.d.ts.map +1 -0
- package/dist/neutral/provider/permissions/store/MemoryPermissions.d.ts +16 -0
- package/dist/neutral/provider/permissions/store/MemoryPermissions.d.ts.map +1 -0
- package/dist/neutral/provider/permissions/store/PermissionsStore.d.ts +12 -0
- package/dist/neutral/provider/permissions/store/PermissionsStore.d.ts.map +1 -0
- package/dist/neutral/provider/permissions/store/index.d.ts +3 -0
- package/dist/neutral/provider/permissions/store/index.d.ts.map +1 -0
- package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts +3 -2
- package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
- package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts +2 -2
- package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
- package/dist/neutral/provider/viewer/JsonRpcXyoViewer.d.ts +26 -9
- package/dist/neutral/provider/viewer/JsonRpcXyoViewer.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/index.d.ts +0 -1
- package/dist/neutral/transport/post-message/index.d.ts.map +1 -1
- package/dist/neutral/types/ErrorCodes.d.ts.map +1 -1
- package/dist/neutral/types/XyoPermissions.d.ts +7 -0
- package/dist/neutral/types/XyoPermissions.d.ts.map +1 -0
- package/dist/neutral/types/index.d.ts +1 -2
- package/dist/neutral/types/index.d.ts.map +1 -1
- package/dist/neutral/types/schema/AllRpcSchemas.d.ts +914 -80
- package/dist/neutral/types/schema/AllRpcSchemas.d.ts.map +1 -1
- package/dist/neutral/types/schema/XyoPermissionsRpcSchemas.d.ts +74 -0
- package/dist/neutral/types/schema/XyoPermissionsRpcSchemas.d.ts.map +1 -0
- package/dist/neutral/types/schema/XyoProviderRpcSchemas.d.ts +4 -4
- package/dist/neutral/types/schema/XyoRunnerRpcSchemas.d.ts +4 -4
- package/dist/neutral/types/schema/XyoSignerRpcSchemas.d.ts +19 -19
- package/dist/neutral/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
- package/dist/neutral/types/schema/XyoViewerRpcSchemas.d.ts +828 -64
- package/dist/neutral/types/schema/XyoViewerRpcSchemas.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/BlockBoundWitness.d.ts +4 -4
- package/dist/neutral/types/schema/common/Chain.d.ts +2 -2
- package/dist/neutral/types/schema/common/Chain.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/HydratedBlock.d.ts +5 -5
- package/dist/neutral/types/schema/common/HydratedTransaction.d.ts +14 -14
- package/dist/neutral/types/schema/common/Permission.d.ts +53 -0
- package/dist/neutral/types/schema/common/Permission.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/Stake.d.ts +11 -5
- package/dist/neutral/types/schema/common/Stake.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/StepContext.d.ts +6 -0
- package/dist/neutral/types/schema/common/StepContext.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/TransactionBoundWitness.d.ts +4 -4
- package/dist/neutral/types/schema/common/Transfer.d.ts +33 -0
- package/dist/neutral/types/schema/common/Transfer.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/index.d.ts +3 -0
- package/dist/neutral/types/schema/common/index.d.ts.map +1 -1
- package/dist/neutral/types/schema/index.d.ts +1 -1
- package/dist/neutral/types/schema/index.d.ts.map +1 -1
- package/dist/node/engine/index-node.d.ts +2 -2
- package/dist/node/engine/index-node.d.ts.map +1 -1
- package/dist/node/engine/index.d.ts +2 -1
- package/dist/node/engine/index.d.ts.map +1 -1
- package/dist/node/engine/rpcEngineFromConnection.d.ts +4 -0
- package/dist/node/engine/rpcEngineFromConnection.d.ts.map +1 -0
- package/dist/node/engine/rpcMethodHandlersFromConnection.d.ts +4 -0
- package/dist/node/engine/rpcMethodHandlersFromConnection.d.ts.map +1 -0
- package/dist/node/engine/rpcMethodHandlersFromPermissions.d.ts +4 -0
- package/dist/node/engine/rpcMethodHandlersFromPermissions.d.ts.map +1 -0
- package/dist/node/engine/rpcMethodHandlersFromViewer.d.ts.map +1 -1
- package/dist/node/index-node.mjs +900 -443
- package/dist/node/index-node.mjs.map +1 -1
- package/dist/node/provider/client/MemoryXyoClient.d.ts +2 -2
- package/dist/node/provider/client/MemoryXyoClient.d.ts.map +1 -1
- package/dist/node/provider/client/index.d.ts +0 -1
- package/dist/node/provider/client/index.d.ts.map +1 -1
- package/dist/node/provider/index.d.ts +1 -0
- package/dist/node/provider/index.d.ts.map +1 -1
- package/dist/node/provider/permissions/MemoryXyoPermissions.d.ts +17 -0
- package/dist/node/provider/permissions/MemoryXyoPermissions.d.ts.map +1 -0
- package/dist/node/provider/permissions/RpcXyoPermissions.d.ts +11 -0
- package/dist/node/provider/permissions/RpcXyoPermissions.d.ts.map +1 -0
- package/dist/node/provider/permissions/index.d.ts +4 -0
- package/dist/node/provider/permissions/index.d.ts.map +1 -0
- package/dist/node/provider/permissions/spec/MemoryXyoPermissions.spec.d.ts +2 -0
- package/dist/node/provider/permissions/spec/MemoryXyoPermissions.spec.d.ts.map +1 -0
- package/dist/node/provider/permissions/store/MemoryPermissions.d.ts +16 -0
- package/dist/node/provider/permissions/store/MemoryPermissions.d.ts.map +1 -0
- package/dist/node/provider/permissions/store/PermissionsStore.d.ts +12 -0
- package/dist/node/provider/permissions/store/PermissionsStore.d.ts.map +1 -0
- package/dist/node/provider/permissions/store/index.d.ts +3 -0
- package/dist/node/provider/permissions/store/index.d.ts.map +1 -0
- package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts +3 -2
- package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
- package/dist/node/provider/signer/MemoryXyoSigner.d.ts +2 -2
- package/dist/node/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
- package/dist/node/provider/viewer/JsonRpcXyoViewer.d.ts +26 -9
- package/dist/node/provider/viewer/JsonRpcXyoViewer.d.ts.map +1 -1
- package/dist/node/transport/post-message/index.d.ts +0 -1
- package/dist/node/transport/post-message/index.d.ts.map +1 -1
- package/dist/node/types/ErrorCodes.d.ts.map +1 -1
- package/dist/node/types/XyoPermissions.d.ts +7 -0
- package/dist/node/types/XyoPermissions.d.ts.map +1 -0
- package/dist/node/types/index.d.ts +1 -2
- package/dist/node/types/index.d.ts.map +1 -1
- package/dist/node/types/schema/AllRpcSchemas.d.ts +914 -80
- package/dist/node/types/schema/AllRpcSchemas.d.ts.map +1 -1
- package/dist/node/types/schema/XyoPermissionsRpcSchemas.d.ts +74 -0
- package/dist/node/types/schema/XyoPermissionsRpcSchemas.d.ts.map +1 -0
- package/dist/node/types/schema/XyoProviderRpcSchemas.d.ts +4 -4
- package/dist/node/types/schema/XyoRunnerRpcSchemas.d.ts +4 -4
- package/dist/node/types/schema/XyoSignerRpcSchemas.d.ts +19 -19
- package/dist/node/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
- package/dist/node/types/schema/XyoViewerRpcSchemas.d.ts +828 -64
- package/dist/node/types/schema/XyoViewerRpcSchemas.d.ts.map +1 -1
- package/dist/node/types/schema/common/BlockBoundWitness.d.ts +4 -4
- package/dist/node/types/schema/common/Chain.d.ts +2 -2
- package/dist/node/types/schema/common/Chain.d.ts.map +1 -1
- package/dist/node/types/schema/common/HydratedBlock.d.ts +5 -5
- package/dist/node/types/schema/common/HydratedTransaction.d.ts +14 -14
- package/dist/node/types/schema/common/Permission.d.ts +53 -0
- package/dist/node/types/schema/common/Permission.d.ts.map +1 -0
- package/dist/node/types/schema/common/Stake.d.ts +11 -5
- package/dist/node/types/schema/common/Stake.d.ts.map +1 -1
- package/dist/node/types/schema/common/StepContext.d.ts +6 -0
- package/dist/node/types/schema/common/StepContext.d.ts.map +1 -0
- package/dist/node/types/schema/common/TransactionBoundWitness.d.ts +4 -4
- package/dist/node/types/schema/common/Transfer.d.ts +33 -0
- package/dist/node/types/schema/common/Transfer.d.ts.map +1 -0
- package/dist/node/types/schema/common/index.d.ts +3 -0
- package/dist/node/types/schema/common/index.d.ts.map +1 -1
- package/dist/node/types/schema/index.d.ts +1 -1
- package/dist/node/types/schema/index.d.ts.map +1 -1
- package/package.json +36 -36
- package/src/engine/index-node.ts +2 -2
- package/src/engine/index.ts +2 -1
- package/src/engine/{rpcEngineFromProvider.ts → rpcEngineFromConnection.ts} +3 -3
- package/src/engine/{rpcMethodHandlersFromProvider.ts → rpcMethodHandlersFromConnection.ts} +3 -3
- package/src/engine/rpcMethodHandlersFromPermissions.ts +11 -0
- package/src/engine/rpcMethodHandlersFromViewer.ts +19 -1
- package/src/provider/client/MemoryXyoClient.ts +2 -1
- package/src/provider/client/index.ts +0 -1
- package/src/provider/client/spec/MemoryXyoClient.spec.ts +17 -31
- package/src/provider/index.ts +1 -0
- package/src/provider/permissions/MemoryXyoPermissions.ts +82 -0
- package/src/provider/permissions/RpcXyoPermissions.ts +30 -0
- package/src/provider/permissions/index.ts +3 -0
- package/src/provider/permissions/spec/MemoryXyoPermissions.spec.ts +93 -0
- package/src/provider/permissions/store/MemoryPermissions.ts +32 -0
- package/src/provider/permissions/store/PermissionsStore.ts +15 -0
- package/src/provider/permissions/store/index.ts +2 -0
- package/src/provider/signer/JsonRpcXyoSigner.ts +3 -2
- package/src/provider/signer/MemoryXyoSigner.ts +2 -2
- package/src/provider/signer/spec/RpcEngineXyoSigner.spec.ts +5 -5
- package/src/provider/viewer/JsonRpcXyoViewer.ts +105 -30
- package/src/transport/post-message/index.ts +0 -1
- package/src/types/ErrorCodes.ts +1 -0
- package/src/types/XyoPermissions.ts +13 -0
- package/src/types/index.ts +1 -2
- package/src/types/schema/AllRpcSchemas.ts +2 -0
- package/src/types/schema/XyoPermissionsRpcSchemas.ts +40 -0
- package/src/types/schema/XyoSignerRpcSchemas.ts +1 -1
- package/src/types/schema/XyoViewerRpcSchemas.ts +261 -15
- package/src/types/schema/common/Chain.ts +2 -2
- package/src/types/schema/common/Permission.ts +23 -0
- package/src/types/schema/common/Stake.ts +3 -3
- package/src/types/schema/common/StepContext.ts +6 -0
- package/src/types/schema/common/Transfer.ts +14 -0
- package/src/types/schema/common/index.ts +3 -0
- package/src/types/schema/index.ts +1 -1
- package/dist/neutral/engine/rpcEngineFromProvider.d.ts +0 -4
- package/dist/neutral/engine/rpcEngineFromProvider.d.ts.map +0 -1
- package/dist/neutral/engine/rpcMethodHandlersFromProvider.d.ts +0 -4
- package/dist/neutral/engine/rpcMethodHandlersFromProvider.d.ts.map +0 -1
- package/dist/neutral/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts +0 -11
- package/dist/neutral/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
- package/dist/neutral/provider/client/PermissionsStore/PermissionsStore.d.ts +0 -8
- package/dist/neutral/provider/client/PermissionsStore/PermissionsStore.d.ts.map +0 -1
- package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -5
- package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
- package/dist/neutral/provider/client/PermissionsStore/index.d.ts +0 -4
- package/dist/neutral/provider/client/PermissionsStore/index.d.ts.map +0 -1
- package/dist/neutral/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -2
- package/dist/neutral/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts +0 -15
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +0 -1
- package/dist/neutral/types/XyoGatewayRpc.d.ts +0 -8
- package/dist/neutral/types/XyoGatewayRpc.d.ts.map +0 -1
- package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts +0 -437
- package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts.map +0 -1
- package/dist/node/engine/rpcEngineFromProvider.d.ts +0 -4
- package/dist/node/engine/rpcEngineFromProvider.d.ts.map +0 -1
- package/dist/node/engine/rpcMethodHandlersFromProvider.d.ts +0 -4
- package/dist/node/engine/rpcMethodHandlersFromProvider.d.ts.map +0 -1
- package/dist/node/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts +0 -11
- package/dist/node/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
- package/dist/node/provider/client/PermissionsStore/PermissionsStore.d.ts +0 -8
- package/dist/node/provider/client/PermissionsStore/PermissionsStore.d.ts.map +0 -1
- package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -5
- package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
- package/dist/node/provider/client/PermissionsStore/index.d.ts +0 -4
- package/dist/node/provider/client/PermissionsStore/index.d.ts.map +0 -1
- package/dist/node/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -2
- package/dist/node/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts +0 -15
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +0 -1
- package/dist/node/types/XyoGatewayRpc.d.ts +0 -8
- package/dist/node/types/XyoGatewayRpc.d.ts.map +0 -1
- package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts +0 -437
- package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts.map +0 -1
- package/src/provider/client/PermissionsStore/MemoryPermissionsStore.ts +0 -33
- package/src/provider/client/PermissionsStore/PermissionsStore.ts +0 -8
- package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +0 -12
- package/src/provider/client/PermissionsStore/index.ts +0 -3
- package/src/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.ts +0 -78
- package/src/transport/post-message/LegacyPostMessageRpcTransport.ts +0 -120
- package/src/types/XyoGatewayRpc.ts +0 -15
- 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>
|