@xyo-network/chain-services 1.19.6 → 1.19.8

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 (45) hide show
  1. package/dist/neutral/StakeIntent/XyoStakeIntentService.d.ts.map +1 -1
  2. package/dist/neutral/implementation/head/createBootstrapHead.d.ts +2 -2
  3. package/dist/neutral/implementation/head/createBootstrapHead.d.ts.map +1 -1
  4. package/dist/neutral/implementation/index.d.ts +0 -1
  5. package/dist/neutral/implementation/index.d.ts.map +1 -1
  6. package/dist/neutral/index.d.ts +0 -2
  7. package/dist/neutral/index.d.ts.map +1 -1
  8. package/dist/neutral/index.mjs +59 -233
  9. package/dist/neutral/index.mjs.map +1 -1
  10. package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts +7 -5
  11. package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
  12. package/package.json +12 -12
  13. package/src/PendingTransactions/BasePendingTransactions.ts +2 -2
  14. package/src/StakeIntent/XyoStakeIntentService.ts +7 -2
  15. package/src/implementation/head/createBootstrapHead.ts +2 -2
  16. package/src/implementation/index.ts +0 -1
  17. package/src/index.ts +0 -2
  18. package/src/simple/block/runner/SimpleBlockRunner.ts +3 -3
  19. package/dist/neutral/AccountBalance/accountBalanceServiceFromArchivist.d.ts +0 -5
  20. package/dist/neutral/AccountBalance/accountBalanceServiceFromArchivist.d.ts.map +0 -1
  21. package/dist/neutral/AccountBalance/index.d.ts +0 -2
  22. package/dist/neutral/AccountBalance/index.d.ts.map +0 -1
  23. package/dist/neutral/Schemas/BaseSchemasService.d.ts +0 -16
  24. package/dist/neutral/Schemas/BaseSchemasService.d.ts.map +0 -1
  25. package/dist/neutral/Schemas/index.d.ts +0 -2
  26. package/dist/neutral/Schemas/index.d.ts.map +0 -1
  27. package/dist/neutral/implementation/evm/index.d.ts +0 -2
  28. package/dist/neutral/implementation/evm/index.d.ts.map +0 -1
  29. package/dist/neutral/implementation/evm/initChainId.d.ts +0 -4
  30. package/dist/neutral/implementation/evm/initChainId.d.ts.map +0 -1
  31. package/dist/neutral/implementation/evm/initEvmProvider.d.ts +0 -11
  32. package/dist/neutral/implementation/evm/initEvmProvider.d.ts.map +0 -1
  33. package/dist/neutral/implementation/evm/initInfuraProvider.d.ts +0 -6
  34. package/dist/neutral/implementation/evm/initInfuraProvider.d.ts.map +0 -1
  35. package/dist/neutral/implementation/evm/initJsonRpcProvider.d.ts +0 -6
  36. package/dist/neutral/implementation/evm/initJsonRpcProvider.d.ts.map +0 -1
  37. package/src/AccountBalance/accountBalanceServiceFromArchivist.ts +0 -65
  38. package/src/AccountBalance/index.ts +0 -1
  39. package/src/Schemas/BaseSchemasService.ts +0 -38
  40. package/src/Schemas/index.ts +0 -1
  41. package/src/implementation/evm/index.ts +0 -1
  42. package/src/implementation/evm/initChainId.ts +0 -20
  43. package/src/implementation/evm/initEvmProvider.ts +0 -24
  44. package/src/implementation/evm/initInfuraProvider.ts +0 -26
  45. package/src/implementation/evm/initJsonRpcProvider.ts +0 -20
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleBlockRunner.d.ts","sourceRoot":"","sources":["../../../../../src/simple/block/runner/SimpleBlockRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimpleBlockRunner.d.ts","sourceRoot":"","sources":["../../../../../src/simple/block/runner/SimpleBlockRunner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/package.json",
3
3
  "name": "@xyo-network/chain-services",
4
- "version": "1.19.6",
4
+ "version": "1.19.8",
5
5
  "description": "XYO Layer One SDK Services",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -40,34 +40,34 @@
40
40
  ],
