@xyo-network/chain-sdk 5.2.2 → 5.2.4

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 (41) hide show
  1. package/dist/browser/modules/ethereum/indexing/index.d.ts +1 -2
  2. package/dist/browser/modules/ethereum/indexing/index.d.ts.map +1 -1
  3. package/dist/browser/modules/services/simple/block/runner/SimpleBlockRunner.d.ts +5 -0
  4. package/dist/browser/modules/services/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
  5. package/dist/browser/modules/services/simple/block/runner/SimpleBlockRunnerInstrumentation.d.ts +13 -0
  6. package/dist/browser/modules/services/simple/block/runner/SimpleBlockRunnerInstrumentation.d.ts.map +1 -0
  7. package/dist/browser/modules/services/simple/block/runner/index.d.ts +1 -0
  8. package/dist/browser/modules/services/simple/block/runner/index.d.ts.map +1 -1
  9. package/dist/neutral/ethereum.mjs +11 -365
  10. package/dist/neutral/ethereum.mjs.map +4 -4
  11. package/dist/neutral/modules/ethereum/indexing/index.d.ts +1 -2
  12. package/dist/neutral/modules/ethereum/indexing/index.d.ts.map +1 -1
  13. package/dist/neutral/modules/services/simple/block/runner/SimpleBlockRunner.d.ts +5 -0
  14. package/dist/neutral/modules/services/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
  15. package/dist/neutral/modules/services/simple/block/runner/SimpleBlockRunnerInstrumentation.d.ts +13 -0
  16. package/dist/neutral/modules/services/simple/block/runner/SimpleBlockRunnerInstrumentation.d.ts.map +1 -0
  17. package/dist/neutral/modules/services/simple/block/runner/index.d.ts +1 -0
  18. package/dist/neutral/modules/services/simple/block/runner/index.d.ts.map +1 -1
  19. package/dist/neutral/services.mjs +45 -3
  20. package/dist/neutral/services.mjs.map +3 -3
  21. package/dist/node/modules/ethereum/indexing/index.d.ts +1 -2
  22. package/dist/node/modules/ethereum/indexing/index.d.ts.map +1 -1
  23. package/dist/node/modules/services/simple/block/runner/SimpleBlockRunner.d.ts +5 -0
  24. package/dist/node/modules/services/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
  25. package/dist/node/modules/services/simple/block/runner/SimpleBlockRunnerInstrumentation.d.ts +13 -0
  26. package/dist/node/modules/services/simple/block/runner/SimpleBlockRunnerInstrumentation.d.ts.map +1 -0
  27. package/dist/node/modules/services/simple/block/runner/index.d.ts +1 -0
  28. package/dist/node/modules/services/simple/block/runner/index.d.ts.map +1 -1
  29. package/package.json +11 -10
  30. package/dist/browser/modules/ethereum/indexing/RestStakeEventsViewer.d.ts +0 -52
  31. package/dist/browser/modules/ethereum/indexing/RestStakeEventsViewer.d.ts.map +0 -1
  32. package/dist/browser/modules/ethereum/indexing/RestStakeViewer.d.ts +0 -60
  33. package/dist/browser/modules/ethereum/indexing/RestStakeViewer.d.ts.map +0 -1
  34. package/dist/neutral/modules/ethereum/indexing/RestStakeEventsViewer.d.ts +0 -52
  35. package/dist/neutral/modules/ethereum/indexing/RestStakeEventsViewer.d.ts.map +0 -1
  36. package/dist/neutral/modules/ethereum/indexing/RestStakeViewer.d.ts +0 -60
  37. package/dist/neutral/modules/ethereum/indexing/RestStakeViewer.d.ts.map +0 -1
  38. package/dist/node/modules/ethereum/indexing/RestStakeEventsViewer.d.ts +0 -52
  39. package/dist/node/modules/ethereum/indexing/RestStakeEventsViewer.d.ts.map +0 -1
  40. package/dist/node/modules/ethereum/indexing/RestStakeViewer.d.ts +0 -60
  41. package/dist/node/modules/ethereum/indexing/RestStakeViewer.d.ts.map +0 -1
