@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.
- package/dist/neutral/StakeIntent/XyoStakeIntentService.d.ts.map +1 -1
- package/dist/neutral/implementation/head/createBootstrapHead.d.ts +2 -2
- package/dist/neutral/implementation/head/createBootstrapHead.d.ts.map +1 -1
- package/dist/neutral/implementation/index.d.ts +0 -1
- package/dist/neutral/implementation/index.d.ts.map +1 -1
- package/dist/neutral/index.d.ts +0 -2
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +59 -233
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts +7 -5
- package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/PendingTransactions/BasePendingTransactions.ts +2 -2
- package/src/StakeIntent/XyoStakeIntentService.ts +7 -2
- package/src/implementation/head/createBootstrapHead.ts +2 -2
- package/src/implementation/index.ts +0 -1
- package/src/index.ts +0 -2
- package/src/simple/block/runner/SimpleBlockRunner.ts +3 -3
- package/dist/neutral/AccountBalance/accountBalanceServiceFromArchivist.d.ts +0 -5
- package/dist/neutral/AccountBalance/accountBalanceServiceFromArchivist.d.ts.map +0 -1
- package/dist/neutral/AccountBalance/index.d.ts +0 -2
- package/dist/neutral/AccountBalance/index.d.ts.map +0 -1
- package/dist/neutral/Schemas/BaseSchemasService.d.ts +0 -16
- package/dist/neutral/Schemas/BaseSchemasService.d.ts.map +0 -1
- package/dist/neutral/Schemas/index.d.ts +0 -2
- package/dist/neutral/Schemas/index.d.ts.map +0 -1
- package/dist/neutral/implementation/evm/index.d.ts +0 -2
- package/dist/neutral/implementation/evm/index.d.ts.map +0 -1
- package/dist/neutral/implementation/evm/initChainId.d.ts +0 -4
- package/dist/neutral/implementation/evm/initChainId.d.ts.map +0 -1
- package/dist/neutral/implementation/evm/initEvmProvider.d.ts +0 -11
- package/dist/neutral/implementation/evm/initEvmProvider.d.ts.map +0 -1
- package/dist/neutral/implementation/evm/initInfuraProvider.d.ts +0 -6
- package/dist/neutral/implementation/evm/initInfuraProvider.d.ts.map +0 -1
- package/dist/neutral/implementation/evm/initJsonRpcProvider.d.ts +0 -6
- package/dist/neutral/implementation/evm/initJsonRpcProvider.d.ts.map +0 -1
- package/src/AccountBalance/accountBalanceServiceFromArchivist.ts +0 -65
- package/src/AccountBalance/index.ts +0 -1
- package/src/Schemas/BaseSchemasService.ts +0 -38
- package/src/Schemas/index.ts +0 -1
- package/src/implementation/evm/index.ts +0 -1
- package/src/implementation/evm/initChainId.ts +0 -20
- package/src/implementation/evm/initEvmProvider.ts +0 -24
- package/src/implementation/evm/initInfuraProvider.ts +0 -26
- 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.
|
|
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.
|
|
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.
|
|
51
|
-
"@xyo-network/chain-modules": "~1.19.
|
|
52
|
-
"@xyo-network/chain-protocol": "~1.19.
|
|
53
|
-
"@xyo-network/chain-utils": "~1.19.
|
|
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.
|
|
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.
|
|
60
|
+
"lru-cache": "^11.2.6"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@types/node": "~25.
|
|
64
|
-
"@xylabs/sdk-js": "~5.0.
|
|
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.
|
|
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.
|
|
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(
|
|
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(
|
|
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:
|
|
10
|
+
account: AccountInstance,
|
|
11
11
|
chainId: ChainId,
|
|
12
12
|
genesisBlockRewardAmount: AttoXL1,
|
|
13
13
|
genesisBlockRewardAddress: Address,
|
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
|
|
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 +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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/implementation/evm/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
|
@@ -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
|
-
}
|
package/src/Schemas/index.ts
DELETED
|
@@ -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
|
-
}
|