@xyo-network/xl1-protocol-sdk 1.26.31 → 1.26.33

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.
@@ -1 +1 @@
1
- {"version":3,"file":"blockRate.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/block/rate/blockRate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAC1E,MAAM,+BAA+B,CAAA;AAKtC,0BAA0B;AAC1B,eAAO,MAAM,SAAS,GACpB,YAAY,aAAa,EACzB,UAAU,aAAa,EACvB,WAAW,MAAM,aAAa,KAC7B,YAyBF,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,WAAW,EACnB,kBAAkB,cAAc,EAChC,gBAAgB,cAAc,KAC7B,OAAO,CAAC;IAAE,WAAW,EAAE,aAAa,CAAC;IAAC,aAAa,EAAE,aAAa,CAAA;CAAE,CAetE,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,WAAW,EACnB,OAAO,aAAa,EACpB,WAAW,MAAM,aAAa,KAC7B,OAAO,CAAC,YAAY,CAQtB,CAAA"}
1
+ {"version":3,"file":"blockRate.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/block/rate/blockRate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAC1E,MAAM,+BAA+B,CAAA;AAKtC,0BAA0B;AAC1B,eAAO,MAAM,SAAS,GACpB,YAAY,aAAa,EACzB,UAAU,aAAa,EACvB,WAAW,MAAM,aAAa,KAC7B,YAyBF,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,WAAW,EACnB,kBAAkB,cAAc,EAChC,gBAAgB,cAAc,KAC7B,OAAO,CAAC;IAAE,WAAW,EAAE,aAAa,CAAC;IAAC,aAAa,EAAE,aAAa,CAAA;CAAE,CAatE,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,WAAW,EACnB,OAAO,aAAa,EACpB,WAAW,MAAM,aAAa,KAC7B,OAAO,CAAC,YAAY,CAQtB,CAAA"}
@@ -9,9 +9,10 @@ import { HydratedCache } from '../../utils/index.ts';
9
9
  /** Parameters for SimpleBlockViewer. */
10
10
  export interface SimpleBlockViewerParams extends CreatableProviderParams {
11
11
  finalizedArchivist: ReadArchivist;
12
+ headPollIntervalMs?: number;
12
13
  }
13
14
  /** SimpleBlockViewer implementation. */
14
- export declare class SimpleBlockViewer extends AbstractCreatableProvider<SimpleBlockViewerParams> implements BlockViewer {
15
+ export declare class SimpleBlockViewer extends AbstractCreatableProvider<SimpleBlockViewerParams, BlockViewer['eventData']> implements BlockViewer {
15
16
  static readonly defaultMoniker: "BlockViewer";
16
17
  static readonly dependencies: "FinalizationViewer"[];
17
18
  static readonly monikers: "BlockViewer"[];
@@ -53,12 +54,17 @@ export declare class SimpleBlockViewer extends AbstractCreatableProvider<SimpleB
53
54
  _hash: import("@xylabs/sdk-js").BrandedHash;
54
55
  _dataHash: import("@xylabs/sdk-js").BrandedHash;
55
56
  }[]], () => void>;
57
+ private _headPollHash?;
58
+ private _headPollInProgress;
59
+ private _headPollTimer;
56
60
  private _signedHydratedBlockCache;
57
61
  get finalizedArchivist(): ReadArchivist;
62
+ protected get headPollIntervalMs(): number | undefined;
58
63
  protected get hydratedBlockCache(): HydratedCache<SignedHydratedBlockWithStorageMeta>;
59
64
  protected get store(): ChainStoreRead;
