@xyo-network/chain-mempool 1.19.8 → 1.19.10
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/node/MempoolActor.d.ts +20 -0
- package/dist/node/MempoolActor.d.ts.map +1 -0
- package/dist/node/index.d.ts +2 -1
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.mjs +87 -385
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/runMempool.d.ts +4 -0
- package/dist/node/runMempool.d.ts.map +1 -0
- package/package.json +8 -20
- package/src/MempoolActor.ts +83 -0
- package/src/index.ts +2 -1
- package/src/runMempool.ts +28 -0
- package/dist/node/MempoolContext.d.ts +0 -9
- package/dist/node/MempoolContext.d.ts.map +0 -1
- package/dist/node/helpers/index.d.ts +0 -2
- package/dist/node/helpers/index.d.ts.map +0 -1
- package/dist/node/helpers/initChainId.d.ts +0 -4
- package/dist/node/helpers/initChainId.d.ts.map +0 -1
- package/dist/node/manifest/getLocator.d.ts +0 -14
- package/dist/node/manifest/getLocator.d.ts.map +0 -1
- package/dist/node/manifest/getNode.d.ts +0 -15
- package/dist/node/manifest/getNode.d.ts.map +0 -1
- package/dist/node/manifest/index.d.ts +0 -6
- package/dist/node/manifest/index.d.ts.map +0 -1
- package/dist/node/manifest/nodeManifest.d.ts +0 -6
- package/dist/node/manifest/nodeManifest.d.ts.map +0 -1
- package/dist/node/manifest/private/index.d.ts +0 -5
- package/dist/node/manifest/private/index.d.ts.map +0 -1
- package/dist/node/manifest/public/index.d.ts +0 -14
- package/dist/node/manifest/public/index.d.ts.map +0 -1
- package/dist/node/server/app.d.ts +0 -4
- package/dist/node/server/app.d.ts.map +0 -1
- package/dist/node/server/index.d.ts +0 -11
- package/dist/node/server/index.d.ts.map +0 -1
- package/dist/node/server/instrumentation.d.ts +0 -9
- package/dist/node/server/instrumentation.d.ts.map +0 -1
- package/dist/node/server/model.d.ts +0 -5
- package/dist/node/server/model.d.ts.map +0 -1
- package/dist/node/server/routes/addRoutes.d.ts +0 -3
- package/dist/node/server/routes/addRoutes.d.ts.map +0 -1
- package/dist/node/server/routes/address/AddressPathParams.d.ts +0 -4
- package/dist/node/server/routes/address/AddressPathParams.d.ts.map +0 -1
- package/dist/node/server/routes/address/addNodeRoutes.d.ts +0 -3
- package/dist/node/server/routes/address/addNodeRoutes.d.ts.map +0 -1
- package/dist/node/server/routes/address/get/get.d.ts +0 -4
- package/dist/node/server/routes/address/get/get.d.ts.map +0 -1
- package/dist/node/server/routes/address/get/index.d.ts +0 -2
- package/dist/node/server/routes/address/get/index.d.ts.map +0 -1
- package/dist/node/server/routes/address/index.d.ts +0 -2
- package/dist/node/server/routes/address/index.d.ts.map +0 -1
- package/dist/node/server/routes/address/post/getQueryConfig.d.ts +0 -6
- package/dist/node/server/routes/address/post/getQueryConfig.d.ts.map +0 -1
- package/dist/node/server/routes/address/post/index.d.ts +0 -2
- package/dist/node/server/routes/address/post/index.d.ts.map +0 -1
- package/dist/node/server/routes/address/post/post.d.ts +0 -8
- package/dist/node/server/routes/address/post/post.d.ts.map +0 -1
- package/dist/node/server/routes/dataLake/addDataLakeRoutes.d.ts +0 -3
- package/dist/node/server/routes/dataLake/addDataLakeRoutes.d.ts.map +0 -1
- package/dist/node/server/routes/dataLake/archivistMiddleware.d.ts +0 -10
- package/dist/node/server/routes/dataLake/archivistMiddleware.d.ts.map +0 -1
- package/dist/node/server/routes/dataLake/index.d.ts +0 -2
- package/dist/node/server/routes/dataLake/index.d.ts.map +0 -1
- package/dist/node/server/routes/healthz/addHealthRoutes.d.ts +0 -3
- package/dist/node/server/routes/healthz/addHealthRoutes.d.ts.map +0 -1
- package/dist/node/server/routes/healthz/index.d.ts +0 -2
- package/dist/node/server/routes/healthz/index.d.ts.map +0 -1
- package/dist/node/server/routes/index.d.ts +0 -4
- package/dist/node/server/routes/index.d.ts.map +0 -1
- package/dist/node/server/server.d.ts +0 -11
- package/dist/node/server/server.d.ts.map +0 -1
- package/src/MempoolContext.ts +0 -12
- package/src/global.d.ts +0 -13
- package/src/helpers/index.ts +0 -1
- package/src/helpers/initChainId.ts +0 -20
- package/src/manifest/getLocator.ts +0 -70
- package/src/manifest/getNode.ts +0 -32
- package/src/manifest/index.ts +0 -5
- package/src/manifest/node.json +0 -17
- package/src/manifest/nodeManifest.ts +0 -8
- package/src/manifest/private/index.ts +0 -4
- package/src/manifest/public/Chain.json +0 -63
- package/src/manifest/public/Pending.json +0 -35
- package/src/manifest/public/index.ts +0 -20
- package/src/server/app.ts +0 -31
- package/src/server/index.ts +0 -13
- package/src/server/instrumentation.ts +0 -15
- package/src/server/model.ts +0 -5
- package/src/server/routes/addRoutes.ts +0 -11
- package/src/server/routes/address/AddressPathParams.ts +0 -3
- package/src/server/routes/address/addNodeRoutes.ts +0 -21
- package/src/server/routes/address/get/get.ts +0 -30
- package/src/server/routes/address/get/index.ts +0 -1
- package/src/server/routes/address/index.ts +0 -1
- package/src/server/routes/address/post/getQueryConfig.ts +0 -23
- package/src/server/routes/address/post/index.ts +0 -1
- package/src/server/routes/address/post/post.ts +0 -77
- package/src/server/routes/dataLake/addDataLakeRoutes.ts +0 -9
- package/src/server/routes/dataLake/archivistMiddleware.ts +0 -85
- package/src/server/routes/dataLake/index.ts +0 -1
- package/src/server/routes/healthz/addHealthRoutes.ts +0 -14
- package/src/server/routes/healthz/index.ts +0 -1
- package/src/server/routes/index.ts +0 -3
- package/src/server/server.ts +0 -147
package/src/server/server.ts
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import type { Logger } from '@xylabs/sdk-js'
|
|
2
|
-
import { assertEx } from '@xylabs/sdk-js'
|
|
3
|
-
import type { ArchivistInstance } from '@xyo-network/archivist-model'
|
|
4
|
-
import type { ValidatorActorParams } from '@xyo-network/chain-orchestration'
|
|
5
|
-
import {
|
|
6
|
-
buildTelemetryConfig, initBalanceSummaryMap, initHealthEndpoints, initMempoolWallet, initServerNode, initStatusReporter, initTransferSummaryMap,
|
|
7
|
-
ValidatorActor,
|
|
8
|
-
} from '@xyo-network/chain-orchestration'
|
|
9
|
-
import { initTelemetry } from '@xyo-network/chain-telemetry'
|
|
10
|
-
import { startupSpanAsync } from '@xyo-network/chain-utils'
|
|
11
|
-
import { validateHydratedBlock, validateHydratedBlockState } from '@xyo-network/chain-validation'
|
|
12
|
-
import type { NodeInstance } from '@xyo-network/node-model'
|
|
13
|
-
import type {
|
|
14
|
-
BlockViewer,
|
|
15
|
-
Config, CreatableProviderContext, CreatableProviderParams,
|
|
16
|
-
MempoolViewer,
|
|
17
|
-
} from '@xyo-network/xl1-sdk'
|
|
18
|
-
import {
|
|
19
|
-
BlockViewerMoniker, DefaultMetricsScrapePorts, findMostRecentBlock, MempoolViewerMoniker,
|
|
20
|
-
ProviderFactoryLocator, SimpleBlockValidationViewer, SimpleBlockViewer, SimpleMempoolRunner, SimpleMempoolViewer,
|
|
21
|
-
SimpleStakeEventsViewer, SimpleStakeViewer, SimpleWindowedBlockViewer,
|
|
22
|
-
} from '@xyo-network/xl1-sdk'
|
|
23
|
-
|
|
24
|
-
import type { MempoolContext } from '../MempoolContext.ts'
|
|
25
|
-
import { getApp } from './app.ts'
|
|
26
|
-
|
|
27
|
-
const hostname = '::'
|
|
28
|
-
// const hostname = '0.0.0.0'
|
|
29
|
-
|
|
30
|
-
interface GetServerContext {
|
|
31
|
-
config: Config
|
|
32
|
-
logger?: Logger
|
|
33
|
-
node?: NodeInstance
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const getProviderFactoryLocator = (
|
|
37
|
-
context: Omit<CreatableProviderContext, 'locator'>,
|
|
38
|
-
finalizedArchivist: ArchivistInstance,
|
|
39
|
-
pendingTransactionsArchivist: ArchivistInstance,
|
|
40
|
-
pendingBlocksArchivist: ArchivistInstance,
|
|
41
|
-
) => {
|
|
42
|
-
const locator = new ProviderFactoryLocator(context)
|
|
43
|
-
locator.register(SimpleBlockValidationViewer.factory<SimpleBlockValidationViewer>(
|
|
44
|
-
SimpleBlockValidationViewer.dependencies,
|
|
45
|
-
{ state: validateHydratedBlockState, protocol: validateHydratedBlock },
|
|
46
|
-
))
|
|
47
|
-
locator.register(SimpleMempoolViewer.factory(SimpleMempoolViewer.dependencies, {
|
|
48
|
-
pendingTransactionsArchivist,
|
|
49
|
-
pendingBlocksArchivist,
|
|
50
|
-
} as Partial<CreatableProviderParams>))
|
|
51
|
-
locator.register(SimpleMempoolRunner.factory(SimpleMempoolRunner.dependencies, {
|
|
52
|
-
pendingTransactionsArchivist,
|
|
53
|
-
pendingBlocksArchivist,
|
|
54
|
-
} as Partial<CreatableProviderParams>))
|
|
55
|
-
locator.register(SimpleBlockViewer.factory<SimpleBlockViewer>(SimpleBlockViewer.dependencies, { finalizedArchivist }))
|
|
56
|
-
locator.register(SimpleWindowedBlockViewer.factory<SimpleWindowedBlockViewer>(
|
|
57
|
-
SimpleWindowedBlockViewer.dependencies,
|
|
58
|
-
{ maxWindowSize: 10_000, syncInterval: 10_000 },
|
|
59
|
-
))
|
|
60
|
-
locator.register(SimpleStakeViewer.factory(SimpleStakeViewer.dependencies, {}))
|
|
61
|
-
locator.register(SimpleStakeEventsViewer.factory(SimpleStakeEventsViewer.dependencies, {}))
|
|
62
|
-
return locator
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export const getServer = async (context: GetServerContext) => {
|
|
66
|
-
const { config, node: providedNode } = context
|
|
67
|
-
const { port } = context.config.actors.api
|
|
68
|
-
|
|
69
|
-
const logger = assertEx(context.logger, () => 'Logger is required to init server')
|
|
70
|
-
|
|
71
|
-
const statusReporter = initStatusReporter({ logger })
|
|
72
|
-
|
|
73
|
-
await startupSpanAsync('initHealthEndpoints', () => initHealthEndpoints({
|
|
74
|
-
config, logger, statusReporter,
|
|
75
|
-
}))
|
|
76
|
-
|
|
77
|
-
const telemetryConfig = buildTelemetryConfig(config, 'xl1-mempool', '1.0.0', DefaultMetricsScrapePorts.mempool)
|
|
78
|
-
|
|
79
|
-
const { traceProvider, meterProvider } = await startupSpanAsync('initTelemetry', () => initTelemetry(telemetryConfig))
|
|
80
|
-
|
|
81
|
-
const initContext = {
|
|
82
|
-
_id: 'init-context',
|
|
83
|
-
config,
|
|
84
|
-
logger,
|
|
85
|
-
statusReporter,
|
|
86
|
-
meterProvider,
|
|
87
|
-
traceProvider,
|
|
88
|
-
singletons: {},
|
|
89
|
-
caches: {},
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
const wallet = await initMempoolWallet(initContext)
|
|
93
|
-
|
|
94
|
-
const balancesSummaryMap = assertEx(await initBalanceSummaryMap(initContext), () => 'Balance Summary Map not initialized')
|
|
95
|
-
const transfersSummaryMap = assertEx(await initTransferSummaryMap(initContext), () => 'Transfer Summary Map not initialized')
|
|
96
|
-
|
|
97
|
-
const {
|
|
98
|
-
node, writableChainArchivist, readonlyChainArchivist, pendingTransactionsArchivist, pendingBlocksArchivist,
|
|
99
|
-
} = await initServerNode({
|
|
100
|
-
...initContext, wallet, node: providedNode, transfersSummaryMap, balancesSummaryMap,
|
|
101
|
-
})
|
|
102
|
-
|
|
103
|
-
assertEx(await findMostRecentBlock(readonlyChainArchivist), () => 'No head found')
|
|
104
|
-
|
|
105
|
-
const mods = await node.resolve('*')
|
|
106
|
-
await Promise.all(mods.map((mod) => {
|
|
107
|
-
return mod.start?.() ?? (() => true)
|
|
108
|
-
}))
|
|
109
|
-
|
|
110
|
-
const locator = getProviderFactoryLocator(initContext, writableChainArchivist, pendingTransactionsArchivist, pendingBlocksArchivist)
|
|
111
|
-
|
|
112
|
-
const mempoolContext = {
|
|
113
|
-
...initContext,
|
|
114
|
-
node,
|
|
115
|
-
transfersSummaryMap,
|
|
116
|
-
balancesSummaryMap,
|
|
117
|
-
...locator.context,
|
|
118
|
-
_id: 'mempool-context',
|
|
119
|
-
} satisfies MempoolContext
|
|
120
|
-
|
|
121
|
-
const blockViewer = (await locator.getInstance<BlockViewer>(BlockViewerMoniker))
|
|
122
|
-
assertEx(await blockViewer.start(), () => 'Failed to start BlockViewer')
|
|
123
|
-
|
|
124
|
-
const blk = await blockViewer.currentBlock()
|
|
125
|
-
assertEx(blk, () => 'No blocks found after initialization')
|
|
126
|
-
|
|
127
|
-
const mempoolViewer = (await locator.getInstance<MempoolViewer>(MempoolViewerMoniker))
|
|
128
|
-
assertEx(await mempoolViewer.start(), () => 'Failed to start MempoolViewer')
|
|
129
|
-
|
|
130
|
-
console.info(`[Mempool] Current block after initialization: #${blk[0].block} (${blk[0]._hash})`)
|
|
131
|
-
|
|
132
|
-
const actor = await ValidatorActor.create({
|
|
133
|
-
id: 'validator-mempool-server',
|
|
134
|
-
account: wallet,
|
|
135
|
-
context: locator.context,
|
|
136
|
-
finalizedArchivist: writableChainArchivist,
|
|
137
|
-
blockViewer,
|
|
138
|
-
mempoolViewer,
|
|
139
|
-
} satisfies ValidatorActorParams)
|
|
140
|
-
|
|
141
|
-
await actor.start()
|
|
142
|
-
|
|
143
|
-
const app = getApp(mempoolContext)
|
|
144
|
-
const server = app.listen(port, hostname, () => logger?.log(`[Mempool] Server listening at http://${hostname}:${port}`))
|
|
145
|
-
server.setTimeout(20_000)
|
|
146
|
-
return server
|
|
147
|
-
}
|