0.7.27 +Refactor
This commit is contained in:
34
kb_demo_app/frontend/ts/bindings/DemoHttpExecutionPayload.ts
Normal file
34
kb_demo_app/frontend/ts/bindings/DemoHttpExecutionPayload.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Response payload for one demo HTTP execution.
|
||||
*/
|
||||
export type DemoHttpExecutionPayload = {
|
||||
/**
|
||||
* Selected endpoint name.
|
||||
*/
|
||||
endpointName: string,
|
||||
/**
|
||||
* Selected endpoint provider.
|
||||
*/
|
||||
provider: string,
|
||||
/**
|
||||
* Selected endpoint URL.
|
||||
*/
|
||||
endpointUrl: string,
|
||||
/**
|
||||
* Requested role.
|
||||
*/
|
||||
role: string,
|
||||
/**
|
||||
* Executed method name.
|
||||
*/
|
||||
method: string,
|
||||
/**
|
||||
* Classified method family.
|
||||
*/
|
||||
methodClass: string,
|
||||
/**
|
||||
* Pretty-printed JSON response payload.
|
||||
*/
|
||||
responseJson: string, };
|
||||
24
kb_demo_app/frontend/ts/bindings/DemoHttpRequest.ts
Normal file
24
kb_demo_app/frontend/ts/bindings/DemoHttpRequest.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Request payload for one demo HTTP execution.
|
||||
*/
|
||||
export type DemoHttpRequest = {
|
||||
/**
|
||||
* Logical role used to select one endpoint from the pool.
|
||||
*/
|
||||
role: string,
|
||||
/**
|
||||
* JSON-RPC HTTP method name.
|
||||
*/
|
||||
method: string,
|
||||
/**
|
||||
* Optional first string argument, used by methods such as
|
||||
* `getBalance`, `getAccountInfo`, `getProgramAccounts`,
|
||||
* `getSignaturesForAddress`, `getTransaction`, `sendTransaction`.
|
||||
*/
|
||||
firstArg: string | null,
|
||||
/**
|
||||
* Optional JSON config payload encoded as a string.
|
||||
*/
|
||||
configJson: string | null, };
|
||||
@@ -0,0 +1,27 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DemoPipeline2CatalogPayload } from "./DemoPipeline2CatalogPayload";
|
||||
|
||||
/**
|
||||
* Shared backfill response payload.
|
||||
*/
|
||||
export type DemoPipeline2BackfillPayload = {
|
||||
/**
|
||||
* Object key used by the backfill.
|
||||
*/
|
||||
objectKey: string,
|
||||
/**
|
||||
* Mode: `tokenMint` or `poolAddress`.
|
||||
*/
|
||||
mode: string,
|
||||
/**
|
||||
* HTTP role used.
|
||||
*/
|
||||
httpRole: string,
|
||||
/**
|
||||
* Pretty JSON summary.
|
||||
*/
|
||||
summaryJson: string,
|
||||
/**
|
||||
* Refreshed local catalog after backfill.
|
||||
*/
|
||||
catalog: DemoPipeline2CatalogPayload, };
|
||||
@@ -0,0 +1,18 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Request payload for pool backfill.
|
||||
*/
|
||||
export type DemoPipeline2BackfillPoolRequest = {
|
||||
/**
|
||||
* Pool address to backfill.
|
||||
*/
|
||||
poolAddress: string,
|
||||
/**
|
||||
* Optional HTTP role.
|
||||
*/
|
||||
httpRole: string | null,
|
||||
/**
|
||||
* Limit for signatures fetched from the pool.
|
||||
*/
|
||||
poolSignatureLimit: number, };
|
||||
@@ -0,0 +1,22 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Request payload for token backfill.
|
||||
*/
|
||||
export type DemoPipeline2BackfillTokenRequest = {
|
||||
/**
|
||||
* Token mint to backfill.
|
||||
*/
|
||||
tokenMint: string,
|
||||
/**
|
||||
* Optional HTTP role.
|
||||
*/
|
||||
httpRole: string | null,
|
||||
/**
|
||||
* Limit for signatures fetched from the mint.
|
||||
*/
|
||||
mintSignatureLimit: number,
|
||||
/**
|
||||
* Limit for signatures fetched from each discovered pool.
|
||||
*/
|
||||
poolSignatureLimit: number, };
|
||||
@@ -0,0 +1,25 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DemoPipeline2PairItem } from "./DemoPipeline2PairItem";
|
||||
import type { DemoPipeline2PoolItem } from "./DemoPipeline2PoolItem";
|
||||
import type { DemoPipeline2TokenItem } from "./DemoPipeline2TokenItem";
|
||||
|
||||
/**
|
||||
* Full local catalog payload.
|
||||
*/
|
||||
export type DemoPipeline2CatalogPayload = {
|
||||
/**
|
||||
* Open database URL.
|
||||
*/
|
||||
databaseUrl: string,
|
||||
/**
|
||||
* Observed token list.
|
||||
*/
|
||||
tokens: Array<DemoPipeline2TokenItem>,
|
||||
/**
|
||||
* Known pool list.
|
||||
*/
|
||||
pools: Array<DemoPipeline2PoolItem>,
|
||||
/**
|
||||
* Known pair list.
|
||||
*/
|
||||
pairs: Array<DemoPipeline2PairItem>, };
|
||||
@@ -0,0 +1,34 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Local decoded-event diagnostics summary for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalDecodedEventDiagnosticSummary = {
|
||||
/**
|
||||
* Protocol name.
|
||||
*/
|
||||
protocolName: string,
|
||||
/**
|
||||
* Event kind.
|
||||
*/
|
||||
eventKind: string,
|
||||
/**
|
||||
* Event category.
|
||||
*/
|
||||
eventCategory: string | null,
|
||||
/**
|
||||
* Trade candidate flag.
|
||||
*/
|
||||
tradeCandidate: boolean | null,
|
||||
/**
|
||||
* Candle candidate flag.
|
||||
*/
|
||||
candleCandidate: boolean | null,
|
||||
/**
|
||||
* Event count.
|
||||
*/
|
||||
eventCount: number,
|
||||
/**
|
||||
* Linked trade-event count.
|
||||
*/
|
||||
tradeEventCount: number, };
|
||||
@@ -0,0 +1,38 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Local DEX diagnostics summary for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalDexDiagnosticSummary = {
|
||||
/**
|
||||
* DEX code.
|
||||
*/
|
||||
dexCode: string,
|
||||
/**
|
||||
* Pool count.
|
||||
*/
|
||||
poolCount: number,
|
||||
/**
|
||||
* Pair count.
|
||||
*/
|
||||
pairCount: number,
|
||||
/**
|
||||
* Decoded event count.
|
||||
*/
|
||||
decodedEventCount: number,
|
||||
/**
|
||||
* Decoded trade candidate count.
|
||||
*/
|
||||
decodedTradeCandidateCount: number,
|
||||
/**
|
||||
* Decoded candle candidate count.
|
||||
*/
|
||||
decodedCandleCandidateCount: number,
|
||||
/**
|
||||
* Trade event count.
|
||||
*/
|
||||
tradeEventCount: number,
|
||||
/**
|
||||
* Pair candle count.
|
||||
*/
|
||||
pairCandleCount: number, };
|
||||
@@ -0,0 +1,19 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DemoPipeline2LocalPipelineDiagnosticSummary } from "./DemoPipeline2LocalPipelineDiagnosticSummary";
|
||||
|
||||
/**
|
||||
* Local diagnostics payload returned to the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalDiagnosticsPayload = {
|
||||
/**
|
||||
* Open database URL.
|
||||
*/
|
||||
databaseUrl: string,
|
||||
/**
|
||||
* Pretty JSON diagnostics summary.
|
||||
*/
|
||||
summaryJson: string,
|
||||
/**
|
||||
* Structured diagnostics summary.
|
||||
*/
|
||||
summary: DemoPipeline2LocalPipelineDiagnosticSummary, };
|
||||
@@ -0,0 +1,34 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Local duplicate decoded-event trade diagnostic sample for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalDuplicateDecodedEventTradeDiagnosticSample = {
|
||||
/**
|
||||
* Decoded event id.
|
||||
*/
|
||||
decodedEventId: number,
|
||||
/**
|
||||
* Protocol name.
|
||||
*/
|
||||
protocolName: string | null,
|
||||
/**
|
||||
* Event kind.
|
||||
*/
|
||||
eventKind: string | null,
|
||||
/**
|
||||
* Pool account.
|
||||
*/
|
||||
poolAccount: string | null,
|
||||
/**
|
||||
* Trade event count.
|
||||
*/
|
||||
tradeEventCount: number,
|
||||
/**
|
||||
* Trade event ids.
|
||||
*/
|
||||
tradeEventIds: string | null,
|
||||
/**
|
||||
* Signatures.
|
||||
*/
|
||||
signatures: string | null, };
|
||||
@@ -0,0 +1,54 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Local missing-trade-event diagnostic sample for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalMissingTradeEventDiagnosticSample = {
|
||||
/**
|
||||
* Decoded event id.
|
||||
*/
|
||||
decodedEventId: number,
|
||||
/**
|
||||
* Chain transaction id.
|
||||
*/
|
||||
transactionId: number | null,
|
||||
/**
|
||||
* Transaction signature.
|
||||
*/
|
||||
signature: string | null,
|
||||
/**
|
||||
* Protocol name.
|
||||
*/
|
||||
protocolName: string,
|
||||
/**
|
||||
* Event kind.
|
||||
*/
|
||||
eventKind: string,
|
||||
/**
|
||||
* Pool account.
|
||||
*/
|
||||
poolAccount: string | null,
|
||||
/**
|
||||
* Whether the source transaction failed.
|
||||
*/
|
||||
transactionFailed: boolean,
|
||||
/**
|
||||
* Whether this missing trade event is actionable for validation.
|
||||
*/
|
||||
actionable: boolean,
|
||||
/**
|
||||
* Diagnostic reason explaining why no trade event was linked.
|
||||
*/
|
||||
reason: string,
|
||||
/**
|
||||
* Whether payload has an explicit base amount.
|
||||
*/
|
||||
hasBaseAmountPayload: boolean,
|
||||
/**
|
||||
* Whether payload has an explicit quote amount.
|
||||
*/
|
||||
hasQuoteAmountPayload: boolean,
|
||||
/**
|
||||
* Whether payload has an explicit price.
|
||||
*/
|
||||
hasPricePayload: boolean, };
|
||||
@@ -0,0 +1,34 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Local missing-trade-event reason summary for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalMissingTradeEventReasonSummary = {
|
||||
/**
|
||||
* Diagnostic reason.
|
||||
*/
|
||||
reason: string,
|
||||
/**
|
||||
* Whether grouped source transactions failed.
|
||||
*/
|
||||
transactionFailed: boolean,
|
||||
/**
|
||||
* Whether grouped missing trade events are actionable.
|
||||
*/
|
||||
actionable: boolean,
|
||||
/**
|
||||
* Total missing trade events in this group.
|
||||
*/
|
||||
eventCount: number,
|
||||
/**
|
||||
* Total events in this group with an explicit base amount payload.
|
||||
*/
|
||||
hasBaseAmountPayloadCount: number,
|
||||
/**
|
||||
* Total events in this group with an explicit quote amount payload.
|
||||
*/
|
||||
hasQuoteAmountPayloadCount: number,
|
||||
/**
|
||||
* Total events in this group with an explicit price payload.
|
||||
*/
|
||||
hasPricePayloadCount: number, };
|
||||
@@ -0,0 +1,38 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Local multi-trade signature/pair diagnostic sample for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalMultiTradeSignaturePairDiagnosticSample = {
|
||||
/**
|
||||
* Transaction signature.
|
||||
*/
|
||||
signature: string,
|
||||
/**
|
||||
* Pair id.
|
||||
*/
|
||||
pairId: number,
|
||||
/**
|
||||
* Pool address.
|
||||
*/
|
||||
poolAddress: string | null,
|
||||
/**
|
||||
* DEX code.
|
||||
*/
|
||||
dexCode: string | null,
|
||||
/**
|
||||
* Trade event count.
|
||||
*/
|
||||
tradeEventCount: number,
|
||||
/**
|
||||
* Distinct decoded event count.
|
||||
*/
|
||||
decodedEventCount: number,
|
||||
/**
|
||||
* Trade event ids.
|
||||
*/
|
||||
tradeEventIds: string | null,
|
||||
/**
|
||||
* Decoded event ids.
|
||||
*/
|
||||
decodedEventIds: string | null, };
|
||||
@@ -0,0 +1,70 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Local non-actionable pair diagnostic summary for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalNonActionablePairDiagnosticSummary = {
|
||||
/**
|
||||
* Pair id.
|
||||
*/
|
||||
pairId: number,
|
||||
/**
|
||||
* Pool address.
|
||||
*/
|
||||
poolAddress: string,
|
||||
/**
|
||||
* DEX code.
|
||||
*/
|
||||
dexCode: string,
|
||||
/**
|
||||
* Base token mint.
|
||||
*/
|
||||
baseMint: string,
|
||||
/**
|
||||
* Base token symbol.
|
||||
*/
|
||||
baseSymbol: string | null,
|
||||
/**
|
||||
* Quote token mint.
|
||||
*/
|
||||
quoteMint: string,
|
||||
/**
|
||||
* Quote token symbol.
|
||||
*/
|
||||
quoteSymbol: string | null,
|
||||
/**
|
||||
* Pair symbol.
|
||||
*/
|
||||
pairSymbol: string | null,
|
||||
/**
|
||||
* Total decoded trade candidates attached to the pool.
|
||||
*/
|
||||
decodedTradeCandidateCount: number,
|
||||
/**
|
||||
* Total non-actionable missing trade events attached to the pair.
|
||||
*/
|
||||
nonActionableMissingTradeEventCount: number,
|
||||
/**
|
||||
* Total missing trade candidates caused by failed transactions.
|
||||
*/
|
||||
failedTransactionCandidateCount: number,
|
||||
/**
|
||||
* Total successful missing trade candidates without token mints.
|
||||
*/
|
||||
okTransactionWithoutTokenMintsCount: number,
|
||||
/**
|
||||
* Total successful missing trade candidates without amount payload.
|
||||
*/
|
||||
okTransactionWithoutAmountPayloadCount: number,
|
||||
/**
|
||||
* Distinct non-actionable diagnostic reasons seen for this pair.
|
||||
*/
|
||||
reasonSummary: string | null,
|
||||
/**
|
||||
* Total trade events attached to the pair.
|
||||
*/
|
||||
tradeEventCount: number,
|
||||
/**
|
||||
* Total candle buckets attached to the pair.
|
||||
*/
|
||||
pairCandleCount: number, };
|
||||
@@ -0,0 +1,66 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Local pair diagnostics summary for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalPairDiagnosticSummary = {
|
||||
/**
|
||||
* Pair id.
|
||||
*/
|
||||
pairId: number,
|
||||
/**
|
||||
* Pool address.
|
||||
*/
|
||||
poolAddress: string,
|
||||
/**
|
||||
* DEX code.
|
||||
*/
|
||||
dexCode: string,
|
||||
/**
|
||||
* Base mint.
|
||||
*/
|
||||
baseMint: string,
|
||||
/**
|
||||
* Base symbol.
|
||||
*/
|
||||
baseSymbol: string | null,
|
||||
/**
|
||||
* Quote mint.
|
||||
*/
|
||||
quoteMint: string,
|
||||
/**
|
||||
* Quote symbol.
|
||||
*/
|
||||
quoteSymbol: string | null,
|
||||
/**
|
||||
* Pair symbol.
|
||||
*/
|
||||
pairSymbol: string | null,
|
||||
/**
|
||||
* Decoded event count.
|
||||
*/
|
||||
decodedEventCount: number,
|
||||
/**
|
||||
* Decoded trade candidate count.
|
||||
*/
|
||||
decodedTradeCandidateCount: number,
|
||||
/**
|
||||
* Decoded candle candidate count.
|
||||
*/
|
||||
decodedCandleCandidateCount: number,
|
||||
/**
|
||||
* Trade event count.
|
||||
*/
|
||||
tradeEventCount: number,
|
||||
/**
|
||||
* Invalid trade event count.
|
||||
*/
|
||||
invalidTradeEventCount: number,
|
||||
/**
|
||||
* Pair candle count.
|
||||
*/
|
||||
pairCandleCount: number,
|
||||
/**
|
||||
* Last known price.
|
||||
*/
|
||||
lastPriceQuotePerBase: number | null, };
|
||||
@@ -0,0 +1,54 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Local pair gap diagnostic sample for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalPairGapDiagnosticSample = {
|
||||
/**
|
||||
* Pair id.
|
||||
*/
|
||||
pairId: number,
|
||||
/**
|
||||
* Pool address.
|
||||
*/
|
||||
poolAddress: string,
|
||||
/**
|
||||
* DEX code.
|
||||
*/
|
||||
dexCode: string,
|
||||
/**
|
||||
* Base mint.
|
||||
*/
|
||||
baseMint: string,
|
||||
/**
|
||||
* Base symbol.
|
||||
*/
|
||||
baseSymbol: string | null,
|
||||
/**
|
||||
* Quote mint.
|
||||
*/
|
||||
quoteMint: string,
|
||||
/**
|
||||
* Quote symbol.
|
||||
*/
|
||||
quoteSymbol: string | null,
|
||||
/**
|
||||
* Pair symbol.
|
||||
*/
|
||||
pairSymbol: string | null,
|
||||
/**
|
||||
* Decoded event count.
|
||||
*/
|
||||
decodedEventCount: number,
|
||||
/**
|
||||
* Decoded trade candidate count.
|
||||
*/
|
||||
decodedTradeCandidateCount: number,
|
||||
/**
|
||||
* Trade event count.
|
||||
*/
|
||||
tradeEventCount: number,
|
||||
/**
|
||||
* Pair candle count.
|
||||
*/
|
||||
pairCandleCount: number, };
|
||||
@@ -0,0 +1,164 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DemoPipeline2LocalDecodedEventDiagnosticSummary } from "./DemoPipeline2LocalDecodedEventDiagnosticSummary";
|
||||
import type { DemoPipeline2LocalDexDiagnosticSummary } from "./DemoPipeline2LocalDexDiagnosticSummary";
|
||||
import type { DemoPipeline2LocalDuplicateDecodedEventTradeDiagnosticSample } from "./DemoPipeline2LocalDuplicateDecodedEventTradeDiagnosticSample";
|
||||
import type { DemoPipeline2LocalMissingTradeEventDiagnosticSample } from "./DemoPipeline2LocalMissingTradeEventDiagnosticSample";
|
||||
import type { DemoPipeline2LocalMissingTradeEventReasonSummary } from "./DemoPipeline2LocalMissingTradeEventReasonSummary";
|
||||
import type { DemoPipeline2LocalMultiTradeSignaturePairDiagnosticSample } from "./DemoPipeline2LocalMultiTradeSignaturePairDiagnosticSample";
|
||||
import type { DemoPipeline2LocalNonActionablePairDiagnosticSummary } from "./DemoPipeline2LocalNonActionablePairDiagnosticSummary";
|
||||
import type { DemoPipeline2LocalPairDiagnosticSummary } from "./DemoPipeline2LocalPairDiagnosticSummary";
|
||||
import type { DemoPipeline2LocalPairGapDiagnosticSample } from "./DemoPipeline2LocalPairGapDiagnosticSample";
|
||||
|
||||
/**
|
||||
* Local pipeline diagnostics summary for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalPipelineDiagnosticSummary = {
|
||||
/**
|
||||
* Total persisted chain transactions.
|
||||
*/
|
||||
transactionCount: number,
|
||||
/**
|
||||
* Total successful chain transactions.
|
||||
*/
|
||||
okTransactionCount: number,
|
||||
/**
|
||||
* Total failed chain transactions.
|
||||
*/
|
||||
failedTransactionCount: number,
|
||||
/**
|
||||
* Total decoded DEX events.
|
||||
*/
|
||||
decodedEventCount: number,
|
||||
/**
|
||||
* Total decoded DEX trade candidates.
|
||||
*/
|
||||
decodedTradeCandidateCount: number,
|
||||
/**
|
||||
* Total decoded DEX candle candidates.
|
||||
*/
|
||||
decodedCandleCandidateCount: number,
|
||||
/**
|
||||
* Whether the local persisted pipeline has no blocking diagnostic issue.
|
||||
*/
|
||||
diagnosticsClean: boolean,
|
||||
/**
|
||||
* Number of blocking diagnostic issues.
|
||||
*/
|
||||
blockingIssueCount: number,
|
||||
/**
|
||||
* Total trade candidates without trade event, including ignored failed transactions.
|
||||
*/
|
||||
missingTradeEventCount: number,
|
||||
/**
|
||||
* Explicit alias for decoded trade candidates without linked trade event.
|
||||
*/
|
||||
decodedTradeCandidateWithoutTradeEventCount: number,
|
||||
/**
|
||||
* Trade candidates without linked trade event on successful transactions.
|
||||
*/
|
||||
decodedTradeCandidateWithoutTradeEventOnOkTransactionCount: number,
|
||||
/**
|
||||
* Trade candidates without linked trade event on failed transactions.
|
||||
*/
|
||||
decodedTradeCandidateWithoutTradeEventOnFailedTransactionCount: number,
|
||||
/**
|
||||
* Trade candidates without linked trade event and without explicit base/quote payload amounts.
|
||||
* Actionable missing trade events on successful transactions.
|
||||
*/
|
||||
actionableMissingTradeEventCount: number,
|
||||
/**
|
||||
* Ignored missing trade events caused by failed transactions.
|
||||
*/
|
||||
ignoredFailedTransactionTradeCandidateCount: number, decodedTradeCandidateWithoutAmountPayloadCount: number,
|
||||
/**
|
||||
* Total persisted trade events.
|
||||
*/
|
||||
tradeEventCount: number,
|
||||
/**
|
||||
* Total invalid trade events.
|
||||
*/
|
||||
invalidTradeEventCount: number,
|
||||
/**
|
||||
* Total persisted pair candles.
|
||||
*/
|
||||
pairCandleCount: number,
|
||||
/**
|
||||
* Real duplicate trade rows grouped by decoded event id.
|
||||
*/
|
||||
duplicateDecodedEventTradeCount: number,
|
||||
/**
|
||||
* Multi-trade groups sharing the same signature and pair id.
|
||||
*/
|
||||
multiTradeSignaturePairCount: number,
|
||||
/**
|
||||
* Total duplicate candle buckets.
|
||||
*/
|
||||
duplicateCandleBucketCount: number,
|
||||
/**
|
||||
* Total known tokens.
|
||||
*/
|
||||
tokenCount: number,
|
||||
/**
|
||||
* Total tokens missing symbol or name.
|
||||
*/
|
||||
tokenMetadataMissingCount: number,
|
||||
/**
|
||||
* Total known pools.
|
||||
*/
|
||||
poolCount: number,
|
||||
/**
|
||||
* Total known pairs.
|
||||
*/
|
||||
pairCount: number,
|
||||
/**
|
||||
* Total pairs without trade.
|
||||
*/
|
||||
pairWithoutTradeCount: number,
|
||||
/**
|
||||
* Total pairs without candle.
|
||||
*/
|
||||
pairWithoutCandleCount: number,
|
||||
/**
|
||||
* Diagnostics grouped by DEX.
|
||||
*/
|
||||
dexSummaries: Array<DemoPipeline2LocalDexDiagnosticSummary>,
|
||||
/**
|
||||
* Diagnostics grouped by pair.
|
||||
*/
|
||||
pairSummaries: Array<DemoPipeline2LocalPairDiagnosticSummary>,
|
||||
/**
|
||||
* Diagnostics grouped by decoded event kind.
|
||||
*/
|
||||
decodedEventSummaries: Array<DemoPipeline2LocalDecodedEventDiagnosticSummary>,
|
||||
/**
|
||||
* Missing trade events grouped by diagnostic reason.
|
||||
*/
|
||||
missingTradeEventReasonSummaries: Array<DemoPipeline2LocalMissingTradeEventReasonSummary>,
|
||||
/**
|
||||
* Total pairs with only non-actionable missing trade events.
|
||||
*/
|
||||
nonActionablePairCount: number,
|
||||
/**
|
||||
* Pair summaries for non-actionable missing trade events.
|
||||
*/
|
||||
nonActionablePairSummaries: Array<DemoPipeline2LocalNonActionablePairDiagnosticSummary>,
|
||||
/**
|
||||
* Samples of decoded trade candidates without linked trade event.
|
||||
*/
|
||||
missingTradeEventSamples: Array<DemoPipeline2LocalMissingTradeEventDiagnosticSample>,
|
||||
/**
|
||||
* Samples of duplicated trade rows by decoded event id.
|
||||
*/
|
||||
duplicateDecodedEventTradeSamples: Array<DemoPipeline2LocalDuplicateDecodedEventTradeDiagnosticSample>,
|
||||
/**
|
||||
* Samples of multi-trade signature/pair groups.
|
||||
*/
|
||||
multiTradeSignaturePairSamples: Array<DemoPipeline2LocalMultiTradeSignaturePairDiagnosticSample>,
|
||||
/**
|
||||
* Samples of pairs without trade.
|
||||
*/
|
||||
pairWithoutTradeSamples: Array<DemoPipeline2LocalPairGapDiagnosticSample>,
|
||||
/**
|
||||
* Samples of pairs without candle.
|
||||
*/
|
||||
pairWithoutCandleSamples: Array<DemoPipeline2LocalPairGapDiagnosticSample>, };
|
||||
@@ -0,0 +1,22 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* One local pipeline validation issue for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalPipelineValidationIssue = {
|
||||
/**
|
||||
* Stable machine-readable issue code.
|
||||
*/
|
||||
code: string,
|
||||
/**
|
||||
* Human-readable issue message.
|
||||
*/
|
||||
message: string,
|
||||
/**
|
||||
* Optional subject associated with the issue.
|
||||
*/
|
||||
subject: string | null,
|
||||
/**
|
||||
* Whether the issue blocks the validation report.
|
||||
*/
|
||||
blocking: boolean, };
|
||||
@@ -0,0 +1,35 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DemoPipeline2LocalPipelineValidationIssue } from "./DemoPipeline2LocalPipelineValidationIssue";
|
||||
|
||||
/**
|
||||
* Local pipeline validation report for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalPipelineValidationReport = {
|
||||
/**
|
||||
* Stable validation profile code used to produce the report.
|
||||
*/
|
||||
validationProfileCode: string,
|
||||
/**
|
||||
* Whether the validation passed without blocking issues.
|
||||
*/
|
||||
validationPassed: boolean,
|
||||
/**
|
||||
* Number of blocking issues found by validation.
|
||||
*/
|
||||
blockingIssueCount: number,
|
||||
/**
|
||||
* Number of non-blocking warnings found by validation.
|
||||
*/
|
||||
warningCount: number,
|
||||
/**
|
||||
* Expected DEX codes used by the validation run.
|
||||
*/
|
||||
expectedDexCodes: Array<string>,
|
||||
/**
|
||||
* Observed DEX codes found in diagnostics.
|
||||
*/
|
||||
observedDexCodes: Array<string>,
|
||||
/**
|
||||
* Issues produced by validation.
|
||||
*/
|
||||
issues: Array<DemoPipeline2LocalPipelineValidationIssue>, };
|
||||
@@ -0,0 +1,32 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DemoPipeline2LocalPipelineDiagnosticSummary } from "./DemoPipeline2LocalPipelineDiagnosticSummary";
|
||||
import type { DemoPipeline2LocalPipelineValidationReport } from "./DemoPipeline2LocalPipelineValidationReport";
|
||||
|
||||
/**
|
||||
* Local pipeline validation run for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalPipelineValidationRun = {
|
||||
/**
|
||||
* Stable validation profile code used to produce the run.
|
||||
*/
|
||||
validationProfileCode: string,
|
||||
/**
|
||||
* Whether the validation passed without blocking issues.
|
||||
*/
|
||||
validationPassed: boolean,
|
||||
/**
|
||||
* Number of blocking issues found by validation.
|
||||
*/
|
||||
blockingIssueCount: number,
|
||||
/**
|
||||
* Number of non-blocking warnings found by validation.
|
||||
*/
|
||||
warningCount: number,
|
||||
/**
|
||||
* Diagnostics summary that was validated.
|
||||
*/
|
||||
summary: DemoPipeline2LocalPipelineDiagnosticSummary,
|
||||
/**
|
||||
* Detailed validation report produced from the diagnostics summary.
|
||||
*/
|
||||
report: DemoPipeline2LocalPipelineValidationReport, };
|
||||
@@ -0,0 +1,23 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DemoPipeline2LocalPipelineValidationRun } from "./DemoPipeline2LocalPipelineValidationRun";
|
||||
|
||||
/**
|
||||
* Local validation payload returned to the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalValidationPayload = {
|
||||
/**
|
||||
* Open database URL.
|
||||
*/
|
||||
databaseUrl: string,
|
||||
/**
|
||||
* Pretty JSON diagnostics summary used by validation.
|
||||
*/
|
||||
summaryJson: string,
|
||||
/**
|
||||
* Pretty JSON validation run.
|
||||
*/
|
||||
validationJson: string,
|
||||
/**
|
||||
* Structured validation run.
|
||||
*/
|
||||
run: DemoPipeline2LocalPipelineValidationRun, };
|
||||
@@ -0,0 +1,18 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Candle payload returned to the UI.
|
||||
*/
|
||||
export type DemoPipeline2PairCandlesPayload = {
|
||||
/**
|
||||
* Pair id.
|
||||
*/
|
||||
pairId: number,
|
||||
/**
|
||||
* Timeframe in seconds.
|
||||
*/
|
||||
timeframeSeconds: number,
|
||||
/**
|
||||
* Pretty JSON array of candles.
|
||||
*/
|
||||
candlesJson: string, };
|
||||
@@ -0,0 +1,18 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Request payload for pair candles.
|
||||
*/
|
||||
export type DemoPipeline2PairCandlesRequest = {
|
||||
/**
|
||||
* Pair id to load.
|
||||
*/
|
||||
pairId: number,
|
||||
/**
|
||||
* Timeframe in seconds.
|
||||
*/
|
||||
timeframeSeconds: number,
|
||||
/**
|
||||
* Whether materialized candles should be preferred when available.
|
||||
*/
|
||||
preferMaterialized: boolean, };
|
||||
30
kb_demo_app/frontend/ts/bindings/DemoPipeline2PairItem.ts
Normal file
30
kb_demo_app/frontend/ts/bindings/DemoPipeline2PairItem.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* One pair item for the local catalog.
|
||||
*/
|
||||
export type DemoPipeline2PairItem = {
|
||||
/**
|
||||
* Internal pair id.
|
||||
*/
|
||||
pairId: number,
|
||||
/**
|
||||
* Related pool address.
|
||||
*/
|
||||
poolAddress: string,
|
||||
/**
|
||||
* Optional pair symbol.
|
||||
*/
|
||||
symbol: string | null,
|
||||
/**
|
||||
* Optional DEX code.
|
||||
*/
|
||||
dexCode: string | null,
|
||||
/**
|
||||
* Optional local trade count.
|
||||
*/
|
||||
tradeCount: number | null,
|
||||
/**
|
||||
* Optional local last price.
|
||||
*/
|
||||
lastPriceQuotePerBase: number | null, };
|
||||
18
kb_demo_app/frontend/ts/bindings/DemoPipeline2PoolItem.ts
Normal file
18
kb_demo_app/frontend/ts/bindings/DemoPipeline2PoolItem.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* One pool item for the local catalog.
|
||||
*/
|
||||
export type DemoPipeline2PoolItem = {
|
||||
/**
|
||||
* Pool address.
|
||||
*/
|
||||
poolAddress: string,
|
||||
/**
|
||||
* Optional internal pair id when known.
|
||||
*/
|
||||
pairId: number | null,
|
||||
/**
|
||||
* Optional DEX code.
|
||||
*/
|
||||
dexCode: string | null, };
|
||||
18
kb_demo_app/frontend/ts/bindings/DemoPipeline2TokenItem.ts
Normal file
18
kb_demo_app/frontend/ts/bindings/DemoPipeline2TokenItem.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* One token item for the local catalog.
|
||||
*/
|
||||
export type DemoPipeline2TokenItem = {
|
||||
/**
|
||||
* Token mint.
|
||||
*/
|
||||
mint: string,
|
||||
/**
|
||||
* Optional token symbol.
|
||||
*/
|
||||
symbol: string | null,
|
||||
/**
|
||||
* Optional token name.
|
||||
*/
|
||||
name: string | null, };
|
||||
@@ -0,0 +1,22 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Response payload for one pool backfill launched from `kb_demo_app`.
|
||||
*/
|
||||
export type DemoPipelineBackfillPoolPayload = {
|
||||
/**
|
||||
* Backfilled pool address.
|
||||
*/
|
||||
poolAddress: string,
|
||||
/**
|
||||
* HTTP role used during backfill.
|
||||
*/
|
||||
httpRole: string,
|
||||
/**
|
||||
* Pretty JSON summary returned by `TokenBackfillService::backfill_pool_by_address`.
|
||||
*/
|
||||
backfillJson: string,
|
||||
/**
|
||||
* Whether the pool exists in persisted pool objects after backfill.
|
||||
*/
|
||||
poolPersistedAfterBackfill: boolean, };
|
||||
@@ -0,0 +1,18 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Request payload for one pool backfill launched from `kb_demo_app`.
|
||||
*/
|
||||
export type DemoPipelineBackfillPoolRequest = {
|
||||
/**
|
||||
* Pool address to backfill.
|
||||
*/
|
||||
poolAddress: string,
|
||||
/**
|
||||
* HTTP role used to select one endpoint in the pool.
|
||||
*/
|
||||
httpRole: string | null,
|
||||
/**
|
||||
* Maximum number of signatures fetched from the pool address.
|
||||
*/
|
||||
poolSignatureLimit: number, };
|
||||
@@ -0,0 +1,22 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Response payload for one token backfill launched from `kb_demo_app`.
|
||||
*/
|
||||
export type DemoPipelineBackfillTokenPayload = {
|
||||
/**
|
||||
* Backfilled token mint.
|
||||
*/
|
||||
tokenMint: string,
|
||||
/**
|
||||
* HTTP role used during backfill.
|
||||
*/
|
||||
httpRole: string,
|
||||
/**
|
||||
* Pretty JSON summary returned by `TokenBackfillService`.
|
||||
*/
|
||||
backfillJson: string,
|
||||
/**
|
||||
* Whether the token exists in persisted token objects after backfill.
|
||||
*/
|
||||
tokenPersistedAfterBackfill: boolean, };
|
||||
@@ -0,0 +1,22 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Request payload for one token backfill launched from `kb_demo_app`.
|
||||
*/
|
||||
export type DemoPipelineBackfillTokenRequest = {
|
||||
/**
|
||||
* Token mint to backfill.
|
||||
*/
|
||||
tokenMint: string,
|
||||
/**
|
||||
* HTTP role used to select one endpoint in the pool.
|
||||
*/
|
||||
httpRole: string | null,
|
||||
/**
|
||||
* Maximum number of signatures fetched directly from the mint.
|
||||
*/
|
||||
mintSignatureLimit: number,
|
||||
/**
|
||||
* Maximum number of signatures fetched from each discovered pool.
|
||||
*/
|
||||
poolSignatureLimit: number, };
|
||||
@@ -0,0 +1,14 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Request payload for one pipeline inspection by pair id.
|
||||
*/
|
||||
export type DemoPipelineInspectPairRequest = {
|
||||
/**
|
||||
* Pair id to inspect.
|
||||
*/
|
||||
pairId: bigint,
|
||||
/**
|
||||
* Optional custom timeframe in seconds for on-demand candle rebuild.
|
||||
*/
|
||||
customTimeframeSeconds: bigint | null, };
|
||||
@@ -0,0 +1,58 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Response payload for one pipeline inspection.
|
||||
*/
|
||||
export type DemoPipelineInspectPayload = {
|
||||
/**
|
||||
* Inspected signature.
|
||||
*/
|
||||
signature: string,
|
||||
/**
|
||||
* Summary JSON block.
|
||||
*/
|
||||
summaryJson: string,
|
||||
/**
|
||||
* Resolved transaction JSON block.
|
||||
*/
|
||||
transactionJson: string,
|
||||
/**
|
||||
* Decoded events JSON block.
|
||||
*/
|
||||
decodedEventsJson: string,
|
||||
/**
|
||||
* Pools JSON block.
|
||||
*/
|
||||
poolsJson: string,
|
||||
/**
|
||||
* Pairs JSON block.
|
||||
*/
|
||||
pairsJson: string,
|
||||
/**
|
||||
* Launch attributions JSON block.
|
||||
*/
|
||||
launchAttributionsJson: string,
|
||||
/**
|
||||
* Pool origins JSON block.
|
||||
*/
|
||||
poolOriginsJson: string,
|
||||
/**
|
||||
* Wallet inspection JSON block.
|
||||
*/
|
||||
walletsJson: string,
|
||||
/**
|
||||
* Trade events JSON block.
|
||||
*/
|
||||
tradeEventsJson: string,
|
||||
/**
|
||||
* Pair metrics JSON block.
|
||||
*/
|
||||
pairMetricsJson: string,
|
||||
/**
|
||||
* Pair candles JSON block.
|
||||
*/
|
||||
pairCandlesJson: string,
|
||||
/**
|
||||
* Pair analytic signals JSON block.
|
||||
*/
|
||||
pairAnalyticSignalsJson: string, };
|
||||
@@ -0,0 +1,14 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Request payload for one pipeline inspection by pool address.
|
||||
*/
|
||||
export type DemoPipelineInspectPoolRequest = {
|
||||
/**
|
||||
* Pool address to inspect.
|
||||
*/
|
||||
poolAddress: string,
|
||||
/**
|
||||
* Optional custom timeframe in seconds for on-demand candle rebuild.
|
||||
*/
|
||||
customTimeframeSeconds: bigint | null, };
|
||||
@@ -0,0 +1,14 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Request payload for one pipeline inspection by signature.
|
||||
*/
|
||||
export type DemoPipelineInspectRequest = {
|
||||
/**
|
||||
* Transaction signature to inspect.
|
||||
*/
|
||||
signature: string,
|
||||
/**
|
||||
* Optional custom timeframe in seconds for on-demand candle rebuild.
|
||||
*/
|
||||
customTimeframeSeconds: bigint | null, };
|
||||
@@ -0,0 +1,14 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Request payload for one pipeline inspection by token mint.
|
||||
*/
|
||||
export type DemoPipelineInspectTokenRequest = {
|
||||
/**
|
||||
* Token mint to inspect.
|
||||
*/
|
||||
tokenMint: string,
|
||||
/**
|
||||
* Optional custom timeframe in seconds for on-demand candle rebuild.
|
||||
*/
|
||||
customTimeframeSeconds: bigint | null, };
|
||||
@@ -0,0 +1,6 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Endpoint summary sent to the demo frontend.
|
||||
*/
|
||||
export type DemoWsEndpointSummary = { name: string, resolvedUrl: string, provider: string, enabled: boolean, roles: Array<string>, };
|
||||
@@ -0,0 +1,6 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Static endpoint summary enriched with current manager state.
|
||||
*/
|
||||
export type DemoWsManagerEndpointSummary = { name: string, resolvedUrl: string, provider: string, roles: Array<string>, connectionState: string, activeSubscriptionCount: number, };
|
||||
@@ -0,0 +1,7 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DemoWsManagerEndpointSummary } from "./DemoWsManagerEndpointSummary";
|
||||
|
||||
/**
|
||||
* Global demo manager snapshot payload.
|
||||
*/
|
||||
export type DemoWsManagerSnapshotPayload = { endpointCount: number, startedCount: number, endpoints: Array<DemoWsManagerEndpointSummary>, };
|
||||
6
kb_demo_app/frontend/ts/bindings/DemoWsStatusPayload.ts
Normal file
6
kb_demo_app/frontend/ts/bindings/DemoWsStatusPayload.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Current demo window runtime status.
|
||||
*/
|
||||
export type DemoWsStatusPayload = { connectionState: string, endpointName: string | null, endpointUrl: string | null, currentSubscriptionId: bigint | null, currentSubscribeMethod: string | null, currentUnsubscribeMethod: string | null, currentNotificationMethod: string | null, eventCountTotal: bigint, notificationCountTotal: bigint, uiLogCount: bigint, suppressedLogCount: bigint, lastEventKind: string | null, };
|
||||
@@ -0,0 +1,6 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Subscribe request sent by the demo frontend.
|
||||
*/
|
||||
export type DemoWsSubscribeRequest = { method: string, mode: string, target: string | null, filterJson: string | null, configJson: string | null, };
|
||||
18
kb_demo_app/frontend/ts/bindings/SplashOrder.ts
Normal file
18
kb_demo_app/frontend/ts/bindings/SplashOrder.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Command payload sent from Rust to the splash frontend.
|
||||
*/
|
||||
export type SplashOrder = {
|
||||
/**
|
||||
* Splash command name such as `fadein`, `fadeout`, `add_msg`, or `add_log`.
|
||||
*/
|
||||
order: string,
|
||||
/**
|
||||
* Optional message payload attached to the command.
|
||||
*/
|
||||
msg: string | null,
|
||||
/**
|
||||
* Optional status payload attached to the command.
|
||||
*/
|
||||
status: string | null, };
|
||||
Reference in New Issue
Block a user