@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.
- package/dist/browser/SimpleXyoViewer.d.ts +18 -18
- package/dist/neutral/SimpleXyoViewer.d.ts +18 -18
- package/dist/node/SimpleXyoViewer.d.ts +18 -18
- package/package.json +29 -15
- package/src/NodeXyoViewer.ts +0 -36
- package/src/SimpleNetworkStakeViewer.ts +0 -69
- package/src/SimpleStepRewards/SimpleStepRewardsByPositionViewer.ts +0 -118
- package/src/SimpleStepRewards/SimpleStepRewardsByStakerViewer.ts +0 -117
- package/src/SimpleStepRewards/SimpleStepRewardsByStepViewer.ts +0 -121
- package/src/SimpleStepRewards/SimpleStepRewardsTotalViewer.ts +0 -61
- package/src/SimpleStepRewards/SimpleStepRewardsViewer.ts +0 -83
- package/src/SimpleStepRewards/index.ts +0 -5
- package/src/SimpleStepRewards/primitives/index.ts +0 -3
- package/src/SimpleStepRewards/primitives/networkStakeStepRewardEarned.ts +0 -39
- package/src/SimpleStepRewards/primitives/networkStakeStepRewardEarnedForPosition.ts +0 -49
- package/src/SimpleStepRewards/primitives/networkStakeStepRewardEarnedForStaker.ts +0 -45
- package/src/SimpleStepViewer.ts +0 -104
- package/src/SimpleXyoConnectionRunner.ts +0 -54
- package/src/SimpleXyoConnectionViewer.ts +0 -47
- package/src/SimpleXyoViewer.ts +0 -473
- package/src/buildLocalGateway.ts +0 -114
- package/src/buildProviderLocator.ts +0 -150
- package/src/buildProviderLocatorV2.ts +0 -113
- package/src/buildSimpleXyoSignerV2.ts +0 -13
- package/src/index.ts +0 -11
- package/src/registerHelpers.ts +0 -80
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { Address } from '@xylabs/sdk-js'
|
|
2
|
-
import type {
|
|
3
|
-
BlockViewer,
|
|
4
|
-
CachingContext,
|
|
5
|
-
StakeViewer,
|
|
6
|
-
StepIdentity,
|
|
7
|
-
XL1RangeMultipliers,
|
|
8
|
-
} from '@xyo-network/xl1-protocol-lib'
|
|
9
|
-
import { XYO_NETWORK_STAKING_ADDRESS } from '@xyo-network/xl1-protocol-lib'
|
|
10
|
-
import {
|
|
11
|
-
toStepIdentityString,
|
|
12
|
-
withContextCacheResponse,
|
|
13
|
-
} from '@xyo-network/xl1-protocol-sdk'
|
|
14
|
-
|
|
15
|
-
import { networkStakeStepRewardEarnedForPosition } from './networkStakeStepRewardEarnedForPosition.ts'
|
|
16
|
-
|
|
17
|
-
/** Calculates the total step reward earned by a specific staker across all their network staking positions. */
|
|
18
|
-
export async function networkStakeStepRewardEarnedForStaker(
|
|
19
|
-
context: CachingContext,
|
|
20
|
-
blockViewer: BlockViewer,
|
|
21
|
-
stakeViewer: StakeViewer,
|
|
22
|
-
stepIdentity: StepIdentity,
|
|
23
|
-
staker: Address,
|
|
24
|
-
rewardMultipliers: XL1RangeMultipliers = {},
|
|
25
|
-
): Promise<[bigint, bigint]> {
|
|
26
|
-
const stepId = toStepIdentityString(stepIdentity)
|
|
27
|
-
return await withContextCacheResponse(context, 'networkStakeStepRewardEarnedForStaker', `${stepId}-${staker}`, async () => {
|
|
28
|
-
const positions = (await stakeViewer.stakesByStaker(staker)).filter(pos => pos.staked === XYO_NETWORK_STAKING_ADDRESS)
|
|
29
|
-
const results = await Promise.all(positions.map((pos) => {
|
|
30
|
-
return networkStakeStepRewardEarnedForPosition(
|
|
31
|
-
context,
|
|
32
|
-
blockViewer,
|
|
33
|
-
stakeViewer.stakeEvents,
|
|
34
|
-
stepIdentity,
|
|
35
|
-
pos,
|
|
36
|
-
rewardMultipliers,
|
|
37
|
-
)
|
|
38
|
-
}))
|
|
39
|
-
|
|
40
|
-
const numerator = results.reduce((acc, [positionReward]) => acc + positionReward, 0n)
|
|
41
|
-
|
|
42
|
-
const result: [bigint, bigint] = results.length > 0 ? [numerator, results[0][1]] : [0n, 0n]
|
|
43
|
-
return result
|
|
44
|
-
})
|
|
45
|
-
}
|
package/src/SimpleStepViewer.ts
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type Address,
|
|
3
|
-
type Promisable,
|
|
4
|
-
} from '@xylabs/sdk-js'
|
|
5
|
-
import {
|
|
6
|
-
BlockViewer,
|
|
7
|
-
BlockViewerMoniker,
|
|
8
|
-
NetworkStakeStepRewardsViewer,
|
|
9
|
-
NetworkStakeStepRewardsViewerMoniker,
|
|
10
|
-
PagedPositionsOptions,
|
|
11
|
-
PagedStakersOptions,
|
|
12
|
-
Position,
|
|
13
|
-
type PositionId, StakeEventsViewer, StakeEventsViewerMoniker, StakeViewer, StakeViewerMoniker, type StepIdentity, StepViewer, StepViewerMoniker,
|
|
14
|
-
} from '@xyo-network/xl1-protocol-lib'
|
|
15
|
-
import {
|
|
16
|
-
AbstractCreatableProvider,
|
|
17
|
-
creatableProvider,
|
|
18
|
-
CreatableProviderParams,
|
|
19
|
-
externalBlockRangeFromStep,
|
|
20
|
-
} from '@xyo-network/xl1-protocol-sdk'
|
|
21
|
-
|
|
22
|
-
/** Configuration params for SimpleStepViewer. */
|
|
23
|
-
export interface SimpleStepViewerParams extends CreatableProviderParams {
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/** Provider for viewing step-level staking data including positions, rewards, and stake weights. */
|
|
28
|
-
@creatableProvider()
|
|
29
|
-
export class SimpleStepViewer extends AbstractCreatableProvider<SimpleStepViewerParams> implements StepViewer {
|
|
30
|
-
static readonly defaultMoniker = StepViewerMoniker
|
|
31
|
-
|
|
32
|
-
static readonly dependencies = [
|
|
33
|
-
BlockViewerMoniker,
|
|
34
|
-
NetworkStakeStepRewardsViewerMoniker,
|
|
35
|
-
StakeViewerMoniker,
|
|
36
|
-
StakeEventsViewerMoniker,
|
|
37
|
-
]
|
|
38
|
-
|
|
39
|
-
static readonly monikers = [StepViewerMoniker]
|
|
40
|
-
moniker = SimpleStepViewer.defaultMoniker
|
|
41
|
-
|
|
42
|
-
private _blockViewer?: BlockViewer
|
|
43
|
-
private _networkStakeStepRewardsViewer?: NetworkStakeStepRewardsViewer
|
|
44
|
-
private _stakeEventsViewer?: StakeEventsViewer
|
|
45
|
-
private _stakeViewer?: StakeViewer
|
|
46
|
-
|
|
47
|
-
get rewards() {
|
|
48
|
-
return this._networkStakeStepRewardsViewer!
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
protected get blockViewer() {
|
|
52
|
-
return this._blockViewer!
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
protected get stakeEventsViewer() {
|
|
56
|
-
return this._stakeEventsViewer!
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
protected get stakeViewer() {
|
|
60
|
-
return this._stakeViewer!
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
override async createHandler() {
|
|
64
|
-
await super.createHandler()
|
|
65
|
-
this._blockViewer = await this.locator.getInstance<BlockViewer>(BlockViewerMoniker)
|
|
66
|
-
this._networkStakeStepRewardsViewer = await this.locator.getInstance<NetworkStakeStepRewardsViewer>(NetworkStakeStepRewardsViewerMoniker)
|
|
67
|
-
this._stakeViewer = await this.locator.getInstance<StakeViewer>(StakeViewerMoniker)
|
|
68
|
-
this._stakeEventsViewer = await this.locator.getInstance<StakeEventsViewer>(StakeEventsViewerMoniker)
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
async positionCount(step: StepIdentity): Promise<number> {
|
|
72
|
-
const externalRange = await externalBlockRangeFromStep(this.context, this.blockViewer, step)
|
|
73
|
-
const positionCount = await this.stakeEventsViewer.positionCount(externalRange)
|
|
74
|
-
return positionCount
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// TODO: Implement paging
|
|
78
|
-
async positions(step: StepIdentity, _options?: PagedPositionsOptions): Promise<Position[]> {
|
|
79
|
-
const count = await this.positionCount(step)
|
|
80
|
-
const externalRange = await externalBlockRangeFromStep(this.context, this.blockViewer, step)
|
|
81
|
-
const allPositions = await Promise.all(Array.from({ length: count + 1 }, (_, i) => i).map(id => this.stakeViewer.stakeById(id)))
|
|
82
|
-
return allPositions.filter(pos => pos.addBlock <= externalRange[1] && (pos.removeBlock === 0 || pos.removeBlock > externalRange[0]))
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
randomizer(_step: StepIdentity): Promisable<bigint> {
|
|
86
|
-
throw new Error('Method [randomizer] not implemented.')
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
stake(_step: StepIdentity): Promisable<bigint> {
|
|
90
|
-
throw new Error('Method [stake] not implemented.')
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
stakerCount(_step: StepIdentity): Promisable<number> {
|
|
94
|
-
throw new Error('Method [stakerCount] not implemented.')
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
stakers(_step: StepIdentity, _options?: PagedStakersOptions): Promisable<Address[]> {
|
|
98
|
-
throw new Error('Method [stakers] not implemented.')
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
weight(_step: StepIdentity, _positionId?: PositionId): Promisable<bigint> {
|
|
102
|
-
throw new Error('Method [weight] not implemented.')
|
|
103
|
-
}
|
|
104
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { XyoViewer, XyoViewerMoniker } from '@xyo-network/xl1-protocol-lib'
|
|
2
|
-
import {
|
|
3
|
-
type DataLakeRunner, DataLakeRunnerMoniker, type DataLakeViewer, DataLakeViewerMoniker,
|
|
4
|
-
type XyoConnection, XyoConnectionMoniker, type XyoNetwork, type XyoRunner, XyoRunnerMoniker,
|
|
5
|
-
} from '@xyo-network/xl1-protocol-lib'
|
|
6
|
-
import {
|
|
7
|
-
AbstractCreatableProvider, creatableProvider,
|
|
8
|
-
CreatableProviderParams,
|
|
9
|
-
} from '@xyo-network/xl1-protocol-sdk'
|
|
10
|
-
|
|
11
|
-
/** Configuration params for SimpleXyoConnectionRunner. */
|
|
12
|
-
export interface SimpleXyoConnectionRunnerParams extends CreatableProviderParams {
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/** XYO connection provider with both runner (write) and viewer (read) capabilities. */
|
|
17
|
-
@creatableProvider()
|
|
18
|
-
export class SimpleXyoConnectionRunner<TParams extends SimpleXyoConnectionRunnerParams = SimpleXyoConnectionRunnerParams> extends
|
|
19
|
-
AbstractCreatableProvider<TParams> implements XyoConnection {
|
|
20
|
-
static readonly defaultMoniker = XyoConnectionMoniker
|
|
21
|
-
static readonly dependencies = [XyoRunnerMoniker, XyoViewerMoniker]
|
|
22
|
-
static readonly monikers = [XyoConnectionMoniker]
|
|
23
|
-
moniker = SimpleXyoConnectionRunner.defaultMoniker
|
|
24
|
-
|
|
25
|
-
protected _network?: XyoNetwork
|
|
26
|
-
protected _runner?: XyoRunner
|
|
27
|
-
protected _storage?: DataLakeRunner | DataLakeViewer
|
|
28
|
-
protected _viewer?: XyoViewer
|
|
29
|
-
|
|
30
|
-
get network(): XyoNetwork | undefined {
|
|
31
|
-
return this._network
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
get runner(): XyoRunner | undefined {
|
|
35
|
-
return this._runner
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
get storage(): DataLakeRunner | DataLakeViewer | undefined {
|
|
39
|
-
return this._storage
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
get viewer(): XyoViewer | undefined {
|
|
43
|
-
return this._viewer
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
override async createHandler() {
|
|
47
|
-
await super.createHandler()
|
|
48
|
-
this._runner = await this.locator.getInstance<XyoRunner>(XyoRunnerMoniker)
|
|
49
|
-
this._viewer = await this.locator.getInstance<XyoViewer>(XyoViewerMoniker)
|
|
50
|
-
const dataLakeRunner = await this.locator.tryGetInstance<DataLakeRunner>(DataLakeRunnerMoniker)
|
|
51
|
-
const dataLakeViewer = await this.locator.tryGetInstance<DataLakeViewer>(DataLakeViewerMoniker)
|
|
52
|
-
this._storage = dataLakeRunner ?? dataLakeViewer
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { XyoViewer, XyoViewerMoniker } from '@xyo-network/xl1-protocol-lib'
|
|
2
|
-
import {
|
|
3
|
-
type DataLakeViewer, DataLakeViewerMoniker,
|
|
4
|
-
type XyoConnection, XyoConnectionMoniker, type XyoNetwork,
|
|
5
|
-
} from '@xyo-network/xl1-protocol-lib'
|
|
6
|
-
import {
|
|
7
|
-
AbstractCreatableProvider, creatableProvider,
|
|
8
|
-
CreatableProviderParams,
|
|
9
|
-
} from '@xyo-network/xl1-protocol-sdk'
|
|
10
|
-
|
|
11
|
-
/** Configuration params for SimpleXyoConnectionViewer. */
|
|
12
|
-
export interface SimpleXyoConnectionViewerParams extends CreatableProviderParams {
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/** Read-only XYO connection provider with viewer and optional data lake capabilities. */
|
|
17
|
-
@creatableProvider()
|
|
18
|
-
export class SimpleXyoConnectionViewer<TParams extends SimpleXyoConnectionViewerParams = SimpleXyoConnectionViewerParams> extends
|
|
19
|
-
AbstractCreatableProvider<TParams> implements XyoConnection {
|
|
20
|
-
static readonly defaultMoniker = XyoConnectionMoniker
|
|
21
|
-
static readonly dependencies = [XyoViewerMoniker]
|
|
22
|
-
static readonly monikers = [XyoConnectionMoniker]
|
|
23
|
-
moniker = SimpleXyoConnectionViewer.defaultMoniker
|
|
24
|
-
|
|
25
|
-
protected _network?: XyoNetwork
|
|
26
|
-
protected _storage?: DataLakeViewer
|
|
27
|
-
protected _viewer?: XyoViewer
|
|
28
|
-
|
|
29
|
-
get network(): XyoNetwork | undefined {
|
|
30
|
-
return this._network
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
get storage(): DataLakeViewer | undefined {
|
|
34
|
-
return this._storage
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
get viewer(): XyoViewer | undefined {
|
|
38
|
-
return this._viewer
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
override async createHandler() {
|
|
42
|
-
await super.createHandler()
|
|
43
|
-
this._viewer = await this.locator.getInstance<XyoViewer>(XyoViewerMoniker)
|
|
44
|
-
const dataLakeViewer = await this.locator.tryGetInstance<DataLakeViewer>(DataLakeViewerMoniker)
|
|
45
|
-
this._storage = dataLakeViewer
|
|
46
|
-
}
|
|
47
|
-
}
|