@xyo-network/xl1-rpc 1.7.18 → 1.7.20

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 (133) hide show
  1. package/dist/neutral/index.mjs +195 -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/XyoConnection.d.ts +2 -2
  23. package/dist/neutral/provider/provider/XyoConnection.d.ts.map +1 -1
  24. package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts +1 -1
  25. package/dist/neutral/provider/signer/JsonRpcXyoSigner.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 +4 -3
  29. package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
  30. package/dist/neutral/types/schema/common/AddressSchema.d.ts +2 -1
  31. package/dist/neutral/types/schema/common/AddressSchema.d.ts.map +1 -1
  32. package/dist/neutral/types/schema/common/BigIntSchema.d.ts +1 -1
  33. package/dist/neutral/types/schema/common/BigIntSchema.d.ts.map +1 -1
  34. package/dist/neutral/types/schema/common/HashSchema.d.ts +2 -1
  35. package/dist/neutral/types/schema/common/HashSchema.d.ts.map +1 -1
  36. package/dist/neutral/types/schema/common/HexSchema.d.ts +2 -1
  37. package/dist/neutral/types/schema/common/HexSchema.d.ts.map +1 -1
  38. package/dist/neutral/types/schema/common/SequenceSchema.d.ts +4 -3
  39. package/dist/neutral/types/schema/common/SequenceSchema.d.ts.map +1 -1
  40. package/dist/neutral/types/schema/common/TransactionFees.d.ts +8 -8
  41. package/dist/node/index-node.mjs +197 -253
  42. package/dist/node/index-node.mjs.map +1 -1
  43. package/dist/node/provider/client/MemoryXyoClient.d.ts +4 -5
  44. package/dist/node/provider/client/MemoryXyoClient.d.ts.map +1 -1
  45. package/dist/node/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
  46. package/dist/node/provider/client/PermissionsStore/PermissionsStore.d.ts.map +1 -0
  47. package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
  48. package/dist/node/provider/client/PermissionsStore/index.d.ts.map +1 -0
  49. package/dist/node/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
  50. package/dist/node/provider/client/index.d.ts +1 -1
  51. package/dist/node/provider/client/index.d.ts.map +1 -1
  52. package/dist/node/provider/host/Abstract.d.ts +9 -7
  53. package/dist/node/provider/host/Abstract.d.ts.map +1 -1
  54. package/dist/node/provider/host/MemoryXyoGateway.d.ts +5 -17
  55. package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +1 -1
  56. package/dist/node/provider/host/index.d.ts +0 -2
  57. package/dist/node/provider/host/index.d.ts.map +1 -1
  58. package/dist/node/provider/index.d.ts +1 -0
  59. package/dist/node/provider/index.d.ts.map +1 -1
  60. package/dist/node/provider/provider/RpcXyoConnection.d.ts +0 -3
  61. package/dist/node/provider/provider/RpcXyoConnection.d.ts.map +1 -1
  62. package/dist/node/provider/provider/XyoConnection.d.ts +2 -2
  63. package/dist/node/provider/provider/XyoConnection.d.ts.map +1 -1
  64. package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts +1 -1
  65. package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
  66. package/dist/node/types/XyoGatewayRpc.d.ts +1 -1
  67. package/dist/node/types/XyoGatewayRpc.d.ts.map +1 -1
  68. package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts +4 -3
  69. package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
  70. package/dist/node/types/schema/common/AddressSchema.d.ts +2 -1
  71. package/dist/node/types/schema/common/AddressSchema.d.ts.map +1 -1
  72. package/dist/node/types/schema/common/BigIntSchema.d.ts +1 -1
  73. package/dist/node/types/schema/common/BigIntSchema.d.ts.map +1 -1
  74. package/dist/node/types/schema/common/HashSchema.d.ts +2 -1
  75. package/dist/node/types/schema/common/HashSchema.d.ts.map +1 -1
  76. package/dist/node/types/schema/common/HexSchema.d.ts +2 -1
  77. package/dist/node/types/schema/common/HexSchema.d.ts.map +1 -1
  78. package/dist/node/types/schema/common/SequenceSchema.d.ts +4 -3
  79. package/dist/node/types/schema/common/SequenceSchema.d.ts.map +1 -1
  80. package/dist/node/types/schema/common/TransactionFees.d.ts +8 -8
  81. package/package.json +37 -36
  82. package/src/provider/client/MemoryXyoClient.ts +7 -6
  83. package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +12 -0
  84. package/src/provider/client/index.ts +1 -1
  85. package/src/provider/client/spec/MemoryXyoClient.spec.ts +13 -10
  86. package/src/provider/host/Abstract.ts +28 -7
  87. package/src/provider/host/MemoryXyoGateway.ts +8 -70
  88. package/src/provider/host/index.ts +0 -2
  89. package/src/provider/host/spec/MemoryXyoGateway.spec.ts +9 -50
  90. package/src/provider/index.ts +1 -0
  91. package/src/provider/provider/RpcXyoConnection.ts +0 -11
  92. package/src/provider/provider/XyoConnection.ts +2 -2
  93. package/src/provider/signer/JsonRpcXyoSigner.ts +1 -1
  94. package/src/provider/viewer/spec/JsonRpcXyoViewer.spec.ts +1 -1
  95. package/src/types/XyoGatewayRpc.ts +1 -1
  96. package/src/types/schema/XyoGatewayRpcSchemas.ts +2 -0
  97. package/src/types/schema/common/BigIntSchema.ts +5 -3
  98. package/src/types/schema/common/HashSchema.ts +2 -2
  99. package/dist/neutral/provider/client/XyoClient.d.ts +0 -6
  100. package/dist/neutral/provider/client/XyoClient.d.ts.map +0 -1
  101. package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts +0 -16
  102. package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
  103. package/dist/neutral/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
  104. package/dist/neutral/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
  105. package/dist/neutral/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
  106. package/dist/neutral/provider/host/PermissionsStore/index.d.ts.map +0 -1
  107. package/dist/neutral/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
  108. package/dist/node/provider/client/XyoClient.d.ts +0 -6
  109. package/dist/node/provider/client/XyoClient.d.ts.map +0 -1
  110. package/dist/node/provider/host/JsonRpcXyoGateway.d.ts +0 -16
  111. package/dist/node/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
  112. package/dist/node/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
  113. package/dist/node/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
  114. package/dist/node/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
  115. package/dist/node/provider/host/PermissionsStore/index.d.ts.map +0 -1
  116. package/dist/node/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
  117. package/src/provider/client/XyoClient.ts +0 -6
  118. package/src/provider/host/JsonRpcXyoGateway.ts +0 -41
  119. package/src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts +0 -13
  120. /package/dist/neutral/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
  121. /package/dist/neutral/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
  122. /package/dist/neutral/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
  123. /package/dist/neutral/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
  124. /package/dist/neutral/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
  125. /package/dist/node/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
  126. /package/dist/node/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
  127. /package/dist/node/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
  128. /package/dist/node/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
  129. /package/dist/node/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
  130. /package/src/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.ts +0 -0
  131. /package/src/provider/{host → client}/PermissionsStore/PermissionsStore.ts +0 -0
  132. /package/src/provider/{host → client}/PermissionsStore/index.ts +0 -0
  133. /package/src/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.ts +0 -0
