@xyo-network/xl1-protocol-sdk 1.26.2 → 1.26.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"hydratedBlockByNumber.d.ts","sourceRoot":"","sources":["../../../../src/primitives/state/hydratedBlockByNumber.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAAE,cAAc,EAC1C,MAAM,+BAA+B,CAAA;AAKtC,6CAA6C;AAC7C,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAY7I"}
1
+ {"version":3,"file":"hydratedBlockByNumber.d.ts","sourceRoot":"","sources":["../../../../src/primitives/state/hydratedBlockByNumber.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAAE,cAAc,EAC1C,MAAM,+BAA+B,CAAA;AAKtC,6CAA6C;AAC7C,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAc7I"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleMempoolRunner.d.ts","sourceRoot":"","sources":["../../../../src/simple/mempool/SimpleMempoolRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EACa,KAAK,IAAI,EAC5B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EACY,OAAO,EAGzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,qBAAqB,EAErB,mBAAmB,EAGnB,kBAAkB,EAE0H,mBAAmB,EAAE,aAAa,EACxJ,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAmC,KAAK,yBAAyB,EAEpI,MAAM,+BAA+B,CAAA;AAItC,OAAO,EACL,yBAAyB,EAAqB,uBAAuB,EACtE,MAAM,kCAAkC,CAAA;AAUzC,0CAA0C;AAC1C,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sBAAsB,EAAE,iBAAiB,CAAA;IACzC,4BAA4B,EAAE,iBAAiB,CAAA;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;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,6EAAwF;IACpH,MAAM,CAAC,QAAQ,CAAC,QAAQ,oBAAyB;IACjD,OAAO,kBAAqC;IAE5C,SAAS,CAAC,sBAAsB,EAAG,qBAAqB,CAAA;IACxD,SAAS,CAAC,oBAAoB,EAAG,mBAAmB,CAAA;IACpD,SAAS,CAAC,mBAAmB,EAAG,kBAAkB,CAAA;IAElD,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,YAAY,CAA8C;IAElE,SAAS,KAAK,qBAAqB,0BAElC;IAED,SAAS,KAAK,mBAAmB,wBAEhC;IAED,SAAS,KAAK,gBAAgB,IAAI,aAAa,EAAE,CAEhD;IAED,SAAS,KAAK,kBAAkB,uBAE/B;IAED,SAAS,KAAK,WAAW,WAExB;IAED,SAAS,KAAK,sBAAsB,oOAEnC;IAED,SAAS,KAAK,4BAA4B,oOAEzC;IAED,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;IAED,SAAS,KAAK,SAAS,IAAI,MAAM,CAEhC;WAEqB,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQrG,aAAa;IAOtB,kBAAkB,CAAC,EACvB,SAAc,EAAE,QAAe,EAAE,QAAe,GACjD,GAAE,mBAAwB,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAyDjD,wBAAwB,CAAC,EAC7B,SAAc,EAAE,QAAe,EAAE,QAAe,GACjD,GAAE,mBAAwB,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAyDjD,YAAY,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAW5D,kBAAkB,CAAC,YAAY,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;cAsB3D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAU7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;YAQvC,0BAA0B;YA0B1B,gCAAgC;YAsChC,cAAc;YASd,gBAAgB;YAchB,oBAAoB;CAQnC"}
1
+ {"version":3,"file":"SimpleMempoolRunner.d.ts","sourceRoot":"","sources":["../../../../src/simple/mempool/SimpleMempoolRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EACa,KAAK,IAAI,EAC5B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EACY,OAAO,EAGzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,qBAAqB,EAErB,mBAAmB,EAGnB,kBAAkB,EAE0H,mBAAmB,EAAE,aAAa,EACxJ,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAmC,KAAK,yBAAyB,EAEpI,MAAM,+BAA+B,CAAA;AAItC,OAAO,EACL,yBAAyB,EAAqB,uBAAuB,EACtE,MAAM,kCAAkC,CAAA;AAUzC,0CAA0C;AAC1C,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sBAAsB,EAAE,iBAAiB,CAAA;IACzC,4BAA4B,EAAE,iBAAiB,CAAA;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;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,6EAAwF;IACpH,MAAM,CAAC,QAAQ,CAAC,QAAQ,oBAAyB;IACjD,OAAO,kBAAqC;IAE5C,SAAS,CAAC,sBAAsB,EAAG,qBAAqB,CAAA;IACxD,SAAS,CAAC,oBAAoB,EAAG,mBAAmB,CAAA;IACpD,SAAS,CAAC,mBAAmB,EAAG,kBAAkB,CAAA;IAElD,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,YAAY,CAA8C;IAElE,SAAS,KAAK,qBAAqB,0BAElC;IAED,SAAS,KAAK,mBAAmB,wBAEhC;IAED,SAAS,KAAK,gBAAgB,IAAI,aAAa,EAAE,CAEhD;IAED,SAAS,KAAK,kBAAkB,uBAE/B;IAED,SAAS,KAAK,WAAW,WAExB;IAED,SAAS,KAAK,sBAAsB,oOAEnC;IAED,SAAS,KAAK,4BAA4B,oOAEzC;IAED,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;IAED,SAAS,KAAK,SAAS,IAAI,MAAM,CAEhC;WAEqB,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQrG,aAAa;IAOtB,kBAAkB,CAAC,EACvB,SAAc,EAAE,QAAe,EAAE,QAAe,GACjD,GAAE,mBAAwB,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAwDjD,wBAAwB,CAAC,EAC7B,SAAc,EAAE,QAAe,EAAE,QAAe,GACjD,GAAE,mBAAwB,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAyDjD,YAAY,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAW5D,kBAAkB,CAAC,YAAY,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;cAsB3D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAU7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;YAQvC,0BAA0B;YA0B1B,gCAAgC;YAsChC,cAAc;YASd,gBAAgB;YAchB,oBAAoB;CAQnC"}
@@ -749,7 +749,8 @@ var hydrateBlock = async (context, hash, maxDepth = 1, minDepth = maxDepth) => {
749
749
  // src/block/primitives/blockFromBlockNumber.ts
750
750
  import {
751
751
  asHash,
752
- isDefined as isDefined4
752
+ isDefined as isDefined4,
753
+ spanAsync
753
754
  } from "@xylabs/sdk-js";
754
755
  import { toSafeJsonString } from "@xylabs/sdk-js";
755
756
  import {
@@ -872,52 +873,54 @@ async function withContextCacheResponse(context, name, key, func, { max = 1e4 }
872
873
 
873
874
  // src/block/primitives/blockFromBlockNumber.ts
874
875
  async function blockFromBlockNumber(context, blockNumber) {
875
- const cacheKey = `${blockNumber}`;
876
- const { chainMap, head } = context;
877
- return await withContextCacheResponse(context, "blockFromBlockNumber", cacheKey, async () => {
878
- const [result] = await chainMap.get([head._hash]);
879
- if (!isDefined4(result)) {
880
- throw new Error(`Head block not found for hash: ${head._hash}`);
881
- }
882
- let currentBlock = asSignedBlockBoundWitnessWithStorageMeta(
883
- result,
884
- () => `Found Payload is not a Signed<BlockBoundWitness>: ${JSON.stringify(result, null, 2)}`
885
- );
886
- if (currentBlock.block < blockNumber) {
887
- throw new Error(`Block number ${blockNumber} is greater than head ${currentBlock.block}.`);
888
- }
889
- while (currentBlock.block > blockNumber) {
890
- let jumpHash = currentBlock.previous;
891
- let jumpBlockNumber = currentBlock.block - 1;
892
- for (const [step, stepSize] of StepSizes.entries()) {
893
- const possibleJumpBlockNumber = currentBlock.block - currentBlock.block % stepSize - 1;
894
- if (possibleJumpBlockNumber >= blockNumber && possibleJumpBlockNumber <= jumpBlockNumber) {
895
- jumpBlockNumber = possibleJumpBlockNumber;
896
- jumpHash = asHash(currentBlock.step_hashes?.at(step), () => `Step hash not found for step ${step} in block ${currentBlock.block}`);
897
- }
876
+ return await spanAsync("blockFromBlockNumber", async () => {
877
+ const cacheKey = `${blockNumber}`;
878
+ const { chainMap, head } = context;
879
+ return await withContextCacheResponse(context, "blockFromBlockNumber", cacheKey, async () => {
880
+ const [result] = await chainMap.get([head._hash]);
881
+ if (!isDefined4(result)) {
882
+ throw new Error(`Head block not found for hash: ${head._hash}`);
898
883
  }
899
- const [newBlock] = await chainMap.get([
900
- asHash(jumpHash, () => `Jump hash not found for block number [${blockNumber}]: ${jumpBlockNumber} ${toSafeJsonString(currentBlock, 10)}`)
901
- ]);
902
- if (!isDefined4(newBlock)) {
903
- throw new Error(`Block not found for jump hash: ${jumpHash}`);
904
- }
905
- currentBlock = asSignedBlockBoundWitnessWithStorageMeta(
906
- newBlock,
907
- () => {
908
- const result2 = SignedBlockBoundWitnessWithHashMetaZod.safeParse(newBlock);
909
- return `Found Payload [jump hash] is not a Signed<BlockBoundWitness>: ${result2.error}`;
910
- }
884
+ let currentBlock = asSignedBlockBoundWitnessWithStorageMeta(
885
+ result,
886
+ () => `Found Payload is not a Signed<BlockBoundWitness>: ${JSON.stringify(result, null, 2)}`
911
887
  );
912
- if (currentBlock.block === blockNumber) {
913
- break;
914
- }
915
888
  if (currentBlock.block < blockNumber) {
916
- throw new Error(`Block number ${blockNumber} is not a valid step block number for block ${head._hash}.`);
889
+ throw new Error(`Block number ${blockNumber} is greater than head ${currentBlock.block}.`);
917
890
  }
918
- }
919
- return currentBlock;
920
- });
891
+ while (currentBlock.block > blockNumber) {
892
+ let jumpHash = currentBlock.previous;
893
+ let jumpBlockNumber = currentBlock.block - 1;
894
+ for (const [step, stepSize] of StepSizes.entries()) {
895
+ const possibleJumpBlockNumber = currentBlock.block - currentBlock.block % stepSize - 1;
896
+ if (possibleJumpBlockNumber >= blockNumber && possibleJumpBlockNumber <= jumpBlockNumber) {
897
+ jumpBlockNumber = possibleJumpBlockNumber;
898
+ jumpHash = asHash(currentBlock.step_hashes?.at(step), () => `Step hash not found for step ${step} in block ${currentBlock.block}`);
899
+ }
900
+ }
901
+ const [newBlock] = await chainMap.get([
902
+ asHash(jumpHash, () => `Jump hash not found for block number [${blockNumber}]: ${jumpBlockNumber} ${toSafeJsonString(currentBlock, 10)}`)
903
+ ]);
904
+ if (!isDefined4(newBlock)) {
905
+ throw new Error(`Block not found for jump hash: ${jumpHash}`);
906
+ }
907
+ currentBlock = asSignedBlockBoundWitnessWithStorageMeta(
908
+ newBlock,
909
+ () => {
910
+ const result2 = SignedBlockBoundWitnessWithHashMetaZod.safeParse(newBlock);
911
+ return `Found Payload [jump hash] is not a Signed<BlockBoundWitness>: ${result2.error}`;
912
+ }
913
+ );
914
+ if (currentBlock.block === blockNumber) {
915
+ break;
916
+ }
917
+ if (currentBlock.block < blockNumber) {
918
+ throw new Error(`Block number ${blockNumber} is not a valid step block number for block ${head._hash}.`);
919
+ }
920
+ }
921
+ return currentBlock;
922
+ });
923
+ }, { ...context, timeBudgetLimit: 500 });
921
924
  }
922
925
 
923
926
  // src/block/primitives/validateTransactionOpcodes.ts
@@ -1226,19 +1229,21 @@ var findMostRecentBlock = async (chainArchivist, nextOptions = DEFAULT_NEXT_OPTI
1226
1229
  };
1227
1230
 
1228
1231
  // src/primitives/state/hydratedBlockByNumber.ts
1229
- import { assertEx as assertEx9 } from "@xylabs/sdk-js";
1232
+ import { assertEx as assertEx9, spanAsync as spanAsync2 } from "@xylabs/sdk-js";
1230
1233
  async function hydratedBlockByNumber(context, blockNumber) {
1231
- if (blockNumber < 0) throw new Error(`Block number ${blockNumber} is less than 0`);
1232
- if (blockNumber > Number.MAX_SAFE_INTEGER) throw new Error(`Block number ${blockNumber} is greater than the maximum safe integer`);
1233
- if (blockNumber % 1 !== 0) throw new Error(`Block number ${blockNumber} is not an integer`);
1234
- const cacheKey = `${blockNumber}`;
1235
- return await withContextCacheResponse(context, "hydratedBlockByNumber", cacheKey, async () => {
1236
- const block = assertEx9(
1237
- await blockFromBlockNumber(context, blockNumber),
1238
- () => `Could not find block for block number ${blockNumber}`
1239
- );
1240
- return await hydrateBlock(context, block._hash);
1241
- });
1234
+ return await spanAsync2("hydratedBlockByNumber", async () => {
1235
+ if (blockNumber < 0) throw new Error(`Block number ${blockNumber} is less than 0`);
1236
+ if (blockNumber > Number.MAX_SAFE_INTEGER) throw new Error(`Block number ${blockNumber} is greater than the maximum safe integer`);
1237
+ if (blockNumber % 1 !== 0) throw new Error(`Block number ${blockNumber} is not an integer`);
1238
+ const cacheKey = `${blockNumber}`;
1239
+ return await withContextCacheResponse(context, "hydratedBlockByNumber", cacheKey, async () => {
1240
+ const block = assertEx9(
1241
+ await blockFromBlockNumber(context, blockNumber),
1242
+ () => `Could not find block for block number ${blockNumber}`
1243
+ );
1244
+ return await hydrateBlock(context, block._hash);
1245
+ }, { max: 2e4 });
1246
+ }, { ...context, timeBudgetLimit: 500 });
1242
1247
  }
1243
1248
 
1244
1249
  // src/utils/HydratedCache.ts
@@ -1282,7 +1287,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1282
1287
  this._signedHydratedBlockCache = new HydratedCache(context, async (context2, hash, maxDepth, minDepth) => {
1283
1288
  const result = await hydrateBlock(context2, hash, maxDepth, minDepth);
1284
1289
  return asSignedHydratedBlockWithStorageMeta(result, true);
1285
- }, 2e3);
1290
+ }, 2e4);
1286
1291
  return this._signedHydratedBlockCache;
1287
1292
  }
1288
1293
  get store() {
@@ -1307,7 +1312,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1307
1312
  this.signedHydratedBlockWithDataLakePayloadsCache.set(hash, result);
1308
1313
  }
1309
1314
  return result;
1310
- }, this.context);
1315
+ }, { ...this.context, timeBudgetLimit: 100 });
1311
1316
  }
1312
1317
  async blockByNumber(blockNumber) {
1313
1318
  return await this.spanAsync("blockByNumber", async () => {
@@ -1318,7 +1323,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1318
1323
  const block = asSignedHydratedBlockWithHashMeta(await hydratedBlockByNumber(await this.getChainContextRead(), blockNumber)) ?? null;
1319
1324
  const [result] = block ? await addDataLakePayloads(block, this.dataLakeViewer) : [null, []];
1320
1325
  return result;
1321
- }, this.context);
1326
+ }, { ...this.context, timeBudgetLimit: 100 });
1322
1327
  }
1323
1328
  async blocksByHash(hash, limit = 50) {
1324
1329
  return await this.spanAsync("blocksByHash", async () => {
@@ -1333,7 +1338,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1333
1338
  current = await this.blockByHash(previousHash);
1334
1339
  }
1335
1340
  return blocks.map((b) => asSignedHydratedBlockWithHashMeta(b, true));
1336
- }, this.context);
1341
+ }, { ...this.context, timeBudgetLimit: 300 });
1337
1342
  }
1338
1343
  async blocksByNumber(blockNumber, limit = 50) {
1339
1344
  return await this.spanAsync("blocksByNumber", async () => {