@@ -1,52 +0,0 @@
1
- import type { EthAddress } from '@ariestools/sdk';
2
- import type { StakeEvent, StakeEventFilter, StakeEventName, StakeEventsViewer } from '@xyo-network/xl1-sdk';
3
- import { AbstractCreatableProvider } from '@xyo-network/xl1-sdk';
4
- import { z } from 'zod';
5
- /** Provider-specific settings read from `providerBindings.StakeEventsViewer.options`. */
6
- export declare const RestStakeEventsViewerOptionsZod: z.ZodObject<{
7
- headPollIntervalMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
8
- }, z.core.$strip>;
9
- /**
10
- * StakeEventsViewer backed by the finalized contract-event index rather than eth_getLogs.
11
- * Raw indexed logs remain contract-generic; this viewer applies the staking ABI at the edge.
12
- * The staking contract address comes from `config.chain.id` and the index bucket URL from
13
- * the bound `rest` connection's `baseUrl`.
14
- */
15
- export declare class RestStakeEventsViewer extends AbstractCreatableProvider implements StakeEventsViewer {
16
- static readonly connectionTypes: readonly ["rest"];
17
- static readonly defaultMoniker: "StakeEventsViewer";
18
- static readonly dependencies: never[];
19
- static readonly monikers: "StakeEventsViewer"[];
20
- static readonly surface: "node";
21
- moniker: "StakeEventsViewer";
22
- private readonly completeFrames;
23
- private readonly contractInterface;
24
- private currentHead?;
25
- private headPollIntervalMs;
26
- private lastSuccessfulSyncAt?;
27
- private manifestPromise?;
28
- private positionCountCheckpoints;
29
- private stakeEventCache;
30
- private readonly stakeEventsByPosition;
31
- private syncPromise?;
32
- private tailFrame?;
33
- get address(): EthAddress;
34
- get eventIndexBaseUrl(): string;
35
- protected get fetchFn(): typeof globalThis.fetch;
36
- /** Creates the provider instance after its configuration has resolved. */
37
- createHandler(): Promise<void>;
38
- positionCount(range: [number, number | 'latest']): Promise<number>;
39
- stakeEvents<TName extends StakeEventName>(range?: [number, number | 'latest'], filter?: StakeEventFilter<TName>): Promise<StakeEvent<TName>[]>;
40
- private assertRangeAvailable;
41
- private decodeIndexedStakeEvents;
42
- private fetchJson;
43
- private getManifest;
44
- private indexStakeEvents;
45
- private matchesFilter;
46
- private matchingStakeEvents;
47
- private positionCountThrough;
48
- private stakeEventFromLog;
49
- private sync;
50
- private syncFromHead;
51
- }
52
- //# sourceMappingURL=RestStakeEventsViewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestStakeEventsViewer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/indexing/RestStakeEventsViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAKjD,OAAO,KAAK,EAEV,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAChE,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EAG1B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,yFAAyF;AACzF,eAAO,MAAM,+BAA+B;;iBAAiE,CAAA;AAO7G;;;;;GAKG;AACH,qBACa,qBAAsB,SAAQ,yBAA0B,YAAW,iBAAiB;IAC/F,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IACnD,MAAM,CAAC,QAAQ,CAAC,cAAc,sBAA2B;IACzD,MAAM,CAAC,QAAQ,CAAC,YAAY,UAAK;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,wBAA6B;IACrD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAS;IACzC,OAAO,sBAAuC;IAE9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;IACvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoD;IACtF,OAAO,CAAC,WAAW,CAAC,CAAmB;IACvC,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,oBAAoB,CAAC,CAAQ;IACrC,OAAO,CAAC,eAAe,CAAC,CAAgC;IACxD,OAAO,CAAC,wBAAwB,CAAgC;IAChE,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAkC;IACxE,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,IAAI,OAAO,IAAI,UAAU,CAExB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAO9B;IAED,SAAS,KAAK,OAAO,IAAI,OAAO,UAAU,CAAC,KAAK,CAE/C;IAED,0EAA0E;IAC3D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvC,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQlE,WAAW,CAAC,KAAK,SAAS,cAAc,EAC5C,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAiB,EAClD,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC/B,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAM/B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,wBAAwB;YAalB,SAAS;YAMT,WAAW;IASzB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,iBAAiB;YAgBX,IAAI;YAcJ,YAAY;CAmC3B"}
@@ -1,60 +0,0 @@
1
- import type { Address } from '@ariestools/sdk';
2
- import type { Position, StakeEventsViewer, StakeViewer } from '@xyo-network/xl1-sdk';
3
- import { AbstractCreatableProvider } from '@xyo-network/xl1-sdk';
4
- import { z } from 'zod';
5
- /** Provider-specific settings read from `providerBindings.StakeViewer.options`. */
6
- export declare const RestStakeViewerOptionsZod: z.ZodObject<{
7
- refreshIntervalMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
8
- }, z.core.$strip>;
9
- /**
10
- * StakeViewer materialized from the finalized REST event index.
11
- *
12
- * The indexer remains the only process that tails the EVM contract. Consumers
13
- * rebuild their local position view from immutable indexed events after the
14
- * configured refresh interval, so API replicas never attach EVM log listeners.
15
- */
16
- export declare class RestStakeViewer extends AbstractCreatableProvider implements StakeViewer {
17
- static readonly connectionTypes: readonly ["rest"];
18
- static readonly defaultMoniker: "StakeViewer";
19
- static readonly dependencies: ("StakeEventsViewer" | "ChainContractViewer")[];
20
- static readonly monikers: "StakeViewer"[];
21
- static readonly surface: "node";
22
- readonly moniker: "StakeViewer";
23
- private _chainContractViewer;
24
- private _stakeEventsViewer;
25
- private lastSuccessfulSyncAt?;
26
- private positionIndex;
27
- private positionsByStaked;
28
- private positionsByStaker;
29
- private refreshIntervalMs;
30
- private syncPromise?;
31
- /** Returns the finalized stake-event source used to materialize positions. */
32
- get stakeEvents(): StakeEventsViewer;
33
- /** Returns active finalized stake positions. */
34
- activeStakes(): Promise<Position[]>;
35
- /** Creates the provider after its REST binding and dependencies resolve. */
36
- createHandler(): Promise<void>;
37
- /** Returns the configured chain's withdrawal delay. */
38
- minWithdrawalBlocks(): Promise<number>;
39
- /** Returns finalized positions that have been removed but not withdrawn. */
40
- removedStakes(): Promise<Position[]>;
41
- /** Returns the configured rewards contract address. */
42
- rewardsContract(): Promise<Address>;
43
- /** Returns a finalized position by its contract id. */
44
- stakeById(id: number): Promise<Position>;
45
- /** Returns a staker's finalized position by its contract slot. */
46
- stakeByStaker(staker: Address, slot: number): Promise<Position>;
47
- /** Returns finalized positions added for an address in the supplied EVM block range. */
48
- stakesByStaked(staked: Address, range?: [number, number | undefined]): Promise<Position[]>;
49
- /** Returns finalized positions added by a staker in the supplied EVM block range. */
50
- stakesByStaker(staker: Address, range?: [number, number | undefined]): Promise<Position[]>;
51
- /** Returns the configured staking-token address. */
52
- stakingTokenAddress(): Promise<Address>;
53
- /** Returns finalized positions that have completed withdrawal. */
54
- withdrawnStakes(): Promise<Position[]>;
55
- private applyEvent;
56
- private positionsInRange;
57
- private rebuildPositionIndex;
58
- private sync;
59
- }
60
- //# sourceMappingURL=RestStakeViewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestStakeViewer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/indexing/RestStakeViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,KAAK,EACW,QAAQ,EAA0B,iBAAiB,EAAE,WAAW,EACtF,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,mFAAmF;AACnF,eAAO,MAAM,yBAAyB;;iBAAgE,CAAA;AAEtG;;;;;;GAMG;AACH,qBACa,eAAgB,SAAQ,yBAA0B,YAAW,WAAW;IACnF,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IACnD,MAAM,CAAC,QAAQ,CAAC,cAAc,gBAAqB;IACnD,MAAM,CAAC,QAAQ,CAAC,YAAY,kDAAyD;IACrF,MAAM,CAAC,QAAQ,CAAC,QAAQ,kBAAuB;IAC/C,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAS;IACzC,QAAQ,CAAC,OAAO,gBAAiC;IAEjD,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,oBAAoB,CAAC,CAAQ;IACrC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,WAAW,CAAC,CAAe;IAEnC,8EAA8E;IAC9E,IAAI,WAAW,IAAI,iBAAiB,CAEnC;IAED,gDAAgD;IAC1C,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKzC,4EAA4E;IAC7D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7C,uDAAuD;IACjD,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5C,4EAA4E;IACtE,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAK1C,uDAAuD;IACjD,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzC,uDAAuD;IACjD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK9C,kEAAkE;IAC5D,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMrE,wFAAwF;IAClF,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKhH,qFAAqF;IAC/E,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKhH,oDAAoD;IAC9C,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7C,kEAAkE;IAC5D,eAAe,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAK5C,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,oBAAoB;YAoBd,IAAI;CAcnB"}
@@ -1,52 +0,0 @@
1
- import type { EthAddress } from '@ariestools/sdk';
2
- import type { StakeEvent, StakeEventFilter, StakeEventName, StakeEventsViewer } from '@xyo-network/xl1-sdk';
3
- import { AbstractCreatableProvider } from '@xyo-network/xl1-sdk';
4
- import { z } from 'zod';
5
- /** Provider-specific settings read from `providerBindings.StakeEventsViewer.options`. */
6
- export declare const RestStakeEventsViewerOptionsZod: z.ZodObject<{
7
- headPollIntervalMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
8
- }, z.core.$strip>;
9
- /**
10
- * StakeEventsViewer backed by the finalized contract-event index rather than eth_getLogs.
11
- * Raw indexed logs remain contract-generic; this viewer applies the staking ABI at the edge.
12
- * The staking contract address comes from `config.chain.id` and the index bucket URL from
13
- * the bound `rest` connection's `baseUrl`.
14
- */
15
- export declare class RestStakeEventsViewer extends AbstractCreatableProvider implements StakeEventsViewer {
16
- static readonly connectionTypes: readonly ["rest"];
17
- static readonly defaultMoniker: "StakeEventsViewer";
18
- static readonly dependencies: never[];
19
- static readonly monikers: "StakeEventsViewer"[];
20
- static readonly surface: "node";
21
- moniker: "StakeEventsViewer";
22
- private readonly completeFrames;
23
- private readonly contractInterface;
24
- private currentHead?;
25
- private headPollIntervalMs;
26
- private lastSuccessfulSyncAt?;
27
- private manifestPromise?;
28
- private positionCountCheckpoints;
29
- private stakeEventCache;
30
- private readonly stakeEventsByPosition;
31
- private syncPromise?;
32
- private tailFrame?;
33
- get address(): EthAddress;
34
- get eventIndexBaseUrl(): string;
35
- protected get fetchFn(): typeof globalThis.fetch;
36
- /** Creates the provider instance after its configuration has resolved. */
37
- createHandler(): Promise<void>;
38
- positionCount(range: [number, number | 'latest']): Promise<number>;
39
- stakeEvents<TName extends StakeEventName>(range?: [number, number | 'latest'], filter?: StakeEventFilter<TName>): Promise<StakeEvent<TName>[]>;
40
- private assertRangeAvailable;
41
- private decodeIndexedStakeEvents;
42
- private fetchJson;
43
- private getManifest;
44
- private indexStakeEvents;
45
- private matchesFilter;
46
- private matchingStakeEvents;
47
- private positionCountThrough;
48
- private stakeEventFromLog;
49
- private sync;
50
- private syncFromHead;
51
- }
52
- //# sourceMappingURL=RestStakeEventsViewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestStakeEventsViewer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/indexing/RestStakeEventsViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAKjD,OAAO,KAAK,EAEV,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAChE,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EAG1B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,yFAAyF;AACzF,eAAO,MAAM,+BAA+B;;iBAAiE,CAAA;AAO7G;;;;;GAKG;AACH,qBACa,qBAAsB,SAAQ,yBAA0B,YAAW,iBAAiB;IAC/F,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IACnD,MAAM,CAAC,QAAQ,CAAC,cAAc,sBAA2B;IACzD,MAAM,CAAC,QAAQ,CAAC,YAAY,UAAK;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,wBAA6B;IACrD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAS;IACzC,OAAO,sBAAuC;IAE9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;IACvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoD;IACtF,OAAO,CAAC,WAAW,CAAC,CAAmB;IACvC,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,oBAAoB,CAAC,CAAQ;IACrC,OAAO,CAAC,eAAe,CAAC,CAAgC;IACxD,OAAO,CAAC,wBAAwB,CAAgC;IAChE,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAkC;IACxE,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,IAAI,OAAO,IAAI,UAAU,CAExB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAO9B;IAED,SAAS,KAAK,OAAO,IAAI,OAAO,UAAU,CAAC,KAAK,CAE/C;IAED,0EAA0E;IAC3D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvC,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQlE,WAAW,CAAC,KAAK,SAAS,cAAc,EAC5C,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAiB,EAClD,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC/B,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAM/B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,wBAAwB;YAalB,SAAS;YAMT,WAAW;IASzB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,iBAAiB;YAgBX,IAAI;YAcJ,YAAY;CAmC3B"}
@@ -1,60 +0,0 @@
1
- import type { Address } from '@ariestools/sdk';
2
- import type { Position, StakeEventsViewer, StakeViewer } from '@xyo-network/xl1-sdk';
3
- import { AbstractCreatableProvider } from '@xyo-network/xl1-sdk';
4
- import { z } from 'zod';
5
- /** Provider-specific settings read from `providerBindings.StakeViewer.options`. */
6
- export declare const RestStakeViewerOptionsZod: z.ZodObject<{
7
- refreshIntervalMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
8
- }, z.core.$strip>;
9
- /**
10
- * StakeViewer materialized from the finalized REST event index.
11
- *
12
- * The indexer remains the only process that tails the EVM contract. Consumers
13
- * rebuild their local position view from immutable indexed events after the
14
- * configured refresh interval, so API replicas never attach EVM log listeners.
15
- */
16
- export declare class RestStakeViewer extends AbstractCreatableProvider implements StakeViewer {
17
- static readonly connectionTypes: readonly ["rest"];
18
- static readonly defaultMoniker: "StakeViewer";
19
- static readonly dependencies: ("StakeEventsViewer" | "ChainContractViewer")[];
20
- static readonly monikers: "StakeViewer"[];
21
- static readonly surface: "node";
22
- readonly moniker: "StakeViewer";
23
- private _chainContractViewer;
24
- private _stakeEventsViewer;
25
- private lastSuccessfulSyncAt?;
26
- private positionIndex;
27
- private positionsByStaked;
28
- private positionsByStaker;
29
- private refreshIntervalMs;
30
- private syncPromise?;
31
- /** Returns the finalized stake-event source used to materialize positions. */
32
- get stakeEvents(): StakeEventsViewer;
33
- /** Returns active finalized stake positions. */
34
- activeStakes(): Promise<Position[]>;
35
- /** Creates the provider after its REST binding and dependencies resolve. */
36
- createHandler(): Promise<void>;
37
- /** Returns the configured chain's withdrawal delay. */
38
- minWithdrawalBlocks(): Promise<number>;
39
- /** Returns finalized positions that have been removed but not withdrawn. */
40
- removedStakes(): Promise<Position[]>;
41
- /** Returns the configured rewards contract address. */
42
- rewardsContract(): Promise<Address>;
43
- /** Returns a finalized position by its contract id. */
44
- stakeById(id: number): Promise<Position>;
45
- /** Returns a staker's finalized position by its contract slot. */
46
- stakeByStaker(staker: Address, slot: number): Promise<Position>;
47
- /** Returns finalized positions added for an address in the supplied EVM block range. */
48
- stakesByStaked(staked: Address, range?: [number, number | undefined]): Promise<Position[]>;
49
- /** Returns finalized positions added by a staker in the supplied EVM block range. */
50
- stakesByStaker(staker: Address, range?: [number, number | undefined]): Promise<Position[]>;
51
- /** Returns the configured staking-token address. */
52
- stakingTokenAddress(): Promise<Address>;
53
- /** Returns finalized positions that have completed withdrawal. */
54
- withdrawnStakes(): Promise<Position[]>;
55
- private applyEvent;
56
- private positionsInRange;
57
- private rebuildPositionIndex;
58
- private sync;
59
- }
60
- //# sourceMappingURL=RestStakeViewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestStakeViewer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/indexing/RestStakeViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,KAAK,EACW,QAAQ,EAA0B,iBAAiB,EAAE,WAAW,EACtF,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,mFAAmF;AACnF,eAAO,MAAM,yBAAyB;;iBAAgE,CAAA;AAEtG;;;;;;GAMG;AACH,qBACa,eAAgB,SAAQ,yBAA0B,YAAW,WAAW;IACnF,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IACnD,MAAM,CAAC,QAAQ,CAAC,cAAc,gBAAqB;IACnD,MAAM,CAAC,QAAQ,CAAC,YAAY,kDAAyD;IACrF,MAAM,CAAC,QAAQ,CAAC,QAAQ,kBAAuB;IAC/C,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAS;IACzC,QAAQ,CAAC,OAAO,gBAAiC;IAEjD,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,oBAAoB,CAAC,CAAQ;IACrC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,WAAW,CAAC,CAAe;IAEnC,8EAA8E;IAC9E,IAAI,WAAW,IAAI,iBAAiB,CAEnC;IAED,gDAAgD;IAC1C,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKzC,4EAA4E;IAC7D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7C,uDAAuD;IACjD,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5C,4EAA4E;IACtE,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAK1C,uDAAuD;IACjD,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzC,uDAAuD;IACjD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK9C,kEAAkE;IAC5D,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMrE,wFAAwF;IAClF,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKhH,qFAAqF;IAC/E,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKhH,oDAAoD;IAC9C,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7C,kEAAkE;IAC5D,eAAe,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAK5C,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,oBAAoB;YAoBd,IAAI;CAcnB"}
@@ -1,52 +0,0 @@
1
- import type { EthAddress } from '@ariestools/sdk';
2
- import type { StakeEvent, StakeEventFilter, StakeEventName, StakeEventsViewer } from '@xyo-network/xl1-sdk';
3
- import { AbstractCreatableProvider } from '@xyo-network/xl1-sdk';
4
- import { z } from 'zod';
5
- /** Provider-specific settings read from `providerBindings.StakeEventsViewer.options`. */
6
- export declare const RestStakeEventsViewerOptionsZod: z.ZodObject<{
7
- headPollIntervalMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
8
- }, z.core.$strip>;
9
- /**
10
- * StakeEventsViewer backed by the finalized contract-event index rather than eth_getLogs.
11
- * Raw indexed logs remain contract-generic; this viewer applies the staking ABI at the edge.
12
- * The staking contract address comes from `config.chain.id` and the index bucket URL from
13
- * the bound `rest` connection's `baseUrl`.
14
- */
15
- export declare class RestStakeEventsViewer extends AbstractCreatableProvider implements StakeEventsViewer {
16
- static readonly connectionTypes: readonly ["rest"];
17
- static readonly defaultMoniker: "StakeEventsViewer";
18
- static readonly dependencies: never[];
19
- static readonly monikers: "StakeEventsViewer"[];
20
- static readonly surface: "node";
21
- moniker: "StakeEventsViewer";
22
- private readonly completeFrames;
23
- private readonly contractInterface;
24
- private currentHead?;
25
- private headPollIntervalMs;
26
- private lastSuccessfulSyncAt?;
27
- private manifestPromise?;
28
- private positionCountCheckpoints;
29
- private stakeEventCache;
30
- private readonly stakeEventsByPosition;
31
- private syncPromise?;
32
- private tailFrame?;
33
- get address(): EthAddress;
34
- get eventIndexBaseUrl(): string;
35
- protected get fetchFn(): typeof globalThis.fetch;
36
- /** Creates the provider instance after its configuration has resolved. */
37
- createHandler(): Promise<void>;
38
- positionCount(range: [number, number | 'latest']): Promise<number>;
39
- stakeEvents<TName extends StakeEventName>(range?: [number, number | 'latest'], filter?: StakeEventFilter<TName>): Promise<StakeEvent<TName>[]>;
40
- private assertRangeAvailable;
41
- private decodeIndexedStakeEvents;
42
- private fetchJson;
43
- private getManifest;
44
- private indexStakeEvents;
45
- private matchesFilter;
46
- private matchingStakeEvents;
47
- private positionCountThrough;
48
- private stakeEventFromLog;
49
- private sync;
50
- private syncFromHead;
51
- }
52
- //# sourceMappingURL=RestStakeEventsViewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestStakeEventsViewer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/indexing/RestStakeEventsViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAKjD,OAAO,KAAK,EAEV,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAChE,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EAG1B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,yFAAyF;AACzF,eAAO,MAAM,+BAA+B;;iBAAiE,CAAA;AAO7G;;;;;GAKG;AACH,qBACa,qBAAsB,SAAQ,yBAA0B,YAAW,iBAAiB;IAC/F,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IACnD,MAAM,CAAC,QAAQ,CAAC,cAAc,sBAA2B;IACzD,MAAM,CAAC,QAAQ,CAAC,YAAY,UAAK;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,wBAA6B;IACrD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAS;IACzC,OAAO,sBAAuC;IAE9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;IACvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoD;IACtF,OAAO,CAAC,WAAW,CAAC,CAAmB;IACvC,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,oBAAoB,CAAC,CAAQ;IACrC,OAAO,CAAC,eAAe,CAAC,CAAgC;IACxD,OAAO,CAAC,wBAAwB,CAAgC;IAChE,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAkC;IACxE,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,IAAI,OAAO,IAAI,UAAU,CAExB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAO9B;IAED,SAAS,KAAK,OAAO,IAAI,OAAO,UAAU,CAAC,KAAK,CAE/C;IAED,0EAA0E;IAC3D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvC,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQlE,WAAW,CAAC,KAAK,SAAS,cAAc,EAC5C,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAiB,EAClD,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC/B,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAM/B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,wBAAwB;YAalB,SAAS;YAMT,WAAW;IASzB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,iBAAiB;YAgBX,IAAI;YAcJ,YAAY;CAmC3B"}
@@ -1,60 +0,0 @@
1
- import type { Address } from '@ariestools/sdk';
2
- import type { Position, StakeEventsViewer, StakeViewer } from '@xyo-network/xl1-sdk';
3
- import { AbstractCreatableProvider } from '@xyo-network/xl1-sdk';
4
- import { z } from 'zod';
5
- /** Provider-specific settings read from `providerBindings.StakeViewer.options`. */
6
- export declare const RestStakeViewerOptionsZod: z.ZodObject<{
7
- refreshIntervalMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
8
- }, z.core.$strip>;
9
- /**
10
- * StakeViewer materialized from the finalized REST event index.
11
- *
12
- * The indexer remains the only process that tails the EVM contract. Consumers
13
- * rebuild their local position view from immutable indexed events after the
14
- * configured refresh interval, so API replicas never attach EVM log listeners.
15
- */
16
- export declare class RestStakeViewer extends AbstractCreatableProvider implements StakeViewer {
17
- static readonly connectionTypes: readonly ["rest"];
18
- static readonly defaultMoniker: "StakeViewer";
19
- static readonly dependencies: ("StakeEventsViewer" | "ChainContractViewer")[];
20
- static readonly monikers: "StakeViewer"[];
21
- static readonly surface: "node";
22
- readonly moniker: "StakeViewer";
23
- private _chainContractViewer;
24
- private _stakeEventsViewer;
25
- private lastSuccessfulSyncAt?;
26
- private positionIndex;
27
- private positionsByStaked;
28
- private positionsByStaker;
29
- private refreshIntervalMs;
30
- private syncPromise?;
31
- /** Returns the finalized stake-event source used to materialize positions. */
32
- get stakeEvents(): StakeEventsViewer;
33
- /** Returns active finalized stake positions. */
34
- activeStakes(): Promise<Position[]>;
35
- /** Creates the provider after its REST binding and dependencies resolve. */
36
- createHandler(): Promise<void>;
37
- /** Returns the configured chain's withdrawal delay. */
38
- minWithdrawalBlocks(): Promise<number>;
39
- /** Returns finalized positions that have been removed but not withdrawn. */
40
- removedStakes(): Promise<Position[]>;
41
- /** Returns the configured rewards contract address. */
42
- rewardsContract(): Promise<Address>;
43
- /** Returns a finalized position by its contract id. */
44
- stakeById(id: number): Promise<Position>;
45
- /** Returns a staker's finalized position by its contract slot. */
46
- stakeByStaker(staker: Address, slot: number): Promise<Position>;
47
- /** Returns finalized positions added for an address in the supplied EVM block range. */
48
- stakesByStaked(staked: Address, range?: [number, number | undefined]): Promise<Position[]>;
49
- /** Returns finalized positions added by a staker in the supplied EVM block range. */
50
- stakesByStaker(staker: Address, range?: [number, number | undefined]): Promise<Position[]>;
51
- /** Returns the configured staking-token address. */
52
- stakingTokenAddress(): Promise<Address>;
53
- /** Returns finalized positions that have completed withdrawal. */
54
- withdrawnStakes(): Promise<Position[]>;
55
- private applyEvent;
56
- private positionsInRange;
57
- private rebuildPositionIndex;
58
- private sync;
59
- }
60
- //# sourceMappingURL=RestStakeViewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestStakeViewer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/indexing/RestStakeViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,KAAK,EACW,QAAQ,EAA0B,iBAAiB,EAAE,WAAW,EACtF,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,mFAAmF;AACnF,eAAO,MAAM,yBAAyB;;iBAAgE,CAAA;AAEtG;;;;;;GAMG;AACH,qBACa,eAAgB,SAAQ,yBAA0B,YAAW,WAAW;IACnF,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IACnD,MAAM,CAAC,QAAQ,CAAC,cAAc,gBAAqB;IACnD,MAAM,CAAC,QAAQ,CAAC,YAAY,kDAAyD;IACrF,MAAM,CAAC,QAAQ,CAAC,QAAQ,kBAAuB;IAC/C,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAS;IACzC,QAAQ,CAAC,OAAO,gBAAiC;IAEjD,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,oBAAoB,CAAC,CAAQ;IACrC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,WAAW,CAAC,CAAe;IAEnC,8EAA8E;IAC9E,IAAI,WAAW,IAAI,iBAAiB,CAEnC;IAED,gDAAgD;IAC1C,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKzC,4EAA4E;IAC7D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7C,uDAAuD;IACjD,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5C,4EAA4E;IACtE,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAK1C,uDAAuD;IACjD,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzC,uDAAuD;IACjD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK9C,kEAAkE;IAC5D,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMrE,wFAAwF;IAClF,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKhH,qFAAqF;IAC/E,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKhH,oDAAoD;IAC9C,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7C,kEAAkE;IAC5D,eAAe,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAK5C,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,oBAAoB;YAoBd,IAAI;CAcnB"}