41
41
  "dependencies": {
42
42
  "@opentelemetry/api": "^1.9.0",
43
- "@xylabs/sdk-js": "~5.0.65",
43
+ "@xylabs/sdk-js": "~5.0.78",
44
44
  "@xyo-network/account-model": "~5.3.2",
45
45
  "@xyo-network/archivist-memory": "~5.3.2",
46
46
  "@xyo-network/archivist-model": "~5.3.2",
47
47
  "@xyo-network/boundwitness-model": "~5.3.2",
48
48
  "@xyo-network/boundwitness-validator": "~5.3.2",
49
49
  "@xyo-network/boundwitness-wrapper": "~5.3.2",
50
- "@xyo-network/chain-analyze": "~1.19.6",
51
- "@xyo-network/chain-modules": "~1.19.6",
52
- "@xyo-network/chain-protocol": "~1.19.6",
53
- "@xyo-network/chain-utils": "~1.19.6",
50
+ "@xyo-network/chain-analyze": "~1.19.8",
51
+ "@xyo-network/chain-modules": "~1.19.8",
52
+ "@xyo-network/chain-protocol": "~1.19.8",
53
+ "@xyo-network/chain-utils": "~1.19.8",
54
54
  "@xyo-network/payload-builder": "~5.3.2",
55
55
  "@xyo-network/payload-model": "~5.3.2",
56
56
  "@xyo-network/typechain": "~4.1.1",
57
- "@xyo-network/xl1-sdk": "~1.21.10",
57
+ "@xyo-network/xl1-sdk": "~1.23.6",
58
58
  "async-mutex": "~0.5.0",
59
59
  "ethers": "^6.16.0",
60
- "lru-cache": "^11.2.5"
60
+ "lru-cache": "^11.2.6"
61
61
  },
62
62
  "devDependencies": {
63
- "@types/node": "~25.1.0",
64
- "@xylabs/sdk-js": "~5.0.65",
63
+ "@types/node": "~25.2.3",
64
+ "@xylabs/sdk-js": "~5.0.78",
65
65
  "@xylabs/ts-scripts-yarn3": "~7.3.2",
66
66
  "@xylabs/tsconfig": "~7.3.2",
67
- "@xylabs/vitest-extended": "~5.0.65",
67
+ "@xylabs/vitest-extended": "~5.0.78",
68
68
  "@xyo-network/account": "~5.3.2",
69
69
  "@xyo-network/account-model": "~5.3.2",
70
- "@xyo-network/chain-validation": "~1.19.6",
70
+ "@xyo-network/chain-validation": "~1.19.8",
71
71
  "@xyo-network/wallet": "~5.3.2",
72
72
  "@xyo-network/wallet-model": "~5.3.2",
73
73
  "cosmiconfig": "^9.0.0",
@@ -191,8 +191,8 @@ export class BasePendingTransactionsService extends AbstractCreatableProvider<Ba
191
191
  const activeTransactions = transactions.filter(isTransactionActive(asXL1BlockNumber(lastHead.block + 1, true)))
192
192
 
193
193
  const txValidationResults = await Promise.all(activeTransactions.map(async tx => ([tx, await validateTransaction(
194
+ { ...this.context, chainId: this.params.chainId },
194
195
  tx,
195
- { chainId: this.params.chainId },
196
196
  this.additionalPendingTransactionValidators,
197
197
  )])))
198
198
 
@@ -264,7 +264,7 @@ export class BasePendingTransactionsService extends AbstractCreatableProvider<Ba
264
264
  }))).filter(exists)
265
265
  // Filter to only valid transactions
