@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.
- package/dist/neutral/index.mjs +519 -501
- 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/PermissionsStore/getPermissionsStoreFromTransport.d.ts +1 -1
- package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -1
- package/dist/neutral/provider/{provider → connection}/HttpRpcXyoConnection.d.ts +2 -0
- package/dist/neutral/provider/connection/HttpRpcXyoConnection.d.ts.map +1 -0
- package/dist/neutral/provider/{provider → connection}/XyoConnection.d.ts +4 -2
- package/dist/neutral/provider/connection/XyoConnection.d.ts.map +1 -0
- package/dist/neutral/provider/connection/index.d.ts.map +1 -0
- package/dist/neutral/provider/connection/spec/XyoConnection.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/AbstractXyoDataLake.d.ts +10 -0
- package/dist/neutral/provider/datalake/AbstractXyoDataLake.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/ArchivistXyoDataLake.d.ts +11 -0
- package/dist/neutral/provider/datalake/ArchivistXyoDataLake.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/HttpXyoDataLake.d.ts +20 -0
- package/dist/neutral/provider/datalake/HttpXyoDataLake.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/index.d.ts +4 -0
- package/dist/neutral/provider/datalake/index.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/Abstract.d.ts +13 -0
- package/dist/neutral/provider/gateway/Abstract.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/MemoryXyoGateway.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/index.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
- package/dist/neutral/provider/index.d.ts +3 -2
- package/dist/neutral/provider/index.d.ts.map +1 -1
- package/dist/neutral/provider/network/MemoryXyoNetwork.d.ts +3 -3
- package/dist/neutral/provider/network/MemoryXyoNetwork.d.ts.map +1 -1
- package/dist/neutral/provider/network/lib/StatusNetworks.d.ts +3 -3
- package/dist/neutral/provider/network/lib/StatusNetworks.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts +15 -0
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -0
- package/dist/neutral/transport/post-message/index.d.ts +1 -1
- package/dist/neutral/transport/post-message/index.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/resolveData.d.ts +13 -0
- package/dist/neutral/transport/post-message/resolveData.d.ts.map +1 -0
- package/dist/neutral/types/XyoGatewayRpc.d.ts +1 -1
- package/dist/neutral/types/XyoGatewayRpc.d.ts.map +1 -1
- package/dist/node/index-node.mjs +550 -530
- 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/PermissionsStore/getPermissionsStoreFromTransport.d.ts +1 -1
- package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -1
- package/dist/node/provider/{provider → connection}/HttpRpcXyoConnection.d.ts +2 -0
- package/dist/node/provider/connection/HttpRpcXyoConnection.d.ts.map +1 -0
- package/dist/node/provider/{provider → connection}/XyoConnection.d.ts +4 -2
- package/dist/node/provider/connection/XyoConnection.d.ts.map +1 -0
- package/dist/node/provider/connection/index.d.ts.map +1 -0
- package/dist/node/provider/connection/spec/XyoConnection.d.ts.map +1 -0
- package/dist/node/provider/datalake/AbstractXyoDataLake.d.ts +10 -0
- package/dist/node/provider/datalake/AbstractXyoDataLake.d.ts.map +1 -0
- package/dist/node/provider/datalake/ArchivistXyoDataLake.d.ts +11 -0
- package/dist/node/provider/datalake/ArchivistXyoDataLake.d.ts.map +1 -0
- package/dist/node/provider/datalake/HttpXyoDataLake.d.ts +20 -0
- package/dist/node/provider/datalake/HttpXyoDataLake.d.ts.map +1 -0
- package/dist/node/provider/datalake/index.d.ts +4 -0
- package/dist/node/provider/datalake/index.d.ts.map +1 -0
- package/dist/node/provider/gateway/Abstract.d.ts +13 -0
- package/dist/node/provider/gateway/Abstract.d.ts.map +1 -0
- package/dist/node/provider/gateway/MemoryXyoGateway.d.ts.map +1 -0
- package/dist/node/provider/gateway/index.d.ts.map +1 -0
- package/dist/node/provider/gateway/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
- package/dist/node/provider/index.d.ts +3 -2
- package/dist/node/provider/index.d.ts.map +1 -1
- package/dist/node/provider/network/MemoryXyoNetwork.d.ts +3 -3
- package/dist/node/provider/network/MemoryXyoNetwork.d.ts.map +1 -1
- package/dist/node/provider/network/lib/StatusNetworks.d.ts +3 -3
- package/dist/node/provider/network/lib/StatusNetworks.d.ts.map +1 -1
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts +15 -0
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -0
- package/dist/node/transport/post-message/index.d.ts +1 -1
- package/dist/node/transport/post-message/index.d.ts.map +1 -1
- package/dist/node/transport/post-message/resolveData.d.ts +13 -0
- package/dist/node/transport/post-message/resolveData.d.ts.map +1 -0
- package/dist/node/types/XyoGatewayRpc.d.ts +1 -1
- package/dist/node/types/XyoGatewayRpc.d.ts.map +1 -1
- package/package.json +37 -36
- package/src/provider/client/MemoryXyoClient.ts +3 -3
- package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +1 -1
- package/src/provider/client/spec/MemoryXyoClient.spec.ts +17 -10
- package/src/provider/{provider → connection}/HttpRpcXyoConnection.ts +10 -3
- package/src/provider/{provider → connection}/XyoConnection.ts +7 -2
- package/src/provider/{provider → connection}/spec/XyoConnection.ts +1 -0
- package/src/provider/datalake/AbstractXyoDataLake.ts +38 -0
- package/src/provider/datalake/ArchivistXyoDataLake.ts +26 -0
- package/src/provider/datalake/HttpXyoDataLake.ts +105 -0
- package/src/provider/datalake/index.ts +3 -0
- package/src/provider/gateway/Abstract.ts +47 -0
- package/src/provider/{host → gateway}/spec/MemoryXyoGateway.spec.ts +7 -3
- package/src/provider/index.ts +3 -2
- package/src/provider/network/MemoryXyoNetwork.ts +4 -3
- package/src/provider/network/lib/StatusNetworks.ts +9 -9
- package/src/provider/signer/spec/RpcEngineXyoSigner.spec.ts +2 -1
- package/src/transport/post-message/LegacyPostMessageRpcTransport.ts +117 -0
- package/src/transport/post-message/helpers.ts +1 -1
- package/src/transport/post-message/index.ts +1 -1
- package/src/transport/post-message/resolveData.ts +30 -0
- package/src/types/XyoGatewayRpc.ts +2 -2
- package/src/types/global.d.ts +1 -1
- package/dist/neutral/provider/host/Abstract.d.ts +0 -15
- package/dist/neutral/provider/host/Abstract.d.ts.map +0 -1
- package/dist/neutral/provider/host/MemoryXyoGateway.d.ts.map +0 -1
- package/dist/neutral/provider/host/index.d.ts.map +0 -1
- package/dist/neutral/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +0 -1
- package/dist/neutral/provider/provider/HttpRpcXyoConnection.d.ts.map +0 -1
- package/dist/neutral/provider/provider/XyoConnection.d.ts.map +0 -1
- package/dist/neutral/provider/provider/index.d.ts.map +0 -1
- package/dist/neutral/provider/provider/spec/XyoConnection.d.ts.map +0 -1
- package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts +0 -12
- package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts.map +0 -1
- package/dist/node/provider/host/Abstract.d.ts +0 -15
- package/dist/node/provider/host/Abstract.d.ts.map +0 -1
- package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +0 -1
- package/dist/node/provider/host/index.d.ts.map +0 -1
- package/dist/node/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +0 -1
- package/dist/node/provider/provider/HttpRpcXyoConnection.d.ts.map +0 -1
- package/dist/node/provider/provider/XyoConnection.d.ts.map +0 -1
- package/dist/node/provider/provider/index.d.ts.map +0 -1
- package/dist/node/provider/provider/spec/XyoConnection.d.ts.map +0 -1
- package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts +0 -12
- package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts.map +0 -1
- package/src/provider/host/Abstract.ts +0 -42
- package/src/transport/post-message/PostMessageRpcTransport.ts +0 -73
- /package/dist/neutral/provider/{provider → connection}/index.d.ts +0 -0
- /package/dist/neutral/provider/{provider → connection}/spec/XyoConnection.d.ts +0 -0
- /package/dist/neutral/provider/{host → gateway}/MemoryXyoGateway.d.ts +0 -0
- /package/dist/neutral/provider/{host → gateway}/index.d.ts +0 -0
- /package/dist/neutral/provider/{host → gateway}/spec/MemoryXyoGateway.spec.d.ts +0 -0
- /package/dist/node/provider/{provider → connection}/index.d.ts +0 -0
- /package/dist/node/provider/{provider → connection}/spec/XyoConnection.d.ts +0 -0
- /package/dist/node/provider/{host → gateway}/MemoryXyoGateway.d.ts +0 -0
- /package/dist/node/provider/{host → gateway}/index.d.ts +0 -0
- /package/dist/node/provider/{host → gateway}/spec/MemoryXyoGateway.spec.d.ts +0 -0
- /package/src/provider/{provider → connection}/index.ts +0 -0
- /package/src/provider/{host → gateway}/MemoryXyoGateway.ts +0 -0
- /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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|