@xyo-network/xl1-protocol-sdk 1.20.9 → 1.21.1

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 (35) hide show
  1. package/dist/neutral/CreatableProvider/CreatableProvider.d.ts +3 -4
  2. package/dist/neutral/CreatableProvider/CreatableProvider.d.ts.map +1 -1
  3. package/dist/neutral/CreatableProvider/CreatableProviderRegistry.d.ts.map +1 -1
  4. package/dist/neutral/CreatableProvider/GetInstanceOptions.d.ts +8 -0
  5. package/dist/neutral/CreatableProvider/GetInstanceOptions.d.ts.map +1 -0
  6. package/dist/neutral/CreatableProvider/ProviderFactory.d.ts +3 -4
  7. package/dist/neutral/CreatableProvider/ProviderFactory.d.ts.map +1 -1
  8. package/dist/neutral/CreatableProvider/ProviderFactoryLocator.d.ts +2 -1
  9. package/dist/neutral/CreatableProvider/ProviderFactoryLocator.d.ts.map +1 -1
  10. package/dist/neutral/CreatableProvider/ProviderFactoryLocatorInstance.d.ts +3 -4
  11. package/dist/neutral/CreatableProvider/ProviderFactoryLocatorInstance.d.ts.map +1 -1
  12. package/dist/neutral/CreatableProvider/index.d.ts +1 -0
  13. package/dist/neutral/CreatableProvider/index.d.ts.map +1 -1
  14. package/dist/neutral/index.mjs +133 -44
  15. package/dist/neutral/index.mjs.map +1 -1
  16. package/dist/neutral/model/runners/Mempool.d.ts +7 -0
  17. package/dist/neutral/model/runners/Mempool.d.ts.map +1 -1
  18. package/dist/neutral/model/viewers/BlockValidation.d.ts +7 -5
  19. package/dist/neutral/model/viewers/BlockValidation.d.ts.map +1 -1
  20. package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts +7 -5
  21. package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts.map +1 -1
  22. package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts +8 -2
  23. package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts.map +1 -1
  24. package/package.json +2 -2
  25. package/src/CreatableProvider/CreatableProvider.ts +5 -7
  26. package/src/CreatableProvider/CreatableProviderRegistry.ts +0 -2
  27. package/src/CreatableProvider/GetInstanceOptions.ts +9 -0
  28. package/src/CreatableProvider/ProviderFactory.ts +8 -8
  29. package/src/CreatableProvider/ProviderFactoryLocator.ts +3 -2
  30. package/src/CreatableProvider/ProviderFactoryLocatorInstance.ts +3 -10
  31. package/src/CreatableProvider/index.ts +1 -0
  32. package/src/model/runners/Mempool.ts +10 -1
  33. package/src/model/viewers/BlockValidation.ts +25 -7
  34. package/src/simple/blockValidation/SimpleBlockValidationViewer.ts +54 -19
  35. package/src/simple/mempool/SimpleMempoolRunner.ts +82 -4
