@xyo-network/xl1-protocol-sdk 1.29.8 → 1.30.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.
@@ -1,6 +1,6 @@
1
1
  import type { Hash } from '@xylabs/sdk-js';
2
2
  import type { Payload, ReadArchivist, WithHashMeta } from '@xyo-network/sdk-js';
3
- import { BlockContextRead, BlockRate, BlockViewer, ChainContextRead, ChainId, DataLakeViewer, FinalizationViewer, type SignedHydratedBlockWithHashMeta, SignedHydratedBlockWithStorageMeta, SingleTimeConfig, TimeDurations, type XL1BlockNumber, XL1BlockRange } from '@xyo-network/xl1-protocol-lib';
3
+ import { BlockContextRead, BlockRate, BlockViewer, ChainContextRead, ChainId, FinalizationViewer, type SignedHydratedBlockWithHashMeta, SignedHydratedBlockWithStorageMeta, SingleTimeConfig, TimeDurations, type XL1BlockNumber, XL1BlockRange } from '@xyo-network/xl1-protocol-lib';
4
4
  import type { CreatableProviderParams } from '../../CreatableProvider/index.ts';
5
5
  import { AbstractCreatableProvider } from '../../CreatableProvider/index.ts';
6
6
  import { LruCacheMap } from '../../driver/index.ts';
@@ -18,10 +18,9 @@ export declare class SimpleBlockViewer extends AbstractCreatableProvider<SimpleB
18
18
  static readonly monikers: "BlockViewer"[];
19
19
  moniker: "BlockViewer";
20
20
  protected _store?: ChainStoreRead;
21
- protected dataLakeViewer?: DataLakeViewer;
22
21
  protected finalizationViewer: FinalizationViewer;
23
22
  protected payloadCache: LruCacheMap<import("@xylabs/sdk-js").BrandedHash, WithHashMeta<Payload>, () => void>;