266
266
  const validTransactions = await filterAsync(hydratedUnprocessedTransactions, async (tx) => {
267
- const errors = await validateTransaction(tx, { chainId: this.params.chainId }, [TransactionJsonSchemaValidator])
267
+ const errors = await validateTransaction({ ...this.context, chainId: this.params.chainId }, tx, [TransactionJsonSchemaValidator])
268
268
  if (errors.length > 0) {
269
269
  this.logger?.warn('validateTransaction', errors)
270
270
  }
@@ -127,7 +127,7 @@ export class XyoStakeIntentService extends AbstractCreatableProvider<XyoStakeInt
127
127
  getRequiredMinimumStakeForIntent(intent: Intent): bigint {
128
128
  switch (intent) {
129
129
  case 'producer': {
130
- const { minStake } = this.params.context.config.producer
130
+ const { minStake } = this.params.context.config.actors.producer
131
131
  return BigInt(minStake)
132
132
  }
133
133
  }
@@ -227,7 +227,12 @@ export class XyoStakeIntentService extends AbstractCreatableProvider<XyoStakeInt
227
227
  if (isUndefined(currentHead)) return
228
228
  const currentHeadHash = currentHead._hash
229
229
  const chainMap = readPayloadMapFromStore<WithStorageMeta<Payload>>(this.chainArchivist)
230
- const result = await analyzeChain(this.context, { chainMap }, [new ChainStakeIntentAnalyzer('producer')], currentHeadHash, this._lastIndexedBlockHash)
230
+ const result = await analyzeChain(
231
+ { ...this.context, chainMap },
232
+ [new ChainStakeIntentAnalyzer('producer')],
233
+ currentHeadHash,
234
+ this._lastIndexedBlockHash,
235
+ )
231
236
  const signedDeclarations = filterAs(result.find(isChainSummaryStakeIntent)?.intents ?? [], asChainStakeIntent)
232
237
  if (currentHead.block === undefined) return
233
238
  const currentHeadBlockNum = currentHead.block
@@ -1,13 +1,13 @@
1
1
  import type { Address } from '@xylabs/sdk-js'
2
+ import type { AccountInstance } from '@xyo-network/account-model'
2
3
  import { buildNextBlock, createGenesisBlock } from '@xyo-network/chain-protocol'
3
- import type { WalletInstance } from '@xyo-network/wallet-model'
4
4
  import type {
5
5
  AttoXL1, ChainId, SignedHydratedBlockWithHashMeta,
6
6
  } from '@xyo-network/xl1-sdk'
7
7
  import { createDeclarationIntent } from '@xyo-network/xl1-sdk'
8
8
 
9
9
  export const createBootstrapHead = async (
10
- account: WalletInstance,
10
+ account: AccountInstance,
11
11
  chainId: ChainId,
12
12
  genesisBlockRewardAmount: AttoXL1,
13
13
  genesisBlockRewardAddress: Address,
@@ -1,2 +1 @@
1
- export * from './evm/index.ts'
2
1
  export * from './head/index.ts'
package/src/index.ts CHANGED
@@ -1,4 +1,3 @@
1
- export * from './AccountBalance/index.ts'
2
1
  export * from './BlockReward/index.ts'
3
2
  export * from './ChainValidator/index.ts'
4
3
  export * from './Election/index.ts'
@@ -6,7 +5,6 @@ export * from './implementation/index.ts'
6
5
  export * from './model/index.ts'
7
6
  export * from './NetworkStakeStepReward/index.ts'
8
7
  export * from './PendingTransactions/index.ts'
9
- export * from './Schemas/index.ts'
10
8
  export * from './simple/index.ts'
11
9
  export * from './StakeIntent/index.ts'
12
10
  export * from './StepStake/index.ts'
@@ -167,7 +167,7 @@ export class SimpleBlockRunner extends AbstractCreatableProvider<SimpleBlockRunn
167
167
  this._chainId = this.context.config.chain.id
168
168
  this._mempoolRunner = await this.locateAndCreate<MempoolRunner>(MempoolRunnerMoniker)
169
169
  this._mempoolViewer = await this.locateAndCreate<MempoolViewer>(MempoolViewerMoniker)
170
- this._rewardAddress = this.params.rewardAddress ?? this.context.config.producer.rewardAddress
170
+ this._rewardAddress = this.params.rewardAddress ?? this.context.config.actors.producer.rewardAddress
171
171
  this._timeSyncViewer = await this.locateAndCreate<TimeSyncViewer>(TimeSyncViewerMoniker)
172
172
  }
173
173
 
@@ -222,7 +222,7 @@ export class SimpleBlockRunner extends AbstractCreatableProvider<SimpleBlockRunn
222
222
  protected getProducerRedeclaration(head: WithHashMeta<BlockBoundWitness>): Promisable<ChainStakeIntent | undefined> {
223
223
  // TODO: Do not redeclare on every block
224
224
  // Decide if we should redeclare intent
225
- if (this.params.context.config.producer.disableIntentRedeclaration) return
225
+ if (this.params.context.config.actors?.producer?.disableIntentRedeclaration) return
226
226
  // Decide if we need to redeclare intent
227
227
  // const ranges = await this.stakeIntentService.getDeclaredCandidateRanges(this.address, 'producer')
228
228
  // TODO: This doesn't handle the case where the producer had declared a range for the future
@@ -351,7 +351,7 @@ export class SimpleBlockRunner extends AbstractCreatableProvider<SimpleBlockRunn
351
351
  private heartbeatRequired(head: WithHashMeta<BlockBoundWitness>): boolean {
352
352
  const epoch = head.$epoch
353
353
  if (isDefined(epoch)) {
354
- const { heartbeatInterval } = this.params.context.config.producer
354
+ const { heartbeatInterval } = assertEx(this.params.context.config.actors?.producer)
355
355
  if (Date.now() - epoch > heartbeatInterval) {
356
356
  return true
357
357
  }
@@ -1,5 +0,0 @@
1
- import type { ReadWriteArchivist } from '@xyo-network/archivist-model';
2
- import type { Payload, WithStorageMeta } from '@xyo-network/payload-model';
3
- import type { AccountBalanceViewer, ChainId, CreatableProviderContext } from '@xyo-network/xl1-sdk';
4
- export declare const accountBalancesViewerFromArchivist: (context: CreatableProviderContext, chainId: ChainId, archivist: ReadWriteArchivist<WithStorageMeta<Payload>>) => Promise<AccountBalanceViewer>;
5
- //# sourceMappingURL=accountBalanceServiceFromArchivist.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accountBalanceServiceFromArchivist.d.ts","sourceRoot":"","sources":["../../../src/AccountBalance/accountBalanceServiceFromArchivist.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,EACV,OAAO,EAAgB,eAAe,EACvC,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EACV,oBAAoB,EAAuB,OAAO,EAClD,wBAAwB,EACzB,MAAM,sBAAsB,CAAA;AAQ7B,eAAO,MAAM,kCAAkC,GAC7C,SAAS,wBAAwB,EACjC,SAAS,OAAO,EAChB,WAAW,kBAAkB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KACtD,OAAO,CAAC,oBAAoB,CA2C9B,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './accountBalanceServiceFromArchivist.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AccountBalance/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAA"}
@@ -1,16 +0,0 @@
1
- import { Hash } from '@xylabs/sdk-js';
2
- import { Schema } from '@xyo-network/payload-model';
3
- import { AbstractCreatableProvider, SchemasService, SchemasStepSummaryContext } from '@xyo-network/xl1-sdk';
4
- import { BaseServiceParams } from '../model/index.ts';
5
- export interface BaseSchemasServiceParams extends BaseServiceParams {
6
- schemasStepSummaryContext: SchemasStepSummaryContext;
7
- }
8
- export declare class BaseSchemasService extends AbstractCreatableProvider<BaseSchemasServiceParams> implements SchemasService {
9
- static readonly defaultMoniker = "SchemasService";
10
- static readonly dependencies: never[];
11
- static readonly monikers: string[];
12
- moniker: string;
13
- schema(head: Hash, schema: Schema): Promise<number>;
14
- schemas(head: Hash, schemas: Schema[]): Promise<Partial<Record<Schema, number>>>;
15
- }
16
- //# sourceMappingURL=BaseSchemasService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseSchemasService.d.ts","sourceRoot":"","sources":["../../../src/Schemas/BaseSchemasService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EACL,yBAAyB,EAEzB,cAAc,EACd,yBAAyB,EAE1B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,yBAAyB,EAAE,yBAAyB,CAAA;CACrD;AAED,qBACa,kBAAmB,SAAQ,yBAAyB,CAAC,wBAAwB,CAAE,YAAW,cAAc;IACnH,MAAM,CAAC,QAAQ,CAAC,cAAc,oBAAmB;IACjD,MAAM,CAAC,QAAQ,CAAC,YAAY,UAAK;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,WAAsC;IAC9D,OAAO,SAAoC;IACrC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAWvF"}
@@ -1,2 +0,0 @@
1
- export * from './BaseSchemasService.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './initEvmProvider.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/implementation/evm/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
@@ -1,4 +0,0 @@
1
- import type { Config } from '@xyo-network/xl1-sdk';
2
- export declare const canUseChainId: (config: Pick<Config, "evm">) => boolean;
3
- export declare const getChainId: (config: Pick<Config, "evm">) => number;
4
- //# sourceMappingURL=initChainId.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initChainId.d.ts","sourceRoot":"","sources":["../../../../src/implementation/evm/initChainId.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD,eAAO,MAAM,aAAa,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAG,OAE3D,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,WAUrD,CAAA"}
@@ -1,11 +0,0 @@
1
- import type { Logger } from '@xylabs/sdk-js';
2
- import type { Config } from '@xyo-network/xl1-sdk';
3
- import type { Provider } from 'ethers';
4
- export declare const initEvmProvider: ({ config }: {
5
- config: Pick<Config, "evm">;
6
- logger?: Logger;
7
- }) => Promise<Provider>;
8
- export declare const canUseEvmProvider: ({ config }: {
9
- config: Pick<Config, "evm">;
10
- }) => boolean;
11
- //# sourceMappingURL=initEvmProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initEvmProvider.d.ts","sourceRoot":"","sources":["../../../../src/implementation/evm/initEvmProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAQtC,eAAO,MAAM,eAAe,GAAU,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,OAAO,CAAC,QAAQ,CAQpH,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,YAE5E,CAAA"}
@@ -1,6 +0,0 @@
1
- import type { Config } from '@xyo-network/xl1-sdk';
2
- import { InfuraProvider } from 'ethers/providers';
3
- export declare const initInfuraProvider: (config: Pick<Config, "evm">) => Promise<InfuraProvider>;
4
- export declare const canUseInfuraProvider: (config: Pick<Config, "evm">) => boolean;
5
- export declare const getInfuraProviderConfig: (config: Pick<Config, "evm">) => readonly [number, string, string];
6
- //# sourceMappingURL=initInfuraProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initInfuraProvider.d.ts","sourceRoot":"","sources":["../../../../src/implementation/evm/initInfuraProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAMjD,eAAO,MAAM,kBAAkB,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,4BAK7D,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAG,OAIlE,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,sCAIlE,CAAA"}
@@ -1,6 +0,0 @@
1
- import type { Config } from '@xyo-network/xl1-sdk';
2
- import { JsonRpcProvider } from 'ethers/providers';
3
- export declare const initJsonRpcProvider: (config: Pick<Config, "evm">) => Promise<JsonRpcProvider>;
4
- export declare const canUseJsonRpcProvider: (config: Pick<Config, "evm">) => boolean;
5
- export declare const getJsonRpcProviderConfig: (config: Pick<Config, "evm">) => readonly [string, number];
6
- //# sourceMappingURL=initJsonRpcProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initJsonRpcProvider.d.ts","sourceRoot":"","sources":["../../../../src/implementation/evm/initJsonRpcProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAIlD,eAAO,MAAM,mBAAmB,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,6BAG9D,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,YAGhE,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,8BAGnE,CAAA"}
@@ -1,65 +0,0 @@
1
- import type { Hash } from '@xylabs/sdk-js'
2
- import { assertEx } from '@xylabs/sdk-js'
3
- import type { ReadWriteArchivist } from '@xyo-network/archivist-model'
4
- import type {
5
- Payload, WithHashMeta, WithStorageMeta,
6
- } from '@xyo-network/payload-model'
7
- import type {
8
- AccountBalanceViewer, BalancesStepSummary, ChainId,
9
- CreatableProviderContext, SimpleAccountBalanceViewerParams, TransfersStepSummary,
10
- } from '@xyo-network/xl1-sdk'
11
- import {
12
- findMostRecentBlock, LruCacheMap, payloadMapFromStore,
13
- SimpleAccountBalanceViewer, StepSizes,
14
- } from '@xyo-network/xl1-sdk'
15
- import { Semaphore } from 'async-mutex'
16
-
17
- // this is intended to only be used for testing
18
- export const accountBalancesViewerFromArchivist = async (
19
- context: CreatableProviderContext,
20
- chainId: ChainId,
21
- archivist: ReadWriteArchivist<WithStorageMeta<Payload>>,
22
- ): Promise<AccountBalanceViewer> => {
23
- const summaryMap = new LruCacheMap<string, WithHashMeta<BalancesStepSummary>>({
24
- max: 100_000,
25
- allowStale: true,
26
- noDisposeOnSet: false,
27
- updateAgeOnGet: true,
28
- })
29
-
30
- const transferSummaryMap = new LruCacheMap<string, WithHashMeta<TransfersStepSummary>>({
31
- max: 100_000,
32
- allowStale: true,
33
- noDisposeOnSet: false,
34
- updateAgeOnGet: true,
35
- })
36
-
37
- const chainMap = payloadMapFromStore<WithStorageMeta<Payload>>(archivist)
38
- const headFunc = async (): Promise<[Hash, number]> => {
39
- const head = assertEx(await findMostRecentBlock(archivist), () => 'No blocks found in chainArchivist')
40
- return [head._hash, head.block]
41
- }
42
-
43
- const service = await SimpleAccountBalanceViewer.create({
44
- context,
45
- balanceSummaryContext: {
46
- chainId,
47
- store: { chainMap },
48
- stepSemaphores: StepSizes.map(() => new Semaphore(20)),
49
- summaryMap,
50
- head: headFunc,
51
- singletons: context.singletons,
52
- caches: context.caches,
53
- },
54
- transfersSummaryContext: {
55
- chainId,
56
- store: { chainMap },
57
- stepSemaphores: StepSizes.map(() => new Semaphore(20)),
58
- summaryMap: transferSummaryMap,
59
- head: headFunc,
60
- singletons: context.singletons,
61
- caches: context.caches,
62
- },
63
- } satisfies SimpleAccountBalanceViewerParams)
64
- return service
65
- }
@@ -1 +0,0 @@
1
- export * from './accountBalanceServiceFromArchivist.ts'
@@ -1,38 +0,0 @@
1
- import { Hash } from '@xylabs/sdk-js'
2
- import { Schema } from '@xyo-network/payload-model'
3
- import {
4
- AbstractCreatableProvider,
5
- creatableProvider,
6
- SchemasService,
7
- SchemasStepSummaryContext,
8
- schemasSummary,
9
- } from '@xyo-network/xl1-sdk'
10
-
11
- import { BaseServiceParams } from '../model/index.ts'
12
-
13
- export interface BaseSchemasServiceParams extends BaseServiceParams {
14
- schemasStepSummaryContext: SchemasStepSummaryContext
15
- }
16
-
17
- @creatableProvider()
18
- export class BaseSchemasService extends AbstractCreatableProvider<BaseSchemasServiceParams> implements SchemasService {
19
- static readonly defaultMoniker = 'SchemasService'
20
- static readonly dependencies = []
21
- static readonly monikers = [BaseSchemasService.defaultMoniker]
22
- moniker = BaseSchemasService.defaultMoniker
23
- async schema(head: Hash, schema: Schema): Promise<number> {
24
- return (await this.schemas(head, [schema]))[schema] ?? 0
25
- }
26
-
27
- async schemas(head: Hash, schemas: Schema[]): Promise<Partial<Record<Schema, number>>> {
28
- return await this.spanAsync('schemas', async () => {
29
- const [summary] = await schemasSummary(this.params.schemasStepSummaryContext)
30
- const result: Record<Schema, number> = {}
31
- for (const schema of schemas) {
32
- const count = summary[schema] ?? 0
33
- result[schema] = count
34
- }
35
- return result
36
- }, this.context)
37
- }
38
- }
@@ -1 +0,0 @@
1
- export * from './BaseSchemasService.ts'
@@ -1 +0,0 @@
1
- export * from './initEvmProvider.ts'
@@ -1,20 +0,0 @@
1
- import {
2
- assertEx, hexFrom, isDefined, isHex,
3
- } from '@xylabs/sdk-js'
4
- import type { Config } from '@xyo-network/xl1-sdk'
5
-
6
- export const canUseChainId = (config: Pick<Config, 'evm'>): boolean => {
7
- return isDefined(config.evm.chainId)
8
- }
9
-
10
- export const getChainId = (config: Pick<Config, 'evm'>) => {
11
- const chainId = assertEx(config.evm.chainId, () => 'Missing config.evm.chainId')
12
- if (isHex(chainId, { prefix: true })) {
13
- const hex = hexFrom(chainId)
14
- const parsed = Number.parseInt(hex, 16)
15
- return parsed
16
- } else {
17
- const parsed = Number.parseInt(chainId, 10)
18
- return parsed
19
- }
20
- }
@@ -1,24 +0,0 @@
1
- import type { Logger } from '@xylabs/sdk-js'
2
- import { assertEx } from '@xylabs/sdk-js'
3
- import type { Config } from '@xyo-network/xl1-sdk'
4
- import type { Provider } from 'ethers'
5
- import type { JsonRpcProvider } from 'ethers/providers'
6
-
7
- import { canUseInfuraProvider, initInfuraProvider } from './initInfuraProvider.ts'
8
- import { canUseJsonRpcProvider, initJsonRpcProvider } from './initJsonRpcProvider.ts'
9
-
10
- let provider: Promise<JsonRpcProvider> | undefined
11
-
12
- export const initEvmProvider = async ({ config }: { config: Pick<Config, 'evm'>; logger?: Logger }): Promise<Provider> => {
13
- if (provider) return provider
14
- if (canUseInfuraProvider(config)) {
15
- provider = initInfuraProvider(config)
16
- } else if (canUseJsonRpcProvider(config)) {
17
- provider = initJsonRpcProvider(config)
18
- }
19
- return assertEx(await provider, () => 'No provider available')
20
- }
21
-
22
- export const canUseEvmProvider = ({ config }: { config: Pick<Config, 'evm'> }) => {
23
- return canUseInfuraProvider(config) || canUseJsonRpcProvider(config)
24
- }
@@ -1,26 +0,0 @@
1
- import { assertEx, isDefined } from '@xylabs/sdk-js'
2
- import type { Config } from '@xyo-network/xl1-sdk'
3
- import { InfuraProvider } from 'ethers/providers'
4
-
5
- import { canUseChainId, getChainId } from './initChainId.ts'
6
-
7
- let instance: Promise<InfuraProvider> | undefined
8
-
9
- export const initInfuraProvider = (config: Pick<Config, 'evm'>) => {
10
- if (instance) return instance
11
- const providerConfig = getInfuraProviderConfig(config)
12
- instance = Promise.resolve(new InfuraProvider(...providerConfig))
13
- return instance
14
- }
15
-
16
- export const canUseInfuraProvider = (config: Pick<Config, 'evm'>): boolean => {
17
- return canUseChainId(config)
18
- && isDefined(config.evm?.infura?.projectId)
19
- && isDefined(config.evm?.infura?.projectSecret)
20
- }
21
-
22
- export const getInfuraProviderConfig = (config: Pick<Config, 'evm'>) => {
23
- const projectId = assertEx(config.evm?.infura?.projectId, () => 'Missing config.evm.infura.projectId')
24
- const projectSecret = assertEx(config.evm?.infura?.projectSecret, () => 'Missing config.evm.infura.projectSecret')
25
- return [getChainId(config), projectId, projectSecret] as const
26
- }
@@ -1,20 +0,0 @@
1
- import { assertEx, isDefined } from '@xylabs/sdk-js'
2
- import type { Config } from '@xyo-network/xl1-sdk'
3
- import { JsonRpcProvider } from 'ethers/providers'
4
-
5
- import { canUseChainId, getChainId } from './initChainId.ts'
6
-
7
- export const initJsonRpcProvider = (config: Pick<Config, 'evm'>) => {
8
- const providerConfig = getJsonRpcProviderConfig(config)
9
- return Promise.resolve(new JsonRpcProvider(...providerConfig))
10
- }
11
-
12
- export const canUseJsonRpcProvider = (config: Pick<Config, 'evm'>) => {
13
- return canUseChainId(config)
14
- && isDefined(config.evm.jsonRpc?.url)
15
- }
16
-
17
- export const getJsonRpcProviderConfig = (config: Pick<Config, 'evm'>) => {
18
- const jsonRpcUrl = assertEx(config.evm.jsonRpc?.url, () => 'Missing config.evm.jsonRpc.url')
19
- return [jsonRpcUrl, getChainId(config)] as const
20
- }