@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.
- package/dist/neutral/index.mjs +195 -251
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/provider/client/MemoryXyoClient.d.ts +4 -5
- package/dist/neutral/provider/client/MemoryXyoClient.d.ts.map +1 -1
- package/dist/neutral/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
- package/dist/neutral/provider/client/PermissionsStore/PermissionsStore.d.ts.map +1 -0
- package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
- package/dist/neutral/provider/client/PermissionsStore/index.d.ts.map +1 -0
- package/dist/neutral/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
- package/dist/neutral/provider/client/index.d.ts +1 -1
- package/dist/neutral/provider/client/index.d.ts.map +1 -1
- package/dist/neutral/provider/host/Abstract.d.ts +9 -7
- package/dist/neutral/provider/host/Abstract.d.ts.map +1 -1
- package/dist/neutral/provider/host/MemoryXyoGateway.d.ts +5 -17
- package/dist/neutral/provider/host/MemoryXyoGateway.d.ts.map +1 -1
- package/dist/neutral/provider/host/index.d.ts +0 -2
- package/dist/neutral/provider/host/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/provider/RpcXyoConnection.d.ts +0 -3
- package/dist/neutral/provider/provider/RpcXyoConnection.d.ts.map +1 -1
- package/dist/neutral/provider/provider/XyoConnection.d.ts +2 -2
- package/dist/neutral/provider/provider/XyoConnection.d.ts.map +1 -1
- package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts +1 -1
- package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
- package/dist/neutral/types/XyoGatewayRpc.d.ts +1 -1
- package/dist/neutral/types/XyoGatewayRpc.d.ts.map +1 -1
- package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts +4 -3
- package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/AddressSchema.d.ts +2 -1
- package/dist/neutral/types/schema/common/AddressSchema.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/BigIntSchema.d.ts +1 -1
- package/dist/neutral/types/schema/common/BigIntSchema.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/HashSchema.d.ts +2 -1
- package/dist/neutral/types/schema/common/HashSchema.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/HexSchema.d.ts +2 -1
- package/dist/neutral/types/schema/common/HexSchema.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/SequenceSchema.d.ts +4 -3
- package/dist/neutral/types/schema/common/SequenceSchema.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/TransactionFees.d.ts +8 -8
- package/dist/node/index-node.mjs +197 -253
- package/dist/node/index-node.mjs.map +1 -1
- package/dist/node/provider/client/MemoryXyoClient.d.ts +4 -5
- package/dist/node/provider/client/MemoryXyoClient.d.ts.map +1 -1
- package/dist/node/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
- package/dist/node/provider/client/PermissionsStore/PermissionsStore.d.ts.map +1 -0
- package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
- package/dist/node/provider/client/PermissionsStore/index.d.ts.map +1 -0
- package/dist/node/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
- package/dist/node/provider/client/index.d.ts +1 -1
- package/dist/node/provider/client/index.d.ts.map +1 -1
- package/dist/node/provider/host/Abstract.d.ts +9 -7
- package/dist/node/provider/host/Abstract.d.ts.map +1 -1
- package/dist/node/provider/host/MemoryXyoGateway.d.ts +5 -17
- package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +1 -1
- package/dist/node/provider/host/index.d.ts +0 -2
- package/dist/node/provider/host/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/provider/RpcXyoConnection.d.ts +0 -3
- package/dist/node/provider/provider/RpcXyoConnection.d.ts.map +1 -1
- package/dist/node/provider/provider/XyoConnection.d.ts +2 -2
- package/dist/node/provider/provider/XyoConnection.d.ts.map +1 -1
- package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts +1 -1
- package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
- package/dist/node/types/XyoGatewayRpc.d.ts +1 -1
- package/dist/node/types/XyoGatewayRpc.d.ts.map +1 -1
- package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts +4 -3
- package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
- package/dist/node/types/schema/common/AddressSchema.d.ts +2 -1
- package/dist/node/types/schema/common/AddressSchema.d.ts.map +1 -1
- package/dist/node/types/schema/common/BigIntSchema.d.ts +1 -1
- package/dist/node/types/schema/common/BigIntSchema.d.ts.map +1 -1
- package/dist/node/types/schema/common/HashSchema.d.ts +2 -1
- package/dist/node/types/schema/common/HashSchema.d.ts.map +1 -1
- package/dist/node/types/schema/common/HexSchema.d.ts +2 -1
- package/dist/node/types/schema/common/HexSchema.d.ts.map +1 -1
- package/dist/node/types/schema/common/SequenceSchema.d.ts +4 -3
- package/dist/node/types/schema/common/SequenceSchema.d.ts.map +1 -1
- package/dist/node/types/schema/common/TransactionFees.d.ts +8 -8
- package/package.json +37 -36
- package/src/provider/client/MemoryXyoClient.ts +7 -6
- package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +12 -0
- package/src/provider/client/index.ts +1 -1
- package/src/provider/client/spec/MemoryXyoClient.spec.ts +13 -10
- package/src/provider/host/Abstract.ts +28 -7
- package/src/provider/host/MemoryXyoGateway.ts +8 -70
- package/src/provider/host/index.ts +0 -2
- package/src/provider/host/spec/MemoryXyoGateway.spec.ts +9 -50
- package/src/provider/index.ts +1 -0
- package/src/provider/provider/RpcXyoConnection.ts +0 -11
- package/src/provider/provider/XyoConnection.ts +2 -2
- package/src/provider/signer/JsonRpcXyoSigner.ts +1 -1
- package/src/provider/viewer/spec/JsonRpcXyoViewer.spec.ts +1 -1
- package/src/types/XyoGatewayRpc.ts +1 -1
- package/src/types/schema/XyoGatewayRpcSchemas.ts +2 -0
- package/src/types/schema/common/BigIntSchema.ts +5 -3
- package/src/types/schema/common/HashSchema.ts +2 -2
- package/dist/neutral/provider/client/XyoClient.d.ts +0 -6
- package/dist/neutral/provider/client/XyoClient.d.ts.map +0 -1
- package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts +0 -16
- package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
- package/dist/neutral/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
- package/dist/neutral/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
- package/dist/neutral/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
- package/dist/neutral/provider/host/PermissionsStore/index.d.ts.map +0 -1
- package/dist/neutral/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
- package/dist/node/provider/client/XyoClient.d.ts +0 -6
- package/dist/node/provider/client/XyoClient.d.ts.map +0 -1
- package/dist/node/provider/host/JsonRpcXyoGateway.d.ts +0 -16
- package/dist/node/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
- package/dist/node/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
- package/dist/node/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
- package/dist/node/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
- package/dist/node/provider/host/PermissionsStore/index.d.ts.map +0 -1
- package/dist/node/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
- package/src/provider/client/XyoClient.ts +0 -6
- package/src/provider/host/JsonRpcXyoGateway.ts +0 -41
- package/src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts +0 -13
- /package/dist/neutral/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
- /package/dist/neutral/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
- /package/dist/neutral/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
- /package/dist/neutral/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
- /package/dist/neutral/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
- /package/dist/node/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
- /package/dist/node/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
- /package/dist/node/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
- /package/dist/node/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
- /package/dist/node/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
- /package/src/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.ts +0 -0
- /package/src/provider/{host → client}/PermissionsStore/PermissionsStore.ts +0 -0
- /package/src/provider/{host → client}/PermissionsStore/index.ts +0 -0
- /package/src/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.ts +0 -0
|
@@ -1,84 +1,22 @@
|
|
|
1
|
-
import type {
|
|
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
|
|
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,
|
|
9
|
+
constructor(signer: XyoSigner, connection: XyoConnectionProvider) {
|
|
19
10
|
super()
|
|
20
11
|
this._signer = signer
|
|
21
|
-
this.
|
|
12
|
+
this._connection = connection
|
|
22
13
|
}
|
|
23
14
|
|
|
24
|
-
|
|
25
|
-
return this.
|
|
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
|
-
|
|
68
|
-
return this.
|
|
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
|
}
|
|
@@ -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
|
|
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
|
-
|
|
25
|
-
sut = new MemoryXyoGateway(signer,
|
|
23
|
+
connection = new RpcXyoConnection({ endpoint, account })
|
|
24
|
+
sut = new MemoryXyoGateway(signer, connection)
|
|
26
25
|
})
|
|
27
26
|
|
|
28
|
-
describe('
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
47
|
-
|
|
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
|
})
|
package/src/provider/index.ts
CHANGED
|
@@ -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?:
|
|
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(
|
|
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 {
|
|
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 {
|
|
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 =>
|
|
7
|
+
export const HashFromStringSchema = z.string().toLowerCase().regex(new RegExp(HashRegEx)).transform<Hash>(v => asHash(v, true))
|
|
@@ -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"}
|
package/dist/neutral/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/neutral/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryPermissionsStore.spec.d.ts","sourceRoot":"","sources":["../../../../../../src/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.ts"],"names":[],"mappings":""}
|
|
@@ -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,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
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/node/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/node/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|