60
65
  static paramsHandler(params: Partial<SimpleBlockViewerParams>): Promise<{
61
66
  finalizedArchivist: ReadArchivist<Payload, import("@xylabs/sdk-js").BrandedHash, import("@xyo-network/sdk-js").Sequence>;
67
+ headPollIntervalMs: number | undefined;
62
68
  context: import("../../model/CreatableProviderContext.zod.ts").CreatableProviderContextType;
63
69
  name?: import("@xylabs/sdk-js").CreatableName;
64
70
  statusReporter?: import("@xylabs/sdk-js").CreatableStatusReporter<void> | undefined;
@@ -84,6 +90,11 @@ export declare class SimpleBlockViewer extends AbstractCreatableProvider<SimpleB
84
90
  timeDurationRate(timeConfig: SingleTimeConfig, startBlockNumber?: XL1BlockNumber, timeUnit?: keyof TimeDurations, toleranceMs?: number, maxAttempts?: number): Promise<BlockRate>;
85
91
  protected getBlockContextRead(): BlockContextRead;
86
92
  protected getChainContextRead(): Promise<ChainContextRead>;
93
+ protected startHandler(): Promise<void>;
94
+ protected stopHandler(): Promise<void>;
87
95
  private blockByNumberWithContext;
96
+ private pollHead;
97
+ private startHeadPolling;
98
+ private stopHeadPolling;
88
99
  }
89
100
  //# sourceMappingURL=SimpleBlockViewer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleBlockViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/block/SimpleBlockViewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimpleBlockViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/block/SimpleBlockViewer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleBlockInvalidationViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/blockInvalidation/SimpleBlockInvalidationViewer.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EAEvB,WAAW,EAEX,mBAAmB,EAGnB,oCAAoC,EACpC,4BAA4B,EAC5B,+BAA+B,EAG/B,mBAAmB,EACnB,KAAK,+BAA+B,EAErC,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC,CAAA;AAG/F,oDAAoD;AACpD,MAAM,WAAW,mCAAoC,SAAQ,uBAAuB;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,KAAK,CAAC,EAAE,oCAAoC,CAAA;IAC5C,KAAK,CAAC,EAAE,+BAA+B,CAAA;CACxC;AAED,oDAAoD;AACpD,qBACa,6BAA8B,SAAQ,yBAAyB,CAAC,mCAAmC,CAAE,YAAW,uBAAuB;IAClJ,MAAM,CAAC,QAAQ,CAAC,cAAc,4BAAiC;IAC/D,MAAM,CAAC,QAAQ,CAAC,YAAY,qEAAgF;IAC5G,MAAM,CAAC,QAAQ,CAAC,QAAQ,8BAAmC;IAC3D,OAAO,4BAA+C;IAEtD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,wBAAwB,CAAiD;IAEjF,SAAS,KAAK,WAAW,+BAExB;IAED,SAAS,KAAK,mBAAmB,wBAEhC;IAED,SAAS,KAAK,kBAAkB,WAE/B;WAEqB,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,mCAAmC,CAAC,GAAG,OAAO,CAAC,mCAAmC,CAAC;IASxH,aAAa;IAOtB,eAAe,CACnB,KAAK,EAAE,mBAAmB,EAC1B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC;IAItE,gBAAgB,CACpB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;IAI1E,eAAe,CACnB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;IAI1E,wBAAwB,CAC5B,KAAK,EAAE,+BAA+B,EACtC,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,EAAE,8BAA8B,CAAC,CAAC;IAKxG,yBAAyB,CAC7B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAsClH,wBAAwB,CACtB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,8BAA8B,CAAC,CAAC;YAIpG,oBAAoB;YAcpB,iBAAiB;YAwBjB,wBAAwB;CAIvC"}
