@xyo-network/xl1-rpc 1.7.17 → 1.7.19

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 (116) hide show
  1. package/dist/neutral/index.mjs +225 -251
  2. package/dist/neutral/index.mjs.map +1 -1
  3. package/dist/neutral/provider/client/MemoryXyoClient.d.ts +4 -5
  4. package/dist/neutral/provider/client/MemoryXyoClient.d.ts.map +1 -1
  5. package/dist/neutral/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
  6. package/dist/neutral/provider/client/PermissionsStore/PermissionsStore.d.ts.map +1 -0
  7. package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
  8. package/dist/neutral/provider/client/PermissionsStore/index.d.ts.map +1 -0
  9. package/dist/neutral/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
  10. package/dist/neutral/provider/client/index.d.ts +1 -1
  11. package/dist/neutral/provider/client/index.d.ts.map +1 -1
  12. package/dist/neutral/provider/host/Abstract.d.ts +9 -7
  13. package/dist/neutral/provider/host/Abstract.d.ts.map +1 -1
  14. package/dist/neutral/provider/host/MemoryXyoGateway.d.ts +5 -17
  15. package/dist/neutral/provider/host/MemoryXyoGateway.d.ts.map +1 -1
  16. package/dist/neutral/provider/host/index.d.ts +0 -2
  17. package/dist/neutral/provider/host/index.d.ts.map +1 -1
  18. package/dist/neutral/provider/index.d.ts +1 -0
  19. package/dist/neutral/provider/index.d.ts.map +1 -1
  20. package/dist/neutral/provider/provider/RpcXyoConnection.d.ts +0 -3
  21. package/dist/neutral/provider/provider/RpcXyoConnection.d.ts.map +1 -1
  22. package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts +21 -0
  23. package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts.map +1 -0
  24. package/dist/neutral/provider/provider/index.d.ts +1 -0
  25. package/dist/neutral/provider/provider/index.d.ts.map +1 -1
  26. package/dist/neutral/types/XyoGatewayRpc.d.ts +1 -1
  27. package/dist/neutral/types/XyoGatewayRpc.d.ts.map +1 -1
  28. package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
  29. package/dist/neutral/types/schema/common/JsonSchema.d.ts +7 -0
  30. package/dist/neutral/types/schema/common/JsonSchema.d.ts.map +1 -0
  31. package/dist/neutral/types/schema/common/index.d.ts +1 -0
  32. package/dist/neutral/types/schema/common/index.d.ts.map +1 -1
  33. package/dist/node/index-node.mjs +223 -249
  34. package/dist/node/index-node.mjs.map +1 -1
  35. package/dist/node/provider/client/MemoryXyoClient.d.ts +4 -5
  36. package/dist/node/provider/client/MemoryXyoClient.d.ts.map +1 -1
  37. package/dist/node/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
  38. package/dist/node/provider/client/PermissionsStore/PermissionsStore.d.ts.map +1 -0
  39. package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
  40. package/dist/node/provider/client/PermissionsStore/index.d.ts.map +1 -0
  41. package/dist/node/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
  42. package/dist/node/provider/client/index.d.ts +1 -1
  43. package/dist/node/provider/client/index.d.ts.map +1 -1
  44. package/dist/node/provider/host/Abstract.d.ts +9 -7
  45. package/dist/node/provider/host/Abstract.d.ts.map +1 -1
  46. package/dist/node/provider/host/MemoryXyoGateway.d.ts +5 -17
  47. package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +1 -1
  48. package/dist/node/provider/host/index.d.ts +0 -2
  49. package/dist/node/provider/host/index.d.ts.map +1 -1
  50. package/dist/node/provider/index.d.ts +1 -0
  51. package/dist/node/provider/index.d.ts.map +1 -1
  52. package/dist/node/provider/provider/RpcXyoConnection.d.ts +0 -3
  53. package/dist/node/provider/provider/RpcXyoConnection.d.ts.map +1 -1
  54. package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts +21 -0
  55. package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts.map +1 -0
  56. package/dist/node/provider/provider/index.d.ts +1 -0
  57. package/dist/node/provider/provider/index.d.ts.map +1 -1
  58. package/dist/node/types/XyoGatewayRpc.d.ts +1 -1
  59. package/dist/node/types/XyoGatewayRpc.d.ts.map +1 -1
  60. package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
  61. package/dist/node/types/schema/common/JsonSchema.d.ts +7 -0
  62. package/dist/node/types/schema/common/JsonSchema.d.ts.map +1 -0
  63. package/dist/node/types/schema/common/index.d.ts +1 -0
  64. package/dist/node/types/schema/common/index.d.ts.map +1 -1
  65. package/package.json +36 -35
  66. package/src/provider/client/MemoryXyoClient.ts +7 -6
  67. package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +12 -0
  68. package/src/provider/client/index.ts +1 -1
  69. package/src/provider/client/spec/MemoryXyoClient.spec.ts +13 -10
  70. package/src/provider/host/Abstract.ts +28 -7
  71. package/src/provider/host/MemoryXyoGateway.ts +8 -70
  72. package/src/provider/host/index.ts +0 -2
  73. package/src/provider/host/spec/MemoryXyoGateway.spec.ts +9 -50
  74. package/src/provider/index.ts +1 -0
  75. package/src/provider/provider/RpcXyoConnection.ts +0 -11
  76. package/src/provider/provider/confirmSubmittedTransaction.ts +55 -0
  77. package/src/provider/provider/index.ts +1 -0
  78. package/src/types/XyoGatewayRpc.ts +1 -1
  79. package/src/types/schema/XyoGatewayRpcSchemas.ts +2 -0
  80. package/src/types/schema/common/JsonSchema.ts +19 -0
  81. package/src/types/schema/common/index.ts +1 -0
  82. package/dist/neutral/provider/client/XyoClient.d.ts +0 -6
  83. package/dist/neutral/provider/client/XyoClient.d.ts.map +0 -1
  84. package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts +0 -16
  85. package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
  86. package/dist/neutral/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
  87. package/dist/neutral/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
  88. package/dist/neutral/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
  89. package/dist/neutral/provider/host/PermissionsStore/index.d.ts.map +0 -1
  90. package/dist/neutral/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
  91. package/dist/node/provider/client/XyoClient.d.ts +0 -6
  92. package/dist/node/provider/client/XyoClient.d.ts.map +0 -1
  93. package/dist/node/provider/host/JsonRpcXyoGateway.d.ts +0 -16
  94. package/dist/node/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
  95. package/dist/node/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
  96. package/dist/node/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
  97. package/dist/node/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
  98. package/dist/node/provider/host/PermissionsStore/index.d.ts.map +0 -1
  99. package/dist/node/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
  100. package/src/provider/client/XyoClient.ts +0 -6
  101. package/src/provider/host/JsonRpcXyoGateway.ts +0 -41
  102. package/src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts +0 -13
  103. /package/dist/neutral/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
  104. /package/dist/neutral/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
  105. /package/dist/neutral/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
  106. /package/dist/neutral/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
  107. /package/dist/neutral/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
  108. /package/dist/node/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
  109. /package/dist/node/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
  110. /package/dist/node/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
  111. /package/dist/node/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
  112. /package/dist/node/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
  113. /package/src/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.ts +0 -0
  114. /package/src/provider/{host → client}/PermissionsStore/PermissionsStore.ts +0 -0
  115. /package/src/provider/{host → client}/PermissionsStore/index.ts +0 -0
  116. /package/src/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.ts +0 -0
