@xyo-network/chain-services 1.15.0 → 1.15.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.
Files changed (26) hide show
  1. package/dist/neutral/AccountTransfers/BaseAccountTransfersService.d.ts.map +1 -1
  2. package/dist/neutral/ChainBlockIteration/ChainBlockNumberIterationService.d.ts +20 -0
  3. package/dist/neutral/ChainBlockIteration/ChainBlockNumberIterationService.d.ts.map +1 -0
  4. package/dist/neutral/ChainBlockIteration/index.d.ts +3 -0
  5. package/dist/neutral/ChainBlockIteration/index.d.ts.map +1 -0
  6. package/dist/neutral/ChainBlockIteration/model/BlockNumberIteration.d.ts +7 -0
  7. package/dist/neutral/ChainBlockIteration/model/BlockNumberIteration.d.ts.map +1 -0
  8. package/dist/neutral/ChainBlockIteration/model/Params.d.ts +8 -0
  9. package/dist/neutral/ChainBlockIteration/model/Params.d.ts.map +1 -0
  10. package/dist/neutral/ChainBlockIteration/model/index.d.ts +3 -0
  11. package/dist/neutral/ChainBlockIteration/model/index.d.ts.map +1 -0
  12. package/dist/neutral/ChainBlockNumberIteration/ChainBlockNumberIterationService.d.ts +8 -5
  13. package/dist/neutral/ChainBlockNumberIteration/ChainBlockNumberIterationService.d.ts.map +1 -1
  14. package/dist/neutral/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts +13 -12
  15. package/dist/neutral/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts.map +1 -1
  16. package/dist/neutral/index.mjs +49 -30
  17. package/dist/neutral/index.mjs.map +1 -1
  18. package/package.json +24 -24
  19. package/src/AccountTransfers/BaseAccountTransfersService.ts +0 -1
  20. package/src/ChainBlockIteration/ChainBlockNumberIterationService.ts +108 -0
  21. package/src/ChainBlockIteration/index.ts +2 -0
  22. package/src/ChainBlockIteration/model/BlockNumberIteration.ts +7 -0
  23. package/src/ChainBlockIteration/model/Params.ts +9 -0
  24. package/src/ChainBlockIteration/model/index.ts +2 -0
  25. package/src/ChainBlockNumberIteration/ChainBlockNumberIterationService.ts +37 -23
  26. package/src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts +16 -12
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAccountTransfersService.d.ts","sourceRoot":"","sources":["../../../src/AccountTransfers/BaseAccountTransfersService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EACL,uBAAuB,EACvB,OAAO,EAAE,iBAAiB,EAC3B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,oBAAoB,EAErB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,gCAAiC,SAAQ,iBAAiB;IACzE,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,aAAa,CAAA;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;CACjE;AAED,qBACa,2BAA4B,SAAQ,WAAW,CAAC,gCAAgC,CAAE,YAAW,uBAAuB;IACzH,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxD,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;CAgB9F"}
1
+ {"version":3,"file":"BaseAccountTransfersService.d.ts","sourceRoot":"","sources":["../../../src/AccountTransfers/BaseAccountTransfersService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EACL,uBAAuB,EACvB,OAAO,EAAE,iBAAiB,EAC3B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,oBAAoB,EAErB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,gCAAiC,SAAQ,iBAAiB;IACzE,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,aAAa,CAAA;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;CACjE;AAED,qBACa,2BAA4B,SAAQ,WAAW,CAAC,gCAAgC,CAAE,YAAW,uBAAuB;IACzH,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxD,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;CAgB9F"}
@@ -0,0 +1,20 @@
1
+ import type { Hex } from '@xylabs/hex';
2
+ import type { ArchivistInstance } from '@xyo-network/archivist-model';
3
+ import type { WithStorageMeta } from '@xyo-network/payload-model';
4
+ import type { BlockBoundWitness, ChainIteratorServiceEventData, EventingChainBlockNumberIteratorService } from '@xyo-network/xl1-protocol';
5
+ import { LRUCache } from 'lru-cache';
6
+ import { BaseService } from '../BaseService.ts';
7
+ import type { XyoChainIteratorParams } from './model/index.ts';
8
+ export declare class ChainBlockNumberIterationService extends BaseService<XyoChainIteratorParams, ChainIteratorServiceEventData> implements EventingChainBlockNumberIteratorService {
9
+ protected _blocksByBlockNumber: LRUCache<number, WithStorageMeta<BlockBoundWitness>, unknown>;
10
+ protected _currentHead: WithStorageMeta<BlockBoundWitness> | undefined;
11
+ get chainArchivist(): ArchivistInstance;
12
+ get chainId(): Hex;
13
+ get(block: number): Promise<WithStorageMeta<BlockBoundWitness>>;
14
+ head(): Promise<WithStorageMeta<BlockBoundWitness>>;
15
+ next(block: number): Promise<WithStorageMeta<BlockBoundWitness> | undefined>;
16
+ previous(block?: number | undefined, count?: number): Promise<WithStorageMeta<BlockBoundWitness>[]>;
17
+ updateHead(head: BlockBoundWitness): Promise<void>;
18
+ private getBoundWitnessAsBlockBoundWitnessWithStorageMeta;
19
+ }
20
+ //# sourceMappingURL=ChainBlockNumberIterationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainBlockNumberIterationService.d.ts","sourceRoot":"","sources":["../../../src/ChainBlockIteration/ChainBlockNumberIterationService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAItC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EACV,iBAAiB,EACjB,6BAA6B,EAC7B,uCAAuC,EACxC,MAAM,2BAA2B,CAAA;AAMlC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAE9D,qBAAa,gCAAiC,SAAQ,WAAW,CAAC,sBAAsB,EAAE,6BAA6B,CACrH,YAAW,uCAAuC;IAClD,SAAS,CAAC,oBAAoB,gEAA4E;IAC1G,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAA;IAEtE,IAAI,cAAc,IAAI,iBAAiB,CAAgD;IAEvF,IAAI,OAAO,IAAI,GAAG,CAA2G;IAEvH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IA0B/D,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAUnD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IAQ5E,QAAQ,CAAC,KAAK,GAAE,MAAM,GAAG,SAAqB,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAkBjH,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAM1C,iDAAiD;CAOhE"}
@@ -0,0 +1,3 @@
1
+ export * from './ChainBlockNumberIterationService.ts';
2
+ export * from './model/index.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ChainBlockIteration/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AACrD,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { Promisable } from '@xylabs/promise';
2
+ import type { BlockBoundWitness, SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-protocol';
3
+ export interface BlockNumberIteration {
4
+ validatePendingBlock(block: BlockBoundWitness): Promisable<Error[]>;
5
+ validatePendingTransaction(tx: SignedHydratedTransactionWithStorageMeta): Promise<boolean>;
6
+ }
7
+ //# sourceMappingURL=BlockNumberIteration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockNumberIteration.d.ts","sourceRoot":"","sources":["../../../../src/ChainBlockIteration/model/BlockNumberIteration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,wCAAwC,EAAE,MAAM,2BAA2B,CAAA;AAE5G,MAAM,WAAW,oBAAoB;IACnC,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IACnE,0BAA0B,CAAC,EAAE,EAAE,wCAAwC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC3F"}
@@ -0,0 +1,8 @@
1
+ import type { ArchivistInstance } from '@xyo-network/archivist-model';
2
+ import type { BlockBoundWitness } from '@xyo-network/xl1-protocol';
3
+ import type { BaseServiceParams } from '../../model/index.ts';
4
+ export interface XyoChainIteratorParams extends BaseServiceParams {
5
+ chainArchivist: ArchivistInstance;
6
+ head: BlockBoundWitness;
7
+ }
8
+ //# sourceMappingURL=Params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../../../src/ChainBlockIteration/model/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,cAAc,EAAE,iBAAiB,CAAA;IACjC,IAAI,EAAE,iBAAiB,CAAA;CACxB"}
@@ -0,0 +1,3 @@
1
+ export * from './BlockNumberIteration.ts';
2
+ export * from './Params.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ChainBlockIteration/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,aAAa,CAAA"}
@@ -1,17 +1,20 @@
1
1
  import type { Hex } from '@xylabs/hex';
2
2
  import type { ArchivistInstance } from '@xyo-network/archivist-model';
3
+ import type { WithStorageMeta } from '@xyo-network/payload-model';
3
4
  import type { BlockBoundWitness, ChainIteratorServiceEventData, EventingChainBlockNumberIteratorService } from '@xyo-network/xl1-protocol';
4
5
  import { LRUCache } from 'lru-cache';
5
6
  import { BaseService } from '../BaseService.ts';
6
7
  import type { XyoChainIteratorParams } from './model/index.ts';
7
8
  export declare class ChainBlockNumberIterationService extends BaseService<XyoChainIteratorParams, ChainIteratorServiceEventData> implements EventingChainBlockNumberIteratorService {
8
- protected _blocksByBlockNumber: LRUCache<number, BlockBoundWitness, unknown>;
9
+ protected _blocksByBlockNumber: LRUCache<number, WithStorageMeta<BlockBoundWitness>, unknown>;
10
+ protected _currentHead: WithStorageMeta<BlockBoundWitness> | undefined;
9
11
  get chainArchivist(): ArchivistInstance;
10
12
  get chainId(): Hex;
11
- get(block: number): Promise<BlockBoundWitness>;
12
- head(): Promise<BlockBoundWitness>;
13
- next(block: number): Promise<BlockBoundWitness | undefined>;
14
- previous(block?: number | undefined, count?: number): Promise<BlockBoundWitness[]>;
13
+ get(block: number): Promise<WithStorageMeta<BlockBoundWitness>>;
14
+ head(): Promise<WithStorageMeta<BlockBoundWitness>>;
15
+ next(block: number): Promise<WithStorageMeta<BlockBoundWitness> | undefined>;
16
+ previous(block?: number | undefined, count?: number): Promise<WithStorageMeta<BlockBoundWitness>[]>;
15
17
  updateHead(head: BlockBoundWitness): Promise<void>;
18
+ private getBoundWitnessAsBlockBoundWitnessWithStorageMeta;
16
19
  }
17
20
  //# sourceMappingURL=ChainBlockNumberIterationService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainBlockNumberIterationService.d.ts","sourceRoot":"","sources":["../../../src/ChainBlockNumberIteration/ChainBlockNumberIterationService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EACV,iBAAiB,EACjB,6BAA6B,EAC7B,uCAAuC,EACxC,MAAM,2BAA2B,CAAA;AAKlC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAE9D,qBAAa,gCAAiC,SAAQ,WAAW,CAAC,sBAAsB,EAAE,6BAA6B,CACrH,YAAW,uCAAuC;IAClD,SAAS,CAAC,oBAAoB,+CAA2D;IAEzF,IAAI,cAAc,IAAI,iBAAiB,CAAgD;IAEvF,IAAI,OAAO,IAAI,GAAG,CAA6C;IAEzD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0B9C,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAIlC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAQ3D,QAAQ,CAAC,KAAK,GAAE,MAAM,GAAG,SAAqB,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAkBhG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAMzD"}
1
+ {"version":3,"file":"ChainBlockNumberIterationService.d.ts","sourceRoot":"","sources":["../../../src/ChainBlockNumberIteration/ChainBlockNumberIterationService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAItC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EACV,iBAAiB,EAAE,6BAA6B,EAAE,uCAAuC,EAC1F,MAAM,2BAA2B,CAAA;AAIlC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAE9D,qBAAa,gCAAiC,SAAQ,WAAW,CAAC,sBAAsB,EAAE,6BAA6B,CACrH,YAAW,uCAAuC;IAClD,SAAS,CAAC,oBAAoB,gEAA4E;IAC1G,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAA;IAEtE,IAAI,cAAc,IAAI,iBAAiB,CAAgD;IAEvF,IAAI,OAAO,IAAI,GAAG,CAA2G;IAEvH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IA0B/D,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAUnD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IAQ5E,QAAQ,CAAC,KAAK,GAAE,MAAM,GAAG,SAAqB,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAkBjH,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAM1C,iDAAiD;CAOhE"}
@@ -11,17 +11,18 @@ export interface BaseNetworkStakeStepRewardServiceParams extends BaseServicePara
11
11
  ethProvider?: Provider;
12
12
  }
13
13
  export declare class BaseNetworkStakeStepRewardService extends BaseService<BaseNetworkStakeStepRewardServiceParams> implements NetworkStakeStepRewardService {
14
- claimedRewards(address: Address): Promisable<bigint>;
15
- networkStakeStepAddressReward(address: Address, step: number, block: number): Promisable<Record<Address, bigint>>;
16
- networkStakeStepPoolRewardShares(step: number, block: number): Promisable<Record<Address, bigint>>;
17
- networkStakeStepPoolRewards(step: number, block: number): Promisable<Record<Address, bigint>>;
18
- networkStakeStepRewardAddressHistory(address: Address): Promisable<Record<Address, bigint>>;
19
- networkStakeStepRewardAddressShare(address: Address, step: number, block: number): Promisable<[bigint, bigint]>;
20
- networkStakeStepRewardForStep(step: number): Promisable<bigint>;
21
- networkStakeStepRewardPositionWeight(position: bigint, step: number): Promisable<number>;
22
- networkStakeStepRewardPotentialPositionLoss(position: bigint, step: number): Promisable<bigint>;
23
- networkStakeStepRewardRandomizer(step: number, block: number): Promisable<bigint>;
24
- networkStakeStepRewardWeightForAddress(address: Address, step: number): Promisable<bigint>;
25
- unclaimedRewards(address: Address): Promisable<bigint>;
14
+ claimedRewards(_address: Address): Promisable<bigint>;
15
+ networkStakeStepAddressReward(_address: Address, _step: number, _block: number): Promisable<Record<Address, bigint>>;
16
+ networkStakeStepPoolRewardShares(_step: number, _block: number): Promisable<Record<Address, bigint>>;
17
+ networkStakeStepPoolRewards(_step: number, _block: number): Promisable<Record<Address, bigint>>;
18
+ networkStakeStepRewardAddressHistory(_address: Address): Promisable<Record<Address, bigint>>;
19
+ networkStakeStepRewardAddressShare(_address: Address, _step: number, _block: number): Promisable<[bigint, bigint]>;
20
+ networkStakeStepRewardForStep(_step: number): Promisable<bigint>;
21
+ networkStakeStepRewardPositionWeight(_position: bigint, _step: number): Promisable<number>;
22
+ networkStakeStepRewardPotentialPositionLoss(_position: bigint, _step: number): Promisable<bigint>;
23
+ networkStakeStepRewardRandomizer(_step: number, _block: number): Promisable<bigint>;
24
+ networkStakeStepRewardStakerCount(_step: number, _block: number): Promisable<number>;
25
+ networkStakeStepRewardWeightForAddress(_address: Address, _step: number): Promisable<bigint>;
26
+ unclaimedRewards(_address: Address): Promisable<bigint>;
26
27
  }
27
28
  //# sourceMappingURL=BaseNetworkStakeStepRewardService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseNetworkStakeStepRewardService.d.ts","sourceRoot":"","sources":["../../../src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,uCAAuC,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAClH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,uCAAwC,SAAQ,iBAAiB;IAChF,cAAc,EAAE,aAAa,CAAA;IAC7B,aAAa,EAAE,uCAAuC,CAAA;IACtD,WAAW,CAAC,EAAE,QAAQ,CAAA;CACvB;AAED,qBACa,iCAAkC,SAAQ,WAAW,CAAC,uCAAuC,CAAE,YAAW,6BAA6B;IAClJ,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;IAIpD,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAIjH,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAIlG,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAI7F,oCAAoC,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAI3F,kCAAkC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI/G,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAI/D,oCAAoC,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAIxF,2CAA2C,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAI/F,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAIjF,sCAAsC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAI1F,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;CAGvD"}
1
+ {"version":3,"file":"BaseNetworkStakeStepRewardService.d.ts","sourceRoot":"","sources":["../../../src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,uCAAuC,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAClH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,uCAAwC,SAAQ,iBAAiB;IAChF,cAAc,EAAE,aAAa,CAAA;IAC7B,aAAa,EAAE,uCAAuC,CAAA;IACtD,WAAW,CAAC,EAAE,QAAQ,CAAA;CACvB;AAED,qBACa,iCAAkC,SAAQ,WAAW,CAAC,uCAAuC,CAAE,YAAW,6BAA6B;IAClJ,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;IAIrD,6BAA6B,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAIpH,gCAAgC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAIpG,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAI/F,oCAAoC,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAI5F,kCAAkC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIlH,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAIhE,oCAAoC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAI1F,2CAA2C,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAIjG,gCAAgC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAInF,iCAAiC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAIpF,sCAAsC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAI5F,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;CAGxD"}
@@ -617,9 +617,9 @@ MemoryBlockRewardService = _ts_decorate7([
617
617
 
618
618
  // src/ChainBlockNumberIteration/ChainBlockNumberIterationService.ts
619
619
  import { assertEx as assertEx5 } from "@xylabs/assert";
620
- import { isDefined as isDefined2, isNull } from "@xylabs/typeof";
620
+ import { isDefined as isDefined2, isNull, isUndefined } from "@xylabs/typeof";
621
621
  import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
622
- import { asBlockBoundWitness as asBlockBoundWitness2, isBlockBoundWitness } from "@xyo-network/xl1-protocol";
622
+ import { asBlockBoundWitness as asBlockBoundWitness2, asBlockBoundWitnessWithStorageMeta, isBlockBoundWitnessWithHashStorageMeta } from "@xyo-network/xl1-protocol";
623
623
  import { LRUCache as LRUCache3 } from "lru-cache";
624
624
  var ChainBlockNumberIterationService = class extends BaseService {
625
625
  static {
@@ -628,11 +628,12 @@ var ChainBlockNumberIterationService = class extends BaseService {
628
628
  _blocksByBlockNumber = new LRUCache3({
629
629
  max: 1e4
630
630
  });
631
+ _currentHead;
631
632
  get chainArchivist() {
632
633
  return assertEx5(this.params.chainArchivist);
633
634
  }
634
635
  get chainId() {
635
- return assertEx5(this.params.head?.chain);
636
+ return assertEx5(this._currentHead?.chain ?? this.params?.head?.chain, () => "Current head is not set");
636
637
  }
637
638
  async get(block) {
638
639
  const head = await this.head();
@@ -646,7 +647,7 @@ var ChainBlockNumberIterationService = class extends BaseService {
646
647
  ])).at(0);
647
648
  while (isDefined2(currentBlock)) {
648
649
  assertEx5(asBlockBoundWitness2(currentBlock), () => `Expected hash to be a block bound witness [${currentBlock?._hash}]`);
649
- if (isBlockBoundWitness(currentBlock)) {
650
+ if (isBlockBoundWitnessWithHashStorageMeta(currentBlock)) {
650
651
  this._blocksByBlockNumber.set(currentBlock.block, currentBlock);
651
652
  if (currentBlock.block === block) {
652
653
  return currentBlock;
@@ -661,7 +662,13 @@ var ChainBlockNumberIterationService = class extends BaseService {
661
662
  throw new Error(`Block not found: ${block}`);
662
663
  }
663
664
  async head() {
664
- return await Promise.resolve(assertEx5(this.params.head));
665
+ if (isDefined2(this._currentHead)) return this._currentHead;
666
+ if (isDefined2(this.params.head)) {
667
+ const newHead = await this.getBoundWitnessAsBlockBoundWitnessWithStorageMeta(this.params.head);
668
+ this._currentHead = newHead;
669
+ return newHead;
670
+ }
671
+ throw new Error("Head is not set");
665
672
  }
666
673
  async next(block) {
667
674
  const currentBlock = block;
@@ -674,30 +681,39 @@ var ChainBlockNumberIterationService = class extends BaseService {
674
681
  const results = [];
675
682
  let currentBlock = isDefined2(block) ? await this.get(block) : await this.head();
676
683
  while (currentBlock && results.length < count) {
677
- if (isBlockBoundWitness(currentBlock)) {
684
+ if (isBlockBoundWitnessWithHashStorageMeta(currentBlock)) {
678
685
  results.push(currentBlock);
679
686
  const { previous } = currentBlock;
680
687
  if (isNull(previous)) break;
681
688
  const nextBlock = await this.chainArchivist.get([
682
689
  previous
683
690
  ]);
684
- currentBlock = asBlockBoundWitness2(nextBlock[0]);
691
+ currentBlock = asBlockBoundWitnessWithStorageMeta(nextBlock[0]);
685
692
  } else {
686
693
  const hash = PayloadBuilder5.hash(currentBlock);
687
- assertEx5(asBlockBoundWitness2(currentBlock), () => `Expected hash to be a block bound witness [${hash}]`);
694
+ assertEx5(asBlockBoundWitnessWithStorageMeta(currentBlock), () => `Expected hash to be a block bound witness [${hash}]`);
688
695
  }
689
696
  }
690
697
  return results;
691
698
  }
692
699
  async updateHead(head) {
693
- await Promise.resolve();
694
- this.params.head = head;
700
+ const newHead = await this.getBoundWitnessAsBlockBoundWitnessWithStorageMeta(head);
701
+ this._currentHead = newHead;
695
702
  void this.emit("headUpdated", {
696
703
  blocks: [
697
- head
704
+ newHead
698
705
  ]
699
706
  });
700
707
  }
708
+ async getBoundWitnessAsBlockBoundWitnessWithStorageMeta(head) {
709
+ const hash = await PayloadBuilder5.hash(head);
710
+ const stored = (await this.chainArchivist.get([
711
+ hash
712
+ ])).at(-1);
713
+ const newHead = asBlockBoundWitnessWithStorageMeta(stored);
714
+ if (isUndefined(newHead)) throw new Error(`Head block not found in archivist [${hash}]`);
715
+ return newHead;
716
+ }
701
717
  };
702
718
 
703
719
  // src/ChainService/Evm/Evm.ts
@@ -949,40 +965,43 @@ var BaseNetworkStakeStepRewardService = class extends BaseService {
949
965
  static {
950
966
  __name(this, "BaseNetworkStakeStepRewardService");
951
967
  }
952
- claimedRewards(address) {
968
+ claimedRewards(_address) {
969
+ throw new Error("Method not implemented.");
970
+ }
971
+ networkStakeStepAddressReward(_address, _step, _block) {
953
972
  throw new Error("Method not implemented.");
954
973
  }
955
- networkStakeStepAddressReward(address, step, block) {
974
+ networkStakeStepPoolRewardShares(_step, _block) {
956
975
  throw new Error("Method not implemented.");
957
976
  }
958
- networkStakeStepPoolRewardShares(step, block) {
977
+ networkStakeStepPoolRewards(_step, _block) {
959
978
  throw new Error("Method not implemented.");
960
979
  }
961
- networkStakeStepPoolRewards(step, block) {
980
+ networkStakeStepRewardAddressHistory(_address) {
962
981
  throw new Error("Method not implemented.");
963
982
  }
964
- networkStakeStepRewardAddressHistory(address) {
983
+ networkStakeStepRewardAddressShare(_address, _step, _block) {
965
984
  throw new Error("Method not implemented.");
966
985
  }
967
- networkStakeStepRewardAddressShare(address, step, block) {
986
+ networkStakeStepRewardForStep(_step) {
968
987
  throw new Error("Method not implemented.");
969
988
  }
970
- networkStakeStepRewardForStep(step) {
989
+ networkStakeStepRewardPositionWeight(_position, _step) {
971
990
  throw new Error("Method not implemented.");
972
991
  }
973
- networkStakeStepRewardPositionWeight(position, step) {
992
+ networkStakeStepRewardPotentialPositionLoss(_position, _step) {
974
993
  throw new Error("Method not implemented.");
975
994
  }
976
- networkStakeStepRewardPotentialPositionLoss(position, step) {
995
+ networkStakeStepRewardRandomizer(_step, _block) {
977
996
  throw new Error("Method not implemented.");
978
997
  }
979
- networkStakeStepRewardRandomizer(step, block) {
998
+ networkStakeStepRewardStakerCount(_step, _block) {
980
999
  throw new Error("Method not implemented.");
981
1000
  }
982
- networkStakeStepRewardWeightForAddress(address, step) {
1001
+ networkStakeStepRewardWeightForAddress(_address, _step) {
983
1002
  throw new Error("Method not implemented.");
984
1003
  }
985
- unclaimedRewards(address) {
1004
+ unclaimedRewards(_address) {
986
1005
  throw new Error("Method not implemented.");
987
1006
  }
988
1007
  };
@@ -997,7 +1016,7 @@ import { assertEx as assertEx9 } from "@xylabs/assert";
997
1016
  import { creatable as creatable11 } from "@xylabs/creatable";
998
1017
  import { exists as exists4 } from "@xylabs/exists";
999
1018
  import { forget } from "@xylabs/forget";
1000
- import { isDefined as isDefined3, isUndefined } from "@xylabs/typeof";
1019
+ import { isDefined as isDefined3, isUndefined as isUndefined2 } from "@xylabs/typeof";
1001
1020
  import { MemoryArchivist } from "@xyo-network/archivist-memory";
1002
1021
  import { findMostRecentBlock } from "@xyo-network/chain-protocol";
1003
1022
  import { asBlockBoundWitnessWithHashStorageMeta, isTransactionBoundWitnessWithStorageMeta } from "@xyo-network/xl1-protocol";
@@ -1137,7 +1156,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
1137
1156
  let [lastHead] = filterAs(await this.chainArchivist.get([
1138
1157
  head
1139
1158
  ]), asBlockBoundWitnessWithHashStorageMeta);
1140
- if (isUndefined(lastHead)) return [];
1159
+ if (isUndefined2(lastHead)) return [];
1141
1160
  await this.pruneCuratedPendingTransactionsArchivist(lastHead._hash);
1142
1161
  const foundPendingTransactions = [];
1143
1162
  let cursor;
@@ -1299,11 +1318,11 @@ import { filterAs as filterAs3 } from "@xylabs/array";
1299
1318
  import { assertEx as assertEx10 } from "@xylabs/assert";
1300
1319
  import { creatable as creatable12 } from "@xylabs/creatable";
1301
1320
  import { asAddress } from "@xylabs/hex";
1302
- import { isUndefined as isUndefined2 } from "@xylabs/typeof";
1321
+ import { isUndefined as isUndefined3 } from "@xylabs/typeof";
1303
1322
  import { analyzeChain, ChainStakeIntentAnalyzer, isChainSummaryStakeIntent } from "@xyo-network/chain-analyze";
1304
1323
  import { DEFAULT_FIND_FIRST_MATCHING_NEXT_OPTIONS, findFirstMatching, IntervalMap } from "@xyo-network/chain-utils";
1305
1324
  import { PayloadBuilder as PayloadBuilder9 } from "@xyo-network/payload-builder";
1306
- import { asBlockBoundWitness as asBlockBoundWitness3, asBlockBoundWitnessWithStorageMeta, asChainIndexingServiceStateWithStorageMeta, asChainStakeIntent as asChainStakeIntent2, ChainIndexingServiceStateSchema, isChainIndexingServiceState } from "@xyo-network/xl1-protocol";
1325
+ import { asBlockBoundWitness as asBlockBoundWitness3, asBlockBoundWitnessWithStorageMeta as asBlockBoundWitnessWithStorageMeta2, asChainIndexingServiceStateWithStorageMeta, asChainStakeIntent as asChainStakeIntent2, ChainIndexingServiceStateSchema, isChainIndexingServiceState } from "@xyo-network/xl1-protocol";
1307
1326
  import { Mutex as Mutex3 } from "async-mutex";
1308
1327
  import { LRUCache as LRUCache4 } from "lru-cache";
1309
1328
  function _ts_decorate12(decorators, target, key, desc) {
@@ -1351,7 +1370,7 @@ var XyoStakeIntentService = class extends BaseService {
1351
1370
  await this.updateIndex();
1352
1371
  });
1353
1372
  const head = await this.chainIterator.head();
1354
- if (isUndefined2(head)) return;
1373
+ if (isUndefined3(head)) return;
1355
1374
  const headHash = await PayloadBuilder9.hash(head);
1356
1375
  await this.recoverState(headHash);
1357
1376
  }
@@ -1445,7 +1464,7 @@ var XyoStakeIntentService = class extends BaseService {
1445
1464
  const indexed = (await this.chainArchivist.get([
1446
1465
  state.endBlockHash
1447
1466
  ]))?.[0];
1448
- const indexedBlock = asBlockBoundWitnessWithStorageMeta(indexed);
1467
+ const indexedBlock = asBlockBoundWitnessWithStorageMeta2(indexed);
1449
1468
  if (indexedBlock) {
1450
1469
  const indexedBlockNum = indexedBlock.block;
1451
1470
  if (indexedBlockNum <= currentBlockNum) {
@@ -1468,7 +1487,7 @@ var XyoStakeIntentService = class extends BaseService {
1468
1487
  await this._updateMutex.runExclusive(async () => {
1469
1488
  return await this.spanAsync("updateIndex", async () => {
1470
1489
  const currentHead = await this.chainIterator.head();
1471
- if (isUndefined2(currentHead)) return;
1490
+ if (isUndefined3(currentHead)) return;
1472
1491
  const currentHeadHash = await PayloadBuilder9.hash(currentHead);
1473
1492
  const result = await analyzeChain(this.chainArchivist, [
1474
1493
  new ChainStakeIntentAnalyzer("producer")