1
+ {"version":3,"file":"SimpleBlockInvalidationViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/blockInvalidation/SimpleBlockInvalidationViewer.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EAEvB,WAAW,EAEX,mBAAmB,EAGnB,oCAAoC,EACpC,4BAA4B,EAC5B,+BAA+B,EAG/B,mBAAmB,EACnB,KAAK,+BAA+B,EAErC,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC,CAAA;AAG/F,oDAAoD;AACpD,MAAM,WAAW,mCAAoC,SAAQ,uBAAuB;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,KAAK,CAAC,EAAE,oCAAoC,CAAA;IAC5C,KAAK,CAAC,EAAE,+BAA+B,CAAA;CACxC;AAED,oDAAoD;AACpD,qBACa,6BAA8B,SAAQ,yBAAyB,CAAC,mCAAmC,CAAE,YAAW,uBAAuB;IAClJ,MAAM,CAAC,QAAQ,CAAC,cAAc,4BAAiC;IAC/D,MAAM,CAAC,QAAQ,CAAC,YAAY,qEAAgF;IAC5G,MAAM,CAAC,QAAQ,CAAC,QAAQ,8BAAmC;IAC3D,OAAO,4BAA+C;IAEtD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,wBAAwB,CAAiD;IAEjF,SAAS,KAAK,WAAW,+BAExB;IAED,SAAS,KAAK,mBAAmB,wBAEhC;IAED,SAAS,KAAK,kBAAkB,WAE/B;WAEqB,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,mCAAmC,CAAC,GAAG,OAAO,CAAC,mCAAmC,CAAC;IASxH,aAAa;IAOtB,eAAe,CACnB,KAAK,EAAE,mBAAmB,EAC1B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC;IAItE,gBAAgB,CACpB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;IAI1E,eAAe,CACnB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;IAI1E,wBAAwB,CAC5B,KAAK,EAAE,+BAA+B,EACtC,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,EAAE,8BAA8B,CAAC,CAAC;IAKxG,yBAAyB,CAC7B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAsClH,wBAAwB,CACtB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,8BAA8B,CAAC,CAAC;YAIpG,oBAAoB;YAcpB,iBAAiB;YAyBjB,wBAAwB;CAIvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleBlockValidationViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/blockValidation/SimpleBlockValidationViewer.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EAErB,WAAW,EAEX,mBAAmB,EAGnB,oCAAoC,EACpC,4BAA4B,EAC5B,+BAA+B,EAG/B,mBAAmB,EACnB,KAAK,+BAA+B,EAErC,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC,CAAA;AAG/F,kDAAkD;AAClD,MAAM,WAAW,iCAAkC,SAAQ,uBAAuB;IAChF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,+BAA+B,CAAA;IAC1C,KAAK,CAAC,EAAE,oCAAoC,CAAA;CAC7C;AAED,kDAAkD;AAClD,qBACa,2BAA4B,SAAQ,yBAAyB,CAAC,iCAAiC,CAAE,YAAW,qBAAqB;IAC5I,MAAM,CAAC,QAAQ,CAAC,cAAc,0BAA+B;IAC7D,MAAM,CAAC,QAAQ,CAAC,YAAY,qEAAgF;IAC5G,MAAM,CAAC,QAAQ,CAAC,QAAQ,4BAAiC;IACzD,OAAO,0BAA6C;IAEpD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,wBAAwB,CAAiD;IAEjF,SAAS,KAAK,WAAW,+BAExB;IAED,SAAS,KAAK,mBAAmB,wBAEhC;IAED,SAAS,KAAK,kBAAkB,WAE/B;WAEqB,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,iCAAiC,CAAC,GAAG,OAAO,CAAC,iCAAiC,CAAC;IASpH,aAAa;IAOtB,sBAAsB,CAC1B,KAAK,EAAE,+BAA+B,EACtC,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,EAAE,4BAA4B,CAAC,CAAC;IAKtG,uBAAuB,CAC3B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAsChH,sBAAsB,CACpB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAI1G,aAAa,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC;IAIpJ,cAAc,CAClB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;IAI1E,aAAa,CACjB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;YAIlE,kBAAkB;YAclB,eAAe;YAwBf,wBAAwB;CAIvC"}
1
+ {"version":3,"file":"SimpleBlockValidationViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/blockValidation/SimpleBlockValidationViewer.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EAErB,WAAW,EAEX,mBAAmB,EAGnB,oCAAoC,EACpC,4BAA4B,EAC5B,+BAA+B,EAG/B,mBAAmB,EACnB,KAAK,+BAA+B,EAErC,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC,CAAA;AAG/F,kDAAkD;AAClD,MAAM,WAAW,iCAAkC,SAAQ,uBAAuB;IAChF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,+BAA+B,CAAA;IAC1C,KAAK,CAAC,EAAE,oCAAoC,CAAA;CAC7C;AAED,kDAAkD;AAClD,qBACa,2BAA4B,SAAQ,yBAAyB,CAAC,iCAAiC,CAAE,YAAW,qBAAqB;IAC5I,MAAM,CAAC,QAAQ,CAAC,cAAc,0BAA+B;IAC7D,MAAM,CAAC,QAAQ,CAAC,YAAY,qEAAgF;IAC5G,MAAM,CAAC,QAAQ,CAAC,QAAQ,4BAAiC;IACzD,OAAO,0BAA6C;IAEpD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,wBAAwB,CAAiD;IAEjF,SAAS,KAAK,WAAW,+BAExB;IAED,SAAS,KAAK,mBAAmB,wBAEhC;IAED,SAAS,KAAK,kBAAkB,WAE/B;WAEqB,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,iCAAiC,CAAC,GAAG,OAAO,CAAC,iCAAiC,CAAC;IASpH,aAAa;IAOtB,sBAAsB,CAC1B,KAAK,EAAE,+BAA+B,EACtC,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,EAAE,4BAA4B,CAAC,CAAC;IAKtG,uBAAuB,CAC3B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAsChH,sBAAsB,CACpB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAI1G,aAAa,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC;IAIpJ,cAAc,CAClB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;IAI1E,aAAa,CACjB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;YAIlE,kBAAkB;YAclB,eAAe;YAyBf,wBAAwB;CAIvC"}
@@ -1,8 +1,11 @@
1
+ import type { Logger } from '@xylabs/sdk-js';
1
2
  import type { GatewayName, NetworkStatus, XyoNetwork } from '@xyo-network/xl1-protocol-lib';
