@xyo-network/xl1-protocol-sdk 1.16.0 → 1.16.2
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/config/Config.d.ts +6 -18
- package/dist/neutral/config/Config.d.ts.map +1 -1
- package/dist/neutral/config/Producer.d.ts +2 -6
- package/dist/neutral/config/Producer.d.ts.map +1 -1
- package/dist/neutral/config/Validation.d.ts +4 -12
- package/dist/neutral/config/Validation.d.ts.map +1 -1
- package/dist/neutral/driver/cache/LruCacheMap.d.ts +1 -0
- package/dist/neutral/driver/cache/LruCacheMap.d.ts.map +1 -1
- package/dist/neutral/driver/memory/MemoryMap.d.ts +1 -0
- package/dist/neutral/driver/memory/MemoryMap.d.ts.map +1 -1
- package/dist/neutral/eip-712/Payloads/EIP712Signature.d.ts +1 -9
- package/dist/neutral/eip-712/Payloads/EIP712Signature.d.ts.map +1 -1
- package/dist/neutral/index.d.ts +1 -0
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +462 -31
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/interfaces/viewers/index.d.ts +0 -1
- package/dist/neutral/interfaces/viewers/index.d.ts.map +1 -1
- package/dist/neutral/map/AsynchronousMap.d.ts +1 -0
- package/dist/neutral/map/AsynchronousMap.d.ts.map +1 -1
- package/dist/neutral/map/SynchronousMap.d.ts +1 -0
- package/dist/neutral/map/SynchronousMap.d.ts.map +1 -1
- package/dist/neutral/model/RecordKeyType.d.ts.map +1 -0
- package/dist/neutral/model/index.d.ts +1 -0
- package/dist/neutral/model/index.d.ts.map +1 -1
- package/dist/neutral/payloads/netBalancesForPayloads.d.ts +2 -3
- package/dist/neutral/payloads/netBalancesForPayloads.d.ts.map +1 -1
- package/dist/neutral/provider/DataLake.d.ts +15 -0
- package/dist/neutral/provider/DataLake.d.ts.map +1 -0
- package/dist/neutral/provider/XyoClient.d.ts +3 -3
- package/dist/neutral/provider/XyoClient.d.ts.map +1 -1
- package/dist/neutral/provider/XyoConnection.d.ts +4 -27
- package/dist/neutral/provider/XyoConnection.d.ts.map +1 -1
- package/dist/neutral/provider/XyoGateway.d.ts +4 -10
- package/dist/neutral/provider/XyoGateway.d.ts.map +1 -1
- package/dist/neutral/provider/XyoGatewayRunner.d.ts +25 -0
- package/dist/neutral/provider/XyoGatewayRunner.d.ts.map +1 -0
- package/dist/neutral/provider/index.d.ts +4 -4
- package/dist/neutral/provider/index.d.ts.map +1 -1
- package/dist/neutral/provider/{XyoSigner.d.ts → signer/XyoSigner.d.ts} +2 -2
- package/dist/neutral/provider/signer/XyoSigner.d.ts.map +1 -0
- package/dist/neutral/provider/signer/index.d.ts +2 -0
- package/dist/neutral/provider/signer/index.d.ts.map +1 -0
- package/dist/neutral/{interfaces/viewers/NetworkStakeViewer → provider/viewer/NetworkStake}/NetworkStakeViewer.d.ts +2 -2
- package/dist/neutral/provider/viewer/NetworkStake/NetworkStakeViewer.d.ts.map +1 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByPositionViewer.d.ts +7 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByPositionViewer.d.ts.map +1 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByStakerViewer.d.ts +8 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByStakerViewer.d.ts.map +1 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByStepViewer.d.ts +8 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByStepViewer.d.ts.map +1 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/Options.d.ts +15 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/Options.d.ts.map +1 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/TotalViewer.d.ts +8 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/TotalViewer.d.ts.map +1 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/Viewer.d.ts +13 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/Viewer.d.ts.map +1 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/index.d.ts +8 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/index.d.ts.map +1 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts +6 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts.map +1 -0
- package/dist/neutral/{interfaces/viewers/NetworkStakeViewer/RewardsViewerMethodsTemplate.d.ts → provider/viewer/NetworkStake/Rewards/templates/MethodsTemplate.d.ts} +2 -2
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/templates/MethodsTemplate.d.ts.map +1 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/templates/index.d.ts +3 -0
- package/dist/neutral/provider/viewer/NetworkStake/Rewards/templates/index.d.ts.map +1 -0
- package/dist/neutral/provider/viewer/NetworkStake/index.d.ts +3 -0
- package/dist/neutral/provider/viewer/NetworkStake/index.d.ts.map +1 -0
- package/dist/neutral/{interfaces/viewers/NetworkStakeViewer → provider/viewer}/StepViewer.d.ts +6 -2
- package/dist/neutral/provider/viewer/StepViewer.d.ts.map +1 -0
- package/dist/neutral/provider/{XyoViewer.d.ts → viewer/XyoViewer.d.ts} +5 -2
- package/dist/neutral/provider/viewer/XyoViewer.d.ts.map +1 -0
- package/dist/neutral/provider/viewer/index.d.ts +4 -0
- package/dist/neutral/provider/viewer/index.d.ts.map +1 -0
- package/dist/neutral/simple/client/SimpleXyoClient.d.ts +7 -0
- package/dist/neutral/simple/client/SimpleXyoClient.d.ts.map +1 -0
- package/dist/neutral/simple/client/index.d.ts +2 -0
- package/dist/neutral/simple/client/index.d.ts.map +1 -0
- package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts +15 -0
- package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts.map +1 -0
- package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts +23 -0
- package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts.map +1 -0
- package/dist/neutral/simple/datalake/index.d.ts +3 -0
- package/dist/neutral/simple/datalake/index.d.ts.map +1 -0
- package/dist/neutral/simple/gateway/SimpleXyoGateway.d.ts +9 -0
- package/dist/neutral/simple/gateway/SimpleXyoGateway.d.ts.map +1 -0
- package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts +20 -0
- package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts.map +1 -0
- package/dist/neutral/simple/gateway/index.d.ts +3 -0
- package/dist/neutral/simple/gateway/index.d.ts.map +1 -0
- package/dist/neutral/simple/index.d.ts +8 -0
- package/dist/neutral/simple/index.d.ts.map +1 -0
- package/dist/neutral/simple/network/SimpleXyoNetwork.d.ts +9 -0
- package/dist/neutral/simple/network/SimpleXyoNetwork.d.ts.map +1 -0
- package/dist/neutral/simple/network/index.d.ts +2 -0
- package/dist/neutral/simple/network/index.d.ts.map +1 -0
- package/dist/neutral/simple/network/lib/FailedNetworkStatusPayloads.d.ts +4 -0
- package/dist/neutral/simple/network/lib/FailedNetworkStatusPayloads.d.ts.map +1 -0
- package/dist/neutral/simple/network/lib/StatusNetworks.d.ts +10 -0
- package/dist/neutral/simple/network/lib/StatusNetworks.d.ts.map +1 -0
- package/dist/neutral/simple/network/lib/index.d.ts +3 -0
- package/dist/neutral/simple/network/lib/index.d.ts.map +1 -0
- package/dist/neutral/simple/network/spec/XyoNetwork.spec.d.ts +2 -0
- package/dist/neutral/simple/network/spec/XyoNetwork.spec.d.ts.map +1 -0
- package/dist/neutral/simple/permissions/SimpleXyoPermissions.d.ts +17 -0
- package/dist/neutral/simple/permissions/SimpleXyoPermissions.d.ts.map +1 -0
- package/dist/neutral/simple/permissions/index.d.ts +3 -0
- package/dist/neutral/simple/permissions/index.d.ts.map +1 -0
- package/dist/neutral/simple/permissions/spec/SimpleXyoPermissions.spec.d.ts +2 -0
- package/dist/neutral/simple/permissions/spec/SimpleXyoPermissions.spec.d.ts.map +1 -0
- package/dist/neutral/simple/permissions/store/MemoryPermissions.d.ts +16 -0
- package/dist/neutral/simple/permissions/store/MemoryPermissions.d.ts.map +1 -0
- package/dist/neutral/simple/permissions/store/PermissionsStore.d.ts +12 -0
- package/dist/neutral/simple/permissions/store/PermissionsStore.d.ts.map +1 -0
- package/dist/neutral/simple/permissions/store/index.d.ts +3 -0
- package/dist/neutral/simple/permissions/store/index.d.ts.map +1 -0
- package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts +11 -0
- package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts.map +1 -0
- package/dist/neutral/simple/runner/index.d.ts +2 -0
- package/dist/neutral/simple/runner/index.d.ts.map +1 -0
- package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts +15 -0
- package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts.map +1 -0
- package/dist/neutral/simple/signer/index.d.ts +2 -0
- package/dist/neutral/simple/signer/index.d.ts.map +1 -0
- package/package.json +22 -17
- package/src/driver/cache/LruCacheMap.ts +6 -0
- package/src/driver/memory/MemoryMap.ts +6 -0
- package/src/index.ts +1 -0
- package/src/interfaces/viewers/index.ts +0 -1
- package/src/map/AsynchronousMap.ts +1 -0
- package/src/map/SynchronousMap.ts +1 -0
- package/src/model/index.ts +1 -0
- package/src/provider/DataLake.ts +19 -0
- package/src/provider/XyoClient.ts +3 -3
- package/src/provider/XyoConnection.ts +4 -47
- package/src/provider/XyoGateway.ts +4 -12
- package/src/provider/XyoGatewayRunner.ts +42 -0
- package/src/provider/index.ts +4 -4
- package/src/provider/{XyoSigner.ts → signer/XyoSigner.ts} +2 -2
- package/src/provider/signer/index.ts +1 -0
- package/src/{interfaces/viewers/NetworkStakeViewer → provider/viewer/NetworkStake}/NetworkStakeViewer.ts +2 -2
- package/src/provider/viewer/NetworkStake/Rewards/ByPositionViewer.ts +9 -0
- package/src/provider/viewer/NetworkStake/Rewards/ByStakerViewer.ts +10 -0
- package/src/provider/viewer/NetworkStake/Rewards/ByStepViewer.ts +10 -0
- package/src/provider/viewer/NetworkStake/Rewards/Options.ts +18 -0
- package/src/provider/viewer/NetworkStake/Rewards/TotalViewer.ts +9 -0
- package/src/provider/viewer/NetworkStake/Rewards/Viewer.ts +13 -0
- package/src/provider/viewer/NetworkStake/Rewards/index.ts +7 -0
- package/src/provider/viewer/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.ts +7 -0
- package/src/{interfaces/viewers/NetworkStakeViewer/RewardsViewerMethodsTemplate.ts → provider/viewer/NetworkStake/Rewards/templates/MethodsTemplate.ts} +1 -1
- package/src/provider/viewer/NetworkStake/Rewards/templates/index.ts +2 -0
- package/src/provider/viewer/NetworkStake/index.ts +4 -0
- package/src/{interfaces/viewers/NetworkStakeViewer → provider/viewer}/StepViewer.ts +8 -3
- package/src/provider/{XyoViewer.ts → viewer/XyoViewer.ts} +5 -3
- package/src/provider/viewer/index.ts +3 -0
- package/src/simple/client/SimpleXyoClient.ts +13 -0
- package/src/simple/client/index.ts +1 -0
- package/src/simple/datalake/SimpleDataLakeRunner.ts +36 -0
- package/src/simple/datalake/SimpleDataLakeViewer.ts +74 -0
- package/src/simple/datalake/index.ts +2 -0
- package/src/simple/gateway/SimpleXyoGateway.ts +21 -0
- package/src/simple/gateway/SimpleXyoGatewayRunner.ts +116 -0
- package/src/simple/gateway/index.ts +2 -0
- package/src/simple/index.ts +7 -0
- package/src/simple/network/SimpleXyoNetwork.ts +48 -0
- package/src/simple/network/index.ts +1 -0
- package/src/simple/network/lib/FailedNetworkStatusPayloads.ts +14 -0
- package/src/simple/network/lib/StatusNetworks.ts +27 -0
- package/src/simple/network/lib/index.ts +2 -0
- package/src/simple/network/spec/XyoNetwork.spec.ts +77 -0
- package/src/simple/permissions/SimpleXyoPermissions.ts +82 -0
- package/src/simple/permissions/index.ts +2 -0
- package/src/simple/permissions/spec/SimpleXyoPermissions.spec.ts +93 -0
- package/src/simple/permissions/store/MemoryPermissions.ts +32 -0
- package/src/simple/permissions/store/PermissionsStore.ts +15 -0
- package/src/simple/permissions/store/index.ts +2 -0
- package/src/simple/runner/SimpleXyoRunner.ts +29 -0
- package/src/simple/runner/index.ts +1 -0
- package/src/simple/signer/SimpleXyoSigner.ts +52 -0
- package/src/simple/signer/index.ts +1 -0
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/NetworkStakeViewer.d.ts.map +0 -1
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RecordKeyType.d.ts.map +0 -1
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByIndexViewerMethodsTemplate.d.ts +0 -6
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByIndexViewerMethodsTemplate.d.ts.map +0 -1
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByPositionViewer.d.ts +0 -7
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByPositionViewer.d.ts.map +0 -1
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStakerViewer.d.ts +0 -8
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStakerViewer.d.ts.map +0 -1
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStepViewer.d.ts +0 -8
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStepViewer.d.ts.map +0 -1
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsTotalViewer.d.ts +0 -8
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsTotalViewer.d.ts.map +0 -1
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsViewerMethodsTemplate.d.ts.map +0 -1
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsViewerOptions.d.ts +0 -15
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsViewerOptions.d.ts.map +0 -1
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/StepRewardsViewer.d.ts +0 -13
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/StepRewardsViewer.d.ts.map +0 -1
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/StepViewer.d.ts.map +0 -1
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/index.d.ts +0 -12
- package/dist/neutral/interfaces/viewers/NetworkStakeViewer/index.d.ts.map +0 -1
- package/dist/neutral/provider/XyoDataLake.d.ts +0 -18
- package/dist/neutral/provider/XyoDataLake.d.ts.map +0 -1
- package/dist/neutral/provider/XyoGatewayHelpers.d.ts +0 -16
- package/dist/neutral/provider/XyoGatewayHelpers.d.ts.map +0 -1
- package/dist/neutral/provider/XyoSigner.d.ts.map +0 -1
- package/dist/neutral/provider/XyoViewer.d.ts.map +0 -1
- package/src/interfaces/viewers/NetworkStakeViewer/RewardsByIndexViewerMethodsTemplate.ts +0 -7
- package/src/interfaces/viewers/NetworkStakeViewer/RewardsByPositionViewer.ts +0 -7
- package/src/interfaces/viewers/NetworkStakeViewer/RewardsByStakerViewer.ts +0 -9
- package/src/interfaces/viewers/NetworkStakeViewer/RewardsByStepViewer.ts +0 -9
- package/src/interfaces/viewers/NetworkStakeViewer/RewardsTotalViewer.ts +0 -9
- package/src/interfaces/viewers/NetworkStakeViewer/RewardsViewerOptions.ts +0 -18
- package/src/interfaces/viewers/NetworkStakeViewer/StepRewardsViewer.ts +0 -13
- package/src/interfaces/viewers/NetworkStakeViewer/index.ts +0 -13
- package/src/provider/XyoDataLake.ts +0 -43
- package/src/provider/XyoGatewayHelpers.ts +0 -30
- /package/dist/neutral/{interfaces/viewers/NetworkStakeViewer → model}/RecordKeyType.d.ts +0 -0
- /package/src/{interfaces/viewers/NetworkStakeViewer → model}/RecordKeyType.ts +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { NetworkId } from '@xyo-network/xl1-protocol'
|
|
2
|
+
import { NetworkStatusSchema } from '@xyo-network/xl1-protocol'
|
|
3
|
+
import axios from 'axios'
|
|
4
|
+
import type { Mocked } from 'vitest'
|
|
5
|
+
import {
|
|
6
|
+
beforeEach, describe, expect, it, vitest,
|
|
7
|
+
} from 'vitest'
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
errorStatus, StatusNetworks, unknownStatus,
|
|
11
|
+
} from '../lib/index.ts'
|
|
12
|
+
import { SimpleXyoNetwork } from '../SimpleXyoNetwork.ts'
|
|
13
|
+
|
|
14
|
+
vitest.mock('axios')
|
|
15
|
+
const mockedAxios = axios as Mocked<typeof axios>
|
|
16
|
+
|
|
17
|
+
describe('SimpleXyoNetwork', () => {
|
|
18
|
+
const mockNetworkStatus = {
|
|
19
|
+
description: 'Mock Network Status',
|
|
20
|
+
schema: NetworkStatusSchema,
|
|
21
|
+
state: 'active',
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const networks = Object.values(StatusNetworks)
|
|
25
|
+
|
|
26
|
+
beforeEach(() => {
|
|
27
|
+
vitest.clearAllMocks()
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
for (const { id, statusUrl } of networks) {
|
|
31
|
+
it(`should fetch the ${id} status successfully`, async () => {
|
|
32
|
+
mockedAxios.get.mockResolvedValueOnce({ data: mockNetworkStatus })
|
|
33
|
+
|
|
34
|
+
const network = new SimpleXyoNetwork(id)
|
|
35
|
+
const status = await network.status()
|
|
36
|
+
|
|
37
|
+
expect(mockedAxios.get).toHaveBeenCalledWith(statusUrl)
|
|
38
|
+
expect(status).toEqual(mockNetworkStatus)
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
it(`should return unknownStatus for invalid response data on ${id}`, async () => {
|
|
42
|
+
mockedAxios.get.mockResolvedValueOnce({ data: { invalid: 'data' }, status: 200 })
|
|
43
|
+
|
|
44
|
+
const network = new SimpleXyoNetwork(id)
|
|
45
|
+
const status = await network.status()
|
|
46
|
+
|
|
47
|
+
expect(mockedAxios.get).toHaveBeenCalledWith(statusUrl)
|
|
48
|
+
expect(status).toEqual(unknownStatus)
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
it(`should return errorStatus for non-200 response on ${id}`, async () => {
|
|
52
|
+
mockedAxios.get.mockResolvedValueOnce({ data: {}, status: 500 })
|
|
53
|
+
|
|
54
|
+
const network = new SimpleXyoNetwork(id)
|
|
55
|
+
const status = await network.status()
|
|
56
|
+
|
|
57
|
+
expect(mockedAxios.get).toHaveBeenCalledWith(statusUrl)
|
|
58
|
+
expect(status).toEqual(errorStatus)
|
|
59
|
+
})
|
|
60
|
+
|
|
61
|
+
it(`should return errorStatus for network errors on ${id}`, async () => {
|
|
62
|
+
mockedAxios.get.mockRejectedValueOnce(new Error('Network error'))
|
|
63
|
+
|
|
64
|
+
const network = new SimpleXyoNetwork(id)
|
|
65
|
+
const status = await network.status()
|
|
66
|
+
|
|
67
|
+
expect(mockedAxios.get).toHaveBeenCalledWith(statusUrl)
|
|
68
|
+
expect(status).toEqual(errorStatus)
|
|
69
|
+
})
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
it('should throw an error for unknown network ID', async () => {
|
|
73
|
+
const network = new SimpleXyoNetwork('invalid' as unknown as NetworkId)
|
|
74
|
+
|
|
75
|
+
await expect(network.status()).rejects.toThrow('Unknown status network ID: invalid')
|
|
76
|
+
})
|
|
77
|
+
})
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert'
|
|
2
|
+
|
|
3
|
+
import type {
|
|
4
|
+
CaveatTypes,
|
|
5
|
+
InvokerPermission, PermissionRequest, RequestedPermission, XyoPermissions,
|
|
6
|
+
} from '../../provider/index.ts'
|
|
7
|
+
import type { Invoker, PermissionsStore } from './store/index.ts'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* In-memory implementation of XyoPermissions for testing or ephemeral use cases.
|
|
11
|
+
* Does not persist data beyond the lifetime of the instance.
|
|
12
|
+
* Assumes all permission requests are granted and revocations always succeed.
|
|
13
|
+
*/
|
|
14
|
+
export class SimpleXyoPermissions implements XyoPermissions {
|
|
15
|
+
invoker: Invoker
|
|
16
|
+
private _store: PermissionsStore
|
|
17
|
+
|
|
18
|
+
constructor(store: PermissionsStore) {
|
|
19
|
+
this._store = store
|
|
20
|
+
this.invoker = store.invoker
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
get store(): PermissionsStore {
|
|
24
|
+
return assertEx(this._store, () => 'Store must be defined to get permissions')
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async getPermissions(): Promise<InvokerPermission[]> {
|
|
28
|
+
return await this.store.getPermissions()
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// assumed the permissions are always granted
|
|
32
|
+
async requestPermissions(permissions: PermissionRequest[]): Promise<RequestedPermission[]> {
|
|
33
|
+
await Promise.resolve()
|
|
34
|
+
// Flatten PermissionRequest[] into InvokerPermission[]
|
|
35
|
+
const newPermissions: InvokerPermission[] = []
|
|
36
|
+
const now = Date.now()
|
|
37
|
+
for (const req of permissions) {
|
|
38
|
+
for (const parentCapability in req) {
|
|
39
|
+
newPermissions.push({
|
|
40
|
+
invoker: this.invoker,
|
|
41
|
+
parentCapability,
|
|
42
|
+
caveats: Object.entries(req[parentCapability]).map(([type, value]) => ({ type: type as CaveatTypes, value })),
|
|
43
|
+
date: now,
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Update or add permissions in the store
|
|
49
|
+
const existingPermissions = await this.getPermissions()
|
|
50
|
+
for (const perm of newPermissions) {
|
|
51
|
+
const idx = existingPermissions.findIndex(
|
|
52
|
+
p => p.invoker === perm.invoker && p.parentCapability === perm.parentCapability,
|
|
53
|
+
)
|
|
54
|
+
if (idx === -1) {
|
|
55
|
+
existingPermissions.push(perm)
|
|
56
|
+
} else {
|
|
57
|
+
existingPermissions[idx] = perm
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
await this.store.setPermissions(existingPermissions)
|
|
61
|
+
|
|
62
|
+
// Return the granted permissions in RequestedPermission shape
|
|
63
|
+
return newPermissions.map(({ parentCapability, date }) => ({ parentCapability, date }))
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Assumes the permissions are always revoked
|
|
67
|
+
async revokePermissions(permissions: PermissionRequest): Promise<RequestedPermission[]> {
|
|
68
|
+
const existingPermissions = await this.getPermissions()
|
|
69
|
+
const revoked: RequestedPermission[] = []
|
|
70
|
+
for (const parentCapability in permissions) {
|
|
71
|
+
const idx = existingPermissions.findIndex(
|
|
72
|
+
p => p.invoker === this.invoker && p.parentCapability === parentCapability,
|
|
73
|
+
)
|
|
74
|
+
if (idx !== -1) {
|
|
75
|
+
const removed = existingPermissions.splice(idx, 1)[0]
|
|
76
|
+
revoked.push({ parentCapability: removed.parentCapability, date: removed.date })
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
await this.store.setPermissions(existingPermissions)
|
|
80
|
+
return revoked
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import {
|
|
2
|
+
beforeEach, describe, expect, it,
|
|
3
|
+
} from 'vitest'
|
|
4
|
+
|
|
5
|
+
import type { PermissionRequest } from '../../../provider/index.ts'
|
|
6
|
+
import { SimpleXyoPermissions } from '../SimpleXyoPermissions.ts'
|
|
7
|
+
import { MemoryPermissionsStore } from '../store/index.ts'
|
|
8
|
+
|
|
9
|
+
describe('MemoryXyoPermissions', () => {
|
|
10
|
+
const invoker = 'https://example.com'
|
|
11
|
+
const parentCapability = 'xyoViewer_chainId'
|
|
12
|
+
let memoryPermissions: SimpleXyoPermissions
|
|
13
|
+
|
|
14
|
+
// Helper to build PermissionRequest
|
|
15
|
+
const buildPermissionRequest = (cap: string, caveats: Record<string, unknown> = {}) =>
|
|
16
|
+
({ [cap]: caveats }) as PermissionRequest
|
|
17
|
+
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
memoryPermissions = new SimpleXyoPermissions(new MemoryPermissionsStore(invoker))
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
it('returns an empty list initially', async () => {
|
|
23
|
+
const permissions = await memoryPermissions.getPermissions()
|
|
24
|
+
expect(permissions).toEqual([])
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
it('adds and retrieves a permission', async () => {
|
|
28
|
+
const req = buildPermissionRequest(parentCapability)
|
|
29
|
+
const result = await memoryPermissions.requestPermissions([req])
|
|
30
|
+
expect(Array.isArray(result)).toBe(true)
|
|
31
|
+
expect(result.length).toBe(1)
|
|
32
|
+
expect(result[0].parentCapability).toBe(parentCapability)
|
|
33
|
+
expect(typeof result[0].date).toBe('number')
|
|
34
|
+
|
|
35
|
+
const permissions = await memoryPermissions.getPermissions()
|
|
36
|
+
expect(permissions.length).toBe(1)
|
|
37
|
+
expect(permissions[0].parentCapability).toBe(parentCapability)
|
|
38
|
+
expect(permissions[0].invoker).toBe(invoker)
|
|
39
|
+
expect(typeof permissions[0].date).toBe('number')
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
it('replaces an existing permission with the same key', async () => {
|
|
43
|
+
const req = buildPermissionRequest(parentCapability)
|
|
44
|
+
await memoryPermissions.requestPermissions([req])
|
|
45
|
+
const originalDate = (await memoryPermissions.getPermissions())[0].date
|
|
46
|
+
|
|
47
|
+
await new Promise(r => setTimeout(r, 5)) // ensure timestamp difference
|
|
48
|
+
await memoryPermissions.requestPermissions([req])
|
|
49
|
+
const updatedDate = (await memoryPermissions.getPermissions())[0].date
|
|
50
|
+
|
|
51
|
+
expect(updatedDate).toBeGreaterThan(originalDate!)
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
it('revokes a previously granted permission', async () => {
|
|
55
|
+
const req = buildPermissionRequest(parentCapability)
|
|
56
|
+
await memoryPermissions.requestPermissions([req])
|
|
57
|
+
expect((await memoryPermissions.getPermissions()).length).toBe(1)
|
|
58
|
+
|
|
59
|
+
const result = await memoryPermissions.revokePermissions(req)
|
|
60
|
+
expect(Array.isArray(result)).toBe(true)
|
|
61
|
+
expect(result.length).toBe(1)
|
|
62
|
+
expect(result[0].parentCapability).toBe(parentCapability)
|
|
63
|
+
|
|
64
|
+
const permissions = await memoryPermissions.getPermissions()
|
|
65
|
+
expect(permissions).toEqual([])
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
it('revoking a non-existent permission does nothing and returns empty array', async () => {
|
|
69
|
+
const req = buildPermissionRequest(parentCapability)
|
|
70
|
+
const result = await memoryPermissions.revokePermissions(req)
|
|
71
|
+
expect(result).toEqual([])
|
|
72
|
+
expect(await memoryPermissions.getPermissions()).toEqual([])
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
it('can handle multiple permissions from different invokers', async () => {
|
|
76
|
+
const memoryPermissionsA = new SimpleXyoPermissions(new MemoryPermissionsStore('https://a.com'))
|
|
77
|
+
const memoryPermissionsB = new SimpleXyoPermissions(new MemoryPermissionsStore('https://b.com'))
|
|
78
|
+
const reqA1 = buildPermissionRequest('xyo_1')
|
|
79
|
+
const reqA2 = buildPermissionRequest('xyo_3')
|
|
80
|
+
const reqB = buildPermissionRequest('xyo_2')
|
|
81
|
+
|
|
82
|
+
await memoryPermissionsA.requestPermissions([reqA1, reqA2])
|
|
83
|
+
await memoryPermissionsB.requestPermissions([reqB])
|
|
84
|
+
|
|
85
|
+
const resultsA = await memoryPermissionsA.getPermissions()
|
|
86
|
+
const resultsB = await memoryPermissionsB.getPermissions()
|
|
87
|
+
|
|
88
|
+
expect(resultsA.length).toBe(2)
|
|
89
|
+
expect(resultsB.length).toBe(1)
|
|
90
|
+
expect(resultsA.map(p => p.parentCapability).toSorted((a, b) => a.localeCompare(b))).toEqual(['xyo_1', 'xyo_3'])
|
|
91
|
+
expect(resultsB[0].parentCapability).toBe('xyo_2')
|
|
92
|
+
})
|
|
93
|
+
})
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert'
|
|
2
|
+
|
|
3
|
+
import type { InvokerPermission } from '../../../provider/index.ts'
|
|
4
|
+
import type { Invoker, PermissionsStore } from './PermissionsStore.ts'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* In-memory implementation of XyoPermissions for testing or ephemeral use cases.
|
|
8
|
+
* Does not persist data beyond the lifetime of the instance.
|
|
9
|
+
* Assumes all permission requests are granted and revocations always succeed.
|
|
10
|
+
*/
|
|
11
|
+
export class MemoryPermissionsStore implements PermissionsStore {
|
|
12
|
+
private _invoker: Invoker
|
|
13
|
+
private permissions: InvokerPermission[] = []
|
|
14
|
+
|
|
15
|
+
constructor(invoker: Invoker) {
|
|
16
|
+
this._invoker = invoker
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
get invoker(): Invoker {
|
|
20
|
+
return assertEx(this._invoker, () => 'Invoker must be defined to get permissions')
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async getPermissions(): Promise<InvokerPermission[]> {
|
|
24
|
+
await Promise.resolve()
|
|
25
|
+
return this.permissions
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async setPermissions(permissions: InvokerPermission[]): Promise<void> {
|
|
29
|
+
await Promise.resolve()
|
|
30
|
+
this.permissions = permissions
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { InvokerPermission, PermissionsGetHandler } from '../../../provider/index.ts'
|
|
2
|
+
|
|
3
|
+
export type Invoker = string
|
|
4
|
+
export type ParentCapability = string
|
|
5
|
+
/**
|
|
6
|
+
* Interface for a permissions store that abstracts away the storage medium.
|
|
7
|
+
* (i.e. in-memory, browser storage, database, etc.)
|
|
8
|
+
*/
|
|
9
|
+
export interface PermissionsStore extends PermissionsGetHandler {
|
|
10
|
+
// The invoker associated with this permissions store
|
|
11
|
+
readonly invoker: Invoker
|
|
12
|
+
// Retrieve all permissions associated with the invoker.
|
|
13
|
+
// Store or update permissions for the invoker
|
|
14
|
+
setPermissions(permissions: InvokerPermission[]): Promise<void>
|
|
15
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Hash } from '@xylabs/hex'
|
|
2
|
+
import { MemoryArchivist } from '@xyo-network/archivist-memory'
|
|
3
|
+
import type { ArchivistInstance } from '@xyo-network/archivist-model'
|
|
4
|
+
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
5
|
+
import type { SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-protocol'
|
|
6
|
+
|
|
7
|
+
import type { XyoRunner } from '../../provider/index.ts'
|
|
8
|
+
import { flattenHydratedTransaction } from '../../transaction/index.ts'
|
|
9
|
+
|
|
10
|
+
export class SimpleXyoRunner implements XyoRunner {
|
|
11
|
+
private _mempoolArchivist?: ArchivistInstance
|
|
12
|
+
|
|
13
|
+
constructor(mempoolArchivist?: ArchivistInstance) {
|
|
14
|
+
this._mempoolArchivist = mempoolArchivist
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async broadcastTransaction(transaction: SignedHydratedTransactionWithStorageMeta): Promise<Hash> {
|
|
18
|
+
const archivist = await this.getMempoolArchivist()
|
|
19
|
+
await archivist.insert(flattenHydratedTransaction(transaction))
|
|
20
|
+
return await PayloadBuilder.hash(transaction[0])
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
protected async getMempoolArchivist(): Promise<ArchivistInstance> {
|
|
24
|
+
if (!this._mempoolArchivist) {
|
|
25
|
+
this._mempoolArchivist = await MemoryArchivist.create({ account: 'random' })
|
|
26
|
+
}
|
|
27
|
+
return this._mempoolArchivist
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SimpleXyoRunner.ts'
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Address } from '@xylabs/hex'
|
|
2
|
+
import type { Promisable } from '@xylabs/promise'
|
|
3
|
+
import type { AccountInstance } from '@xyo-network/account-model'
|
|
4
|
+
import type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model'
|
|
5
|
+
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
6
|
+
import { type Payload } from '@xyo-network/payload-model'
|
|
7
|
+
import type {
|
|
8
|
+
AllowedBlockPayload, ChainId, SignedHydratedTransactionWithHashMeta, TransactionBoundWitness, TransactionFeesBigInt,
|
|
9
|
+
} from '@xyo-network/xl1-protocol'
|
|
10
|
+
|
|
11
|
+
import type { XyoSigner } from '../../provider/index.ts'
|
|
12
|
+
import { buildTransaction, signTransaction } from '../../transaction/index.ts'
|
|
13
|
+
|
|
14
|
+
export class SimpleXyoSigner implements XyoSigner {
|
|
15
|
+
protected readonly _account: AccountInstance
|
|
16
|
+
|
|
17
|
+
constructor(account: AccountInstance) {
|
|
18
|
+
this._account = account
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
address(): Promisable<Address> {
|
|
22
|
+
return this._account.address
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async createSignedTransaction(
|
|
26
|
+
chain: ChainId,
|
|
27
|
+
elevatedPayloads: AllowedBlockPayload[],
|
|
28
|
+
additionalPayloads: Payload[],
|
|
29
|
+
nbf: number,
|
|
30
|
+
exp: number,
|
|
31
|
+
fees: TransactionFeesBigInt,
|
|
32
|
+
from?: Address,
|
|
33
|
+
): Promise<Signed<TransactionBoundWitness>> {
|
|
34
|
+
const fromAddress = from ?? this._account.address
|
|
35
|
+
const transaction = await buildTransaction(
|
|
36
|
+
chain,
|
|
37
|
+
elevatedPayloads,
|
|
38
|
+
additionalPayloads,
|
|
39
|
+
this._account,
|
|
40
|
+
nbf,
|
|
41
|
+
exp,
|
|
42
|
+
fromAddress,
|
|
43
|
+
fees,
|
|
44
|
+
)
|
|
45
|
+
return transaction[0]
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
async signTransaction(tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promise<SignedHydratedTransactionWithHashMeta> {
|
|
49
|
+
const txBW = await signTransaction(tx[0], this._account)
|
|
50
|
+
return [await PayloadBuilder.addStorageMeta(txBW), await PayloadBuilder.addStorageMeta(tx[1])]
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SimpleXyoSigner.ts'
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkStakeViewer.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/NetworkStakeViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,WAAW,yBAAyB;IACxC,oFAAoF;IACpF,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAC3D;AAED,MAAM,WAAW,kBAAmB,SAAQ,yBAAyB;IACnE,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAChC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RecordKeyType.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/RecordKeyType.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAA"}
|
package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByIndexViewerMethodsTemplate.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { AttoXL1 } from '@xyo-network/xl1-protocol';
|
|
2
|
-
import type { RecordKeyType } from './RecordKeyType.ts';
|
|
3
|
-
import type { RewardsViewerMethodsTemplate } from './RewardsViewerMethodsTemplate.ts';
|
|
4
|
-
export interface RewardsByIndexViewerMethodsTemplate<TOptions, TResultIndex extends RecordKeyType> extends RewardsViewerMethodsTemplate<TOptions, Record<TResultIndex, AttoXL1>> {
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=RewardsByIndexViewerMethodsTemplate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RewardsByIndexViewerMethodsTemplate.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/RewardsByIndexViewerMethodsTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAErF,MAAM,WAAW,mCAAmC,CAAC,QAAQ,EAAE,YAAY,SAAS,aAAa,CAC/F,SAAQ,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;CAAG"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { RewardsByIndexViewerMethodsTemplate } from './RewardsByIndexViewerMethodsTemplate.ts';
|
|
2
|
-
import type { RewardsByPositionViewerOptions } from './RewardsViewerOptions.ts';
|
|
3
|
-
export interface RewardsByPositionViewerMethods extends RewardsByIndexViewerMethodsTemplate<RewardsByPositionViewerOptions, number> {
|
|
4
|
-
}
|
|
5
|
-
export interface RewardsByPositionViewer extends RewardsByPositionViewerMethods {
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=RewardsByPositionViewer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RewardsByPositionViewer.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/RewardsByPositionViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAA;AACnG,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAI/E,MAAM,WAAW,8BAA+B,SAAQ,mCAAmC,CAAC,8BAA8B,EAAE,MAAM,CAAC;CAAG;AACtI,MAAM,WAAW,uBAAwB,SAAQ,8BAA8B;CAAG"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Address } from '@xylabs/hex';
|
|
2
|
-
import type { RewardsByIndexViewerMethodsTemplate } from './RewardsByIndexViewerMethodsTemplate.ts';
|
|
3
|
-
import type { RewardsByStakerViewerOptions } from './RewardsViewerOptions.ts';
|
|
4
|
-
export interface RewardsByStakerViewerMethods extends RewardsByIndexViewerMethodsTemplate<RewardsByStakerViewerOptions, Address> {
|
|
5
|
-
}
|
|
6
|
-
export interface RewardsByStakerViewer extends RewardsByStakerViewerMethods {
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=RewardsByStakerViewer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RewardsByStakerViewer.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/RewardsByStakerViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAA;AACnG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAI7E,MAAM,WAAW,4BAA6B,SAAQ,mCAAmC,CAAC,4BAA4B,EAAE,OAAO,CAAC;CAAG;AACnI,MAAM,WAAW,qBAAsB,SAAQ,4BAA4B;CAAG"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { StepIdentityString } from '@xyo-network/xl1-protocol';
|
|
2
|
-
import type { RewardsByIndexViewerMethodsTemplate } from './RewardsByIndexViewerMethodsTemplate.ts';
|
|
3
|
-
import type { RewardsByStepViewerOptions } from './RewardsViewerOptions.ts';
|
|
4
|
-
export interface RewardsByStepViewerMethods extends RewardsByIndexViewerMethodsTemplate<RewardsByStepViewerOptions, StepIdentityString> {
|
|
5
|
-
}
|
|
6
|
-
export interface RewardsByStepViewer extends RewardsByStepViewerMethods {
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=RewardsByStepViewer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RewardsByStepViewer.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/RewardsByStepViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAA;AACnG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAI3E,MAAM,WAAW,0BAA2B,SAAQ,mCAAmC,CAAC,0BAA0B,EAAE,kBAAkB,CAAC;CAAG;AAC1I,MAAM,WAAW,mBAAoB,SAAQ,0BAA0B;CAAG"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { AttoXL1 } from '@xyo-network/xl1-protocol';
|
|
2
|
-
import type { RewardsViewerMethodsTemplate } from './RewardsViewerMethodsTemplate.ts';
|
|
3
|
-
import type { RewardsRangeOptions } from './RewardsViewerOptions.ts';
|
|
4
|
-
export interface RewardsTotalViewerMethods extends RewardsViewerMethodsTemplate<RewardsRangeOptions, AttoXL1> {
|
|
5
|
-
}
|
|
6
|
-
export interface RewardsTotalViewer extends RewardsTotalViewerMethods {
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=RewardsTotalViewer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RewardsTotalViewer.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/RewardsTotalViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAIpE,MAAM,WAAW,yBAA0B,SAAQ,4BAA4B,CAAC,mBAAmB,EAAE,OAAO,CAAC;CAAG;AAChH,MAAM,WAAW,kBAAmB,SAAQ,yBAAyB;CAAG"}
|
package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsViewerMethodsTemplate.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RewardsViewerMethodsTemplate.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/RewardsViewerMethodsTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,WAAW,4BAA4B,CAAC,QAAQ,EAAE,OAAO;IAC7D,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAC9C,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAChD,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAC/C,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAC9C,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;CACnD"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { Address } from '@xylabs/hex';
|
|
2
|
-
import type { BlockRange, StepIdentity } from '@xyo-network/xl1-protocol';
|
|
3
|
-
export interface RewardsRangeOptions {
|
|
4
|
-
range?: BlockRange;
|
|
5
|
-
}
|
|
6
|
-
export interface RewardsByStepViewerOptions extends RewardsRangeOptions {
|
|
7
|
-
steps?: StepIdentity[];
|
|
8
|
-
}
|
|
9
|
-
export interface RewardsByStakerViewerOptions extends RewardsRangeOptions {
|
|
10
|
-
stakers?: Address[];
|
|
11
|
-
}
|
|
12
|
-
export interface RewardsByPositionViewerOptions extends RewardsRangeOptions {
|
|
13
|
-
positions?: number[];
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=RewardsViewerOptions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RewardsViewerOptions.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/RewardsViewerOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAEzE,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,UAAU,CAAA;CACnB;AAED,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACzE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { RewardsByPositionViewer } from './RewardsByPositionViewer.ts';
|
|
2
|
-
import type { RewardsByStakerViewer } from './RewardsByStakerViewer.ts';
|
|
3
|
-
import type { RewardsByStepViewer } from './RewardsByStepViewer.ts';
|
|
4
|
-
import type { RewardsTotalViewer } from './RewardsTotalViewer.ts';
|
|
5
|
-
export interface StepRewardsViewerMethods {
|
|
6
|
-
}
|
|
7
|
-
export interface StepRewardsViewer extends StepRewardsViewerMethods {
|
|
8
|
-
position?: RewardsByPositionViewer;
|
|
9
|
-
staker?: RewardsByStakerViewer;
|
|
10
|
-
step?: RewardsByStepViewer;
|
|
11
|
-
total?: RewardsTotalViewer;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=StepRewardsViewer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StepRewardsViewer.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/StepRewardsViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,wBAAwB;CAAG;AAE5C,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB;IACjE,QAAQ,CAAC,EAAE,uBAAuB,CAAA;IAClC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B,KAAK,CAAC,EAAE,kBAAkB,CAAA;CAC3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StepViewer.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/StepViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAGhC,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAErD,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;IAGtF,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAGlD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAG7C,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAEnD,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IAGjF,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;CAC/C"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export * from './NetworkStakeViewer.ts';
|
|
2
|
-
export * from './RecordKeyType.ts';
|
|
3
|
-
export * from './RewardsByIndexViewerMethodsTemplate.ts';
|
|
4
|
-
export * from './RewardsByPositionViewer.ts';
|
|
5
|
-
export * from './RewardsByStakerViewer.ts';
|
|
6
|
-
export * from './RewardsByStepViewer.ts';
|
|
7
|
-
export * from './RewardsTotalViewer.ts';
|
|
8
|
-
export * from './RewardsViewerMethodsTemplate.ts';
|
|
9
|
-
export * from './RewardsViewerOptions.ts';
|
|
10
|
-
export * from './StepRewardsViewer.ts';
|
|
11
|
-
export * from './StepViewer.ts';
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/viewers/NetworkStakeViewer/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0CAA0C,CAAA;AACxD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mCAAmC,CAAA;AACjD,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Hash } from '@xylabs/hex';
|
|
2
|
-
import type { Promisable } from '@xylabs/promise';
|
|
3
|
-
import type { Payload } from '@xyo-network/payload-model';
|
|
4
|
-
export type DataLakeData = Payload | ArrayBuffer;
|
|
5
|
-
export interface XyoDataLakeViewer {
|
|
6
|
-
fetch(hashes: Hash[], maxDepth?: number): Promisable<DataLakeData[]>;
|
|
7
|
-
get(hashes: Hash[]): Promisable<DataLakeData[]>;
|
|
8
|
-
trace(hash: Hash): Promisable<[DataLakeData | undefined, Payload[]]>;
|
|
9
|
-
}
|
|
10
|
-
export interface XyoDataLake extends XyoDataLakeViewer {
|
|
11
|
-
add(items: DataLakeData[]): Promisable<DataLakeData[]>;
|
|
12
|
-
}
|
|
13
|
-
/** @deprecated use XyoDataLake instead */
|
|
14
|
-
export interface XyoDataLakeProvider extends XyoDataLake {
|
|
15
|
-
}
|
|
16
|
-
export declare const isDataLakeViewer: (value: unknown) => value is XyoDataLakeViewer;
|
|
17
|
-
export declare const isDataLakeProvider: (value: unknown) => value is XyoDataLake;
|
|
18
|
-
//# sourceMappingURL=XyoDataLake.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XyoDataLake.d.ts","sourceRoot":"","sources":["../../../src/provider/XyoDataLake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,WAAW,CAAA;AAEhD,MAAM,WAAW,iBAAiB;IAEhC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAAA;IAEpE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAAA;IAE/C,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC,YAAY,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;CACrE;AAED,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IACpD,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC,CAAA;CACvD;AAED,0CAA0C;AAC1C,MAAM,WAAW,mBAAoB,SAAQ,WAAW;CACvD;AAED,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,iBAW1D,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAM5D,CAAA"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Address, Hash, Hex } from '@xylabs/hex';
|
|
2
|
-
import type { Promisable } from '@xylabs/promise';
|
|
3
|
-
import type { Payload } from '@xyo-network/payload-model';
|
|
4
|
-
import type { AllowedBlockPayload, TransactionBoundWitness, TransactionFeesBigInt } from '@xyo-network/xl1-protocol';
|
|
5
|
-
export interface TransactionOptions {
|
|
6
|
-
chain?: Hex;
|
|
7
|
-
exp?: number;
|
|
8
|
-
fees?: TransactionFeesBigInt;
|
|
9
|
-
from?: Address;
|
|
10
|
-
nbf?: number;
|
|
11
|
-
}
|
|
12
|
-
export interface XyoGatewayHelpers {
|
|
13
|
-
addPayloadsToChain(onChain: AllowedBlockPayload[], offChain: Payload[], options?: TransactionOptions): Promisable<[Hash, [TransactionBoundWitness, Payload[]]]>;
|
|
14
|
-
addTransactionToChain(tx: [TransactionBoundWitness, Payload[]]): Promisable<Hash>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=XyoGatewayHelpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XyoGatewayHelpers.d.ts","sourceRoot":"","sources":["../../../src/provider/XyoGatewayHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EAAE,GAAG,EACnB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EAAE,uBAAuB,EAAE,qBAAqB,EACpE,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,qBAAqB,CAAA;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAEhC,kBAAkB,CAChB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,uBAAuB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IAE3D,qBAAqB,CACnB,EAAE,EAAE,CAAC,uBAAuB,EAAE,OAAO,EAAE,CAAC,GACvC,UAAU,CAAC,IAAI,CAAC,CAAA;CAEpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XyoSigner.d.ts","sourceRoot":"","sources":["../../../src/provider/XyoSigner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EAAE,OAAO,EAAE,uBAAuB,EACrD,qBAAqB,EACtB,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,SAAS;IACxB,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;IAI9B,eAAe,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;CAC1I;AAED,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,uBAAuB,CACrB,KAAK,EAAE,OAAO,EACd,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,kBAAkB,EAAE,OAAO,EAAE,EAC7B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,qBAAqB,EAC3B,IAAI,CAAC,EAAE,OAAO,GACb,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAA;CAC/C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XyoViewer.d.ts","sourceRoot":"","sources":["../../../src/provider/XyoViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAAE,kBAAkB,EAAE,kBAAkB,EACnE,UAAU,EACV,mCAAmC,EACnC,kBAAkB,EAClB,WAAW,EACX,wBAAwB,EAAE,4BAA4B,EACvD,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,gBAAiB,SAAQ,2BAA2B,EAAE,4BAA4B,EACjG,mCAAmC,EACnC,kBAAkB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,WAAW,EAAE,UAAU;CAC1F;AAED,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IACjD,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { AttoXL1 } from '@xyo-network/xl1-protocol'
|
|
2
|
-
|
|
3
|
-
import type { RecordKeyType } from './RecordKeyType.ts'
|
|
4
|
-
import type { RewardsViewerMethodsTemplate } from './RewardsViewerMethodsTemplate.ts'
|
|
5
|
-
|
|
6
|
-
export interface RewardsByIndexViewerMethodsTemplate<TOptions, TResultIndex extends RecordKeyType>
|
|
7
|
-
extends RewardsViewerMethodsTemplate<TOptions, Record<TResultIndex, AttoXL1>> {}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { RewardsByIndexViewerMethodsTemplate } from './RewardsByIndexViewerMethodsTemplate.ts'
|
|
2
|
-
import type { RewardsByPositionViewerOptions } from './RewardsViewerOptions.ts'
|
|
3
|
-
|
|
4
|
-
// Note: Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.
|
|
5
|
-
|
|
6
|
-
export interface RewardsByPositionViewerMethods extends RewardsByIndexViewerMethodsTemplate<RewardsByPositionViewerOptions, number> {}
|
|
7
|
-
export interface RewardsByPositionViewer extends RewardsByPositionViewerMethods {}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Address } from '@xylabs/hex'
|
|
2
|
-
|
|
3
|
-
import type { RewardsByIndexViewerMethodsTemplate } from './RewardsByIndexViewerMethodsTemplate.ts'
|
|
4
|
-
import type { RewardsByStakerViewerOptions } from './RewardsViewerOptions.ts'
|
|
5
|
-
|
|
6
|
-
// Note: Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.
|
|
7
|
-
|
|
8
|
-
export interface RewardsByStakerViewerMethods extends RewardsByIndexViewerMethodsTemplate<RewardsByStakerViewerOptions, Address> {}
|
|
9
|
-
export interface RewardsByStakerViewer extends RewardsByStakerViewerMethods {}
|