@@ -4,6 +4,7 @@ import type { Creatable, CreatableInstance, CreatableParams, Labels, WithOptiona
4
4
  import type { Config } from '../config/index.ts';
5
5
  import type { CachingBaseContext, Provider, ProviderMoniker } from '../model/index.ts';
6
6
  import type { RuntimeStatusMonitor } from '../status/index.ts';
7
+ import type { GetInstanceOptions } from './GetInstanceOptions.ts';
7
8
  import type { LabeledCreatableProviderFactory } from './LabeledCreatableProviderFactory.ts';
8
9
  import type { ProviderFactoryLocatorInstance } from './ProviderFactoryLocatorInstance.ts';
9
10
  export interface CreatableProviderContext extends CachingBaseContext {
@@ -30,10 +31,8 @@ export interface CreatableProviderFactory<T extends CreatableProviderInstance =
30
31
  labels?: Labels;
31
32
  resolvedMoniker: string;
32
33
  scope: ProviderFactoryScope;
33
- /** @deprecated use getInstance instead */
34
- create(this: CreatableProviderFactory<T>, params?: Partial<T['params'] & CreatableProviderParams>, start?: boolean): Promise<T>;
35
- getInstance(this: CreatableProviderFactory<T>, params: T['params'] & CreatableProviderParams, start?: boolean): Promise<T>;
36
- tryGetInstance(this: CreatableProviderFactory<T>, params: T['params'] & CreatableProviderParams, start?: boolean): Promise<T | undefined>;
34
+ getInstance(this: CreatableProviderFactory<T>, params: T['params'] & CreatableProviderParams, options?: GetInstanceOptions): Promise<T>;
35
+ tryGetInstance(this: CreatableProviderFactory<T>, params: T['params'] & CreatableProviderParams, options?: GetInstanceOptions): Promise<T | undefined>;
37
36
  }
38
37
  export interface LabeledCreatableProvider<T extends CreatableProviderInstance = CreatableProviderInstance, TDependencies extends ProviderMoniker[] = ProviderMoniker[]> extends CreatableProvider<T>, WithOptionalLabels {
39
38
  factory(dependencies: TDependencies, params?: Partial<T['params'] & CreatableProviderParams>): LabeledCreatableProviderFactory<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"CreatableProvider.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/CreatableProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreatableProvider.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/CreatableProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreatableProviderRegistry.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/CreatableProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAG5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACjG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AAE3F,MAAM,MAAM,yBAAyB,CAAC,SAAS,SAAS,eAAe,EAAE,GAAG,eAAe,EAAE,IACzF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,wBAAwB,GAAG,+BAA+B,CAAC,EAAE,GAAG,SAAS,CAAC,CAAA;AAyBzG,eAAO,MAAM,gCAAgC,GAAI,SAAS,SAAS,yBAAyB,EAC1F,UAAU,yBAAyB,EACnC,SAAS,wBAAwB,CAAC,SAAS,CAAC,GAAG,+BAA+B,CAAC,SAAS,CAAC,EACzF,SAAS,MAAM;AACf,wEAAwE;AACxE,UAAS,OAAO,GAAG,eAAe,GAAG,eAAe,EAAU,SAuC/D,CAAA;AAED,eAAO,MAAM,kCAAkC,GAC7C,WAAW,CAAC,wBAAwB,GAAG,+BAA+B,CAAC,EAAE,EACzE,WAAU,yBAA8B,EACxC,iBAAe,wCAMhB,CAAA"}
1
+ {"version":3,"file":"CreatableProviderRegistry.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/CreatableProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAG5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACjG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AAE3F,MAAM,MAAM,yBAAyB,CAAC,SAAS,SAAS,eAAe,EAAE,GAAG,eAAe,EAAE,IACzF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,wBAAwB,GAAG,+BAA+B,CAAC,EAAE,GAAG,SAAS,CAAC,CAAA;AAuBzG,eAAO,MAAM,gCAAgC,GAAI,SAAS,SAAS,yBAAyB,EAC1F,UAAU,yBAAyB,EACnC,SAAS,wBAAwB,CAAC,SAAS,CAAC,GAAG,+BAA+B,CAAC,SAAS,CAAC,EACzF,SAAS,MAAM;AACf,wEAAwE;AACxE,UAAS,OAAO,GAAG,eAAe,GAAG,eAAe,EAAU,SAuC/D,CAAA;AAED,eAAO,MAAM,kCAAkC,GAC7C,WAAW,CAAC,wBAAwB,GAAG,+BAA+B,CAAC,EAAE,EACzE,WAAU,yBAA8B,EACxC,iBAAe,wCAMhB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { Labels } from '@xylabs/sdk-js';
2
+ export interface GetInstanceOptions {
3
+ start?: boolean;
4
+ }
5
+ export interface ProviderFactoryGetInstanceOptions extends GetInstanceOptions {
6
+ labels?: Labels;
7
+ }
8
+ //# sourceMappingURL=GetInstanceOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetInstanceOptions.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/GetInstanceOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,iCAAkC,SAAQ,kBAAkB;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB"}
@@ -1,6 +1,7 @@
1
1
  import type { Labels } from '@xylabs/sdk-js';
2
2
  import type { ProviderMoniker } from '../model/index.ts';
3
3
  import type { CreatableProvider, CreatableProviderFactory, CreatableProviderInstance, ProviderFactoryScope } from './CreatableProvider.ts';
4
+ import type { GetInstanceOptions } from './GetInstanceOptions.ts';
4
5
  declare global {
5
6
  var xyoServiceSingletons: Record<string, unknown>;
6
7
  }
@@ -15,10 +16,8 @@ export declare class ProviderFactory<TProvider extends CreatableProviderInstance
15
16
  constructor(creatableProvider: CreatableProvider<TProvider>, dependencies: TDependencies, params?: Partial<TProvider['params']>, labels?: Labels, scope?: ProviderFactoryScope);
16
17
  get resolvedMoniker(): string;
17
18
  static withParams<TInstance extends CreatableProviderInstance, TDependencies extends ProviderMoniker[]>(creatableProvider: CreatableProvider<TInstance>, dependencies: TDependencies, params?: Partial<TInstance['params']>, labels?: Labels): ProviderFactory<TInstance, TDependencies>;
18
- /** @deprecated use getInstance instead */
19
- create(this: CreatableProviderFactory<TProvider>, params?: Partial<TProvider['params']>, start?: boolean): Promise<TProvider>;
20
19
  factory<TInstance extends CreatableProviderInstance, TDependencies extends ProviderMoniker[]>(this: CreatableProviderFactory<TInstance, TDependencies>, dependencies: TDependencies, params?: Partial<TInstance['params']>, labels?: Labels): ProviderFactory<TInstance, TDependencies>;
21
- getInstance(this: CreatableProviderFactory<TProvider>, params: TProvider['params'], start?: boolean): Promise<TProvider>;
22
- tryGetInstance(this: CreatableProviderFactory<TProvider>, params: TProvider['params'], start?: boolean): Promise<TProvider | undefined>;
20
+ getInstance(this: CreatableProviderFactory<TProvider>, params: TProvider['params'], { start }: GetInstanceOptions): Promise<TProvider>;
21
+ tryGetInstance(this: CreatableProviderFactory<TProvider>, params: TProvider['params'], options?: GetInstanceOptions): Promise<TProvider | undefined>;
23
22
  }
24
23
  //# sourceMappingURL=ProviderFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderFactory.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/ProviderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,gBAAgB,CAAA;AAGhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EACV,iBAAiB,EAAE,wBAAwB,EAAE,yBAAyB,EACtE,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClD;AAED,qBAAa,eAAe,CAAC,SAAS,SAAS,yBAAyB,EACtE,aAAa,SAAS,eAAe,EAAE,CAAE,YAAW,wBAAwB,CAAC,SAAS,CAAC;IACvF,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAE/C,cAAc,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;IAEhE,aAAa,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE5C,YAAY,EAAE,aAAa,CAAA;IAE3B,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAA;IAElD,KAAK,EAAE,oBAAoB,CAAA;gBAGzB,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAC/C,YAAY,EAAE,aAAa,EAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACrC,MAAM,GAAE,MAAW,EACnB,KAAK,GAAE,oBAAgC;IAYzC,IAAI,eAAe,WAIlB;IAED,MAAM,CAAC,UAAU,CAAC,SAAS,SAAS,yBAAyB,EAAE,aAAa,SAAS,eAAe,EAAE,EACpG,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAC/C,YAAY,EAAE,aAAa,EAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACrC,MAAM,GAAE,MAAW;IAKrB,0CAA0C;IACpC,MAAM,CAAC,IAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,UAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAIhI,OAAO,CAAC,SAAS,SAAS,yBAAyB,EAAE,aAAa,SAAS,eAAe,EAAE,EAC1F,IAAI,EAAE,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,EACxD,YAAY,EAAE,aAAa,EAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACrC,MAAM,GAAE,MAAW;IAKf,WAAW,CAAC,IAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IA+CrH,cAAc,CAAC,IAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAO,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;CAO3I"}
1
+ {"version":3,"file":"ProviderFactory.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/ProviderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,gBAAgB,CAAA;AAGhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EACV,iBAAiB,EAAE,wBAAwB,EAAE,yBAAyB,EACtE,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClD;AAED,qBAAa,eAAe,CAAC,SAAS,SAAS,yBAAyB,EACtE,aAAa,SAAS,eAAe,EAAE,CAAE,YAAW,wBAAwB,CAAC,SAAS,CAAC;IACvF,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAE/C,cAAc,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;IAEhE,aAAa,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE5C,YAAY,EAAE,aAAa,CAAA;IAE3B,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAA;IAElD,KAAK,EAAE,oBAAoB,CAAA;gBAGzB,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAC/C,YAAY,EAAE,aAAa,EAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACrC,MAAM,GAAE,MAAW,EACnB,KAAK,GAAE,oBAAgC;IAYzC,IAAI,eAAe,WAIlB;IAED,MAAM,CAAC,UAAU,CAAC,SAAS,SAAS,yBAAyB,EAAE,aAAa,SAAS,eAAe,EAAE,EACpG,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAC/C,YAAY,EAAE,aAAa,EAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACrC,MAAM,GAAE,MAAW;IAKrB,OAAO,CAAC,SAAS,SAAS,yBAAyB,EAAE,aAAa,SAAS,eAAe,EAAE,EAC1F,IAAI,EAAE,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,EACxD,YAAY,EAAE,aAAa,EAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACrC,MAAM,GAAE,MAAW;IAKf,WAAW,CAAC,IAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAY,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IA+C7I,cAAc,CAClB,IAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,EACzC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAC3B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;CAOlC"}
@@ -2,6 +2,7 @@ import { type Labels } from '@xylabs/sdk-js';
2
2
  import type { Provider, ProviderMoniker } from '../model/index.ts';
3
3
  import type { CreatableProviderContext, CreatableProviderFactory, CreatableProviderInstance } from './CreatableProvider.ts';
4
4
  import { type CreatableProviderRegistry } from './CreatableProviderRegistry.ts';
5
+ import type { ProviderFactoryGetInstanceOptions } from './GetInstanceOptions.ts';
5
6
  import { type LabeledCreatableProviderFactory } from './LabeledCreatableProviderFactory.ts';
6
7
  import type { ProviderFactoryLocatorInstance } from './ProviderFactoryLocatorInstance.ts';
7
8
  /**
@@ -22,7 +23,7 @@ export declare class ProviderFactoryLocator<TContext extends CreatableProviderCo
22
23
  /** @deprecated use getInstance instead */
23
24
  create<TProvider extends Provider<ProviderMoniker>>(moniker: TProvider['moniker'], params?: Partial<CreatableProviderInstance<TProvider>['params']>, labels?: Labels): Promise<CreatableProviderInstance<TProvider>>;
24
25
  freeze(): void;
25
- getInstance<TProvider extends Provider<ProviderMoniker>>(moniker: TProvider['moniker'], params?: Partial<CreatableProviderInstance<TProvider>['params']>, labels?: Labels): Promise<CreatableProviderInstance<TProvider>>;
26
+ getInstance<TProvider extends Provider<ProviderMoniker>>(moniker: TProvider['moniker'], params?: Partial<CreatableProviderInstance<TProvider>['params']>, { start, labels }?: ProviderFactoryGetInstanceOptions): Promise<CreatableProviderInstance<TProvider>>;
26
27
  /**
27
28
  * Locates a provider factory that matches the supplied moniker and labels
28
29
  * @param moniker The config moniker for the provider
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderFactoryLocator.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/ProviderFactoryLocator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProviderFactoryLocator.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/ProviderFactoryLocator.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { Labels } from '@xylabs/sdk-js';
2
2
  import type { Provider, ProviderMoniker } from '../model/index.ts';
3
3
  import type { CreatableProviderContext, CreatableProviderFactory, CreatableProviderInstance } from './CreatableProvider.ts';
4
4
  import type { CreatableProviderRegistry } from './CreatableProviderRegistry.ts';
5
+ import type { ProviderFactoryGetInstanceOptions } from './GetInstanceOptions.ts';
5
6
  import type { LabeledCreatableProviderFactory } from './LabeledCreatableProviderFactory.ts';
6
7
  export interface ProviderFactoryLocatorInstance<T extends CreatableProviderContext = CreatableProviderContext> {
7
8
  context: T;
@@ -9,10 +10,8 @@ export interface ProviderFactoryLocatorInstance<T extends CreatableProviderConte
9
10
  * The current registry for the module factory
10
11
  */
11
12
  registry: Readonly<CreatableProviderRegistry>;
12
- /** @deprecated use getInstance instead */
13
- create<TProvider extends Provider<ProviderMoniker>, TParams extends CreatableProviderInstance<TProvider>['params'] = CreatableProviderInstance<TProvider>['params']>(moniker: TProvider['moniker'], params?: TParams, labels?: Labels): Promise<CreatableProviderInstance<TProvider>>;
14
13
  freeze(): void;
15
- getInstance<TProvider extends Provider<ProviderMoniker>, TParams extends CreatableProviderInstance<TProvider>['params'] = CreatableProviderInstance<TProvider>['params']>(moniker: TProvider['moniker'], params?: Partial<TParams>, labels?: Labels): Promise<CreatableProviderInstance<TProvider>>;
14
+ getInstance<TProvider extends Provider<ProviderMoniker>, TParams extends CreatableProviderInstance<TProvider>['params'] = CreatableProviderInstance<TProvider>['params']>(moniker: TProvider['moniker'], params?: Partial<TParams>, options?: ProviderFactoryGetInstanceOptions): Promise<CreatableProviderInstance<TProvider>>;
16
15
  /**
17
16
  * Locates a module factory that matches the supplied moniker and labels
18
17
  * @param moniker The config moniker for the module
@@ -32,7 +31,7 @@ export interface ProviderFactoryLocatorInstance<T extends CreatableProviderConte
32
31
  * @param factories The factories to register
33
32
  */
34
33
  registerMany(factories: CreatableProviderFactory[]): ProviderFactoryLocatorInstance;
35
- tryGetInstance<TProvider extends Provider<ProviderMoniker>, TParams extends CreatableProviderInstance<TProvider>['params'] = CreatableProviderInstance<TProvider>['params']>(moniker: TProvider['moniker'], params?: Partial<TParams>, labels?: Labels): Promise<CreatableProviderInstance<TProvider> | undefined>;
34
+ tryGetInstance<TProvider extends Provider<ProviderMoniker>, TParams extends CreatableProviderInstance<TProvider>['params'] = CreatableProviderInstance<TProvider>['params']>(moniker: TProvider['moniker'], params?: Partial<TParams>, options?: ProviderFactoryGetInstanceOptions): Promise<CreatableProviderInstance<TProvider> | undefined>;
36
35
  /**
37
36
  * Tries to locate a module factory that matches the supplied moniker and labels
38
37
  * @param moniker The config moniker for the module
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderFactoryLocatorInstance.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/ProviderFactoryLocatorInstance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,KAAK,EACV,wBAAwB,EAAE,wBAAwB,EAAE,yBAAyB,EAC9E,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AAE3F,MAAM,WAAW,8BAA8B,CAAC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB;IAE3G,OAAO,EAAE,CAAC,CAAA;IAEV;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAA;IAE7C,0CAA0C;IAC1C,MAAM,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EAChD,OAAO,SAAS,yBAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAC/G,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,MAAM,CAAC,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAA;IAEhD,MAAM,IAAI,IAAI,CAAA;IAEd,WAAW,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EACrD,OAAO,SAAS,yBAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAC/G,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAA;IAEhD;;;;;OAKG;IACH,MAAM,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAC3F,wBAAwB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,+BAA+B,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;IAEpJ,KAAK,CAAC,OAAO,EAAE,8BAA8B,GAAG,8BAA8B,CAAA;IAE9E;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,eAAe,EAAE,GAAG,8BAA8B,CAAA;IAErJ;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,wBAAwB,EAAE,GAAG,8BAA8B,CAAA;IAEnF,cAAc,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EACxD,OAAO,SAAS,yBAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAC/G,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAA;IAE5D;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,wBAAwB,GAAG,+BAA+B,GAAG,SAAS,CAAA;CAC7H"}
1
+ {"version":3,"file":"ProviderFactoryLocatorInstance.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/ProviderFactoryLocatorInstance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,KAAK,EACV,wBAAwB,EAAE,wBAAwB,EAAE,yBAAyB,EAC9E,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AAE3F,MAAM,WAAW,8BAA8B,CAAC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB;IAE3G,OAAO,EAAE,CAAC,CAAA;IAEV;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAA;IAE7C,MAAM,IAAI,IAAI,CAAA;IAEd,WAAW,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EACrD,OAAO,SAAS,yBAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAC/G,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAA;IAEhD;;;;;OAKG;IACH,MAAM,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAC3F,wBAAwB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,+BAA+B,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;IAEpJ,KAAK,CAAC,OAAO,EAAE,8BAA8B,GAAG,8BAA8B,CAAA;IAE9E;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,eAAe,EAAE,GAAG,8BAA8B,CAAA;IAErJ;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,wBAAwB,EAAE,GAAG,8BAA8B,CAAA;IAEnF,cAAc,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EACxD,OAAO,SAAS,yBAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAC/G,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAA;IAE5D;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,wBAAwB,GAAG,+BAA+B,GAAG,SAAS,CAAA;CAC7H"}
@@ -1,6 +1,7 @@
1
1
  export * from './AbstractCreatableProvider.ts';
2
2
  export * from './CreatableProvider.ts';
3
3
  export * from './CreatableProviderRegistry.ts';
4
+ export * from './GetInstanceOptions.ts';
4
5
  export * from './LabeledCreatableProviderFactory.ts';
5
6
  export * from './ProviderFactory.ts';
6
7
  export * from './ProviderFactoryLocator.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAA;AAC9C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sCAAsC,CAAA;AACpD,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qCAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAA;AAC9C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,yBAAyB,CAAA;AACvC,cAAc,sCAAsC,CAAA;AACpD,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qCAAqC,CAAA"}
@@ -632,14 +632,10 @@ var ProviderFactory = class _ProviderFactory {
632
632
  static withParams(creatableProvider2, dependencies, params, labels = {}) {
633
633
  return new _ProviderFactory(creatableProvider2, dependencies, params, labels);
634
634
  }
635
- /** @deprecated use getInstance instead */
636
- async create(params, start = true) {
637
- return await this.getInstance(params, start);
638
- }
639
635
  factory(dependencies, params, labels = {}) {
640
636
  return new _ProviderFactory(this.creatableProvider, dependencies, params, labels);
641
637
  }
642
- async getInstance(params, start = true) {
638
+ async getInstance(params, { start = true }) {
643
639
  let scopeObject = {};
644
640
  switch (this.scope) {
645
641
  case "global": {
@@ -685,9 +681,9 @@ var ProviderFactory = class _ProviderFactory {
685
681
  }
686
682
  return result;
687
683
  }
688
- async tryGetInstance(params, start = true) {
684
+ async tryGetInstance(params, options = {}) {
689
685
  try {
690
- return await this.getInstance(params, start);
686
+ return await this.getInstance(params, options);
691
687
  } catch {
692
688
  return;
693
689
  }
@@ -759,8 +755,6 @@ import { isTruthy } from "@xylabs/sdk-js";
759
755
  var buildProviderFactory = (provider, labels) => {
760
756
  const factory = {
761
757
  monikers: provider.monikers,
762
- // Copy static methods
763
- create: provider.create.bind(provider),
764
758
  // Merge module & supplied labels
765
759
  labels: { ...provider.labels, ...labels },
766
760
  creatableProvider: provider.creatableProvider,
@@ -853,7 +847,7 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
853
847
  freeze() {
854
848
  this._frozen = true;
855
849
  }
856
- async getInstance(moniker, params, labels) {
850
+ async getInstance(moniker, params, { start = true, labels } = {}) {
857
851
  const resolvedParams = {
858
852
  ...params,
859
853
  context: {
@@ -862,7 +856,7 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
862
856
  }
863
857
  };
864
858
  const factory = this.locate(moniker, labels);
865
- const result = await factory.getInstance(resolvedParams);
859
+ const result = await factory.getInstance(resolvedParams, { start });
866
860
  return result;
867
861
  }
868
862
  /**
@@ -3947,12 +3941,11 @@ SimpleBlockRewardViewer = __decorateClass([
3947
3941
  ], SimpleBlockRewardViewer);
3948
3942
 
3949
3943
  // src/simple/blockValidation/SimpleBlockValidationViewer.ts
3944
+ import { assertEx as assertEx30 } from "@xylabs/sdk-js";
3945
+ import { PayloadBuilder as PayloadBuilder17 } from "@xyo-network/payload-builder";
3950
3946
  import {
3951
- assertEx as assertEx30,
3952
- exists as exists5
3953
- } from "@xylabs/sdk-js";
3954
- import {
3955
- asXL1BlockRange as asXL1BlockRange11
3947
+ asXL1BlockRange as asXL1BlockRange11,
3948
+ isHydratedBlock
3956
3949
  } from "@xyo-network/xl1-protocol";
3957
3950
  var SimpleBlockValidationViewer = class extends AbstractCreatableProvider {
3958
3951
  moniker = SimpleBlockValidationViewer.defaultMoniker;
@@ -3984,7 +3977,8 @@ var SimpleBlockValidationViewer = class extends AbstractCreatableProvider {
3984
3977
  this._chainContractViewer = await this.locator.getInstance(ChainContractViewerMoniker);
3985
3978
  }
3986
3979
  async qualifiedValidateBlock(block, config) {
3987
- return await this.qualifiedValidateBlocks([block], config);
3980
+ const result = await this.qualifiedValidateBlocks([block], config);
3981
+ return [result[0][0], result[1]];
3988
3982
  }
3989
3983
  async qualifiedValidateBlocks(blocks, config) {
3990
3984
  const { value, state } = config ?? {
@@ -3993,6 +3987,7 @@ var SimpleBlockValidationViewer = class extends AbstractCreatableProvider {
3993
3987
  state: true,
3994
3988
  head: void 0
3995
3989
  };
3990
+ const blocksWithMeta = await Promise.all(blocks.map((b) => Promise.all([PayloadBuilder17.addHashMeta(b[0]), PayloadBuilder17.addHashMeta(b[1])])));
3996
3991
  const head = isChainQualifiedHeadConfig(config) ? assertEx30(
3997
3992
  (await this.blockViewer.blockByHash(config.head))?.[0],
3998
3993
  () => `Specified a head that is not in the chain [${config.head}]`
@@ -4001,25 +3996,44 @@ var SimpleBlockValidationViewer = class extends AbstractCreatableProvider {
4001
3996
  const validateProtocol = value ? this.doValidateProtocol.bind(this) : void 0;
4002
3997
  const validateState = state ? this.doValidateState.bind(this) : void 0;
4003
3998
  const chainIdAtBlockNumber = (blockNumber) => this.chainContractViewer.chainIdAtBlockNumber(blockNumber);
4004
- return [(await Promise.all([
4005
- validateProtocol?.(blocks, chainIdAtBlockNumber),
4006
- validateState?.(blocks, chainIdAtBlockNumber)
4007
- ].filter(exists5))).flat(), { head: headBlock._hash, range: asXL1BlockRange11([0, headBlock.block], true) }];
3999
+ const qualification = { head: headBlock._hash, range: asXL1BlockRange11([0, headBlock.block], true) };
4000
+ const [protocolResults = [], stateResults = []] = await Promise.all([
4001
+ validateProtocol?.(blocksWithMeta, chainIdAtBlockNumber),
4002
+ validateState?.(blocksWithMeta, chainIdAtBlockNumber)
4003
+ ]);
4004
+ const blockResults = protocolResults.map((r, i) => {
4005
+ const errors = [];
4006
+ if (!isHydratedBlock(r)) {
4007
+ errors.push(...r);
4008
+ }
4009
+ if (!isHydratedBlock(stateResults[i])) {
4010
+ errors.push(...stateResults[i]);
4011
+ }
4012
+ return errors.length === 0 ? r : errors;
4013
+ });
4014
+ return [blockResults, qualification];
4015
+ }
4016
+ qualifiedValidateUncle(_blocks, _config) {
4017
+ throw new Error("Method not implemented.");
4008
4018
  }
4009
4019
  async validateBlock(block, config) {
4010
- return await this.validateBlocks([block], config);
4020
+ return (await this.validateBlocks([block], config))[0];
4011
4021
  }
4012
4022
  async validateBlocks(blocks, config) {
4013
4023
  return (await this.qualifiedValidateBlocks(blocks, config))[0];
4014
4024
  }
4025
+ async validateUncle(blocks, config) {
4026
+ return (await this.qualifiedValidateUncle(blocks, config))[0];
4027
+ }
4015
4028
  async doValidateProtocol(blocks, chainIdAtBlockNumber) {
4016
- return (await Promise.all(blocks.map(async (block) => {
4017
- return await this.params.protocol(
4029
+ return await Promise.all(blocks.map(async (block) => {
4030
+ const errors = await this.params.protocol(
4018
4031
  this.context,
4019
4032
  block,
4020
4033
  chainIdAtBlockNumber
4021
4034
  );
4022
- }))).flat();
4035
+ return errors.length === 0 ? block : errors;
4036
+ }));
4023
4037
  }
4024
4038
  async doValidateState(blocks, chainIdAtBlockNumber) {
4025
4039
  const windowedUncleChain = await this.updateWindowedChainCache();
@@ -4029,14 +4043,15 @@ var SimpleBlockValidationViewer = class extends AbstractCreatableProvider {
4029
4043
  this.logger?.warn(JSON.stringify(windowedUncleChain, null, 2));
4030
4044
  throw new Error(`No uncles or greater than one uncle found in block validation, which is not supported [${uncles.length}, ${blocks.length}]`);
4031
4045
  }
4032
- return (await Promise.all(uncles[0].map(async (block) => {
4033
- return await this.params.state(
4046
+ return await Promise.all(uncles[0].map(async (block) => {
4047
+ const errors = await this.params.state(
4034
4048
  this.context,
4035
4049
  block,
4036
4050
  chainIdAtBlockNumber,
4037
4051
  { accountBalance: this._accountBalanceViewer }
4038
4052
  );
4039
- }))).flat();
4053
+ return errors.length === 0 ? block : errors;
4054
+ }));
4040
4055
  }
4041
4056
  async updateWindowedChainCache() {
4042
4057
  this._uncleWindowedChainCache = await getWindowedChain(this.context, this.blockViewer, this.maxUncleWindowSize, this._uncleWindowedChainCache ?? []);
@@ -4445,7 +4460,7 @@ import {
4445
4460
  BigIntToJsonZod,
4446
4461
  isDefined as isDefined19
4447
4462
  } from "@xylabs/sdk-js";
4448
- import { PayloadBuilder as PayloadBuilder17 } from "@xyo-network/payload-builder";
4463
+ import { PayloadBuilder as PayloadBuilder18 } from "@xyo-network/payload-builder";
4449
4464
  import { asXL1BlockNumber as asXL1BlockNumber9, TransferSchema as TransferSchema3 } from "@xyo-network/xl1-protocol";
4450
4465
  var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreatableProvider {
4451
4466
  static defaultMoniker = XyoGatewayRunnerMoniker;
@@ -4511,7 +4526,7 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
4511
4526
  BigIntToJsonZod.parse(amount)
4512
4527
  ])
4513
4528
  );
4514
- const transfer = new PayloadBuilder17({ schema: TransferSchema3 }).fields({
4529
+ const transfer = new PayloadBuilder18({ schema: TransferSchema3 }).fields({
4515
4530
  from,
4516
4531
  transfers: hexTransfers,
4517
4532
  epoch: Date.now()
@@ -4530,10 +4545,22 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
4530
4545
  };
4531
4546
 
4532
4547
  // src/simple/mempool/SimpleMempoolRunner.ts
4533
- import { assertEx as assertEx35 } from "@xylabs/sdk-js";
4534
- import { PayloadBuilder as PayloadBuilder18 } from "@xyo-network/payload-builder";
4548
+ import {
4549
+ assertEx as assertEx35,
4550
+ exists as exists5
4551
+ } from "@xylabs/sdk-js";
4552
+ import { PayloadBuilder as PayloadBuilder19 } from "@xyo-network/payload-builder";
4553
+ import { isPayloadBundle } from "@xyo-network/payload-model";
4554
+ import {
4555
+ isHydratedBlockWithHashMeta
4556
+ } from "@xyo-network/xl1-protocol";
4535
4557
  var SimpleMempoolRunner = class extends AbstractCreatableProvider {
4536
4558
  moniker = SimpleMempoolRunner.defaultMoniker;
4559
+ _blockValidationViewer;
4560
+ _finalizationViewer;
4561
+ get blockValidationViewer() {
4562
+ return this._blockValidationViewer;
4563
+ }
4537
4564
  get pendingBlocksArchivist() {
4538
4565
  return this.params.pendingBlocksArchivist;
4539
4566
  }
@@ -4547,11 +4574,73 @@ var SimpleMempoolRunner = class extends AbstractCreatableProvider {
4547
4574
  pendingTransactionsArchivist: assertEx35(params?.pendingTransactionsArchivist, () => "pendingTransactionsArchivist is required")
4548
4575
  };
4549
4576
  }
4577
+ async createHandler() {
4578
+ await super.createHandler();
4579
+ this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
4580
+ this._finalizationViewer = await this.locator.getInstance(FinalizationViewerMoniker);
4581
+ }
4582
+ async prunePendingBlocks({
4583
+ batchSize = 10,
4584
+ maxPrune = 1e3,
4585
+ maxCheck = 1e3
4586
+ } = {}) {
4587
+ let total = 0;
4588
+ let pruned = 0;
4589
+ let cursor;
4590
+ let batch = await this.pendingBlocksArchivist.next({
4591
+ limit: batchSize,
4592
+ cursor,
4593
+ order: "desc"
4594
+ });
4595
+ while (batch.length > 0 && pruned < maxPrune && total < maxCheck) {
4596
+ const bundles = batch.map((p) => {
4597
+ return isPayloadBundle(p) ? p : null;
4598
+ });
4599
+ const blocks = await Promise.all(bundles.map(async (bundle3) => {
4600
+ return bundle3 ? await bundledPayloadToHydratedBlock(bundle3) : null;
4601
+ }));
4602
+ let valid = blocks.map((b) => !!b);
4603
+ let remainingBlockMap = [];
4604
+ let remainingBlocks = blocks.map((b, i) => {
4605
+ if (isHydratedBlockWithHashMeta(b)) {
4606
+ remainingBlockMap.push(i);
4607
+ return b;
4608
+ }
4609
+ }).filter(exists5);
4610
+ assertEx35(
4611
+ remainingBlockMap.length === remainingBlocks.length,
4612
+ () => `remainingBlockMap length should match remainingBlocks length [${remainingBlockMap.length}/${remainingBlocks.length}]`
4613
+ );
4614
+ const validationResults = await this.blockValidationViewer.validateBlocks(remainingBlocks);
4615
+ for (const [i, r] of validationResults.entries()) {
4616
+ const validated = isHydratedBlockWithHashMeta(r);
4617
+ valid[remainingBlockMap[i]] = validated;
4618
+ }
4619
+ const pruneHashes = bundles.map((p, i) => {
4620
+ if (p && !valid[i]) {
4621
+ return p._hash;
4622
+ }
4623
+ }).filter(exists5);
4624
+ pruned += pruneHashes.length;
4625
+ total += batch.length;
4626
+ await this.pendingBlocksArchivist.delete(pruneHashes);
4627
+ cursor = batch[0]._sequence;
4628
+ batch = await this.pendingBlocksArchivist.next({
4629
+ limit: batchSize,
4630
+ cursor,
4631
+ order: "desc"
4632
+ });
4633
+ }
4634
+ return [pruned, total];
4635
+ }
4636
+ prunePendingTransactions() {
4637
+ throw new Error("Method not implemented.");
4638
+ }
4550
4639
  async submitBlocks(blocks) {
4551
4640
  const bundles = await Promise.all(blocks.map(async ([bw, payloads]) => {
4552
4641
  return hydratedBlockToPayloadBundle([
4553
- await PayloadBuilder18.addHashMeta(bw),
4554
- await PayloadBuilder18.addHashMeta(payloads)
4642
+ await PayloadBuilder19.addHashMeta(bw),
4643
+ await PayloadBuilder19.addHashMeta(payloads)
4555
4644
  ]);
4556
4645
  }));
4557
4646
  const inserted = await this.pendingBlocksArchivist.insert(bundles);
@@ -4560,8 +4649,8 @@ var SimpleMempoolRunner = class extends AbstractCreatableProvider {
4560
4649
  async submitTransactions(transactions) {
4561
4650
  const bundles = await Promise.all(transactions.map(async ([tx, payloads]) => {
4562
4651
  return hydratedTransactionToPayloadBundle([
4563
- await PayloadBuilder18.addHashMeta(tx),
4564
- await PayloadBuilder18.addHashMeta(payloads)
4652
+ await PayloadBuilder19.addHashMeta(tx),
4653
+ await PayloadBuilder19.addHashMeta(payloads)
4565
4654
  ]);
4566
4655
  }));
4567
4656
  const inserted = await this.pendingTransactionsArchivist.insert(bundles);
@@ -4569,7 +4658,7 @@ var SimpleMempoolRunner = class extends AbstractCreatableProvider {
4569
4658
  }
4570
4659
  };
4571
4660
  __publicField(SimpleMempoolRunner, "defaultMoniker", MempoolRunnerMoniker);
4572
- __publicField(SimpleMempoolRunner, "dependencies", [WindowedBlockViewerMoniker]);
4661
+ __publicField(SimpleMempoolRunner, "dependencies", [WindowedBlockViewerMoniker, FinalizationViewerMoniker]);
4573
4662
  __publicField(SimpleMempoolRunner, "monikers", [MempoolRunnerMoniker]);
4574
4663
  SimpleMempoolRunner = __decorateClass([
4575
4664
  creatableProvider()
@@ -4583,7 +4672,7 @@ import {
4583
4672
  } from "@xylabs/sdk-js";
4584
4673
  import {
4585
4674
  isHashMeta as isHashMeta2,
4586
- isPayloadBundle
4675
+ isPayloadBundle as isPayloadBundle2
4587
4676
  } from "@xyo-network/payload-model";
4588
4677
  var SimpleMempoolViewer = class extends AbstractCreatableProvider {
4589
4678
  moniker = SimpleMempoolViewer.defaultMoniker;
@@ -4614,7 +4703,7 @@ var SimpleMempoolViewer = class extends AbstractCreatableProvider {
4614
4703
  limit: 100,
4615
4704
  cursor
4616
4705
  });
4617
- const filteredBundles = bundles.filter(isPayloadBundle).filter(isHashMeta2);
4706
+ const filteredBundles = bundles.filter(isPayloadBundle2).filter(isHashMeta2);
4618
4707
  return (await Promise.all(filteredBundles.map(async (bundle3) => await bundledPayloadToHydratedBlock(bundle3)))).filter(exists6);
4619
4708
  }
4620
4709
  async pendingTransactions({ cursor: providedCursor, limit = 100 } = {}) {
@@ -4632,7 +4721,7 @@ var SimpleMempoolViewer = class extends AbstractCreatableProvider {
4632
4721
  cursor
4633
4722
  });
4634
4723
  this.logger?.info(`Fetched pending transactions: ${bundles.length} bundles`);
4635
- const filteredBundles = bundles.filter(isPayloadBundle).filter(isHashMeta2);
4724
+ const filteredBundles = bundles.filter(isPayloadBundle2).filter(isHashMeta2);
4636
4725
  this.logger?.info(`Filtered pending transactions: ${JSON.stringify(filteredBundles, null, 2)} filteredBundles`);
4637
4726
  const hydratedWithBundle = (await Promise.all(
4638
4727
  filteredBundles.map(async (bundle3) => {
@@ -4860,7 +4949,7 @@ var MemoryPermissionsStore = class {
4860
4949
  };
4861
4950
 
4862
4951
  // src/simple/runner/SimpleXyoRunner.ts
4863
- import { PayloadBuilder as PayloadBuilder19 } from "@xyo-network/payload-builder";
4952
+ import { PayloadBuilder as PayloadBuilder20 } from "@xyo-network/payload-builder";
4864
4953
  var SimpleXyoRunner = class extends AbstractCreatableProvider {
4865
4954
  moniker = SimpleXyoRunner.defaultMoniker;
4866
4955
  _mempoolRunner;
@@ -4869,7 +4958,7 @@ var SimpleXyoRunner = class extends AbstractCreatableProvider {
4869
4958
  }
4870
4959
  async broadcastTransaction(transaction) {
4871
4960
  await this.mempool.submitTransactions([transaction]);
4872
- const hash = await PayloadBuilder19.hash(transaction[0]);
4961
+ const hash = await PayloadBuilder20.hash(transaction[0]);
4873
4962
  this.logger?.info(`Broadcasted transaction with hash ${hash}`);
4874
4963
  return hash;
4875
4964
  }
@@ -4887,7 +4976,7 @@ SimpleXyoRunner = __decorateClass([
4887
4976
 
4888
4977
  // src/simple/signer/SimpleXyoSigner.ts
4889
4978
  import { Account as Account2 } from "@xyo-network/account";
4890
- import { PayloadBuilder as PayloadBuilder20 } from "@xyo-network/payload-builder";
4979
+ import { PayloadBuilder as PayloadBuilder21 } from "@xyo-network/payload-builder";
4891
4980
  import { SignedHydratedTransactionWithHashMetaZod } from "@xyo-network/xl1-protocol";
4892
4981
  var SimpleXyoSigner = class _SimpleXyoSigner extends AbstractCreatableProvider {
4893
4982
  static defaultMoniker = XyoSignerMoniker;
@@ -4927,7 +5016,7 @@ var SimpleXyoSigner = class _SimpleXyoSigner extends AbstractCreatableProvider {
4927
5016
  }
4928
5017
  async signTransaction(tx) {
4929
5018
  const txBW = await signTransaction(tx[0], this.params.account);
4930
- return SignedHydratedTransactionWithHashMetaZod.parse([await PayloadBuilder20.addStorageMeta(txBW), await PayloadBuilder20.addStorageMeta(tx[1])]);
5019
+ return SignedHydratedTransactionWithHashMetaZod.parse([await PayloadBuilder21.addStorageMeta(txBW), await PayloadBuilder21.addStorageMeta(tx[1])]);
4931
5020
  }
4932
5021
  };
4933
5022