@xyo-network/chain-services 1.5.34 → 1.5.36

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 (69) hide show
  1. package/dist/neutral/index.mjs +428 -259
  2. package/dist/neutral/index.mjs.map +1 -1
  3. package/dist/types/AccountBalance/ChainAccountBalanceServiceV2.d.ts +14 -0
  4. package/dist/types/AccountBalance/ChainAccountBalanceServiceV2.d.ts.map +1 -0
  5. package/dist/types/AccountBalance/XyoChainAccountBalanceService.d.ts +12 -8
  6. package/dist/types/AccountBalance/XyoChainAccountBalanceService.d.ts.map +1 -1
  7. package/dist/types/AccountBalance/accountBalanceServiceFromArchivist.d.ts +3 -2
  8. package/dist/types/AccountBalance/accountBalanceServiceFromArchivist.d.ts.map +1 -1
  9. package/dist/types/AccountBalance/index.d.ts +1 -0
  10. package/dist/types/AccountBalance/index.d.ts.map +1 -1
  11. package/dist/types/BaseService.d.ts +7 -8
  12. package/dist/types/BaseService.d.ts.map +1 -1
  13. package/dist/types/BlockProducer/XyoBlockProducer.d.ts +28 -9
  14. package/dist/types/BlockProducer/XyoBlockProducer.d.ts.map +1 -1
  15. package/dist/types/BlockReward/EvmBlockRewardService.d.ts +2 -1
  16. package/dist/types/BlockReward/EvmBlockRewardService.d.ts.map +1 -1
  17. package/dist/types/BlockReward/XyoBlockRewardService.d.ts +2 -1
  18. package/dist/types/BlockReward/XyoBlockRewardService.d.ts.map +1 -1
  19. package/dist/types/ChainBlockNumberIteration/ChainBlockNumberIterationService.d.ts +4 -2
  20. package/dist/types/ChainBlockNumberIteration/ChainBlockNumberIterationService.d.ts.map +1 -1
  21. package/dist/types/ChainBlockNumberIteration/model/Params.d.ts +8 -0
  22. package/dist/types/ChainBlockNumberIteration/model/Params.d.ts.map +1 -0
  23. package/dist/types/ChainBlockNumberIteration/model/index.d.ts +1 -0
  24. package/dist/types/ChainBlockNumberIteration/model/index.d.ts.map +1 -1
  25. package/dist/types/ChainIndexService.d.ts +8 -5
  26. package/dist/types/ChainIndexService.d.ts.map +1 -1
  27. package/dist/types/ChainValidator/XyoValidator.d.ts +20 -9
  28. package/dist/types/ChainValidator/XyoValidator.d.ts.map +1 -1
  29. package/dist/types/Election/XyoElectionService.d.ts +2 -2
  30. package/dist/types/Election/XyoElectionService.d.ts.map +1 -1
  31. package/dist/types/Params.d.ts +9 -0
  32. package/dist/types/Params.d.ts.map +1 -0
  33. package/dist/types/PendingTransactions/PendingTransactions.d.ts +7 -5
  34. package/dist/types/PendingTransactions/PendingTransactions.d.ts.map +1 -1
  35. package/dist/types/StakeIntent/XyoStakeIntentService.d.ts +10 -6
  36. package/dist/types/StakeIntent/XyoStakeIntentService.d.ts.map +1 -1
  37. package/dist/types/Staker/Evm/Evm.d.ts +5 -5
  38. package/dist/types/Staker/Evm/Evm.d.ts.map +1 -1
  39. package/dist/types/Staker/Memory/Memory.d.ts +31 -0
  40. package/dist/types/Staker/Memory/Memory.d.ts.map +1 -0
  41. package/dist/types/Staker/Memory/index.d.ts +2 -0
  42. package/dist/types/Staker/Memory/index.d.ts.map +1 -0
  43. package/dist/types/Staker/index.d.ts +1 -0
  44. package/dist/types/Staker/index.d.ts.map +1 -1
  45. package/dist/types/index.d.ts +1 -0
  46. package/dist/types/index.d.ts.map +1 -1
  47. package/package.json +45 -44
  48. package/src/AccountBalance/ChainAccountBalanceServiceV2.ts +33 -0
  49. package/src/AccountBalance/XyoChainAccountBalanceService.ts +23 -19
  50. package/src/AccountBalance/accountBalanceServiceFromArchivist.ts +67 -35
  51. package/src/AccountBalance/index.ts +1 -0
  52. package/src/BaseService.ts +10 -23
  53. package/src/BlockProducer/XyoBlockProducer.ts +53 -30
  54. package/src/BlockReward/EvmBlockRewardService.ts +5 -5
  55. package/src/BlockReward/XyoBlockRewardService.ts +5 -3
  56. package/src/ChainBlockNumberIteration/ChainBlockNumberIterationService.ts +5 -3
  57. package/src/ChainBlockNumberIteration/model/Params.ts +9 -0
  58. package/src/ChainBlockNumberIteration/model/index.ts +1 -0
  59. package/src/ChainIndexService.ts +5 -5
  60. package/src/ChainValidator/XyoValidator.ts +9 -8
  61. package/src/Election/XyoElectionService.ts +5 -7
  62. package/src/Params.ts +9 -0
  63. package/src/PendingTransactions/PendingTransactions.ts +127 -63
  64. package/src/StakeIntent/XyoStakeIntentService.ts +30 -17
  65. package/src/Staker/Evm/Evm.ts +9 -12
  66. package/src/Staker/Memory/Memory.ts +90 -0
  67. package/src/Staker/Memory/index.ts +1 -0
  68. package/src/Staker/index.ts +1 -0
  69. package/src/index.ts +1 -0
@@ -1,8 +1,11 @@
1
- import { Address, Hash, Hex } from '@xylabs/hex';
2
- import { AccountBalanceService, BaseServiceParams, ChainServiceCollection } from '@xyo-network/xl1-protocol';
1
+ import { Address, Hash } from '@xylabs/hex';
2
+ import { AccountBalanceServiceV2, AttoXL1, ChainServiceCollection } from '@xyo-network/xl1-protocol';
3
3
  import { BaseService } from '../BaseService.ts';
