@xyo-network/xl1-providers 1.26.12 → 1.26.13

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.
@@ -1,150 +0,0 @@
1
- import type {
2
- ArchivistInstance, NodeInstance, WithHashMeta,
3
- } from '@xyo-network/sdk-js'
4
- import type { MapType, Position } from '@xyo-network/xl1-protocol-lib'
5
- import type {
6
- BalancesStepSummary, CreatableProviderContext, TransfersStepSummary,
7
- } from '@xyo-network/xl1-protocol-sdk'
8
- import {
9
- ConfigZod,
10
- getEmptyProviderContext, ProviderFactoryLocator, SimpleAccountBalanceViewer, SimpleBlockViewer, SimpleFinalizationViewer, SimpleMempoolRunner, SimpleMempoolViewer,
11
- SimpleStakeEventsViewer, SimpleStakeViewer, SimpleTimeSyncViewer, SimpleWindowedBlockViewer, SimpleXyoRunner,
12
- } from '@xyo-network/xl1-protocol-sdk'
13
- import type { TransportFactory } from '@xyo-network/xl1-rpc'
14
- import {
15
- AccountBalanceViewerRpcSchemas, BlockViewerRpcSchemas, JsonRpcAccountBalanceViewer, JsonRpcBlockViewer,
16
- JsonRpcMempoolRunner, JsonRpcMempoolViewer, JsonRpcNetworkStakeStepRewardsViewer, JsonRpcNetworkStakeViewer, JsonRpcStakeTotalsViewer,
17
- JsonRpcTimeSyncViewer, JsonRpcXyoRunner, JsonRpcXyoViewer, MempoolRunnerRpcSchemas, MempoolViewerRpcSchemas, NetworkStakeViewerRpcSchemas,
18
- StakeTotalsViewerRpcSchemas, TimeSyncViewerRpcSchemas, XyoRunnerRpcSchemas, XyoViewerRpcSchemas,
19
- } from '@xyo-network/xl1-rpc'
20
-
21
- import { NodeXyoViewer } from './NodeXyoViewer.ts'
22
- import type { GatewayRunnerLocatorParams } from './registerHelpers.ts'
23
- import { registerGatewayWithLocator } from './registerHelpers.ts'
24
- import { SimpleNetworkStakeViewer } from './SimpleNetworkStakeViewer.ts'
25
- import {
26
- SimpleStepRewardsByPositionViewer, SimpleStepRewardsByStakerViewer, SimpleStepRewardsByStepViewer, SimpleStepRewardsTotalViewer, SimpleStepRewardsViewer,
27
- } from './SimpleStepRewards/index.ts'
28
- import { SimpleStepViewer } from './SimpleStepViewer.ts'
29
-
30
- /** @deprecated use buildEmptyProviderLocator */
31
- export interface BuildProviderLocatorParams {
32
- context?: Omit<CreatableProviderContext, 'locator'> & Partial<{ locator: CreatableProviderContext['locator'] }>
33
- }
34
-
35
- /** @deprecated use buildEmptyProviderLocator */
36
-
37
- /** Builds a provider locator with the given context and options. */
38
- export function buildProviderLocator({ context = getEmptyProviderContext(ConfigZod.parse({})) }: BuildProviderLocatorParams = {}) {
39
- const {
40
- config, locator, singletons = {}, caches = {}, ...restOfContext
41
- } = context
42
- return new ProviderFactoryLocator({
43
- ...restOfContext, config, singletons, caches,
44
- }, locator?.registry)
45
- }
46
-
47
- /** @deprecated use buildSimpleProviderLocatorV2 instead */
48
-
49
- /** Parameters for building a simple provider locator. */
50
- export interface BuildSimpleProviderLocatorParams extends BuildProviderLocatorParams, GatewayRunnerLocatorParams {
51
- }
52
-
53
- /** @deprecated use buildSimpleProviderLocatorV2 instead */
54
-
55
- /** Builds a simple provider locator with default configuration. */
56
- export function buildSimpleProviderLocator(params?: BuildSimpleProviderLocatorParams) {
57
- const locator = buildProviderLocator(params)
58
- const positions: Position[] = []
59
- locator.registerMany([
60
- SimpleStakeViewer.factory<SimpleStakeViewer>(SimpleStakeViewer.dependencies, { positions }),
61
- SimpleStakeEventsViewer.factory<SimpleStakeEventsViewer>(SimpleStakeEventsViewer.dependencies, { positions }),
62
- SimpleNetworkStakeViewer.factory<SimpleNetworkStakeViewer>(SimpleNetworkStakeViewer.dependencies, {}),
63
- SimpleTimeSyncViewer.factory<SimpleTimeSyncViewer>(SimpleTimeSyncViewer.dependencies, {}),
64
- SimpleStepViewer.factory<SimpleStepViewer>(SimpleStepViewer.dependencies, {}),
65
- SimpleStepRewardsViewer.factory<SimpleStepRewardsViewer>(SimpleStepRewardsViewer.dependencies, {}),
66
- SimpleStepRewardsByPositionViewer.factory<SimpleStepRewardsByPositionViewer>(SimpleStepRewardsByPositionViewer.dependencies, {}),
67
- SimpleStepRewardsByStakerViewer.factory<SimpleStepRewardsByStakerViewer>(SimpleStepRewardsByStakerViewer.dependencies, {}),
68
- SimpleStepRewardsByStepViewer.factory<SimpleStepRewardsByStepViewer>(SimpleStepRewardsByStepViewer.dependencies, {}),
69
- SimpleStepRewardsTotalViewer.factory<SimpleStepRewardsTotalViewer>(SimpleStepRewardsTotalViewer.dependencies, {}),
70
- ])
71
-
72
- return registerGatewayWithLocator(locator, params?.signerAccount)
73
- }
74
-
75
- /** @deprecated use buildJsonRpcProviderLocatorV2 instead */
76
-
77
- /** Parameters for building a JSON-RPC provider locator. */
78
- export interface BuildJsonRpcProviderLocatorParams extends BuildProviderLocatorParams, GatewayRunnerLocatorParams {
79
- transportFactory: TransportFactory
80
- }
81
-
82
- /** @deprecated use buildJsonRpcProviderLocatorV2 instead */
83
-
84
- /** Builds a JSON-RPC provider locator connecting to a remote node. */
85
- export async function buildJsonRpcProviderLocator(params: BuildJsonRpcProviderLocatorParams) {
86
- const locator = buildProviderLocator(params)
87
- const transportFactory = params.transportFactory
88
- const positions: Position[] = []
89
- locator.registerMany([
90
- JsonRpcStakeTotalsViewer.factory<JsonRpcStakeTotalsViewer>(
91
- JsonRpcStakeTotalsViewer.dependencies,
92
- { transport: await transportFactory(StakeTotalsViewerRpcSchemas) },
93
- ),
94
- JsonRpcAccountBalanceViewer.factory<JsonRpcAccountBalanceViewer>(
95
- JsonRpcAccountBalanceViewer.dependencies,
96
- { transport: await transportFactory(AccountBalanceViewerRpcSchemas) },
97
- ),
98
- JsonRpcBlockViewer.factory<JsonRpcBlockViewer>(JsonRpcBlockViewer.dependencies, { transport: await transportFactory(BlockViewerRpcSchemas) }),
99
- JsonRpcMempoolRunner.factory<JsonRpcMempoolRunner>(JsonRpcMempoolRunner.dependencies, { transport: await transportFactory(MempoolRunnerRpcSchemas) }),
100
- JsonRpcMempoolViewer.factory<JsonRpcMempoolViewer>(JsonRpcMempoolViewer.dependencies, { transport: await transportFactory(MempoolViewerRpcSchemas) }),
101
- JsonRpcNetworkStakeViewer.factory<JsonRpcNetworkStakeViewer>(
102
- JsonRpcNetworkStakeViewer.dependencies,
103
- { transport: await transportFactory(NetworkStakeViewerRpcSchemas) },
104
- ),
105
- JsonRpcTimeSyncViewer.factory<JsonRpcTimeSyncViewer>(JsonRpcTimeSyncViewer.dependencies, { transport: await transportFactory(TimeSyncViewerRpcSchemas) }),
106
- JsonRpcNetworkStakeStepRewardsViewer.factory<JsonRpcNetworkStakeStepRewardsViewer>(
107
- JsonRpcNetworkStakeStepRewardsViewer.dependencies,
108
- { transport: await transportFactory({}) },
109
- ),
110
- JsonRpcXyoRunner.factory<JsonRpcXyoRunner>(JsonRpcXyoRunner.dependencies, { transport: await transportFactory(XyoRunnerRpcSchemas) }),
111
- JsonRpcXyoViewer.factory<JsonRpcXyoViewer>(JsonRpcXyoViewer.dependencies, { transport: await transportFactory(XyoViewerRpcSchemas) }),
112
- SimpleStakeViewer.factory<SimpleStakeViewer>(SimpleStakeViewer.dependencies, { positions }),
113
- SimpleStakeEventsViewer.factory<SimpleStakeEventsViewer>(SimpleStakeEventsViewer.dependencies, { positions }),
114
- SimpleStepViewer.factory<SimpleStepViewer>(SimpleStepViewer.dependencies, {}),
115
- ])
116
-
117
- return registerGatewayWithLocator(locator, params?.signerAccount)
118
- }
119
-
120
- /** deprecated use buildLocalProviderLocatorV2 instead */
121
-
122
- /** Parameters for building a local provider locator. */
123
- export interface BuildLocalProviderLocatorParams extends BuildProviderLocatorParams, GatewayRunnerLocatorParams {
124
- balancesSummaryMap: MapType<string, WithHashMeta<BalancesStepSummary>>
125
- finalizedArchivist: ArchivistInstance
126
- node: NodeInstance
127
- pendingBlocksArchivist: ArchivistInstance
128
- pendingTransactionsArchivist: ArchivistInstance
129
- transfersSummaryMap: MapType<string, WithHashMeta<TransfersStepSummary>>
130
- }
131
-
132
- /** deprecated use buildLocalProviderLocatorV2 instead */
133
- export function buildLocalProviderLocator(params: BuildLocalProviderLocatorParams) {
134
- const locator = buildSimpleProviderLocator(params)
135
- const {
136
- pendingTransactionsArchivist, pendingBlocksArchivist, balancesSummaryMap, transfersSummaryMap, finalizedArchivist, node,
137
- } = params
138
- locator.registerMany([
139
- SimpleMempoolViewer.factory<SimpleMempoolViewer>(SimpleMempoolViewer.dependencies, { pendingTransactionsArchivist, pendingBlocksArchivist }),
140
- SimpleMempoolRunner.factory<SimpleMempoolRunner>(SimpleMempoolRunner.dependencies, { pendingTransactionsArchivist, pendingBlocksArchivist }),
141
- SimpleAccountBalanceViewer.factory<SimpleAccountBalanceViewer>(SimpleAccountBalanceViewer.dependencies, { balancesSummaryMap, transfersSummaryMap }),
142
- SimpleFinalizationViewer.factory<SimpleFinalizationViewer>(SimpleFinalizationViewer.dependencies, { finalizedArchivist }),
143
- SimpleBlockViewer.factory<SimpleBlockViewer>(SimpleBlockViewer.dependencies, { finalizedArchivist }),
144
- SimpleXyoRunner.factory<SimpleXyoRunner>(SimpleXyoRunner.dependencies, {}),
145
- SimpleWindowedBlockViewer.factory<SimpleWindowedBlockViewer>(SimpleWindowedBlockViewer.dependencies, { maxWindowSize: 10_000, syncInterval: 10_000 }),
146
- NodeXyoViewer.factory<NodeXyoViewer>(NodeXyoViewer.dependencies, { node }),
147
- ])
148
-
149
- return registerGatewayWithLocator(locator, params?.signerAccount)
150
- }
@@ -1,113 +0,0 @@
1
- import type {
2
- AccountInstance, ArchivistInstance, WithHashMeta,
3
- } from '@xyo-network/sdk-js'
4
- import type { MapType } from '@xyo-network/xl1-protocol-lib'
5
- import type {
6
- BalancesStepSummary, Config, TransfersStepSummary,
7
- } from '@xyo-network/xl1-protocol-sdk'
8
- import {
9
- ProviderFactoryLocator, SimpleAccountBalanceViewer, SimpleBlockViewer, SimpleFinalizationViewer, SimpleMempoolRunner, SimpleMempoolViewer,
10
- SimpleTimeSyncViewer, SimpleWindowedBlockViewer, SimpleXyoRunner,
11
- } from '@xyo-network/xl1-protocol-sdk'
12
- import type { TransportFactory } from '@xyo-network/xl1-rpc'
13
- import {
14
- AccountBalanceViewerRpcSchemas, BlockViewerRpcSchemas, JsonRpcAccountBalanceViewer, JsonRpcBlockViewer,
15
- JsonRpcMempoolRunner, JsonRpcMempoolViewer, JsonRpcNetworkStakeStepRewardsViewer, JsonRpcNetworkStakeViewer, JsonRpcStakeTotalsViewer,
16
- JsonRpcTimeSyncViewer, JsonRpcXyoRunner, JsonRpcXyoViewer, MempoolRunnerRpcSchemas, MempoolViewerRpcSchemas, NetworkStakeViewerRpcSchemas,
17
- StakeTotalsViewerRpcSchemas, TimeSyncViewerRpcSchemas, XyoRunnerRpcSchemas, XyoViewerRpcSchemas,
18
- } from '@xyo-network/xl1-rpc'
19
-
20
- import { registerGatewayWithLocator } from './registerHelpers.ts'
21
- import { SimpleNetworkStakeViewer } from './SimpleNetworkStakeViewer.ts'
22
- import {
23
- SimpleStepRewardsByPositionViewer, SimpleStepRewardsByStakerViewer, SimpleStepRewardsByStepViewer, SimpleStepRewardsTotalViewer, SimpleStepRewardsViewer,
24
- } from './SimpleStepRewards/index.ts'
25
- import { SimpleStepViewer } from './SimpleStepViewer.ts'
26
- import { SimpleXyoViewer } from './SimpleXyoViewer.ts'
27
-
28
- /** @deprecated Use locatorsFromConfig instead */
29
- export function buildEmptyProviderLocator(config: Config) {
30
- return new ProviderFactoryLocator({
31
- config, singletons: {}, caches: {},
32
- })
33
- }
34
-
35
- /** @deprecated Use locatorsFromConfig instead */
36
- export function buildSimpleProviderLocatorV2(config: Config, account?: AccountInstance) {
37
- // eslint-disable-next-line @typescript-eslint/no-deprecated
38
- const locator = buildEmptyProviderLocator(config)
39
- locator.registerMany([
40
- SimpleNetworkStakeViewer.factory<SimpleNetworkStakeViewer>(SimpleNetworkStakeViewer.dependencies, {}),
41
- SimpleTimeSyncViewer.factory<SimpleTimeSyncViewer>(SimpleTimeSyncViewer.dependencies, {}),
42
- SimpleStepViewer.factory<SimpleStepViewer>(SimpleStepViewer.dependencies, {}),
43
- SimpleStepRewardsViewer.factory<SimpleStepRewardsViewer>(SimpleStepRewardsViewer.dependencies, {}),
44
- SimpleStepRewardsByPositionViewer.factory<SimpleStepRewardsByPositionViewer>(SimpleStepRewardsByPositionViewer.dependencies, {}),
45
- SimpleStepRewardsByStakerViewer.factory<SimpleStepRewardsByStakerViewer>(SimpleStepRewardsByStakerViewer.dependencies, {}),
46
- SimpleStepRewardsByStepViewer.factory<SimpleStepRewardsByStepViewer>(SimpleStepRewardsByStepViewer.dependencies, {}),
47
- SimpleStepRewardsTotalViewer.factory<SimpleStepRewardsTotalViewer>(SimpleStepRewardsTotalViewer.dependencies, {}),
48
- ])
49
- return registerGatewayWithLocator(locator, account)
50
- }
51
-
52
- /** @deprecated Use locatorsFromConfig instead */
53
- export async function buildJsonRpcProviderLocatorV2(config: Config, transportFactory: TransportFactory, account?: AccountInstance) {
54
- // eslint-disable-next-line @typescript-eslint/no-deprecated
55
- const locator = buildEmptyProviderLocator(config)
56
- locator.registerMany([
57
- JsonRpcStakeTotalsViewer.factory<JsonRpcStakeTotalsViewer>(
58
- JsonRpcStakeTotalsViewer.dependencies,
59
- { transport: await transportFactory(StakeTotalsViewerRpcSchemas) },
60
- ),
61
- JsonRpcAccountBalanceViewer.factory<JsonRpcAccountBalanceViewer>(
62
- JsonRpcAccountBalanceViewer.dependencies,
63
- { transport: await transportFactory(AccountBalanceViewerRpcSchemas) },
64
- ),
65
- JsonRpcBlockViewer.factory<JsonRpcBlockViewer>(JsonRpcBlockViewer.dependencies, { transport: await transportFactory(BlockViewerRpcSchemas) }),
66
- JsonRpcMempoolRunner.factory<JsonRpcMempoolRunner>(JsonRpcMempoolRunner.dependencies, { transport: await transportFactory(MempoolRunnerRpcSchemas) }),
67
- JsonRpcMempoolViewer.factory<JsonRpcMempoolViewer>(JsonRpcMempoolViewer.dependencies, { transport: await transportFactory(MempoolViewerRpcSchemas) }),
68
- JsonRpcNetworkStakeViewer.factory<JsonRpcNetworkStakeViewer>(
69
- JsonRpcNetworkStakeViewer.dependencies,
70
- { transport: await transportFactory(NetworkStakeViewerRpcSchemas) },
71
- ),
72
- JsonRpcTimeSyncViewer.factory<JsonRpcTimeSyncViewer>(JsonRpcTimeSyncViewer.dependencies, { transport: await transportFactory(TimeSyncViewerRpcSchemas) }),
73
- JsonRpcNetworkStakeStepRewardsViewer.factory<JsonRpcNetworkStakeStepRewardsViewer>(
74
- JsonRpcNetworkStakeStepRewardsViewer.dependencies,
75
- { transport: await transportFactory({}) },
76
- ),
77
- JsonRpcXyoRunner.factory<JsonRpcXyoRunner>(JsonRpcXyoRunner.dependencies, { transport: await transportFactory(XyoRunnerRpcSchemas) }),
78
- JsonRpcXyoViewer.factory<JsonRpcXyoViewer>(JsonRpcXyoViewer.dependencies, { transport: await transportFactory(XyoViewerRpcSchemas) }),
79
- ])
80
- return registerGatewayWithLocator(locator, account)
81
- }
82
-
83
- /** @deprecated Use locatorsFromConfig instead */
84
- export interface BuildLocalProviderLocatorParamsV2 {
85
- account?: AccountInstance
86
- balancesSummaryMap: MapType<string, WithHashMeta<BalancesStepSummary>>
87
- finalizedArchivist: ArchivistInstance
88
- pendingBlocksArchivist: ArchivistInstance
89
- pendingTransactionsArchivist: ArchivistInstance
90
- transfersSummaryMap: MapType<string, WithHashMeta<TransfersStepSummary>>
91
- }
92
-
93
- /** @deprecated Use locatorsFromConfig instead */
94
-
95
- /** Builds a local provider locator v2 with the given configuration. */
96
- export function buildLocalProviderLocatorV2(config: Config, params: BuildLocalProviderLocatorParamsV2) {
97
- const {
98
- account, pendingTransactionsArchivist, pendingBlocksArchivist, balancesSummaryMap, transfersSummaryMap, finalizedArchivist,
99
- } = params
100
- // eslint-disable-next-line @typescript-eslint/no-deprecated
101
- const locator = buildSimpleProviderLocatorV2(config, account)
102
- locator.registerMany([
103
- SimpleMempoolViewer.factory<SimpleMempoolViewer>(SimpleMempoolViewer.dependencies, { pendingTransactionsArchivist, pendingBlocksArchivist }),
104
- SimpleMempoolRunner.factory<SimpleMempoolRunner>(SimpleMempoolRunner.dependencies, { pendingTransactionsArchivist, pendingBlocksArchivist }),
105
- SimpleAccountBalanceViewer.factory<SimpleAccountBalanceViewer>(SimpleAccountBalanceViewer.dependencies, { balancesSummaryMap, transfersSummaryMap }),
106
- SimpleFinalizationViewer.factory<SimpleFinalizationViewer>(SimpleFinalizationViewer.dependencies, { finalizedArchivist }),
107
- SimpleBlockViewer.factory<SimpleBlockViewer>(SimpleBlockViewer.dependencies, { finalizedArchivist }),
108
- SimpleXyoRunner.factory<SimpleXyoRunner>(SimpleXyoRunner.dependencies, {}),
109
- SimpleWindowedBlockViewer.factory<SimpleWindowedBlockViewer>(SimpleWindowedBlockViewer.dependencies, { maxWindowSize: 10_000, syncInterval: 10_000 }),
110
- SimpleXyoViewer.factory<SimpleXyoViewer>(SimpleXyoViewer.dependencies, {}),
111
- ])
112
- return locator
113
- }
@@ -1,13 +0,0 @@
1
- import type { AccountInstance } from '@xyo-network/sdk-js'
2
- import { XyoSignerMoniker } from '@xyo-network/xl1-protocol-lib'
3
- import type { BaseConfigContext } from '@xyo-network/xl1-protocol-sdk'
4
- import { ProviderFactoryLocator, SimpleXyoSigner } from '@xyo-network/xl1-protocol-sdk'
5
-
6
- /** Builds a SimpleXyoSigner v2 instance from a context and account. */
7
- export async function buildSimpleXyoSignerV2(context: BaseConfigContext, account: AccountInstance) {
8
- const locator = new ProviderFactoryLocator(context)
9
- locator.register(
10
- SimpleXyoSigner.factory<SimpleXyoSigner>(SimpleXyoSigner.dependencies, { account }),
11
- )
12
- return await locator.getInstance<SimpleXyoSigner>(XyoSignerMoniker)
13
- }
package/src/index.ts DELETED
@@ -1,11 +0,0 @@
1
- export * from './buildProviderLocator.ts'
2
- export * from './buildProviderLocatorV2.ts'
3
- export * from './buildSimpleXyoSignerV2.ts'
4
- export * from './NodeXyoViewer.ts'
5
- export * from './registerHelpers.ts'
6
- export * from './SimpleNetworkStakeViewer.ts'
7
- export * from './SimpleStepRewards/index.ts'
8
- export * from './SimpleStepViewer.ts'
9
- export * from './SimpleXyoConnectionRunner.ts'
10
- export * from './SimpleXyoConnectionViewer.ts'
11
- export * from './SimpleXyoViewer.ts'
@@ -1,80 +0,0 @@
1
- import type { AccountInstance } from '@xyo-network/sdk-js'
2
- import type { Position } from '@xyo-network/xl1-protocol-lib'
3
- import type { CreatableProviderContextType, ProviderFactoryLocator } from '@xyo-network/xl1-protocol-sdk'
4
- import {
5
- SimpleStakeEventsViewer,
6
- SimpleStakeViewer,
7
- SimpleXyoGateway, SimpleXyoGatewayRunner,
8
- SimpleXyoSigner,
9
- } from '@xyo-network/xl1-protocol-sdk'
10
-
11
- import { SimpleXyoConnectionRunner } from './SimpleXyoConnectionRunner.ts'
12
-
13
- /** Parameters for configuring a gateway runner locator. */
14
- export interface GatewayRunnerLocatorParams {
15
- /**
16
- * The account instance to be used to register a SimpleXyoSigner with the locator
17
- */
18
- signerAccount?: AccountInstance
19
- }
20
-
21
- /**
22
- * Registers a SimpleXyoGatewayRunner with the locator if a signerAccount is provided in params
23
- * @param locator The ProviderFactoryLocator to register the signer with
24
- * @param params The SignerLocatorParams containing the optional signerAccount
25
- * @returns The updated ProviderFactoryLocator
26
- * @deprecated Use registerGatewayWithLocator instead
27
- */
28
- export const registerGatewayRunnerWithLocatorIfProvided = (
29
- locator: ProviderFactoryLocator<CreatableProviderContextType, string[]>,
30
- params?: GatewayRunnerLocatorParams,
31
- ) => {
32
- const account = params?.signerAccount
33
- if (account) {
34
- locator.registerMany([
35
- SimpleXyoSigner.factory<SimpleXyoSigner>(SimpleXyoSigner.dependencies, { account }),
36
- SimpleXyoGatewayRunner.factory<SimpleXyoGatewayRunner>(SimpleXyoGatewayRunner.dependencies, {}),
37
- ])
38
- }
39
- return locator
40
- }
41
-
42
- /**
43
- * Registers a SimpleXyoGateway and SimpleXyoConnection with the locator
44
- * @param locator The ProviderFactoryLocator to register the signer with
45
- * @param account Optional AccountInstance to register a SimpleXyoSigner and SimpleXyoGatewayRunner with the locator
46
- * @returns The updated ProviderFactoryLocator
47
- */
48
- export const registerGatewayWithLocator = (
49
- locator: ProviderFactoryLocator,
50
- account?: AccountInstance,
51
- ) => {
52
- locator.registerMany([
53
- SimpleXyoConnectionRunner.factory<SimpleXyoConnectionRunner>(SimpleXyoConnectionRunner.dependencies, {}),
54
- SimpleXyoGateway.factory<SimpleXyoGateway>(SimpleXyoGateway.dependencies, {}),
55
- ])
56
- if (account) {
57
- locator.registerMany([
58
- SimpleXyoSigner.factory<SimpleXyoSigner>(SimpleXyoSigner.dependencies, { account }),
59
- SimpleXyoGatewayRunner.factory<SimpleXyoGatewayRunner>(SimpleXyoGatewayRunner.dependencies, {}),
60
- ])
61
- }
62
- return locator
63
- }
64
-
65
- /**
66
- * Registers a SimpleStakeViewer with the locator
67
- * @param locator The ProviderFactoryLocator to register the signer with
68
- * @param positions The positions to be used by the SimpleStakeViewer and SimpleStakeEventsViewer instances
69
- * @returns The updated ProviderFactoryLocator
70
- */
71
- export const registerSimpleStakeViewerWithLocator = (
72
- locator: ProviderFactoryLocator,
73
- positions: Position[],
74
- ) => {
75
- locator.registerMany([
76
- SimpleStakeViewer.factory<SimpleStakeViewer>(SimpleStakeViewer.dependencies, { positions }),
77
- SimpleStakeEventsViewer.factory<SimpleStakeEventsViewer>(SimpleStakeEventsViewer.dependencies, { positions }),
78
- ])
79
- return locator
80
- }