@@ -7,72 +7,31 @@ import {
7
7
  import { RpcXyoConnection } from '../../provider/index.ts'
8
8
  import { MemoryXyoSigner } from '../../signer/index.ts'
9
9
  import { MemoryXyoGateway } from '../MemoryXyoGateway.ts'
10
- import { MemoryPermissionsStore } from '../PermissionsStore/index.ts'
11
10
 
12
11
  describe('MemoryXyoGateway', () => {
13
12
  const endpoint = 'http://localhost:8080/rpc'
14
13
  const dataLakeEndpoint = 'http://localhost:8080/chain/archivist'
15
14
  let account: AccountInstance
16
15
  let signer: MemoryXyoSigner
17
- let store: MemoryPermissionsStore
16
+ let connection: RpcXyoConnection
18
17
  let sut: MemoryXyoGateway
19
18
 
20
19
  beforeEach(async () => {
21
20
  account = await Account.random()
22
21
  signer = new MemoryXyoSigner(account)
23
22
 
24
- store = new MemoryPermissionsStore()
25
- sut = new MemoryXyoGateway(signer, store)
23
+ connection = new RpcXyoConnection({ endpoint, account })
24
+ sut = new MemoryXyoGateway(signer, connection)
26
25
  })
27
26
 
28
- describe('addConnection', () => {
29
- describe('should return the added', () => {
30
- it('with config', async () => {
31
- const config = {
32
- name: 'localhost', dataLakeEndpoint, networkEndpoint: endpoint,
33
- }
34
- const response = await sut.addConnection(config)
35
- expect(response).toBeDefined()
36
- })
37
- it('with connection', async () => {
38
- const connection = new RpcXyoConnection({ endpoint, account })
39
- const response = await sut.addConnection('localhost', connection)
40
- expect(response).toBeDefined()
41
- expect(response).toBe(connection)
42
- })
27
+ describe('connection', () => {
28
+ it('should return the connection', () => {
29
+ expect(sut.connection()).toBeDefined()
43
30
  })
44
31
  })
45
-
46
- describe('activeConnection', () => {
47
- describe('with no connections', () => {
48
- it('should have no active connection', () => {
49
- expect(sut.activeConnection()).toBeUndefined()
50
- })
51
- })
52
- describe('with connections', () => {
53
- it('should return the active connection', async () => {
54
- const connection = new RpcXyoConnection({ endpoint, account })
55
- await sut.addConnection('localhost', connection)
56
- expect(sut.activeConnection()).toBeDefined()
57
- })
58
- })
59
- })
60
-
61
- describe('connections', () => {
62
- describe('with connections', () => {
63
- const name = 'localhost'
64
- let connection: RpcXyoConnection
65
- beforeEach(async () => {
66
- connection = new RpcXyoConnection({ endpoint, account })
67
- await sut.addConnection(name, connection)
68
- })
69
- it('should return connections', async () => {
70
- const response = await sut.connections()
71
- expect(response).toBeDefined()
72
- expect(response).toHaveProperty(name)
73
- expect(Object.keys(response)).toHaveLength(1)
74
- expect(response[name]).toBe(connection)
75
- })
32
+ describe('signer', () => {
33
+ it('should return the signer', () => {
34
+ expect(sut.signer()).toBeDefined()
76
35
  })
77
36
  })
78
37
  })
@@ -1,3 +1,4 @@
1
+ export * from './client/index.ts'
1
2
  export * from './host/index.ts'
2
3
  export * from './network/index.ts'
3
4
  export * from './provider/index.ts'
@@ -1,6 +1,4 @@
1
1
  import type { AccountInstance } from '@xyo-network/account-model'
2
- import type { Signed } from '@xyo-network/boundwitness-model'
3
- import type { TransactionBoundWitness } from '@xyo-network/xl1-protocol'
4
2
 
5
3
  import {
6
4
  HttpRpcTransport, XyoRunnerRpcSchemas, XyoViewerRpcSchemas,
@@ -8,7 +6,6 @@ import {
8
6
  import { JsonRpcXyoRunner } from '../runner/index.ts'
9
7
  import { MemoryXyoSigner } from '../signer/index.ts'
10
8
  import { JsonRpcXyoViewer } from '../viewer/index.ts'
11
- import { confirmTransaction } from './confirmTransaction.ts'
12
9
  import { XyoConnection } from './XyoConnection.ts'
13
10
 
14
11
  export interface RpcXyoProviderParams {
@@ -26,12 +23,4 @@ export class RpcXyoConnection extends XyoConnection {
26
23
  signer, runner, viewer,
27
24
  })
28
25
  }
29
-
30
- async confirm(
31
- tx: Signed<TransactionBoundWitness>,
32
- onConfirm?: (txBWHash: string) => void,
33
- onTimeout?: () => void,
34
- ) {
35
- return await confirmTransaction(this, tx, onConfirm, onTimeout)
36
- }
37
26
  }
@@ -0,0 +1,55 @@
1
+ import { delay } from '@xylabs/delay'
2
+ import type { Logger } from '@xylabs/logger'
3
+ import { isDefined } from '@xylabs/typeof'
4
+ import type { Signed } from '@xyo-network/boundwitness-model'
5
+ import { PayloadBuilder } from '@xyo-network/payload-builder'
6
+ import type {
7
+ HydratedTransaction, TransactionBoundWitness, XyoConnectionProvider,
8
+ } from '@xyo-network/xl1-protocol'
9
+
10
+ const DEFAULT_CONFIRMATION_ATTEMPTS = 20
11
+ const DEFAULT_DELAY_BETWEEN_ATTEMPTS = 1000 // milliseconds
12
+
13
+ export type ConfirmSubmittedTransactionOptions = {
14
+ /**
15
+ * Number of attempts to confirm the transaction.
16
+ * Defaults to 20.
17
+ */
18
+ attempts?: number
19
+ /**
20
+ * Delay in milliseconds between confirmation attempts.
21
+ * Defaults to 1000 (1 second).
22
+ */
23
+ delay?: number
24
+ /**
25
+ * Optional logger instance for logging progress.
26
+ */
27
+ logger?: Logger
28
+ }
29
+
30
+ export const confirmSubmittedTransaction = async (
31
+ provider: XyoConnectionProvider,
32
+ txBW: Signed<TransactionBoundWitness>,
33
+ options?: ConfirmSubmittedTransactionOptions,
34
+ ): Promise<HydratedTransaction> => {
35
+ const { attempts: maxAttempts = DEFAULT_CONFIRMATION_ATTEMPTS, delay: attemptDelay = DEFAULT_DELAY_BETWEEN_ATTEMPTS } = options || {}
36
+ const txBWHash = await PayloadBuilder.hash(txBW)
37
+ options?.logger?.log('✅ confirming transaction:', txBWHash, '\n')
38
+ let attempts = 0
39
+ while (true) {
40
+ const tx = await provider.viewer?.transactionByHash(txBWHash) ?? undefined
41
+ if (isDefined(tx)) {
42
+ options?.logger?.log('🍻 Transaction confirmed:', txBWHash, '\n')
43
+ return tx
44
+ } else {
45
+ attempts++
46
+ if (attempts > maxAttempts) {
47
+ options?.logger?.error(`⚠️ Transaction not confirmed after ${maxAttempts} attempts`)
48
+ throw new Error(`Transaction ${txBWHash} not confirmed after ${maxAttempts} attempts`)
49
+ } else {
50
+ options?.logger?.log(`🔄 Transaction not confirmed yet, attempt ${attempts}. Retrying...`, '\n')
51
+ await delay(attemptDelay)
52
+ }
53
+ }
54
+ }
55
+ }
@@ -1,3 +1,4 @@
1
+ export * from './confirmSubmittedTransaction.ts'
1
2
  export * from './confirmTransaction.ts'
2
3
  export * from './RpcXyoConnection.ts'
3
4
  export * from './XyoConnection.ts'
@@ -2,7 +2,7 @@ import type { XyoGatewayProvider } from '@xyo-network/xl1-protocol'
2
2
 
3
3
  export type XyoGatewayMethodPrefix = 'xyoGateway'
4
4
 
5
- export type XyoGatewayMethodName = keyof XyoGatewayProvider
5
+ export type XyoGatewayMethodName = keyof Pick<XyoGatewayProvider, 'submitTransaction'>
6
6
 
7
7
  // Convert `getPermissions` to `xyoGateway_getPermissions`, etc.
8
8
  export type XyoGatewayRpcMethodName = `${XyoGatewayMethodPrefix}_${XyoGatewayMethodName}`
@@ -29,6 +29,7 @@ export const InvokerPermissionSchema = PermissionSchema.extend({ date: z.number(
29
29
  export type ChainConnection = z.infer<typeof ChainConnectionSchema>
30
30
 
31
31
  export const XyoGatewayRpcSchemas: RpcSchemaMap<XyoGatewayRpcMethodName> = {
32
+ /*
32
33
  xyoGateway_addConnection: {
33
34
  params: {
34
35
  to: z.tuple([ChainConnectionSchema]),
@@ -89,6 +90,7 @@ export const XyoGatewayRpcSchemas: RpcSchemaMap<XyoGatewayRpcMethodName> = {
89
90
  to: z.string().optional(),
90
91
  },
91
92
  },
93
+ */
92
94
  xyoGateway_submitTransaction: {
93
95
  params: {
94
96
  from: z.array(
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod'
2
+
3
+ // Define recursive JSON value schema
4
+ const JsonValueSchema: z.ZodType<unknown> = z.lazy(() =>
5
+ z.union([
6
+ z.string(),
7
+ z.number(),
8
+ z.boolean(),
9
+ z.null(),
10
+ z.array(JsonValueSchema),
11
+ z.record(JsonValueSchema), // object with string keys and JSON values
12
+ ]))
13
+
14
+ // JSON object schema — top-level must be an object
15
+ export const JsonObjectSchema = z.record(JsonValueSchema)
16
+
17
+ // TypeScript type for reference
18
+ export type JsonValue = z.infer<typeof JsonValueSchema>
19
+ export type JsonObject = z.infer<typeof JsonObjectSchema>
@@ -6,6 +6,7 @@ export * from './HashSchema.ts'
6
6
  export * from './HexSchema.ts'
7
7
  export * from './HydratedBlockSchema.ts'
8
8
  export * from './HydratedTransactionSchema.ts'
9
+ export * from './JsonSchema.ts'
9
10
  export * from './PayloadSchema.ts'
10
11
  export * from './SequenceSchema.ts'
11
12
  export * from './StorageMetaSchema.ts'
@@ -1,6 +0,0 @@
1
- import type { MemoryXyoGateway, PermissionsStore } from '../host/index.ts';
2
- export interface XyoClient {
3
- gateways: Readonly<Record<string, MemoryXyoGateway>>;
4
- permissionsStore: PermissionsStore;
5
- }
6
- //# sourceMappingURL=XyoClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XyoClient.d.ts","sourceRoot":"","sources":["../../../../src/provider/client/XyoClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAE1E,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACpD,gBAAgB,EAAE,gBAAgB,CAAA;CACnC"}
@@ -1,16 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise';
2
- import type { InvokerPermission, Permission, XyoConnectionProvider, XyoRpcConnectionConfig } from '@xyo-network/xl1-protocol';
3
- import type { RpcTransport } from '../../transport/index.ts';
4
- import type { XyoGatewayRpcSchemas } from '../../types/index.ts';
5
- import { AbstractXyoGateway } from './Abstract.ts';
6
- export declare class JsonRpcXyoGateway extends AbstractXyoGateway {
7
- private readonly _transport;
8
- constructor(transport: RpcTransport<typeof XyoGatewayRpcSchemas>);
9
- activeConnection(): Promisable<XyoConnectionProvider | undefined>;
10
- addConnection(_config: XyoRpcConnectionConfig): Promisable<XyoConnectionProvider>;
11
- connections(): Promisable<Record<string, XyoConnectionProvider>>;
12
- getPermissions(): Promisable<InvokerPermission[]>;
13
- requestPermissions(permissions: Permission[]): Promisable<boolean>;
14
- revokePermissions(permissions: Permission[]): Promisable<boolean>;
15
- }
16
- //# sourceMappingURL=JsonRpcXyoGateway.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JsonRpcXyoGateway.d.ts","sourceRoot":"","sources":["../../../../src/provider/host/JsonRpcXyoGateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EACV,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,sBAAsB,EAC7E,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2C;gBAE1D,SAAS,EAAE,YAAY,CAAC,OAAO,oBAAoB,CAAC;IAKhE,gBAAgB,IAAI,UAAU,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAIjE,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,UAAU,CAAC,qBAAqB,CAAC;IAIjF,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAIhE,cAAc,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAIjD,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IAIlE,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;CAGlE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MemoryPermissionsStore.d.ts","sourceRoot":"","sources":["../../../../../src/provider/host/PermissionsStore/MemoryPermissionsStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,cAAc,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAIjD,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IASlE,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IAQjE,OAAO,CAAC,MAAM;CAGf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PermissionsStore.d.ts","sourceRoot":"","sources":["../../../../../src/provider/host/PermissionsStore/PermissionsStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,cAAc,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACjD,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAClE,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;CAClE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getPermissionsStoreFromTransport.d.ts","sourceRoot":"","sources":["../../../../../src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,eAAO,MAAM,gCAAgC,GAAI,WAAW,YAAY,CAAC,OAAO,oBAAoB,CAAC,KAAG,gBAMvG,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/provider/host/PermissionsStore/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AACrD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MemoryPermissionsStore.spec.d.ts","sourceRoot":"","sources":["../../../../../../src/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import type { MemoryXyoGateway, PermissionsStore } from '../host/index.ts';
2
- export interface XyoClient {
3
- gateways: Readonly<Record<string, MemoryXyoGateway>>;
4
- permissionsStore: PermissionsStore;
5
- }
6
- //# sourceMappingURL=XyoClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XyoClient.d.ts","sourceRoot":"","sources":["../../../../src/provider/client/XyoClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAE1E,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACpD,gBAAgB,EAAE,gBAAgB,CAAA;CACnC"}
@@ -1,16 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise';
2
- import type { InvokerPermission, Permission, XyoConnectionProvider, XyoRpcConnectionConfig } from '@xyo-network/xl1-protocol';
3
- import type { RpcTransport } from '../../transport/index.ts';
4
- import type { XyoGatewayRpcSchemas } from '../../types/index.ts';
5
- import { AbstractXyoGateway } from './Abstract.ts';
6
- export declare class JsonRpcXyoGateway extends AbstractXyoGateway {
7
- private readonly _transport;
8
- constructor(transport: RpcTransport<typeof XyoGatewayRpcSchemas>);
9
- activeConnection(): Promisable<XyoConnectionProvider | undefined>;
10
- addConnection(_config: XyoRpcConnectionConfig): Promisable<XyoConnectionProvider>;
11
- connections(): Promisable<Record<string, XyoConnectionProvider>>;
12
- getPermissions(): Promisable<InvokerPermission[]>;
13
- requestPermissions(permissions: Permission[]): Promisable<boolean>;
14
- revokePermissions(permissions: Permission[]): Promisable<boolean>;
15
- }
16
- //# sourceMappingURL=JsonRpcXyoGateway.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JsonRpcXyoGateway.d.ts","sourceRoot":"","sources":["../../../../src/provider/host/JsonRpcXyoGateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EACV,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,sBAAsB,EAC7E,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2C;gBAE1D,SAAS,EAAE,YAAY,CAAC,OAAO,oBAAoB,CAAC;IAKhE,gBAAgB,IAAI,UAAU,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAIjE,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,UAAU,CAAC,qBAAqB,CAAC;IAIjF,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAIhE,cAAc,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAIjD,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IAIlE,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;CAGlE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MemoryPermissionsStore.d.ts","sourceRoot":"","sources":["../../../../../src/provider/host/PermissionsStore/MemoryPermissionsStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,cAAc,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAIjD,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IASlE,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IAQjE,OAAO,CAAC,MAAM;CAGf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PermissionsStore.d.ts","sourceRoot":"","sources":["../../../../../src/provider/host/PermissionsStore/PermissionsStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,cAAc,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACjD,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAClE,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;CAClE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getPermissionsStoreFromTransport.d.ts","sourceRoot":"","sources":["../../../../../src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,eAAO,MAAM,gCAAgC,GAAI,WAAW,YAAY,CAAC,OAAO,oBAAoB,CAAC,KAAG,gBAMvG,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/provider/host/PermissionsStore/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AACrD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MemoryPermissionsStore.spec.d.ts","sourceRoot":"","sources":["../../../../../../src/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import type { MemoryXyoGateway, PermissionsStore } from '../host/index.ts'
2
-
3
- export interface XyoClient {
4
- gateways: Readonly<Record<string, MemoryXyoGateway>>
5
- permissionsStore: PermissionsStore
6
- }
@@ -1,41 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise'
2
- import type {
3
- InvokerPermission, Permission, XyoConnectionProvider, XyoRpcConnectionConfig,
4
- } from '@xyo-network/xl1-protocol'
5
-
6
- import type { RpcTransport } from '../../transport/index.ts'
7
- import type { XyoGatewayRpcSchemas } from '../../types/index.ts'
8
- import { AbstractXyoGateway } from './Abstract.ts'
9
-
10
- export class JsonRpcXyoGateway extends AbstractXyoGateway {
11
- private readonly _transport: RpcTransport<typeof XyoGatewayRpcSchemas>
12
-
13
- constructor(transport: RpcTransport<typeof XyoGatewayRpcSchemas>) {
14
- super()
15
- this._transport = transport
16
- }
17
-
18
- activeConnection(): Promisable<XyoConnectionProvider | undefined> {
19
- throw new Error('Method not implemented.')
20
- }
21
-
22
- addConnection(_config: XyoRpcConnectionConfig): Promisable<XyoConnectionProvider> {
23
- throw new Error('Method not implemented.')
24
- }
25
-
26
- connections(): Promisable<Record<string, XyoConnectionProvider>> {
27
- throw new Error('Method not implemented.')
28
- }
29
-
30
- getPermissions(): Promisable<InvokerPermission[]> {
31
- return this._transport.sendRequest('xyoGateway_getPermissions')
32
- }
33
-
34
- requestPermissions(permissions: Permission[]): Promisable<boolean> {
35
- return this._transport.sendRequest('xyoGateway_requestPermissions', permissions)
36
- }
37
-
38
- revokePermissions(permissions: Permission[]): Promisable<boolean> {
39
- return this._transport.sendRequest('xyoGateway_revokePermissions', permissions)
40
- }
41
- }
@@ -1,13 +0,0 @@
1
- import type { Permission } from '@xyo-network/xl1-protocol'
2
-
3
- import { type RpcTransport } from '../../../transport/index.ts'
4
- import type { XyoGatewayRpcSchemas } from '../../../types/index.ts'
5
- import type { PermissionsStore } from './PermissionsStore.ts'
6
-
7
- export const getPermissionsStoreFromTransport = (transport: RpcTransport<typeof XyoGatewayRpcSchemas>): PermissionsStore => {
8
- return {
9
- getPermissions: () => transport.sendRequest('xyoGateway_getPermissions'),
10
- requestPermissions: (permissions: Permission[]) => transport.sendRequest('xyoGateway_requestPermissions', permissions),
11
- revokePermissions: (permissions: Permission[]) => transport.sendRequest('xyoGateway_revokePermissions', permissions),
12
- }
13
- }