@@ -1,84 +1,22 @@
1
- import type { Promisable } from '@xylabs/promise'
2
- import { isDefined } from '@xylabs/typeof'
3
- import type {
4
- InvokerPermission, Permission, XyoConnectionProvider, XyoRpcConnectionConfig, XyoSigner,
5
- } from '@xyo-network/xl1-protocol'
1
+ import type { XyoConnectionProvider, XyoSigner } from '@xyo-network/xl1-protocol'
6
2
 
7
- import type { XyoConnection } from '../provider/index.ts'
8
- import { RpcXyoConnection } from '../provider/index.ts'
9
3
  import { AbstractXyoGateway } from './Abstract.ts'
10
- import type { PermissionsStore } from './PermissionsStore/index.ts'
11
4
 
12
5
  export class MemoryXyoGateway extends AbstractXyoGateway {
13
- private _activeConnectionId?: string
14
- private readonly _connections: Map<string, XyoConnectionProvider> = new Map()
15
- private readonly _permissionsStore: PermissionsStore
6
+ private readonly _connection: XyoConnectionProvider
16
7
  private readonly _signer: XyoSigner
17
8
 
18
- constructor(signer: XyoSigner, permissionsStore: PermissionsStore) {
9
+ constructor(signer: XyoSigner, connection: XyoConnectionProvider) {
19
10
  super()
20
11
  this._signer = signer
21
- this._permissionsStore = permissionsStore
12
+ this._connection = connection
22
13
  }
23
14
 
24
- get signer(): XyoSigner {
25
- return this._signer
26
- }
27
-
28
- activeConnection(): XyoConnectionProvider | undefined {
29
- return isDefined(this._activeConnectionId)
30
- ? this._connections.get(this._activeConnectionId)
31
- : undefined
32
- }
33
-
34
- // TODO: Deprecate connection config in favor of connection object
35
- addConnection(config: XyoRpcConnectionConfig): Promisable<XyoConnectionProvider>
36
- addConnection(name: string, connection: XyoConnection): Promisable<XyoConnectionProvider>
37
- addConnection(configOrName: XyoRpcConnectionConfig | string, connection?: XyoConnection): Promisable<XyoConnectionProvider> {
38
- if (typeof configOrName === 'string' && connection !== undefined) {
39
- // Called with (name: string, connection: XyoConnection)
40
- const name = configOrName
41
- this._connections.set(name, connection)
42
- this.setActiveConnectionIdIfUndefined(name)
43
- return connection
44
- } else if (typeof configOrName === 'object') {
45
- // Called with (config: XyoRpcConnectionConfig)
46
- const config = configOrName
47
- const {
48
- name, dataLakeEndpoint, networkEndpoint,
49
- } = config
50
- const rpcConnection = new RpcXyoConnection({ endpoint: networkEndpoint })
51
- this._connections.set(name, rpcConnection)
52
- this.setActiveConnectionIdIfUndefined(name)
53
- return rpcConnection
54
- }
55
-
56
- throw new Error('Invalid arguments passed to addConnection')
57
- }
58
-
59
- connections(): Promisable<Record<string, XyoConnectionProvider>> {
60
- const record: Record<string, XyoConnectionProvider> = {}
61
- for (const [id, conn] of this._connections.entries()) {
62
- record[id] = conn
63
- }
64
- return record
15
+ connection(): XyoConnectionProvider {
16
+ return this._connection
65
17
  }
66
18
 
67
- getPermissions(): Promisable<InvokerPermission[]> {
68
- return this._permissionsStore.getPermissions()
69
- }
70
-
71
- requestPermissions(permissions: Permission[]): Promisable<boolean> {
72
- return this._permissionsStore.requestPermissions(permissions)
73
- }
74
-
75
- revokePermissions(permissions: Permission[]): Promisable<boolean> {
76
- return this._permissionsStore.revokePermissions(permissions)
77
- }
78
-
79
- private setActiveConnectionIdIfUndefined(id: string): void {
80
- if (!isDefined(this._activeConnectionId)) {
81
- this._activeConnectionId = id
82
- }
19
+ signer(): XyoSigner {
20
+ return this._signer
83
21
  }
84
22
  }
@@ -1,4 +1,2 @@
1
1
  export * from './Abstract.ts'
2
- export * from './JsonRpcXyoGateway.ts'
3
2
  export * from './MemoryXyoGateway.ts'
4
- export * from './PermissionsStore/index.ts'
@@ -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
  }
@@ -1,5 +1,5 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
- import type { Address } from '@xylabs/hex'
2
+ import type { Address, Hex } from '@xylabs/hex'
3
3
  import type { Signed } from '@xyo-network/boundwitness-model'
4
4
  import { PayloadBuilder } from '@xyo-network/payload-builder'
5
5
  import { isAnyPayload, type Payload } from '@xyo-network/payload-model'
@@ -57,7 +57,7 @@ export class XyoConnection implements XyoConnectionProvider {
57
57
  async send(
58
58
  elevatedPayloads: AllowedBlockPayload[],
59
59
  additionalPayloads: Payload[],
60
- chain?: Address,
60
+ chain?: Hex,
61
61
  nbf?: number,
62
62
  exp?: number,
63
63
  from?: Address,
@@ -43,7 +43,7 @@ export class RpcXyoSigner implements XyoSigner {
43
43
  ])
44
44
  }
45
45
 
46
- signTransaction(tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promisable<[Signed<TransactionBoundWitness>, Payload[]]> {
46
+ signTransaction(_tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promisable<[Signed<TransactionBoundWitness>, Payload[]]> {
47
47
  throw new Error('Method not implemented.')
48
48
  }
49
49
  }
@@ -165,7 +165,7 @@ describe.skip('RpcXyoViewer - live integration tests', () => {
165
165
  expect(tx).not.toBeNull()
166
166
  })
167
167
  it('should return null for unknown tx hash', async () => {
168
- const tx = await sut.transactionByHash('4b5958c6d16b26d6790e33f5be45578728b0ea36e40a0d1b9c9164822341cac1')
168
+ const tx = await sut.transactionByHash('4b5958c6d16b26d6790e33f5be45578728b0ea36e40a0d1b9c9164822341cac1' as Hash)
169
169
  expect(tx).toBeNull()
170
170
  })
171
171
  })
@@ -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(
@@ -1,8 +1,10 @@
1
- import { hexToBigInt, toHex } from '@xylabs/hex'
1
+ import {
2
+ asHex, hexToBigInt, toHex,
3
+ } from '@xylabs/hex'
2
4
  import { HexRegEx } from '@xyo-network/payload-wrapper'
3
5
  import { z } from 'zod'
4
6
 
5
7
  const CompiledHexRegEx = new RegExp(HexRegEx)
6
8
 
7
- export const BigIntToStringSchema = z.bigint().nonnegative().transform(x => toHex(x))
8
- export const BigIntFromStringSchema = z.string().regex(CompiledHexRegEx).transform(x => hexToBigInt(toHex(x)))
9
+ export const BigIntToStringSchema = z.bigint().nonnegative().transform(x => asHex(toHex(x)))
10
+ export const BigIntFromStringSchema = z.string().regex(CompiledHexRegEx).transform(x => hexToBigInt(asHex(toHex(x), true)))
@@ -1,7 +1,7 @@
1
1
  import type { Hash } from '@xylabs/hex'
2
- import { toHex } from '@xylabs/hex'
2
+ import { asHash } from '@xylabs/hex'
3
3
  import { HashRegEx } from '@xyo-network/payload-wrapper'
4
4
  import { z } from 'zod'
5
5
 
6
6
  export const HashToStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx))
7
- export const HashFromStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx)).transform<Hash>(v => toHex(v))
7
+ export const HashFromStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx)).transform<Hash>(v => asHash(v, true))
@@ -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
- }