2
3
  /** SimpleXyoNetwork implementation. */
3
4
  export declare class SimpleXyoNetwork implements XyoNetwork {
5
+ protected readonly _logger?: Logger;
4
6
  protected readonly _networkId: GatewayName;
5
- constructor(networkId: GatewayName);
7
+ constructor(networkId: GatewayName, logger?: Logger);
8
+ protected get logger(): Logger | undefined;
6
9
  status(): Promise<NetworkStatus>;
7
10
  private makeRequest;
8
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleXyoNetwork.d.ts","sourceRoot":"","sources":["../../../../src/simple/network/SimpleXyoNetwork.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EAAE,UAAU,EAC1B,MAAM,+BAA+B,CAAA;AAQtC,uCAAuC;AACvC,qBAAa,gBAAiB,YAAW,UAAU;IACjD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAA;gBAE9B,SAAS,EAAE,WAAW;IAI5B,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;YASxB,WAAW;CAkB1B"}
1
+ {"version":3,"file":"SimpleXyoNetwork.d.ts","sourceRoot":"","sources":["../../../../src/simple/network/SimpleXyoNetwork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EAAE,UAAU,EAC1B,MAAM,+BAA+B,CAAA;AAQtC,uCAAuC;AACvC,qBAAa,gBAAiB,YAAW,UAAU;IACjD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACnC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAA;gBAE9B,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM;IAKnD,SAAS,KAAK,MAAM,uBAEnB;IAEK,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;YASxB,WAAW;CAkB1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleTransactionInvalidationViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/transactionInvalidation/SimpleTransactionInvalidationViewer.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EAEvB,WAAW,EAEX,mBAAmB,EAGnB,oCAAoC,EACpC,4BAA4B,EAC5B,+BAA+B,EAG/B,mBAAmB,EACnB,KAAK,+BAA+B,EAErC,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC,CAAA;AAG/F,oDAAoD;AACpD,MAAM,WAAW,mCAAoC,SAAQ,uBAAuB;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,KAAK,CAAC,EAAE,oCAAoC,CAAA;IAC5C,KAAK,CAAC,EAAE,+BAA+B,CAAA;CACxC;AAED,oDAAoD;AACpD,qBACa,6BAA8B,SAAQ,yBAAyB,CAAC,mCAAmC,CAAE,YAAW,uBAAuB;IAClJ,MAAM,CAAC,QAAQ,CAAC,cAAc,4BAAiC;IAC/D,MAAM,CAAC,QAAQ,CAAC,YAAY,qEAAgF;IAC5G,MAAM,CAAC,QAAQ,CAAC,QAAQ,8BAAmC;IAC3D,OAAO,4BAA+C;IAEtD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,wBAAwB,CAAiD;IAEjF,SAAS,KAAK,WAAW,+BAExB;IAED,SAAS,KAAK,mBAAmB,wBAEhC;IAED,SAAS,KAAK,kBAAkB,WAE/B;WAEqB,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,mCAAmC,CAAC,GAAG,OAAO,CAAC,mCAAmC,CAAC;IASxH,aAAa;IAOtB,eAAe,CACnB,KAAK,EAAE,mBAAmB,EAC1B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC;IAItE,gBAAgB,CACpB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;IAI1E,eAAe,CACnB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;IAI1E,wBAAwB,CAC5B,KAAK,EAAE,+BAA+B,EACtC,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,EAAE,8BAA8B,CAAC,CAAC;IAKxG,yBAAyB,CAC7B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAsClH,wBAAwB,CACtB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,8BAA8B,CAAC,CAAC;YAIpG,oBAAoB;YAcpB,iBAAiB;YAwBjB,wBAAwB;CAIvC"}
1
+ {"version":3,"file":"SimpleTransactionInvalidationViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/transactionInvalidation/SimpleTransactionInvalidationViewer.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EAEvB,WAAW,EAEX,mBAAmB,EAGnB,oCAAoC,EACpC,4BAA4B,EAC5B,+BAA+B,EAG/B,mBAAmB,EACnB,KAAK,+BAA+B,EAErC,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC,CAAA;AAG/F,oDAAoD;AACpD,MAAM,WAAW,mCAAoC,SAAQ,uBAAuB;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,KAAK,CAAC,EAAE,oCAAoC,CAAA;IAC5C,KAAK,CAAC,EAAE,+BAA+B,CAAA;CACxC;AAED,oDAAoD;AACpD,qBACa,6BAA8B,SAAQ,yBAAyB,CAAC,mCAAmC,CAAE,YAAW,uBAAuB;IAClJ,MAAM,CAAC,QAAQ,CAAC,cAAc,4BAAiC;IAC/D,MAAM,CAAC,QAAQ,CAAC,YAAY,qEAAgF;IAC5G,MAAM,CAAC,QAAQ,CAAC,QAAQ,8BAAmC;IAC3D,OAAO,4BAA+C;IAEtD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,wBAAwB,CAAiD;IAEjF,SAAS,KAAK,WAAW,+BAExB;IAED,SAAS,KAAK,mBAAmB,wBAEhC;IAED,SAAS,KAAK,kBAAkB,WAE/B;WAEqB,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,mCAAmC,CAAC,GAAG,OAAO,CAAC,mCAAmC,CAAC;IASxH,aAAa;IAOtB,eAAe,CACnB,KAAK,EAAE,mBAAmB,EAC1B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC;IAItE,gBAAgB,CACpB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;IAI1E,eAAe,CACnB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,CAAC;IAI1E,wBAAwB,CAC5B,KAAK,EAAE,+BAA+B,EACtC,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,EAAE,8BAA8B,CAAC,CAAC;IAKxG,yBAAyB,CAC7B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAsClH,wBAAwB,CACtB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,GAAG,+BAA+B,CAAC,EAAE,EAAE,8BAA8B,CAAC,CAAC;YAIpG,oBAAoB;YAcpB,iBAAiB;YAyBjB,wBAAwB;CAIvC"}
@@ -271,7 +271,7 @@ var registerCreatableProviderFactory = (registry, factory, labels, primary = fal
271
271
  const primaryMonikers = primary !== true && isTruthy(primary) ? Array.isArray(primary) ? primary : [primary] : [];
272
272
  for (const primaryMoniker of primaryMonikers) {
273
273
  if (!factory.monikers.includes(primaryMoniker)) {
274
- console.warn(`Primary moniker ${String(primary)} not found in factory monikers`);
274
+ throw new Error(`Primary moniker ${String(primaryMoniker)} not found in factory monikers`);
275
275
  }
276
276
  }
277
277
  const isPrimaryForMoniker = (moniker) => {
@@ -401,7 +401,7 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
401
401
  if (this.context.singletons[factory.uniqueId]) {
402
402
  return this.context.singletons[factory.uniqueId];
403
403
  }
404
- this.logger?.info(`Creating provider instance for moniker [${moniker}]${labels ? ` with labels [${JSON.stringify(labels)}]` : ""} using factory [${factory.uniqueId.description}]`);
404
+ this.logger?.debug(`Creating provider instance for moniker [${moniker}]${labels ? ` with labels [${JSON.stringify(labels)}]` : ""} using factory [${factory.uniqueId.description}]`);
405
405
  const result = await factory.getInstance(resolvedParams, { start });
406
406
  this.context.singletons[factory.uniqueId] = result;
407
407
  return result;
@@ -781,9 +781,7 @@ var blockRate = (startBlock, endBlock, timeUnit) => {
781
781
  };
782
782
  var getBlockRateBlocks = async (viewer, startBlockHeight, endBlockHeight) => {
783
783
  if (endBlockHeight <= startBlockHeight) {
784
- console.error("startBlockHeight", startBlockHeight);
785
- console.error("endBlockHeight", endBlockHeight);
786
- throw new Error("End block height must be greater than start block height");
784
+ throw new Error(`End block height must be greater than start block height [start=${startBlockHeight}, end=${endBlockHeight}]`);
787
785
  }
788
786
  const startingBlock = await viewer.blockByNumber(startBlockHeight);
789
787
  const endingBlock = await viewer.blockByNumber(endBlockHeight);
@@ -852,7 +850,6 @@ var calculateTimeRate = async (viewer, timeConfig, startBlockNumber, timeUnit, t
852
850
  );
853
851
  };
854
852
  var findEndBlockRecursive = async (viewer, startBlock, targetTimeMs, estimatedBlocksBack, toleranceMs, attemptsRemaining) => {
855
- console.log(`Attempts remaining: ${attemptsRemaining}, Estimated blocks back: ${estimatedBlocksBack}`);
856
853
  assertEx7(attemptsRemaining >= 0, () => "Maximum attempts reached while searching for end block");
857
854
  const startBlockEpoch = startBlock.$epoch;
858
855
  const estimatedEndBlockNumber = asXL1BlockNumber2(startBlock.block - estimatedBlocksBack, true);
@@ -1349,6 +1346,7 @@ var HydratedCache = class {
1349
1346
  };
1350
1347
 
1351
1348
  // src/simple/block/SimpleBlockViewer.ts
1349
+ var MIN_HEAD_POLL_INTERVAL_MS = 5e3;
1352
1350
  var SimpleBlockViewer = class extends AbstractCreatableProvider {
1353
1351
  moniker = SimpleBlockViewer.defaultMoniker;
1354
1352
  _store;
@@ -1356,10 +1354,16 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1356
1354
  finalizationViewer;
1357
1355
  payloadCache = new LruCacheMap({ max: 1e4 });
1358
1356
  signedHydratedBlockWithDataLakePayloadsCache = new LruCacheMap({ max: 2e3, ttl: 1e3 * 60 * 60 });
1357
+ _headPollHash;
1358
+ _headPollInProgress = false;
1359
+ _headPollTimer = null;
1359
1360
  _signedHydratedBlockCache;
1360
1361
  get finalizedArchivist() {
1361
1362
  return this.params.finalizedArchivist;
1362
1363
  }
1364
+ get headPollIntervalMs() {
1365
+ return this.params.headPollIntervalMs;
1366
+ }
1363
1367
  get hydratedBlockCache() {
1364
1368
  if (this._signedHydratedBlockCache) return this._signedHydratedBlockCache;
1365
1369
  const context = this.getBlockContextRead();
@@ -1373,9 +1377,14 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1373
1377
  return this._store;
1374
1378
  }
1375
1379
  static async paramsHandler(params) {
1380
+ const headPollIntervalMs = params.headPollIntervalMs;
1381
+ if (headPollIntervalMs !== void 0) {
1382
+ assertEx11(headPollIntervalMs >= MIN_HEAD_POLL_INTERVAL_MS, () => `headPollIntervalMs must be at least ${MIN_HEAD_POLL_INTERVAL_MS}ms`);
1383
+ }
1376
1384
  return {
1377
1385
  ...await super.paramsHandler(params),
1378
- finalizedArchivist: assertEx11(params.finalizedArchivist, () => "finalizedArchivist is required")
1386
+ finalizedArchivist: assertEx11(params.finalizedArchivist, () => "finalizedArchivist is required"),
1387
+ headPollIntervalMs
1379
1388
  };
1380
1389
  }
1381
1390
  async blockByHash(hash) {
@@ -1494,11 +1503,57 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1494
1503
  head: (await this.finalizationViewer.head())[0]
1495
1504
  };
1496
1505
  }
1506
+ async startHandler() {
1507
+ await super.startHandler();
1508
+ if (this.headPollIntervalMs === void 0) return;
1509
+ await this.pollHead(false);
1510
+ this.startHeadPolling();
1511
+ }
1512
+ async stopHandler() {
1513
+ this.stopHeadPolling();
1514
+ this._headPollHash = void 0;
1515
+ await super.stopHandler();
1516
+ }
1497
1517
  async blockByNumberWithContext(chainContext, blockNumber) {
1498
1518
  const block = asSignedHydratedBlockWithHashMeta(await hydratedBlockByNumber(chainContext, blockNumber)) ?? null;
1499
1519
  const [result] = block ? await addDataLakePayloads(block, this.dataLakeViewer) : [null, []];
1500
1520
  return result;
1501
1521
  }
1522
+ async pollHead(emitOnChange) {
1523
+ if (this._headPollInProgress) return;
1524
+ this._headPollInProgress = true;
1525
+ try {
1526
+ const block = await this.currentBlock();
1527
+ const hash = block[0]._hash;
1528
+ if (this._headPollHash === void 0) {
1529
+ this._headPollHash = hash;
1530
+ return;
1531
+ }
1532
+ if (hash !== this._headPollHash) {
1533
+ this._headPollHash = hash;
1534
+ if (emitOnChange) {
1535
+ await this.emit("headUpdated", { block });
1536
+ }
1537
+ }
1538
+ } catch (ex) {
1539
+ this.logger?.error("Error polling block head", ex);
1540
+ } finally {
1541
+ this._headPollInProgress = false;
1542
+ }
1543
+ }
1544
+ startHeadPolling() {
1545
+ if (this.headPollIntervalMs === void 0) return;
1546
+ this.stopHeadPolling();
1547
+ this._headPollTimer = setInterval(() => {
1548
+ void this.pollHead(true);
1549
+ }, this.headPollIntervalMs);
1550
+ }
1551
+ stopHeadPolling() {
1552
+ if (this._headPollTimer) {
1553
+ clearInterval(this._headPollTimer);
1554
+ this._headPollTimer = null;
1555
+ }
1556
+ }
1502
1557
  };
1503
1558
  __publicField(SimpleBlockViewer, "defaultMoniker", BlockViewerMoniker);
1504
1559
  __publicField(SimpleBlockViewer, "dependencies", [FinalizationViewerMoniker]);
@@ -1619,7 +1674,7 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
1619
1674
  const cache = this.hydratedBlockCache;
1620
1675
  const block = await cache.get(currentHead._hash);
1621
1676
  if (!block) {
1622
- console.log(`Could not find current block with hash ${currentHead._hash}`);
1677
+ this.logger?.error(`Could not find current block with hash ${currentHead._hash}`);
1623
1678
  }
1624
1679
  return assertEx13(block, () => "Could not find current block");
1625
1680
  }, this.context);