4
- export type ChainAccountBalanceServiceParams = BaseServiceParams<Partial<Pick<ChainServiceCollection, 'chainArchivist'>>>;
5
- export declare class XyoChainAccountBalanceService extends BaseService<ChainAccountBalanceServiceParams> implements AccountBalanceService {
4
+ import { BaseServiceParams } from '../Params.ts';
5
+ export interface ChainAccountBalanceServiceParams extends BaseServiceParams, Partial<Pick<ChainServiceCollection, 'chainArchivist'>> {
6
+ head?: Hash;
7
+ }
8
+ export declare class XyoChainAccountBalanceService extends BaseService<ChainAccountBalanceServiceParams> implements AccountBalanceServiceV2 {
6
9
  private _balances;
7
10
  /**
8
11
  * The most recent head that was indexed to
@@ -12,7 +15,7 @@ export declare class XyoChainAccountBalanceService extends BaseService<ChainAcco
12
15
  * The oldest block that was indexed through
13
16
  */
14
17
  private _lastBlock;
15
- protected get chainArchivist(): import("@xyo-network/archivist-model").ArchivistInstance<import("@xylabs/base").BaseParamsFields & {
18
+ protected get chainArchivist(): import("@xyo-network/archivist-model").ArchivistInstance<{
16
19
  account?: import("@xyo-network/account-model").AccountInstance | "random";
17
20
  addToResolvers?: boolean;
18
21
  additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
@@ -20,9 +23,10 @@ export declare class XyoChainAccountBalanceService extends BaseService<ChainAcco
20
23
  config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>;
21
24
  ephemeralQueryAccountEnabled?: boolean;
22
25
  moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
23
- } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>;
24
- getBalance(address: Address): Hex;
25
- getBalances(): Record<Address, Hex>;
26
+ statusReporter?: import("@xyo-network/module-model").ModuleStatusReporter;
27
+ } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xylabs/base").BaseParamsFields & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>;
28
+ balances(head: Hash, address: Address[]): Partial<Record<Address, AttoXL1>>;
29
+ startHandler(): Promise<void>;
26
30
  sync(head: Hash): Promise<void>;
27
31
  }
28
32
  //# sourceMappingURL=XyoChainAccountBalanceService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyoChainAccountBalanceService.d.ts","sourceRoot":"","sources":["../../../src/AccountBalance/XyoChainAccountBalanceService.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EAAE,IAAI,EAAE,GAAG,EAEnB,MAAM,aAAa,CAAA;AAMpB,OAAO,EACL,qBAAqB,EAAE,iBAAiB,EACxC,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAA;AAEjE,MAAM,MAAM,gCAAgC,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAEzH,qBACa,6BAA8B,SAAQ,WAAW,CAAC,gCAAgC,CAAE,YAAW,qBAAqB;IAC/H,OAAO,CAAC,SAAS,CAA6C;IAC9D;;OAEG;IACH,OAAO,CAAC,WAAW,CAAoB;IAEvC;;OAEG;IACH,OAAO,CAAC,UAAU,CAAoB;IAEtC,SAAS,KAAK,cAAc;;;;;;;;wPAE3B;IAED,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG;IAIjC,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;IAS7B,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CA+BtC"}
1
+ {"version":3,"file":"XyoChainAccountBalanceService.d.ts","sourceRoot":"","sources":["../../../src/AccountBalance/XyoChainAccountBalanceService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAM3C,OAAO,EACL,uBAAuB,EAAE,OAAO,EAAE,sBAAsB,EACzD,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhD,MAAM,WAAW,gCAAiC,SAAQ,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;IAAG,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE;AAEpJ,qBACa,6BAA8B,SAAQ,WAAW,CAAC,gCAAgC,CAAE,YAAW,uBAAuB;IACjI,OAAO,CAAC,SAAS,CAA6C;IAC9D;;OAEG;IACH,OAAO,CAAC,WAAW,CAAoB;IAEvC;;OAEG;IACH,OAAO,CAAC,UAAU,CAAoB;IAEtC,SAAS,KAAK,cAAc;;;;;;;;;kSAE3B;IAED,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAU5D,YAAY;IAQrB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CA+BtC"}
@@ -1,5 +1,6 @@
1
1
  import { type Hash } from '@xylabs/hex';
2
2
  import type { ArchivistInstance } from '@xyo-network/archivist-model';
3
- import { type AccountBalanceService } from '@xyo-network/xl1-protocol';
4
- export declare const accountBalanceServiceFromArchivist: (archivist: ArchivistInstance, head?: Hash) => Promise<AccountBalanceService>;
3
+ import type { AccountBalanceServiceV2 } from '@xyo-network/xl1-protocol';
4
+ export declare const accountBalanceServiceFromArchivist: (archivist: ArchivistInstance, head?: Hash) => Promise<AccountBalanceServiceV2>;
5
+ export declare const accountBalanceServiceFromArchivistV2: (archivist: ArchivistInstance) => Promise<AccountBalanceServiceV2>;
5
6
  //# sourceMappingURL=accountBalanceServiceFromArchivist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accountBalanceServiceFromArchivist.d.ts","sourceRoot":"","sources":["../../../src/AccountBalance/accountBalanceServiceFromArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EACS,KAAK,IAAI,EAExB,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAMrE,OAAO,EAAE,KAAK,qBAAqB,EAAsC,MAAM,2BAA2B,CAAA;AAE1G,eAAO,MAAM,kCAAkC,GAAU,WAAW,iBAAiB,EAAE,OAAO,IAAI,KAAG,OAAO,CAAC,qBAAqB,CA4CjI,CAAA"}
1
+ {"version":3,"file":"accountBalanceServiceFromArchivist.d.ts","sourceRoot":"","sources":["../../../src/AccountBalance/accountBalanceServiceFromArchivist.ts"],"names":[],"mappings":"AACA,OAAO,EACiB,KAAK,IAAI,EAEhC,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAOrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAQxE,eAAO,MAAM,kCAAkC,GAAU,WAAW,iBAAiB,EAAE,OAAO,IAAI,KAAG,OAAO,CAAC,uBAAuB,CAqCnI,CAAA;AAED,eAAO,MAAM,oCAAoC,GAAU,WAAW,iBAAiB,KAAG,OAAO,CAAC,uBAAuB,CA8BxH,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export * from './accountBalanceServiceFromArchivist.ts';
2
+ export * from './ChainAccountBalanceServiceV2.ts';
2
3
  export * from './XyoChainAccountBalanceService.ts';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AccountBalance/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAA;AACvD,cAAc,oCAAoC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AccountBalance/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAA;AACvD,cAAc,mCAAmC,CAAA;AACjD,cAAc,oCAAoC,CAAA"}
@@ -1,17 +1,16 @@
1
+ import { AbstractCreatable } from '@xylabs/creatable';
1
2
  import type { EventData } from '@xylabs/events';
2
- import { BaseEmitter } from '@xylabs/events';
3
3
  import type { Promisable } from '@xylabs/promise';
4
- import type { BaseAccountableServiceParams, BaseServiceParams, Service } from '@xyo-network/xl1-protocol';
4
+ import type { Service } from '@xyo-network/xl1-protocol';
5
+ import type { BaseAccountableServiceParams, BaseServiceParams } from './Params.ts';
5
6
  declare global {
6
7
  var xyoServiceSingletons: Record<string, unknown>;
7
8
  }
8
- export declare class BaseService<TParams extends BaseServiceParams = BaseServiceParams, TEventData extends EventData = EventData> extends BaseEmitter<Partial<TParams>, TEventData> {
9
+ export declare class BaseService<TParams extends BaseServiceParams = BaseServiceParams, TEventData extends EventData = EventData> extends AbstractCreatable<TParams, TEventData> {
9
10
  private static singletonInitMutex;
10
11
  static get singletons(): Record<string, unknown>;
11
- get name(): string;
12
- static create<TService extends BaseService<TParams>, TParams extends BaseServiceParams = TService['params']>(this: CreatableService<TService>, params: Partial<TParams>): Promise<TService>;
13
- static initSingleton<TService extends BaseService<TParams>, TParams extends BaseServiceParams>(params: TParams): Promise<TService>;
14
- createHandler(): Promisable<void>;
12
+ static initSingleton<TService extends BaseService<TParams>, TParams extends BaseServiceParams>(params: Partial<TParams>): Promise<TService>;
13
+ paramsHandler(params?: Partial<TParams>): TParams;
15
14
  span<T>(name: string, fn: () => T): T;
16
15
  spanAsync<T>(name: string, fn: () => Promise<T>): Promise<T>;
17
16
  }
@@ -19,7 +18,7 @@ export declare abstract class BaseAccountableService<TParams extends BaseAccount
19
18
  }
20
19
  export interface CreatableService<T extends BaseService = BaseService> extends Service {
21
20
  new (params: T['params']): T;
22
- create<T extends BaseService>(this: CreatableService<T>, params: T['params']): Promisable<T>;
21
+ create<T extends BaseService>(this: CreatableService<T>, params?: Partial<T['params']>): Promisable<T>;
23
22
  }
24
23
  export declare function creatableService<T extends BaseService = BaseService>(): <U extends CreatableService<T>>(constructor: U) => void;
25
24
  //# sourceMappingURL=BaseService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseService.d.ts","sourceRoot":"","sources":["../../src/BaseService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EACV,4BAA4B,EAAE,iBAAiB,EAAE,OAAO,EACzD,MAAM,2BAA2B,CAAA;AAGlC,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClD;AAED,qBAAa,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,UAAU,SAAS,SAAS,GAAG,SAAS,CACtH,SAAQ,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IACjD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAc;IAE/C,MAAM,KAAK,UAAU,4BAEpB;IAED,IAAI,IAAI,WAEP;WAEY,MAAM,CAAC,QAAQ,SAAS,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,SAAS,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAC/G,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAChC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GACvB,OAAO,CAAC,QAAQ,CAAC;IAOpB,MAAM,CAAC,aAAa,CAAC,QAAQ,SAAS,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,SAAS,iBAAiB,EAAE,MAAM,EAAE,OAAO;IAO9G,aAAa,IAAI,UAAU,CAAC,IAAI,CAAC;IAIjC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI/B,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGnE;AAED,8BAAsB,sBAAsB,CAC1C,OAAO,SAAS,4BAA4B,GAAG,4BAA4B,CAC3E,SAAQ,WAAW,CAAC,OAAO,CAAC;CAE7B;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,OAAO;IACpF,KAAI,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;CAC7F;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,MAC1D,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,UAItD"}
1
+ {"version":3,"file":"BaseService.d.ts","sourceRoot":"","sources":["../../src/BaseService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAa,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAGxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAElF,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClD;AAED,qBACa,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,UAAU,SAAS,SAAS,GAAG,SAAS,CACtH,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAc;IAE/C,MAAM,KAAK,UAAU,4BAEpB;IAED,MAAM,CAAC,aAAa,CAAC,QAAQ,SAAS,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,SAAS,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC;IAOvH,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;IAIjD,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI/B,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGnE;AAED,8BAAsB,sBAAsB,CAC1C,OAAO,SAAS,4BAA4B,GAAG,4BAA4B,CAC3E,SAAQ,WAAW,CAAC,OAAO,CAAC;CAE7B;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,OAAO;IACpF,KAAI,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;CACvG;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,MAC1D,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,UAItD"}
@@ -2,36 +2,54 @@ import { Address } from '@xylabs/hex';
2
2
  import { ArchivistInstance } from '@xyo-network/archivist-model';
3
3
  import { BlockRewardDiviner } from '@xyo-network/chain-modules';
4
4
  import { WithStorageMeta } from '@xyo-network/payload-model';
5
- import { AccountBalanceService, BlockBoundWitness, BlockProducerService, ChainStakeIntent, HydratedBlock, PendingTransactionsService, StakeIntentService, Transfer } from '@xyo-network/xl1-protocol';
5
+ import { AccountBalanceServiceV2, BlockBoundWitness, BlockProducerService, ChainStakeIntent, HydratedBlock, PendingTransactionsService, StakeIntentService, Transfer } from '@xyo-network/xl1-protocol';
6
6
  import { BaseService } from '../BaseService.ts';
7
7
  import { XyoValidatorParams } from '../ChainValidator/index.ts';
8
8
  /**
9
9
  * The default block size for a block
10
10
  */
11
11
  export declare const DEFAULT_BLOCK_SIZE = 10;
12
- export declare const XYO_PRODUCER_RESTAKE_DURATION = 10000;
12
+ export declare const XYO_PRODUCER_REDECLARATION_DURATION = 10000;
13
13
  /**
14
14
  * The number of blocks within which a producer will redeclare
15
15
  * their intent to produce blocks
16
16
  */
17
- export declare const XYO_PRODUCER_RESTAKE_WINDOW = 500n;
17
+ export declare const XYO_PRODUCER_REDECLARATION_WINDOW = 500;
18
18
  export interface XyoBlockProducerParams extends XyoValidatorParams {
19
- balanceService: AccountBalanceService;
19
+ balanceService: AccountBalanceServiceV2;
20
20
  pendingTransactionsService: PendingTransactionsService;
21
21
  rejectedTransactionsArchivist: ArchivistInstance;
22
22
  rewardAddress: Address;
23
23
  }
24
24
  export declare class XyoBlockProducer extends BaseService<XyoBlockProducerParams> implements BlockProducerService {
25
25
  protected _blockRewardDiviner: BlockRewardDiviner | undefined;
26
+ /**
27
+ * The default block size for a block
28
+ */
26
29
  static get DefaultBlockSize(): number;
30
+ /**
31
+ * The amount of time for which the producer will redeclare
32
+ * their intent to continue producing blocks
33
+ */
34
+ static get RedeclarationDuration(): number;
35
+ /**
36
+ * The number of blocks within which the producer will redeclare
37
+ * their intent to continue producing blocks
38
+ */
39
+ static get RedeclarationWindow(): number;
40
+ /**
41
+ * Should the producer should redeclare
42
+ * their intent to continue producing blocks
43
+ */
44
+ static get RedeclareIntent(): boolean;
27
45
  get address(): Lowercase<string>;
28
46
  protected get account(): import("@xyo-network/account-model").AccountInstance;
29
- protected get balanceService(): AccountBalanceService;
47
+ protected get balanceService(): AccountBalanceServiceV2;
30
48
  protected get chainArchivist(): import("@xyo-network/archivist-model").ReadArchivist<import("@xyo-network/payload-model").Payload, Lowercase<string>>;
31
- protected get chainInfo(): import("@xyo-network/xl1-protocol").ChainInformation;
49
+ protected get chainId(): Lowercase<string>;
32
50
  protected get electionService(): import("@xyo-network/xl1-protocol").ElectionService;
33
51
  protected get pendingTransactionsService(): PendingTransactionsService;
34
- protected get rejectedTransactionsArchivist(): ArchivistInstance<import("@xylabs/base").BaseParamsFields & {
52
+ protected get rejectedTransactionsArchivist(): ArchivistInstance<{
35
53
  account?: import("@xyo-network/account-model").AccountInstance | "random";
36
54
  addToResolvers?: boolean;
37
55
  additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
@@ -39,11 +57,12 @@ export declare class XyoBlockProducer extends BaseService<XyoBlockProducerParams
39
57
  config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>;
40
58
  ephemeralQueryAccountEnabled?: boolean;
41
59
  moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
42
- } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>;
60
+ statusReporter?: import("@xyo-network/module-model").ModuleStatusReporter;
61
+ } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xylabs/base").BaseParamsFields & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>;
43
62
  protected get rewardAddress(): Address;
44
63
  protected get rewardService(): import("@xyo-network/xl1-protocol").BlockRewardService;
45
64
  protected get stakeIntentService(): StakeIntentService;
46
- protected get validateHydratedBlockState(): import("@xyo-network/xl1-protocol").HydratedBlockStateValidationFunction;
65
+ protected get validateHydratedBlockState(): import("@xyo-network/xl1-protocol").HydratedBlockStateValidationFunctionV2;
47
66
  next(head: WithStorageMeta<BlockBoundWitness>): Promise<HydratedBlock | undefined>;
48
67
  protected getBlockRewardTransfer(block: number): Promise<Transfer | undefined>;
49
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"XyoBlockProducer.d.ts","sourceRoot":"","sources":["../../../src/BlockProducer/XyoBlockProducer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EACR,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EACL,kBAAkB,EACnB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EACL,qBAAqB,EACqB,iBAAiB,EAAkC,oBAAoB,EAAE,gBAAgB,EACnI,aAAa,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,QAAQ,EACxE,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAG/D;;GAEG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAKpC,eAAO,MAAM,6BAA6B,QAAS,CAAA;AAEnD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAA;AAE/C,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,cAAc,EAAE,qBAAqB,CAAA;IACrC,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,6BAA6B,EAAE,iBAAiB,CAAA;IAChD,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,qBACa,gBAAiB,SAAQ,WAAW,CAAC,sBAAsB,CAAE,YAAW,oBAAoB;IACvG,SAAS,CAAC,mBAAmB,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAE7D,MAAM,KAAK,gBAAgB,IAAI,MAAM,CAEpC;IAED,IAAI,OAAO,sBAEV;IAED,SAAS,KAAK,OAAO,yDAEpB;IAED,SAAS,KAAK,cAAc,0BAE3B;IAED,SAAS,KAAK,cAAc,0HAE3B;IAED,SAAS,KAAK,SAAS,yDAEtB;IAED,SAAS,KAAK,eAAe,wDAE5B;IAED,SAAS,KAAK,0BAA0B,+BAEvC;IAED,SAAS,KAAK,6BAA6B;;;;;;;;wPAE1C;IAED,SAAS,KAAK,aAAa,IAAI,OAAO,CAErC;IAED,SAAS,KAAK,aAAa,2DAE1B;IAED,SAAS,KAAK,kBAAkB,IAAI,kBAAkB,CAErD;IAED,SAAS,KAAK,0BAA0B,6EAEvC;IAEK,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;cAWxE,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAoBpF;;;;OAIG;cACa,wBAAwB,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;cAwBzG,qBAAqB,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAoD9I"}
1
+ {"version":3,"file":"XyoBlockProducer.d.ts","sourceRoot":"","sources":["../../../src/BlockProducer/XyoBlockProducer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,OAAO,EACR,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EACL,kBAAkB,EACnB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EACL,uBAAuB,EAC4B,iBAAiB,EACpE,oBAAoB,EAAE,gBAAgB,EACtC,aAAa,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,QAAQ,EACxE,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAG/D;;GAEG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAKpC,eAAO,MAAM,mCAAmC,QAAS,CAAA;AAEzD;;;GAGG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAA;AAEpD,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,cAAc,EAAE,uBAAuB,CAAA;IACvC,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,6BAA6B,EAAE,iBAAiB,CAAA;IAChD,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,qBACa,gBAAiB,SAAQ,WAAW,CAAC,sBAAsB,CAAE,YAAW,oBAAoB;IACvG,SAAS,CAAC,mBAAmB,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAE7D;;OAEG;IACH,MAAM,KAAK,gBAAgB,IAAI,MAAM,CAEpC;IAED;;;OAGG;IACH,MAAM,KAAK,qBAAqB,IAAI,MAAM,CAEzC;IAED;;;OAGG;IACH,MAAM,KAAK,mBAAmB,IAAI,MAAM,CAEvC;IAED;;;OAGG;IACH,MAAM,KAAK,eAAe,IAAI,OAAO,CAEpC;IAED,IAAI,OAAO,sBAEV;IAED,SAAS,KAAK,OAAO,yDAEpB;IAED,SAAS,KAAK,cAAc,4BAE3B;IAED,SAAS,KAAK,cAAc,0HAE3B;IAED,SAAS,KAAK,OAAO,sBAEpB;IAED,SAAS,KAAK,eAAe,wDAE5B;IAED,SAAS,KAAK,0BAA0B,+BAEvC;IAED,SAAS,KAAK,6BAA6B;;;;;;;;;kSAE1C;IAED,SAAS,KAAK,aAAa,IAAI,OAAO,CAErC;IAED,SAAS,KAAK,aAAa,2DAE1B;IAED,SAAS,KAAK,kBAAkB,IAAI,kBAAkB,CAErD;IAED,SAAS,KAAK,0BAA0B,+EAEvC;IAEK,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;cAWxE,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAoBpF;;;;OAIG;cACa,wBAAwB,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;cAiBzG,qBAAqB,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAqD9I"}
@@ -1,6 +1,7 @@
1
- import { BaseAccountableServiceParams, BlockRewardService, ChainService } from '@xyo-network/xl1-protocol';
1
+ import { BlockRewardService, ChainService } from '@xyo-network/xl1-protocol';
2
2
  import { Provider } from 'ethers/providers';
3
3
  import { BaseService } from '../BaseService.ts';
4
+ import { BaseAccountableServiceParams } from '../Params.ts';
4
5
  export interface EvmBlockRewardServiceParams extends BaseAccountableServiceParams {
5
6
  chainService?: ChainService;
6
7
  provider?: Provider;
@@ -1 +1 @@
1
- {"version":3,"file":"EvmBlockRewardService.d.ts","sourceRoot":"","sources":["../../../src/BlockReward/EvmBlockRewardService.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,4BAA4B,EAAE,kBAAkB,EAAE,YAAY,EAC/D,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAA;AAEjE,MAAM,WAAW,2BAA4B,SAAQ,4BAA4B;IAC/E,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,qBACa,qBAAsB,SAAQ,WAAW,CAAC,2BAA2B,CAAE,YAAW,kBAAkB;IAC/G,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9C,SAAS,KAAK,YAAY,iBAEzB;IAED,SAAS,KAAK,eAAe,WAE5B;IAED,SAAS,KAAK,QAAQ,aAErB;IAEc,aAAa;IAUtB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAI9D"}
1
+ {"version":3,"file":"EvmBlockRewardService.d.ts","sourceRoot":"","sources":["../../../src/BlockReward/EvmBlockRewardService.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAA;AAE3D,MAAM,WAAW,2BAA4B,SAAQ,4BAA4B;IAC/E,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,qBACa,qBAAsB,SAAQ,WAAW,CAAC,2BAA2B,CAAE,YAAW,kBAAkB;IAC/G,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9C,SAAS,KAAK,YAAY,iBAEzB;IAED,SAAS,KAAK,eAAe,WAE5B;IAED,SAAS,KAAK,QAAQ,aAErB;IAEc,aAAa;IAUtB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAI9D"}
@@ -1,6 +1,7 @@
1
1
  import { Promisable } from '@xylabs/promise';
2
- import { BaseServiceParams, BlockRewardService } from '@xyo-network/xl1-protocol';
2
+ import { BlockRewardService } from '@xyo-network/xl1-protocol';
3
3
  import { BaseService } from '../BaseService.ts';
4
+ import { BaseServiceParams } from '../Params.ts';
4
5
  export interface XyoBlockRewardServiceParams extends BaseServiceParams {
5
6
  creatorReward?: bigint;
6
7
  initialStepReward?: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoBlockRewardService.d.ts","sourceRoot":"","sources":["../../../src/BlockReward/XyoBlockRewardService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEjF,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAA;AAEjE,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBACa,qBAAsB,SAAQ,WAAW,CAAC,2BAA2B,CAAE,YAAW,kBAAkB;IAC/G,SAAS,CAAC,QAAQ,CAAC,qBAAqB,kMAA4B;gBAGlE,EACE,aAA6C,EAC7C,iBAAuC,EACvC,iBAAqC,EACrC,qBAA4B,EAC5B,mBAAyB,EACzB,QAAqB,GACtB,GAAE,OAAO,CAAC,2BAA2B,CAAM;IAO9C,IAAI,aAAa,WAEhB;IAED,IAAI,aAAa,WAEhB;IAED,IAAI,iBAAiB,WAEpB;IAED,IAAI,qBAAqB,WAExB;IAED,IAAI,mBAAmB,WAEtB;IAED,IAAI,QAAQ,WAEX;IAED,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;CAW3D"}
1
+ {"version":3,"file":"XyoBlockRewardService.d.ts","sourceRoot":"","sources":["../../../src/BlockReward/XyoBlockRewardService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhD,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBACa,qBAAsB,SAAQ,WAAW,CAAC,2BAA2B,CAAE,YAAW,kBAAkB;IAC/G,SAAS,CAAC,QAAQ,CAAC,qBAAqB,kMAA4B;gBAGlE,EACE,aAA6C,EAC7C,iBAAuC,EACvC,iBAAqC,EACrC,qBAA4B,EAC5B,mBAAyB,EACzB,QAAqB,GACtB,GAAE,OAAO,CAAC,2BAA2B,CAAM;IAO9C,IAAI,aAAa,WAEhB;IAED,IAAI,aAAa,WAEhB;IAED,IAAI,iBAAiB,WAEpB;IAED,IAAI,qBAAqB,WAExB;IAED,IAAI,mBAAmB,WAEtB;IAED,IAAI,QAAQ,WAEX;IAED,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;CAW3D"}
@@ -1,11 +1,13 @@
1
+ import type { Address } from '@xylabs/hex';
1
2
  import type { ArchivistInstance } from '@xyo-network/archivist-model';
2
- import type { BlockBoundWitness, ChainIdentification, ChainIteratorEventData, EventingChainBlockNumberIterator, XyoChainIteratorParams } from '@xyo-network/xl1-protocol';
3
+ import type { BlockBoundWitness, ChainIteratorEventData, EventingChainBlockNumberIterator } from '@xyo-network/xl1-protocol';
3
4
  import { LRUCache } from 'lru-cache';
4
5
  import { BaseService } from '../BaseService.ts';
6
+ import type { XyoChainIteratorParams } from './model/Params.ts';
5
7
  export declare class ChainBlockNumberIterationService extends BaseService<XyoChainIteratorParams, ChainIteratorEventData> implements EventingChainBlockNumberIterator {
6
8
  protected _blocksByBlockNumber: LRUCache<number, BlockBoundWitness, unknown>;
7
9
  get chainArchivist(): ArchivistInstance;
8
- get chainIdentification(): ChainIdentification;
10
+ get chainId(): Address;
9
11
  get(block: number): Promise<BlockBoundWitness>;
10
12
  head(): Promise<BlockBoundWitness>;
11
13
  next(block: number): Promise<BlockBoundWitness | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"ChainBlockNumberIterationService.d.ts","sourceRoot":"","sources":["../../../src/ChainBlockNumberIteration/ChainBlockNumberIterationService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EACV,iBAAiB,EAAE,mBAAmB,EACtC,sBAAsB,EACtB,gCAAgC,EAChC,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAKlC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,qBAAa,gCAAiC,SAAQ,WAAW,CAAC,sBAAsB,EAAE,sBAAsB,CAAE,YAAW,gCAAgC;IAC3J,SAAS,CAAC,oBAAoB,+CAA2D;IAEzF,IAAI,cAAc,IAAI,iBAAiB,CAAgD;IAEvF,IAAI,mBAAmB,IAAI,mBAAmB,CAAqD;IAE7F,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyB9C,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,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,EACjC,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,mBAAmB,CAAA;AAE/D,qBAAa,gCAAiC,SAAQ,WAAW,CAAC,sBAAsB,EAAE,sBAAsB,CAAE,YAAW,gCAAgC;IAC3J,SAAS,CAAC,oBAAoB,+CAA2D;IAEzF,IAAI,cAAc,IAAI,iBAAiB,CAAgD;IAEvF,IAAI,OAAO,IAAI,OAAO,CAA6C;IAE7D,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"}
@@ -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 '../../Params.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/ChainBlockNumberIteration/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,iBAAiB,CAAA;AAExD,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,cAAc,EAAE,iBAAiB,CAAA;IACjC,IAAI,EAAE,iBAAiB,CAAA;CACxB"}
@@ -1,2 +1,3 @@
1
1
  export * from './BlockNumberIteration.ts';
2
+ export * from './Params.ts';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ChainBlockNumberIteration/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ChainBlockNumberIteration/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,aAAa,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { Hash, Hex } from '@xylabs/hex';
2
2
  import { Promisable } from '@xylabs/promise';
3
3
  import { ArchivistInstance } from '@xyo-network/archivist-model';
4
- import { BaseServiceParams, HydratedBlock, Service } from '@xyo-network/xl1-protocol';
4
+ import { HydratedBlock, Service } from '@xyo-network/xl1-protocol';
5
5
  import { BaseService } from './BaseService.ts';
6
+ import { BaseServiceParams } from './Params.ts';
6
7
  export interface ChainIndexServiceParams extends BaseServiceParams {
7
8
  archivist?: ArchivistInstance;
8
9
  }
@@ -13,7 +14,7 @@ export interface ChainIndexService extends Service {
13
14
  export declare class XyoChainIndexService extends BaseService<ChainIndexServiceParams> implements ChainIndexService {
14
15
  private _head;
15
16
  private _internalArchivist;
16
- protected get externalArchivist(): ArchivistInstance<import("@xylabs/base").BaseParamsFields & {
17
+ protected get externalArchivist(): ArchivistInstance<{
17
18
  account?: import("@xyo-network/account-model").AccountInstance | "random";
18
19
  addToResolvers?: boolean;
19
20
  additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
@@ -21,8 +22,9 @@ export declare class XyoChainIndexService extends BaseService<ChainIndexServiceP
21
22
  config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>;
22
23
  ephemeralQueryAccountEnabled?: boolean;
23
24
  moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
24
- } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload> | undefined;
25
- protected get internalArchivist(): ArchivistInstance<import("@xylabs/base").BaseParamsFields & {
25
+ statusReporter?: import("@xyo-network/module-model").ModuleStatusReporter;
26
+ } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xylabs/base").BaseParamsFields & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload> | undefined;
27
+ protected get internalArchivist(): ArchivistInstance<{
26
28
  account?: import("@xyo-network/account-model").AccountInstance | "random";
27
29
  addToResolvers?: boolean;
28
30
  additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
@@ -30,7 +32,8 @@ export declare class XyoChainIndexService extends BaseService<ChainIndexServiceP
30
32
  config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>;
31
33
  ephemeralQueryAccountEnabled?: boolean;
32
34
  moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
33
- } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>;
35
+ statusReporter?: import("@xyo-network/module-model").ModuleStatusReporter;
36
+ } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xylabs/base").BaseParamsFields & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>;
34
37
  createHandler(): Promise<void>;
35
38
  get(index: bigint | Hex): Promisable<HydratedBlock | undefined>;
36
39
  updateHead(_head: Hash | null): Promisable<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ChainIndexService.d.ts","sourceRoot":"","sources":["../../src/ChainIndexService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EACL,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAC1C,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,WAAW,EAAoB,MAAM,kBAAkB,CAAA;AAEhE,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAkB,SAAQ,OAAO;IAChD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC,CAAA;IACzD,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;CAChD;AAED,qBACa,oBAAqB,SAAQ,WAAW,CAAC,uBAAuB,CAAE,YAAW,iBAAiB;IACzG,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,kBAAkB,CAA+B;IAEzD,SAAS,KAAK,iBAAiB;;;;;;;;oQAE9B;IAED,SAAS,KAAK,iBAAiB;;;;;;;;wPAE9B;IAEc,aAAa;IAI5B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC;IAK/D,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;CAGjD"}
1
+ {"version":3,"file":"ChainIndexService.d.ts","sourceRoot":"","sources":["../../src/ChainIndexService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAkB,SAAQ,OAAO;IAChD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC,CAAA;IACzD,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;CAChD;AAED,qBACa,oBAAqB,SAAQ,WAAW,CAAC,uBAAuB,CAAE,YAAW,iBAAiB;IACzG,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,kBAAkB,CAA+B;IAEzD,SAAS,KAAK,iBAAiB;;;;;;;;;8SAE9B;IAED,SAAS,KAAK,iBAAiB;;;;;;;;;kSAE9B;IAEc,aAAa;IAI5B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC;IAK/D,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;CAGjD"}
@@ -1,27 +1,38 @@
1
+ import { Address } from '@xylabs/hex';
1
2
  import { Promisable } from '@xylabs/promise';
2
3
  import { AccountInstance } from '@xyo-network/account-model';
3
4
  import { ArchivistInstance, ReadArchivist } from '@xyo-network/archivist-model';
4
- import { BaseServiceParams, BlockBoundWitness, BlockRewardService, ChainInformation, ElectionService, HydratedBlockStateValidationFunction, HydratedTransaction, StakeIntentService } from '@xyo-network/xl1-protocol';
5
+ import { BlockBoundWitness, BlockRewardService, ElectionService, HydratedBlockStateValidationFunctionV2, HydratedTransaction, StakeIntentService } from '@xyo-network/xl1-protocol';
5
6
  import { BaseService } from '../BaseService.ts';
7
+ import { BaseServiceParams } from '../Params.ts';
6
8
  import { Validator } from './model/index.ts';
7
9
  export interface XyoValidatorParams extends BaseServiceParams {
8
10
  account: AccountInstance;
9
11
  chainArchivist: ReadArchivist;
10
- chainInformation: ChainInformation;
12
+ chainId: Address;
11
13
  electionService: ElectionService;
12
14
  pendingBundledTransactionsArchivist: ArchivistInstance;
13
15
  rewardService: BlockRewardService;
14
16
  stakeIntentService: StakeIntentService;
15
- validateHydratedBlockState: HydratedBlockStateValidationFunction;
17
+ validateHydratedBlockState: HydratedBlockStateValidationFunctionV2;
16
18
  }
17
19
  export declare class XyoValidator<TParams extends XyoValidatorParams = XyoValidatorParams> extends BaseService<TParams> implements Validator {
18
20
  get address(): Lowercase<string>;
19
- protected get account(): TParams["account"];
20
- protected get chainArchivist(): TParams["chainArchivist"];
21
- protected get chainInfo(): TParams["chainInformation"];
22
- protected get electionService(): TParams["electionService"];
23
- protected get pendingBundledTransactionsArchivist(): TParams["pendingBundledTransactionsArchivist"];
24
- protected get rewardService(): TParams["rewardService"];
21
+ protected get account(): AccountInstance;
22
+ protected get chainArchivist(): ReadArchivist<import("@xyo-network/payload-model").Payload, Lowercase<string>>;
23
+ protected get chainInfo(): Lowercase<string>;
24
+ protected get electionService(): ElectionService;
25
+ protected get pendingBundledTransactionsArchivist(): ArchivistInstance<{
26
+ account?: AccountInstance | "random";
27
+ addToResolvers?: boolean;
28
+ additionalSigners?: AccountInstance[];
29
+ allowNameResolution?: boolean;
30
+ config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>;
31
+ ephemeralQueryAccountEnabled?: boolean;
32
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
33
+ statusReporter?: import("@xyo-network/module-model").ModuleStatusReporter;
34
+ } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xylabs/base").BaseParamsFields & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>;
35
+ protected get rewardService(): BlockRewardService;
25
36
  validatePendingBlock(_block: BlockBoundWitness): Promisable<Error[]>;
26
37
  validatePendingTransaction(hydratedTransaction: HydratedTransaction): Promise<boolean>;
27
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XyoValidator.d.ts","sourceRoot":"","sources":["../../../src/ChainValidator/XyoValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC/E,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,oCAAoC,EACpC,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,EAAE,aAAa,CAAA;IAC7B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,eAAe,EAAE,eAAe,CAAA;IAChC,mCAAmC,EAAE,iBAAiB,CAAA;IACtD,aAAa,EAAE,kBAAkB,CAAA;IACjC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,0BAA0B,EAAE,oCAAoC,CAAA;CACjE;AAED,qBACa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,WAAW,CAAC,OAAO,CAAE,YAAW,SAAS;IAClI,IAAI,OAAO,sBAEV;IAED,SAAS,KAAK,OAAO,uBAEpB;IAED,SAAS,KAAK,cAAc,8BAE3B;IAED,SAAS,KAAK,SAAS,gCAEtB;IAED,SAAS,KAAK,eAAe,+BAE5B;IAED,SAAS,KAAK,mCAAmC,mDAEhD;IAED,SAAS,KAAK,aAAa,6BAE1B;IAED,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IAK9D,0BAA0B,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ7F"}
1
+ {"version":3,"file":"XyoValidator.d.ts","sourceRoot":"","sources":["../../../src/ChainValidator/XyoValidator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC/E,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,sCAAsC,EACtC,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,EAAE,aAAa,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,eAAe,CAAA;IAChC,mCAAmC,EAAE,iBAAiB,CAAA;IACtD,aAAa,EAAE,kBAAkB,CAAA;IACjC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,0BAA0B,EAAE,sCAAsC,CAAA;CACnE;AAED,qBACa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,WAAW,CAAC,OAAO,CAAE,YAAW,SAAS;IAClI,IAAI,OAAO,sBAEV;IAED,SAAS,KAAK,OAAO,oBAEpB;IAED,SAAS,KAAK,cAAc,mFAE3B;IAED,SAAS,KAAK,SAAS,sBAEtB;IAED,SAAS,KAAK,eAAe,oBAE5B;IAED,SAAS,KAAK,mCAAmC;;;;;;;;;kSAEhD;IAED,SAAS,KAAK,aAAa,uBAE1B;IAED,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IAK9D,0BAA0B,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ7F"}
@@ -1,14 +1,14 @@
1
1
  import { Address, Hash } from '@xylabs/hex';
2
- import type { BaseServiceParams, ChainBlockNumberIterator, ChainStakeViewer, StakeIntentService } from '@xyo-network/xl1-protocol';
2
+ import type { ChainBlockNumberIterator, ChainStakeViewer, StakeIntentService } from '@xyo-network/xl1-protocol';
3
3
  import { BlockBoundWitness, ElectionService } from '@xyo-network/xl1-protocol';
4
4
  import { BaseService } from '../BaseService.ts';
5
+ import { BaseServiceParams } from '../Params.ts';
5
6
  export interface XyoElectionServicesParams extends BaseServiceParams {
6
7
  chainIterator?: ChainBlockNumberIterator;
7
8
  chainStakeViewer?: ChainStakeViewer;
8
9
  stakeIntentService?: StakeIntentService;
9
10
  }
10
11
  export declare class XyoElectionService extends BaseService<XyoElectionServicesParams> implements ElectionService {
11
- constructor(params: XyoElectionServicesParams);
12
12
  get chainIterator(): ChainBlockNumberIterator;
13
13
  get chainStakeViewer(): ChainStakeViewer;
14
14
  get stakeIntentService(): StakeIntentService;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoElectionService.d.ts","sourceRoot":"","sources":["../../../src/Election/XyoElectionService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,KAAK,EACV,iBAAiB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,kBAAkB,EAClF,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE9E,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAA;AAEjE,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,aAAa,CAAC,EAAE,wBAAwB,CAAA;IACxC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC;AAED,qBACa,kBAAmB,SAAQ,WAAW,CAAC,yBAAyB,CAAE,YAAW,eAAe;gBAC3F,MAAM,EAAE,yBAAyB;IAI7C,IAAI,aAAa,6BAEhB;IAED,IAAI,gBAAgB,qBAEnB;IAED,IAAI,kBAAkB,uBAErB;IAEK,+BAA+B,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IASrF,SAAS,CAAC,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,SAAI,GAAG,OAAO,EAAE;CAM3G"}
1
+ {"version":3,"file":"XyoElectionService.d.ts","sourceRoot":"","sources":["../../../src/Election/XyoElectionService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,KAAK,EACV,wBAAwB,EAAE,gBAAgB,EAAE,kBAAkB,EAC/D,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhD,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,aAAa,CAAC,EAAE,wBAAwB,CAAA;IACxC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC;AAED,qBACa,kBAAmB,SAAQ,WAAW,CAAC,yBAAyB,CAAE,YAAW,eAAe;IACvG,IAAI,aAAa,6BAEhB;IAED,IAAI,gBAAgB,qBAEnB;IAED,IAAI,kBAAkB,uBAErB;IAEK,+BAA+B,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IASrF,SAAS,CAAC,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,SAAI,GAAG,OAAO,EAAE;CAM3G"}
@@ -0,0 +1,9 @@
1
+ import type { CreatableParams } from '@xylabs/creatable';
2
+ import type { AccountInstance } from '@xyo-network/account-model';
3
+ import type { OpenTelemetryProviders } from '@xyo-network/xl1-protocol';
4
+ export interface BaseServiceParams extends CreatableParams, OpenTelemetryProviders {
5
+ }
6
+ export interface BaseAccountableServiceParams extends BaseServiceParams {
7
+ account: AccountInstance;
8
+ }
9
+ //# sourceMappingURL=Params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAEvE,MAAM,WAAW,iBAAkB,SAAQ,eAAe,EAAE,sBAAsB;CAAG;AAErF,MAAM,WAAW,4BAA6B,SAAQ,iBAAiB;IACrE,OAAO,EAAE,eAAe,CAAA;CACzB"}
@@ -1,10 +1,11 @@
1
- import { Hash } from '@xylabs/hex';
1
+ import { Address, Hash } from '@xylabs/hex';
2
2
  import { ArchivistInstance } from '@xyo-network/archivist-model';
3
- import { BaseServiceParams, ChainIdentification, HydratedTransaction, PendingTransactionsService } from '@xyo-network/xl1-protocol';
3
+ import { HydratedTransaction, PendingTransactionsService } from '@xyo-network/xl1-protocol';
4
4
  import { BaseService } from '../BaseService.ts';
5
+ import { BaseServiceParams } from '../Params.ts';
5
6
  export interface XyoPendingTransactionsServiceParams extends BaseServiceParams {
6
7
  chainArchivist?: ArchivistInstance;
7
- chainIdentification?: ChainIdentification;
8
+ chainId?: Address;
8
9
  pendingBundledTransactionsArchivist?: ArchivistInstance;
9
10
  rejectedTransactionsArchivist?: ArchivistInstance;
10
11
  }
@@ -36,13 +37,14 @@ export declare class XyoPendingTransactionsService extends BaseService<XyoPendin
36
37
  */
37
38
  private _updateCuratedPendingTransactionsArchivistMutex;
38
39
  private get chainArchivist();
39
- private get chainIdentification();
40
+ private get chainId();
40
41
  private get pendingBundledTransactionsArchivist();
41
42
  private get pendingBundledTransactionsLocalArchivist();
42
43
  private get pendingTransactionsCount();
43
44
  private get rejectedTransactionsArchivist();
44
45
  createHandler(): Promise<void>;
45
46
  getPendingTransactions(head: Hash, limit: number): Promise<HydratedTransaction[]>;
47
+ private cleanupWorker;
46
48
  private countPendingTransactions;
47
49
  private filterAlreadyFinalizedTransactions;
48
50
  private insertNewTransactions;
@@ -53,6 +55,6 @@ export declare class XyoPendingTransactionsService extends BaseService<XyoPendin
53
55
  * @param payloads An array of payloads that may contain transactions.
54
56
  */
55
57
  private markAnyIncludedTransactionsForRemoval;
56
- private removeBundledTransactions;
58
+ private pruneCuratedPendingTransactionsArchivist;
57
59
  }
58
60
  //# sourceMappingURL=PendingTransactions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PendingTransactions.d.ts","sourceRoot":"","sources":["../../../src/PendingTransactions/PendingTransactions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAOhE,OAAO,EACqC,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAC3D,0BAA0B,EACrE,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAA;AAIjE,MAAM,WAAW,mCAAoC,SAAQ,iBAAiB;IAC5E,cAAc,CAAC,EAAE,iBAAiB,CAAA;IAClC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,mCAAmC,CAAC,EAAE,iBAAiB,CAAA;IACvD,6BAA6B,CAAC,EAAE,iBAAiB,CAAA;CAClD;AAID,qBACa,6BAA8B,SAAQ,WAAW,CAAC,mCAAmC,CAAE,YAAW,0BAA0B;IACvI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAiB3B;IAEV;;;OAGG;IACH,OAAO,CAAC,8BAA8B,CAAc;IAEpD;;;OAGG;IACH,OAAO,CAAC,2CAA2C,CAA6B;IAEhF;;OAEG;IACH,OAAO,CAAC,yBAAyB,CAAY;IAE7C;;;;OAIG;IACH,OAAO,CAAC,kCAAkC,CAAuB;IAEjE;;;OAGG;IACH,OAAO,CAAC,+CAA+C,CAAc;IAErE,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,KAAK,mCAAmC,GAE9C;IAED,OAAO,KAAK,wCAAwC,GAEnD;IAED,OAAO,KAAK,wBAAwB,GAGnC;IAED,OAAO,KAAK,6BAA6B,GAExC;IAEc,aAAa;IA+BtB,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAyEzE,wBAAwB;YAQxB,kCAAkC;YAUlC,qBAAqB;IA0BnC;;;;;OAKG;IACH,OAAO,CAAC,qCAAqC;YAO/B,yBAAyB;CAexC"}
1
+ {"version":3,"file":"PendingTransactions.d.ts","sourceRoot":"","sources":["../../../src/PendingTransactions/PendingTransactions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAOhE,OAAO,EACmC,mBAAmB,EAA4C,0BAA0B,EAClI,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAIhD,MAAM,WAAW,mCAAoC,SAAQ,iBAAiB;IAC5E,cAAc,CAAC,EAAE,iBAAiB,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mCAAmC,CAAC,EAAE,iBAAiB,CAAA;IACvD,6BAA6B,CAAC,EAAE,iBAAiB,CAAA;CAClD;AAID,qBACa,6BAA8B,SAAQ,WAAW,CAAC,mCAAmC,CAAE,YAAW,0BAA0B;IACvI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAa3B;IAEV;;;OAGG;IACH,OAAO,CAAC,8BAA8B,CAAc;IAEpD;;;OAGG;IACH,OAAO,CAAC,2CAA2C,CAA6B;IAEhF;;OAEG;IACH,OAAO,CAAC,yBAAyB,CAAY;IAE7C;;;;OAIG;IACH,OAAO,CAAC,kCAAkC,CAAuB;IAEjE;;;OAGG;IACH,OAAO,CAAC,+CAA+C,CAAc;IAErE,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,mCAAmC,GAE9C;IAED,OAAO,KAAK,wCAAwC,GAEnD;IAED,OAAO,KAAK,wBAAwB,GAGnC;IAED,OAAO,KAAK,6BAA6B,GAExC;IAEc,aAAa;IAiCtB,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAyDzE,aAAa;YAOb,wBAAwB;YAQxB,kCAAkC;YAUlC,qBAAqB;IA0BnC;;;;;OAKG;IACH,OAAO,CAAC,qCAAqC;YAO/B,wCAAwC;CAsEvD"}
@@ -2,11 +2,12 @@ import { Address, Hash } from '@xylabs/hex';
2
2
  import { ArchivistInstance } from '@xyo-network/archivist-model';
3
3
  import { IntervalMap } from '@xyo-network/chain-utils';
4
4
  import { Payload } from '@xyo-network/payload-model';
5
- import type { BaseServiceParams, EventingChainBlockNumberIterator, Intent } from '@xyo-network/xl1-protocol';
5
+ import type { EventingChainBlockNumberIterator, Intent } from '@xyo-network/xl1-protocol';
6
6
  import { ChainStakeViewer, StakeIntentService } from '@xyo-network/xl1-protocol';
7
7
  import { Mutex } from 'async-mutex';
8
8
  import { LRUCache } from 'lru-cache';
9
9
  import { BaseService } from '../BaseService.ts';
10
+ import { BaseServiceParams } from '../Params.ts';
10
11
  export interface XyoStakeIntentServiceParams extends BaseServiceParams {
11
12
  chainArchivist?: ArchivistInstance;
12
13
  chainIterator?: EventingChainBlockNumberIterator;
@@ -18,8 +19,7 @@ export declare class XyoStakeIntentService extends BaseService<XyoStakeIntentSer
18
19
  protected _producers: IntervalMap<Address>;
19
20
  protected _stakeCache: LRUCache<Lowercase<string>, bigint, unknown>;
20
21
  protected _updateMutex: Mutex;
21
- constructor(params: XyoStakeIntentServiceParams);
22
- protected get chainArchivist(): ArchivistInstance<import("@xylabs/base").BaseParamsFields & {
22
+ protected get chainArchivist(): ArchivistInstance<{
23
23
  account?: import("@xyo-network/account-model").AccountInstance | "random";
24
24
  addToResolvers?: boolean;
25
25
  additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
@@ -27,10 +27,11 @@ export declare class XyoStakeIntentService extends BaseService<XyoStakeIntentSer
27
27
  config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>;
28
28
  ephemeralQueryAccountEnabled?: boolean;
29
29
  moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
30
- } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, Payload>;
30
+ statusReporter?: import("@xyo-network/module-model").ModuleStatusReporter;
31
+ } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xylabs/base").BaseParamsFields & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, Payload>;
31
32
  protected get chainIterator(): EventingChainBlockNumberIterator;
32
33
  protected get chainStakeViewer(): ChainStakeViewer;
33
- protected get stakeIntentStateArchivist(): ArchivistInstance<import("@xylabs/base").BaseParamsFields & {
34
+ protected get stakeIntentStateArchivist(): ArchivistInstance<{
34
35
  account?: import("@xyo-network/account-model").AccountInstance | "random";
35
36
  addToResolvers?: boolean;
36
37
  additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
@@ -38,11 +39,14 @@ export declare class XyoStakeIntentService extends BaseService<XyoStakeIntentSer
38
39
  config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>;
39
40
  ephemeralQueryAccountEnabled?: boolean;
40
41
  moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
41
- } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, Payload>;
42
+ statusReporter?: import("@xyo-network/module-model").ModuleStatusReporter;
43
+ } & import("@xyo-network/module-model").ModuleChildrenParams & import("@xylabs/base").BaseParamsFields & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, Payload>;
42
44
  createHandler(): Promise<void>;
43
45
  getDeclaredCandidateRanges(address: Address, intent: Intent): Promise<Readonly<Readonly<[number, number]>[]>>;
44
46
  getDeclaredCandidatesForBlock(block: number, intent: Intent): Promise<Address[]>;
47
+ getRequiredMinimumStakeForIntent(intent: Intent): bigint;
45
48
  isStakedForBlock(block: number, intent: Intent, address: Address): Promise<boolean>;
49
+ startHandler(): Promise<void>;
46
50
  private filterToValidStake;
47
51
  private persistState;
48
52
  private recoverState;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoStakeIntentService.d.ts","sourceRoot":"","sources":["../../../src/StakeIntent/XyoStakeIntentService.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EAAa,IAAI,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAwB,MAAM,8BAA8B,CAAA;AAKtF,OAAO,EAEc,WAAW,EAE/B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,OAAO,EAAmB,MAAM,4BAA4B,CAAA;AACrE,OAAO,KAAK,EACV,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,EAC5D,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAG2E,gBAAgB,EAEhG,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAA;AAEjE,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,cAAc,CAAC,EAAE,iBAAiB,CAAA;IAClC,aAAa,CAAC,EAAE,gCAAgC,CAAA;IAChD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,yBAAyB,CAAC,EAAE,iBAAiB,CAAA;CAC9C;AAWD,qBACa,qBAAsB,SAAQ,WAAW,CAAC,2BAA2B,CAAE,YAAW,kBAAkB;IAE/G,SAAS,CAAC,qBAAqB,EAAE,IAAI,GAAG,SAAS,CAAY;IAQ7D,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAoB;IAC9D,SAAS,CAAC,WAAW,+CAAkE;IACvF,SAAS,CAAC,YAAY,QAAc;gBAExB,MAAM,EAAE,2BAA2B;IAO/C,SAAS,KAAK,cAAc;;;;;;;;mNAE3B;IAED,SAAS,KAAK,aAAa,qCAE1B;IAED,SAAS,KAAK,gBAAgB,qBAE7B;IAED,SAAS,KAAK,yBAAyB;;;;;;;;mNAEtC;IAEc,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvC,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAO7G,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAUhF,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAK3E,kBAAkB;YAkClB,YAAY;YAQZ,YAAY;YA+BZ,WAAW;CAgC1B"}
1
+ {"version":3,"file":"XyoStakeIntentService.d.ts","sourceRoot":"","sources":["../../../src/StakeIntent/XyoStakeIntentService.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,OAAO,EAAa,IAAI,EACzB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,iBAAiB,EAAwB,MAAM,8BAA8B,CAAA;AAKtF,OAAO,EAEc,WAAW,EAE/B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,OAAO,EAAmB,MAAM,4BAA4B,CAAA;AACrE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACzF,OAAO,EAG2E,gBAAgB,EAEhG,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhD,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,cAAc,CAAC,EAAE,iBAAiB,CAAA;IAClC,aAAa,CAAC,EAAE,gCAAgC,CAAA;IAChD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,yBAAyB,CAAC,EAAE,iBAAiB,CAAA;CAC9C;AAWD,qBACa,qBAAsB,SAAQ,WAAW,CAAC,2BAA2B,CAAE,YAAW,kBAAkB;IAE/G,SAAS,CAAC,qBAAqB,EAAE,IAAI,GAAG,SAAS,CAAY;IAQ7D,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAoB;IAC9D,SAAS,CAAC,WAAW,+CAAkE;IACvF,SAAS,CAAC,YAAY,QAAc;IAEpC,SAAS,KAAK,cAAc;;;;;;;;;6PAE3B;IAED,SAAS,KAAK,aAAa,qCAE1B;IAED,SAAS,KAAK,gBAAgB,qBAE7B;IAED,SAAS,KAAK,yBAAyB;;;;;;;;;6PAEtC;IAEc,aAAa;IAUtB,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAO7G,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAWtF,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWlD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1E,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;YAI9B,kBAAkB;YAkClB,YAAY;YAQZ,YAAY;YA+BZ,WAAW;CAiC1B"}