24
- protected signedHydratedBlockWithDataLakePayloadsCache: LruCacheMap<import("@xylabs/sdk-js").BrandedHash, [{
23
+ protected signedHydratedBlockWithHashMetaCache: LruCacheMap<import("@xylabs/sdk-js").BrandedHash, [{
25
24
  schema: "network.xyo.boundwitness" & {
26
25
  readonly __schema: true;
27
26
  };
@@ -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":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAI1C,OAAO,KAAK,EACV,OAAO,EAAE,aAAa,EAAE,YAAY,EACrC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEL,gBAAgB,EAChB,SAAS,EAAE,WAAW,EAAsB,gBAAgB,EAC5D,OAAO,EAAE,kBAAkB,EAA6B,KAAK,+BAA+B,EAC5F,kCAAkC,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,aAAa,EACxG,MAAM,+BAA+B,CAAA;AAGtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC,CAAA;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,wCAAwC;AACxC,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,kBAAkB,EAAE,aAAa,CAAA;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAID,wCAAwC;AACxC,qBACa,iBAAkB,SAAQ,yBAAyB,CAAC,uBAAuB,EAAE,WAAW,CAAC,WAAW,CAAC,CAAE,YAAW,WAAW;IACxI,MAAM,CAAC,QAAQ,CAAC,cAAc,gBAAqB;IACnD,MAAM,CAAC,QAAQ,CAAC,YAAY,yBAA8B;IAC1D,MAAM,CAAC,QAAQ,CAAC,QAAQ,kBAAuB;IAC/C,OAAO,gBAAmC;IAE1C,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;IACjC,SAAS,CAAC,kBAAkB,EAAG,kBAAkB,CAAA;IACjD,SAAS,CAAC,YAAY,uFAAgE;IACtF,SAAS,CAAC,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA6F;IAE3I,OAAO,CAAC,aAAa,CAAC,CAAM;IAC5B,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,yBAAyB,CAA+D;IAEhG,IAAI,kBAAkB,IAAI,aAAa,CAEtC;IAED,SAAS,KAAK,kBAAkB,uBAE/B;IAED,SAAS,KAAK,kBAAkB,IAAI,aAAa,CAAC,kCAAkC,CAAC,CAapF;IAED,SAAS,KAAK,KAAK,mBAElB;WAEqB,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC;;;;;;;;;;IAYtE,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC;IAgBxE,aAAa,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC;IAU3F,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,+BAA+B,EAAE,CAAC;IAgBhF,cAAc,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,+BAA+B,EAAE,CAAC;IAoBzG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAC3B,OAAO,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IACtD,OAAO,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAOjC,aAAa;IAMtB,YAAY,IAAI,OAAO,CAAC,+BAA+B,CAAC;IAIxD,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC;IAI7C,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAKhE,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;IAehE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IAI9E,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IAIrH,gBAAgB,CACpB,UAAU,EAAE,gBAAgB,EAC5B,gBAAgB,CAAC,EAAE,cAAc,EACjC,QAAQ,CAAC,EAAE,MAAM,aAAa,EAC9B,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,SAAS,CAAC;IAIrB,SAAS,CAAC,mBAAmB,IAAI,gBAAgB;cAOjC,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;cAOvC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAO7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;YAMvC,wBAAwB;YAOxB,QAAQ;IAuBtB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,eAAe;CAMxB"}
@@ -7,6 +7,13 @@ import { AbstractCreatableProvider, CreatableProviderParams } from '../../Creata
7
7
  export interface SimpleMempoolRunnerParams extends CreatableProviderParams {
8
8
  externalMempools?: MempoolViewer[];
9
9
  maxExpAhead?: number;
10
+ /**
11
+ * Maximum number of pending transactions allowed in the pool. When exceeded after
12
+ * `submitTransactions` or `prunePendingTransactions`, the runner evicts the excess —
13
+ * demoted transactions first (when the resolved viewer supports it), then oldest
14
+ * by sequence. `0` (default) disables the cap.
15
+ */
16
+ maxPendingTransactions?: number;
10
17
  pendingBlocksArchivist: ArchivistInstance;
11
18
  pendingTransactionsArchivist: ArchivistInstance;
12
19
  syncInterval?: number;
@@ -33,6 +40,7 @@ export declare class SimpleMempoolRunner extends AbstractCreatableProvider<Simpl
33
40
  protected _chainContractViewer: ChainContractViewer;
34
41
  protected _deadLetterQueueRunner?: DeadLetterQueueRunner;
35
42
  protected _finalizationViewer: FinalizationViewer;
43
+ protected _mempoolViewer?: MempoolViewer;
36
44
  protected _transactionValidationViewer: TransactionValidationViewer;
37
45
  private _syncMutex;
38
46
  private _syncTimerId;
@@ -41,6 +49,7 @@ export declare class SimpleMempoolRunner extends AbstractCreatableProvider<Simpl
41
49
  protected get externalMempools(): MempoolViewer[];
42
50
  protected get finalizationViewer(): FinalizationViewer;
43
51
  protected get maxExpAhead(): number;
52
+ protected get maxPendingTransactions(): number;
44
53
  protected get pendingBlocksArchivist(): ArchivistInstance<import("@xyo-network/sdk-js").ArchivistParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig>>, import("@xyo-network/sdk-js").ArchivistModuleEventData, Payload>;
45
54
  protected get pendingTransactionsArchivist(): ArchivistInstance<import("@xyo-network/sdk-js").ArchivistParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig>>, import("@xyo-network/sdk-js").ArchivistModuleEventData, Payload>;
46
55
  protected get syncInterval(): number;
@@ -55,6 +64,11 @@ export declare class SimpleMempoolRunner extends AbstractCreatableProvider<Simpl
55
64
  submitTransactions(transactions: SignedHydratedTransaction[]): Promise<Hash[]>;
56
65
  protected startHandler(): Promise<void>;
57
66
  protected stopHandler(): Promise<void>;
67
+ private collectAllPendingTransactionBundles;
68
+ private enforceCap;
69
+ private finalizePruneTransactionsResult;
70
+ private forgetBundleHashes;
71
+ private orderForEviction;
58
72
  private routeRejectedTransaction;
59
73
  private simpleBlockValidationCheck;
60
74
  private simpleTransactionValidationCheck;
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleMempoolRunner.d.ts","sourceRoot":"","sources":["../../../../src/simple/mempool/SimpleMempoolRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimpleMempoolRunner.d.ts","sourceRoot":"","sources":["../../../../src/simple/mempool/SimpleMempoolRunner.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,20 @@
1
+ import { type Hash } from '@xylabs/sdk-js';
1
2
  import type { ArchivistInstance } from '@xyo-network/sdk-js';
2
3
  import { type MempoolViewer, PendingTransactionsOptions, type SignedHydratedBlockWithHashMeta, type SignedHydratedTransactionWithHashMeta, WindowedBlockViewer } from '@xyo-network/xl1-protocol-lib';
3
4
  import { AbstractCreatableProvider, CreatableProviderParams } from '../../CreatableProvider/index.ts';
5
+ /** Per-bundle handout statistics used to demote transactions that producers keep rejecting. */
6
+ export interface HandoutStats {
7
+ firstHandoutAt: number;
8
+ handouts: number;
9
+ }
4
10
  /** Parameters for SimpleMempoolViewer. */
5
11
  export interface SimpleMempoolViewerParams extends CreatableProviderParams {
12
+ /** Number of handouts before a transaction is considered demoted. Defaults to 3. */
13
+ demotionThreshold?: number;
6
14
  /** External mempool viewers (reserved for future use). */
7
15
  externalMempools?: MempoolViewer[];
16
+ /** Maximum age (in blocks) of a handout-stats entry before it is garbage collected. Defaults to 1000. */
17
+ handoutStatsTtlBlocks?: number;
8
18
  /** Maximum fraction (0–1) of mempool inclusion candidates to return. Defaults to 0.66. */
9
19
  mempoolSelectionRatio?: number;
10
20
  pendingBlocksArchivist: ArchivistInstance;
@@ -16,14 +26,30 @@ export declare class SimpleMempoolViewer extends AbstractCreatableProvider<Simpl
16
26
  static readonly dependencies: "WindowedBlockViewer"[];
17
27
  static readonly monikers: "MempoolViewer"[];
18
28
  moniker: "MempoolViewer";
29
+ private _handoutStats;
19
30
  private _windowedBlockViewer?;
31
+ protected get demotionThreshold(): number;
32
+ protected get handoutStatsTtlBlocks(): number;
20
33
  protected get pendingBlocksArchivist(): ArchivistInstance<import("@xyo-network/sdk-js").ArchivistParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig>>, import("@xyo-network/sdk-js").ArchivistModuleEventData, import("@xyo-network/sdk-js").Payload>;
21
34
  protected get pendingTransactionsArchivist(): ArchivistInstance<import("@xyo-network/sdk-js").ArchivistParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig>>, import("@xyo-network/sdk-js").ArchivistModuleEventData, import("@xyo-network/sdk-js").Payload>;
22
35
  protected get windowedBlockViewer(): WindowedBlockViewer<"WindowedBlockViewer">;
23
36
  createHandler(): Promise<void>;
37
+ /** Drop handout stats for the given bundle hashes. Called when a bundle has been evicted or otherwise removed from the pool. */
38
+ forget(bundleHashes: Hash[]): void;
39
+ /** Return the subset of the given bundle hashes that are currently considered demoted. */
40
+ getDemotedBundleHashes(bundleHashes: Hash[]): Hash[];
41
+ /**
42
+ * Return the bundle hashes in the order they should be evicted under size pressure.
43
+ * Demoted entries come first, sorted by handouts descending; the remainder is left as-is
44
+ * so the caller can append by FIFO sequence order.
45
+ */
46
+ getEvictionPriorityOrder(bundleHashes: Hash[]): Hash[];
47
+ getHandoutStats(bundleHash: Hash): HandoutStats | undefined;
24
48
  pendingBlocks({ cursor: providedCursor }?: PendingTransactionsOptions): Promise<SignedHydratedBlockWithHashMeta[]>;
25
49
  pendingTransactions({ cursor: providedCursor, limit, }?: PendingTransactionsOptions): Promise<SignedHydratedTransactionWithHashMeta[]>;
50
+ protected isDemoted(bundleHash: Hash): boolean;
26
51
  private deleteBundledTransaction;
52
+ private gcHandoutStats;
27
53
  /**
28
54
  * Evaluates a transaction to determine if it should be purged from the mempool.
29
55
  * @param tx The transaction to evaluate
@@ -41,5 +67,7 @@ export declare class SimpleMempoolViewer extends AbstractCreatableProvider<Simpl
41
67
  * @returns True if the transaction is valid for inclusion in the next block, false otherwise
42
68
  */
43
69
  private isInclusionCandidate;
70
+ private recordHandout;
71
+ private selectWithRatio;
44
72
  }
45
73
  //# sourceMappingURL=SimpleMempoolViewer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleMempoolViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/mempool/SimpleMempoolViewer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACiC,KAAK,aAAa,EACxD,0BAA0B,EAC1B,KAAK,+BAA+B,EAAE,KAAK,qCAAqC,EAChF,mBAAmB,EAEpB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,yBAAyB,EAAqB,uBAAuB,EACtE,MAAM,kCAAkC,CAAA;AAazC,0CAA0C;AAC1C,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAA;IAClC,0FAA0F;IAC1F,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,sBAAsB,EAAE,iBAAiB,CAAA;IACzC,4BAA4B,EAAE,iBAAiB,CAAA;CAChD;AAED,0CAA0C;AAC1C,qBACa,mBAAoB,SAAQ,yBAAyB,CAAC,yBAAyB,CAAE,YAAW,aAAa;IACpH,MAAM,CAAC,QAAQ,CAAC,cAAc,kBAAuB;IACrD,MAAM,CAAC,QAAQ,CAAC,YAAY,0BAA+B;IAC3D,MAAM,CAAC,QAAQ,CAAC,QAAQ,oBAAyB;IACjD,OAAO,kBAAqC;IAE5C,OAAO,CAAC,oBAAoB,CAAC,CAAqB;IAElD,SAAS,KAAK,sBAAsB,kQAEnC;IAED,SAAS,KAAK,4BAA4B,kQAEzC;IAED,SAAS,KAAK,mBAAmB,+CAEhC;IAEc,aAAa;IAKtB,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAE,0BAA+B,GAAG,OAAO,CAAC,+BAA+B,EAAE,CAAC;IAetH,mBAAmB,CAAC,EACxB,MAAM,EAAE,cAAc,EACtB,KAAW,GACZ,GAAE,0BAA+B,GAAG,OAAO,CAAC,qCAAqC,EAAE,CAAC;YAiEvE,wBAAwB;IAItC;;;;;OAKG;YACW,WAAW;IAezB;;;;;;;;OAQG;YACW,oBAAoB;CAiBnC"}
1
+ {"version":3,"file":"SimpleMempoolViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/mempool/SimpleMempoolViewer.ts"],"names":[],"mappings":"AAAA,OAAO,EACG,KAAK,IAAI,EAClB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACiC,KAAK,aAAa,EACxD,0BAA0B,EAC1B,KAAK,+BAA+B,EAAE,KAAK,qCAAqC,EAChF,mBAAmB,EAEpB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,yBAAyB,EAAqB,uBAAuB,EACtE,MAAM,kCAAkC,CAAA;AAUzC,+FAA+F;AAC/F,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB;AASD,0CAA0C;AAC1C,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAA;IAClC,yGAAyG;IACzG,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,0FAA0F;IAC1F,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,sBAAsB,EAAE,iBAAiB,CAAA;IACzC,4BAA4B,EAAE,iBAAiB,CAAA;CAChD;AAED,0CAA0C;AAC1C,qBACa,mBAAoB,SAAQ,yBAAyB,CAAC,yBAAyB,CAAE,YAAW,aAAa;IACpH,MAAM,CAAC,QAAQ,CAAC,cAAc,kBAAuB;IACrD,MAAM,CAAC,QAAQ,CAAC,YAAY,0BAA+B;IAC3D,MAAM,CAAC,QAAQ,CAAC,QAAQ,oBAAyB;IACjD,OAAO,kBAAqC;IAE5C,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,oBAAoB,CAAC,CAAqB;IAElD,SAAS,KAAK,iBAAiB,IAAI,MAAM,CAExC;IAED,SAAS,KAAK,qBAAqB,IAAI,MAAM,CAE5C;IAED,SAAS,KAAK,sBAAsB,kQAEnC;IAED,SAAS,KAAK,4BAA4B,kQAEzC;IAED,SAAS,KAAK,mBAAmB,+CAEhC;IAEc,aAAa;IAK5B,gIAAgI;IAChI,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI;IAIlC,0FAA0F;IAC1F,sBAAsB,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;IAIpD;;;;OAIG;IACH,wBAAwB,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;IAWtD,eAAe,CAAC,UAAU,EAAE,IAAI,GAAG,YAAY,GAAG,SAAS;IAIrD,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAE,0BAA+B,GAAG,OAAO,CAAC,+BAA+B,EAAE,CAAC;IAetH,mBAAmB,CAAC,EACxB,MAAM,EAAE,cAAc,EACtB,KAAW,GACZ,GAAE,0BAA+B,GAAG,OAAO,CAAC,qCAAqC,EAAE,CAAC;IAuErF,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO;YAKhC,wBAAwB;IAItC,OAAO,CAAC,cAAc;IAOtB;;;;;OAKG;YACW,WAAW;IAazB;;;;;;;;OAQG;YACW,oBAAoB;IAgBlC,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;CAWxB"}
@@ -1154,30 +1154,6 @@ async function validateTransactionsOpcodes(txs) {
1154
1154
  return txElevatedPayloads;
1155
1155
  }
1156
1156
 
1157
- // src/primitives/datalake/addDataLakePayloadsToPayloads.ts
1158
- import { isUndefined as isUndefined3 } from "@xylabs/sdk-js";
1159
- import { isAnyPayload, PayloadBuilder as PayloadBuilder4 } from "@xyo-network/sdk-js";
1160
- async function addDataLakePayloadsToPayloads(hashes, payloads, dataLakeViewer) {
1161
- if (isUndefined3(dataLakeViewer)) return [payloads, []];
1162
- const missingPayloadHashes = hashes.filter((hash) => !payloads.some((p) => p._hash === hash));
1163
- const payloadsFromDataLake = await PayloadBuilder4.addHashMeta(
1164
- await PayloadBuilder4.addHashMeta((await dataLakeViewer.get(missingPayloadHashes)).filter(isAnyPayload))
1165
- );
1166
- return [[...payloads, ...payloadsFromDataLake], payloadsFromDataLake.map((p) => p._hash)];
1167
- }
1168
-
1169
- // src/primitives/datalake/addDataLakePayloads.ts
1170
- async function addDataLakePayloads([boundWitness, payloads], dataLakeViewer) {
1171
- const [updatedPayloads, foundHashes] = await addDataLakePayloadsToPayloads(boundWitness.payload_hashes, payloads, dataLakeViewer);
1172
- return [
1173
- [
1174
- boundWitness,
1175
- updatedPayloads
1176
- ],
1177
- foundHashes
1178
- ];
1179
- }
1180
-
1181
1157
  // src/primitives/state/findMostRecentBlock.ts
1182
1158
  import { isSignedBlockBoundWitnessWithStorageMeta } from "@xyo-network/xl1-protocol-lib";
1183
1159
  var DEFAULT_NEXT_OPTIONS = { limit: 50 };
@@ -1312,14 +1288,13 @@ var ConfigZod = BaseConfigZod.extend({
1312
1288
  import {
1313
1289
  assertEx as assertEx11,
1314
1290
  exists,
1315
- isUndefined as isUndefined4
1291
+ isUndefined as isUndefined3
1316
1292
  } from "@xylabs/sdk-js";
1317
1293
  import {
1318
1294
  asSignedHydratedBlockWithHashMeta,
1319
1295
  asSignedHydratedBlockWithStorageMeta,
1320
1296
  asXL1BlockNumber as asXL1BlockNumber3,
1321
1297
  BlockViewerMoniker,
1322
- DataLakeViewerMoniker,
1323
1298
  FinalizationViewerMoniker
1324
1299
  } from "@xyo-network/xl1-protocol-lib";
1325
1300
 
@@ -1351,10 +1326,9 @@ var MIN_HEAD_POLL_INTERVAL_MS = 5e3;
1351
1326
  var SimpleBlockViewer = class extends AbstractCreatableProvider {
1352
1327
  moniker = SimpleBlockViewer.defaultMoniker;
1353
1328
  _store;
1354
- dataLakeViewer;
1355
1329
  finalizationViewer;
1356
1330
  payloadCache = new LruCacheMap({ max: 1e4 });
1357
- signedHydratedBlockWithDataLakePayloadsCache = new LruCacheMap({ max: 2e3, ttl: 1e3 * 60 * 60 });
1331
+ signedHydratedBlockWithHashMetaCache = new LruCacheMap({ max: 2e3, ttl: 1e3 * 60 * 60 });
1358
1332
  _headPollHash;
1359
1333
  _headPollInProgress = false;
1360
1334
  _headPollTimer = null;
@@ -1390,23 +1364,22 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1390
1364
  }
1391
1365
  async blockByHash(hash) {
1392
1366
  return await this.spanAsync("blockByHash", async () => {
1393
- const cachedBlock = this.signedHydratedBlockWithDataLakePayloadsCache.get(hash);
1367
+ const cachedBlock = this.signedHydratedBlockWithHashMetaCache.get(hash);
1394
1368
  if (cachedBlock) {
1395
1369
  return cachedBlock;
1396
1370
  }
1397
1371
  const cache = this.hydratedBlockCache;
1398
1372
  const block = await cache.get(hash);
1399
- const [result] = block ? await addDataLakePayloads(block, this.dataLakeViewer) : [null, []];
1400
- if (result) {
1401
- this.signedHydratedBlockWithDataLakePayloadsCache.set(hash, result);
1373
+ if (block) {
1374
+ this.signedHydratedBlockWithHashMetaCache.set(hash, block);
1402
1375
  }
1403
- return result;
1376
+ return block ?? null;
1404
1377
  }, { ...this.context, timeBudgetLimit: 100 });
1405
1378
  }
1406
1379
  async blockByNumber(blockNumber) {
1407
1380
  return await this.spanAsync("blockByNumber", async () => {
1408
1381
  const chainContext = await this.getChainContextRead();
1409
- if (isUndefined4(chainContext.head)) {
1382
+ if (isUndefined3(chainContext.head)) {
1410
1383
  return null;
1411
1384
  }
1412
1385
  return await this.blockByNumberWithContext(chainContext, blockNumber);
@@ -1432,7 +1405,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1432
1405
  assertEx11(limit > 0, () => "limit must be greater than 0");
1433
1406
  assertEx11(limit <= 100, () => "limit must be less than 100");
1434
1407
  const chainContext = await this.getChainContextRead();
1435
- if (isUndefined4(chainContext.head)) {
1408
+ if (isUndefined3(chainContext.head)) {
1436
1409
  return [];
1437
1410
  }
1438
1411
  const blocks = [];
@@ -1453,13 +1426,11 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1453
1426
  }
1454
1427
  async createHandler() {
1455
1428
  await super.createHandler();
1456
- this.dataLakeViewer = await this.locator.tryGetInstance(DataLakeViewerMoniker);
1457
1429
  this.finalizationViewer = await this.locator.getInstance(FinalizationViewerMoniker);
1458
1430
  this._store = { chainMap: this.params.finalizedArchivist };
1459
1431
  }
1460
1432
  async currentBlock() {
1461
- const [result] = await addDataLakePayloads(await this.finalizationViewer.head(), this.dataLakeViewer);
1462
- return result;
1433
+ return await this.finalizationViewer.head();
1463
1434
  }
1464
1435
  async currentBlockHash() {
1465
1436
  return await this.finalizationViewer.headHash();
@@ -1477,7 +1448,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1477
1448
  const cachedHashes = new Set(cachedPayloads.map((p) => p._hash));
1478
1449
  remainingHashes = remainingHashes.filter((h) => !cachedHashes.has(h));
1479
1450
  const finalizedPayloads = remainingHashes.length > 0 ? await this.finalizedArchivist.get(remainingHashes) : [];
1480
- const [resultPayloads] = await addDataLakePayloadsToPayloads(hashes, [...cachedPayloads, ...finalizedPayloads.filter(exists)], this.dataLakeViewer);
1451
+ const resultPayloads = [...cachedPayloads, ...finalizedPayloads.filter(exists)];
1481
1452
  resultPayloads.map((payload) => {
1482
1453
  this.payloadCache.set(payload._hash, payload);
1483
1454
  });
@@ -1516,9 +1487,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1516
1487
  await super.stopHandler();
1517
1488
  }
1518
1489
  async blockByNumberWithContext(chainContext, blockNumber) {
1519
- const block = asSignedHydratedBlockWithHashMeta(await hydratedBlockByNumber(chainContext, blockNumber)) ?? null;
1520
- const [result] = block ? await addDataLakePayloads(block, this.dataLakeViewer) : [null, []];
1521
- return result;
1490
+ return asSignedHydratedBlockWithHashMeta(await hydratedBlockByNumber(chainContext, blockNumber)) ?? null;
1522
1491
  }
1523
1492
  async pollHead(emitOnChange) {
1524
1493
  if (this._headPollInProgress) return;
@@ -1722,7 +1691,7 @@ import {
1722
1691
  asSchema as asSchema2,
1723
1692
  IdSchema as IdSchema2,
1724
1693
  MemoryArchivist,
1725
- PayloadBuilder as PayloadBuilder9
1694
+ PayloadBuilder as PayloadBuilder8
1726
1695
  } from "@xyo-network/sdk-js";
1727
1696
  import {
1728
1697
  asXL1BlockNumber as asXL1BlockNumber7
@@ -1739,7 +1708,7 @@ import { assertEx as assertEx14, isDefined as isDefined8 } from "@xylabs/sdk-js"
1739
1708
  import {
1740
1709
  asAnyPayload as asAnyPayload3,
1741
1710
  BoundWitnessBuilder as BoundWitnessBuilder2,
1742
- PayloadBuilder as PayloadBuilder5
1711
+ PayloadBuilder as PayloadBuilder4
1743
1712
  } from "@xyo-network/sdk-js";
1744
1713
  import {
1745
1714
  asXL1BlockNumber as asXL1BlockNumber4,
@@ -1822,10 +1791,10 @@ async function buildBlock(options) {
1822
1791
  const step_hashes = [];
1823
1792
  for (const [tx] of txs) {
1824
1793
  if (tx.nbf > blockNumber) {
1825
- throw new Error(`Transaction ${await PayloadBuilder5.hash(tx)} not valid for block ${blockNumber} - NBF is ${tx.nbf}`);
1794
+ throw new Error(`Transaction ${await PayloadBuilder4.hash(tx)} not valid for block ${blockNumber} - NBF is ${tx.nbf}`);
1826
1795
  }
1827
1796
  if (tx.exp < blockNumber) {
1828
- throw new Error(`Transaction ${await PayloadBuilder5.hash(tx)} not valid for block ${blockNumber} - EXP is ${tx.exp}`);
1797
+ throw new Error(`Transaction ${await PayloadBuilder4.hash(tx)} not valid for block ${blockNumber} - EXP is ${tx.exp}`);
1829
1798
  }
1830
1799
  }
1831
1800
  const completedStepRewardTransfers = [];
@@ -1861,9 +1830,9 @@ async function buildBlock(options) {
1861
1830
  previous,
1862
1831
  step_hashes,
1863
1832
  protocol
1864
- }).meta({ $epoch: Date.now(), $signatures: [] }).signers(signers).payloads(await PayloadBuilder5.addStorageMeta(payloads)).build();
1833
+ }).meta({ $epoch: Date.now(), $signatures: [] }).signers(signers).payloads(await PayloadBuilder4.addStorageMeta(payloads)).build();
1865
1834
  assertEx14(isBlockBoundWitness(bw), () => "Build of BlockBoundWitness failed");
1866
- return [await PayloadBuilder5.addStorageMeta(bw), txPayloads.map((p) => asAnyPayload3(p, true))];
1835
+ return [await PayloadBuilder4.addStorageMeta(bw), txPayloads.map((p) => asAnyPayload3(p, true))];
1867
1836
  }
1868
1837
 
1869
1838
  // src/test/buildNextBlock.ts
@@ -1889,7 +1858,7 @@ import {
1889
1858
  asAnyPayload as asAnyPayload4,
1890
1859
  asSchema,
1891
1860
  IdSchema,
1892
- PayloadBuilder as PayloadBuilder6
1861
+ PayloadBuilder as PayloadBuilder5
1893
1862
  } from "@xyo-network/sdk-js";
1894
1863
  import {
1895
1864
  asXL1BlockNumber as asXL1BlockNumber5
@@ -1913,7 +1882,7 @@ async function buildGenesisBlock(chainId, txs, blockPayloads, signers, chainStep
1913
1882
  var TestChainId = assertEx15(asAddress("c5fe2e6F6841Cbab12d8C0618Be2DF8C6156cC44"));
1914
1883
 
1915
1884
  // src/test/createGenesisBlock.ts
1916
- import { PayloadBuilder as PayloadBuilder8 } from "@xyo-network/sdk-js";
1885
+ import { PayloadBuilder as PayloadBuilder7 } from "@xyo-network/sdk-js";
1917
1886
  import {
1918
1887
  BlockBoundWitnessSchemaPayload,
1919
1888
  BlockBoundWitnessWithStorageMetaSchemaPayload,
@@ -1925,14 +1894,14 @@ import {
1925
1894
  } from "@xyo-network/xl1-schema";
1926
1895
 
1927
1896
  // src/test/createProducerChainStakeIntentTransaction.ts
1928
- import { PayloadBuilder as PayloadBuilder7 } from "@xyo-network/sdk-js";
1897
+ import { PayloadBuilder as PayloadBuilder6 } from "@xyo-network/sdk-js";
1929
1898
  import {
1930
1899
  asXL1BlockNumber as asXL1BlockNumber6,
1931
1900
  ChainStakeIntentSchema,
1932
1901
  defaultTransactionFees as defaultTransactionFees2
1933
1902
  } from "@xyo-network/xl1-protocol-lib";
1934
1903
  async function createProducerChainStakeIntent(from, exp, nbf = 0) {
1935
- return await PayloadBuilder7.addHashMeta(new PayloadBuilder7({ schema: ChainStakeIntentSchema }).fields({
1904
+ return await PayloadBuilder6.addHashMeta(new PayloadBuilder6({ schema: ChainStakeIntentSchema }).fields({
1936
1905
  from,
1937
1906
  exp,
1938
1907
  nbf,
@@ -1942,7 +1911,7 @@ async function createProducerChainStakeIntent(from, exp, nbf = 0) {
1942
1911
 
1943
1912
  // src/test/createGenesisBlock.ts
1944
1913
  var createGenesisBlock = async (initialBlockProducer, nextContractAddress, genesisBlockRewardAmount, genesisBlockRewardAddress) => {
1945
- const blockPayloads = await PayloadBuilder8.addHashMeta([
1914
+ const blockPayloads = await PayloadBuilder7.addHashMeta([
1946
1915
  TransferPayloadJsonSchemaPayload,
1947
1916
  BlockBoundWitnessSchemaPayload,
1948
1917
  BlockBoundWitnessWithStorageMetaSchemaPayload,
@@ -1954,7 +1923,7 @@ var createGenesisBlock = async (initialBlockProducer, nextContractAddress, genes
1954
1923
  const intentPayload = await createProducerChainStakeIntent(initialBlockProducer.address, 1, 0);
1955
1924
  blockPayloads.push(intentPayload);
1956
1925
  if (genesisBlockRewardAmount > 0n) {
1957
- blockPayloads.push(await PayloadBuilder8.addHashMeta(createTransferPayload(
1926
+ blockPayloads.push(await PayloadBuilder7.addHashMeta(createTransferPayload(
1958
1927
  nextContractAddress,
1959
1928
  { [genesisBlockRewardAddress]: genesisBlockRewardAmount }
1960
1929
  )));
@@ -1985,9 +1954,9 @@ var buildRandomChain = async (blockProducer, count = 10, previousBlock, chainId,
1985
1954
  let saltCounter = 0;
1986
1955
  while (remaining > 0) {
1987
1956
  saltCounter += 1;
1988
- const payloads = [new PayloadBuilder9({ schema: IdSchema2 }).fields({ salt: `${Date.now()}-${saltCounter}` }).build()];
1957
+ const payloads = [new PayloadBuilder8({ schema: IdSchema2 }).fields({ salt: `${Date.now()}-${saltCounter}` }).build()];
1989
1958
  saltCounter += 1;
1990
- const additionalPrivatePayloads = remaining % 2 === 0 ? [new PayloadBuilder9({ schema: asSchema2("network.xyo.private", true) }).fields({ salt: `${Date.now()}-${saltCounter}` }).build()] : [];
1959
+ const additionalPrivatePayloads = remaining % 2 === 0 ? [new PayloadBuilder8({ schema: asSchema2("network.xyo.private", true) }).fields({ salt: `${Date.now()}-${saltCounter}` }).build()] : [];
1991
1960
  const txs = [];
1992
1961
  for (const receiverAddress of resolvedReceiverAddresses) {
1993
1962
  txs.push(await buildRandomTransaction(