This commit is contained in:
2026-05-20 23:57:15 +02:00
parent fad7ec5107
commit 62831a0abe
56 changed files with 6603 additions and 114 deletions

View File

@@ -0,0 +1,66 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* Matching decoded event sample for corpus discovery.
*/
export type Demo3LocalDexCorpusDecodedEventSample = {
/**
* Decoded event id.
*/
decodedEventId: number,
/**
* Transaction id.
*/
transactionId: number,
/**
* Transaction signature.
*/
signature: string,
/**
* Optional Solana slot.
*/
slot: number | null,
/**
* Protocol name stored on the decoded event.
*/
protocolName: string,
/**
* Program id stored on the decoded event.
*/
programId: string,
/**
* Event kind.
*/
eventKind: string,
/**
* Optional pool account.
*/
poolAccount: string | null,
/**
* Optional token A mint.
*/
tokenAMint: string | null,
/**
* Optional token B mint.
*/
tokenBMint: string | null,
/**
* Decoded event category extracted from payload JSON.
*/
eventCategory: string | null,
/**
* Decoded event lifecycle kind extracted from payload JSON.
*/
eventLifecycleKind: string | null,
/**
* Decoded event actionability extracted from payload JSON.
*/
eventActionability: string | null,
/**
* Whether the decoded event is a trade candidate.
*/
tradeCandidate: boolean,
/**
* Whether the decoded event is a candle candidate.
*/
candleCandidate: boolean, };

View File

@@ -0,0 +1,58 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* Matching pool/pair sample for corpus discovery.
*/
export type Demo3LocalDexCorpusPoolPairSample = {
/**
* Optional pool id.
*/
poolId: number | null,
/**
* Optional pool address.
*/
poolAddress: string | null,
/**
* Optional pair id.
*/
pairId: number | null,
/**
* Optional DEX code.
*/
dexCode: string | null,
/**
* Optional pair symbol.
*/
pairSymbol: string | null,
/**
* Optional base token mint.
*/
baseMint: string | null,
/**
* Optional base token symbol.
*/
baseSymbol: string | null,
/**
* Optional quote token mint.
*/
quoteMint: string | null,
/**
* Optional quote token symbol.
*/
quoteSymbol: string | null,
/**
* Number of decoded events attached to the pool.
*/
decodedEventCount: number,
/**
* Number of trade events attached to the pair.
*/
tradeEventCount: number,
/**
* Number of candle rows attached to the pair.
*/
pairCandleCount: number,
/**
* Latest known founding or activity signature for the pool/pair.
*/
latestSignature: string | null, };

View File

@@ -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 { Demo3LocalDexCorpusSearchResult } from "./Demo3LocalDexCorpusSearchResult";
/**
* Response payload returned by Demo3 local DEX corpus search.
*/
export type Demo3LocalDexCorpusSearchPayload = {
/**
* Open database URL.
*/
databaseUrl: string,
/**
* Pretty JSON representation of the search result.
*/
resultJson: string,
/**
* Structured local DEX corpus search result.
*/
result: Demo3LocalDexCorpusSearchResult, };

View 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.
/**
* Request payload for a local DEX corpus search.
*/
export type Demo3LocalDexCorpusSearchRequest = {
/**
* Optional DEX code or decoded protocol name.
*/
dexCode: string | null,
/**
* Optional Solana program id.
*/
programId: string | null,
/**
* Optional local pair id.
*/
pairId: number | null,
/**
* Optional pool account/address.
*/
poolAddress: string | null,
/**
* Optional token mint to match as base, quote or decoded mint.
*/
tokenMint: string | null,
/**
* Optional transaction signature.
*/
signature: string | null,
/**
* Maximum number of rows to return per sample category.
*/
limit: number, };

View File

@@ -0,0 +1,31 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Demo3LocalDexCorpusDecodedEventSample } from "./Demo3LocalDexCorpusDecodedEventSample";
import type { Demo3LocalDexCorpusPoolPairSample } from "./Demo3LocalDexCorpusPoolPairSample";
import type { Demo3LocalDexCorpusSearchRequest } from "./Demo3LocalDexCorpusSearchRequest";
import type { Demo3LocalDexCorpusSearchSummary } from "./Demo3LocalDexCorpusSearchSummary";
import type { Demo3LocalDexCorpusTransactionSample } from "./Demo3LocalDexCorpusTransactionSample";
/**
* Structured local DEX corpus search result.
*/
export type Demo3LocalDexCorpusSearchResult = {
/**
* Normalized search request applied by the backend service.
*/
request: Demo3LocalDexCorpusSearchRequest,
/**
* Aggregate counts for the matching local data.
*/
summary: Demo3LocalDexCorpusSearchSummary,
/**
* Matching transaction samples.
*/
transactionSamples: Array<Demo3LocalDexCorpusTransactionSample>,
/**
* Matching pool/pair samples.
*/
poolPairSamples: Array<Demo3LocalDexCorpusPoolPairSample>,
/**
* Matching decoded event samples.
*/
decodedEventSamples: Array<Demo3LocalDexCorpusDecodedEventSample>, };

View File

@@ -0,0 +1,38 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* Aggregate counts for one local DEX corpus search.
*/
export type Demo3LocalDexCorpusSearchSummary = {
/**
* Number of distinct matching transactions.
*/
transactionCount: number,
/**
* Number of distinct matching instructions.
*/
instructionCount: number,
/**
* Number of distinct matching decoded DEX events.
*/
decodedEventCount: number,
/**
* Number of distinct matching pools.
*/
poolCount: number,
/**
* Number of distinct matching pairs.
*/
pairCount: number,
/**
* Number of distinct matching trade events.
*/
tradeEventCount: number,
/**
* Number of distinct matching candle rows.
*/
pairCandleCount: number,
/**
* Number of distinct matching protocol candidate rows.
*/
protocolCandidateCount: number, };

View File

@@ -0,0 +1,38 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* Matching transaction sample for corpus discovery.
*/
export type Demo3LocalDexCorpusTransactionSample = {
/**
* Transaction id.
*/
transactionId: number,
/**
* Transaction signature.
*/
signature: string,
/**
* Optional Solana slot.
*/
slot: number | null,
/**
* Whether the transaction has a non-null error payload.
*/
failed: boolean,
/**
* Number of persisted instructions for the transaction.
*/
instructionCount: number,
/**
* Number of persisted decoded DEX events for the transaction.
*/
decodedEventCount: number,
/**
* Number of persisted trade events for the transaction.
*/
tradeEventCount: number,
/**
* Comma-separated distinct program ids seen in the transaction.
*/
programIdsCsv: string, };

View 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.
/**
* Candidate account inferred from generic on-chain transaction evidence.
*/
export type Demo3OnchainDexCandidateAccount = {
/**
* Account address.
*/
address: string,
/**
* Account index in the transaction message when known.
*/
accountIndex: number | null,
/**
* Whether the account is writable in the transaction message when known.
*/
writable: boolean | null,
/**
* Whether the account is a signer in the transaction message when known.
*/
signer: boolean | null,
/**
* Generic role inferred by Demo3.
*/
inferredRole: string,
/**
* Confidence of the generic account inference.
*/
confidence: string,
/**
* Short reason explaining why the account is listed.
*/
reason: string, };

View File

@@ -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 { Demo3OnchainDexDiscoveryResult } from "./Demo3OnchainDexDiscoveryResult";
/**
* Response payload returned by Demo3 on-chain DEX discovery.
*/
export type Demo3OnchainDexDiscoveryPayload = {
/**
* HTTP role used by the request.
*/
httpRole: string,
/**
* Pretty JSON representation of the discovery result.
*/
resultJson: string,
/**
* Structured discovery result.
*/
result: Demo3OnchainDexDiscoveryResult, };

View 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.
/**
* Request payload for on-chain DEX pair/pool discovery.
*/
export type Demo3OnchainDexDiscoveryRequest = {
/**
* Optional DEX code from the support matrix.
*/
dexCode: string | null,
/**
* Optional Solana program id. When absent, dex_code must resolve to a verified program id.
*/
programId: string | null,
/**
* HTTP role used to query Solana RPC.
*/
httpRole: string,
/**
* Maximum number of signatures to inspect.
*/
signatureLimit: number,
/**
* Maximum number of transactions to fetch from the signature list.
*/
transactionLimit: number,
/**
* Maximum number of candidate rows to return.
*/
candidateLimit: number, };

View File

@@ -0,0 +1,44 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Demo3OnchainDexDiscoveryRequest } from "./Demo3OnchainDexDiscoveryRequest";
import type { Demo3OnchainDexPairCandidate } from "./Demo3OnchainDexPairCandidate";
/**
* Structured on-chain DEX discovery result.
*/
export type Demo3OnchainDexDiscoveryResult = {
/**
* Normalized request used by kb_lib.
*/
request: Demo3OnchainDexDiscoveryRequest,
/**
* DEX code resolved from the support matrix when available.
*/
resolvedDexCode: string | null,
/**
* Program id scanned with getSignaturesForAddress.
*/
resolvedProgramId: string,
/**
* Number of signatures returned by Solana RPC.
*/
fetchedSignatureCount: number,
/**
* Number of fetched transactions.
*/
fetchedTransactionCount: number,
/**
* Number of getTransaction calls returning null.
*/
missingTransactionCount: number,
/**
* Number of failed transactions encountered.
*/
failedTransactionCount: number,
/**
* Number of candidate rows returned.
*/
candidateCount: number,
/**
* Candidate on-chain rows.
*/
candidates: Array<Demo3OnchainDexPairCandidate>, };

View File

@@ -0,0 +1,100 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Demo3OnchainDexCandidateAccount } from "./Demo3OnchainDexCandidateAccount";
import type { Demo3OnchainDexTokenBalanceDelta } from "./Demo3OnchainDexTokenBalanceDelta";
/**
* Candidate on-chain transaction/instruction for a DEX program id.
*/
export type Demo3OnchainDexPairCandidate = {
/**
* Transaction signature.
*/
signature: string,
/**
* Slot when available.
*/
slot: number | null,
/**
* Block time when available.
*/
blockTime: number | null,
/**
* Whether the transaction failed.
*/
failed: boolean,
/**
* Program id matched by the candidate.
*/
programId: string,
/**
* DEX code when known.
*/
dexCode: string | null,
/**
* Candidate kind inferred from data/logs.
*/
candidateKind: string,
/**
* Extraction confidence.
*/
confidence: string,
/**
* Top-level instruction index.
*/
instructionIndex: number | null,
/**
* Inner instruction index.
*/
innerInstructionIndex: number | null,
/**
* Instruction name inferred from data/logs.
*/
instructionName: string | null,
/**
* Candidate pool address.
*/
poolAddress: string | null,
/**
* Candidate token A mint.
*/
tokenAMint: string | null,
/**
* Candidate token B mint.
*/
tokenBMint: string | null,
/**
* Verified pool address when a DEX decoder or stable layout proves it.
*/
verifiedPoolAddress: string | null,
/**
* Token mints observed generically from transaction token balances.
*/
observedTokenMints: Array<string>,
/**
* Token balance deltas observed through transaction metadata.
*/
tokenBalanceDeltas: Array<Demo3OnchainDexTokenBalanceDelta>,
/**
* Program-owned or writable accounts that may be pool/config/state accounts.
*/
candidatePoolAccounts: Array<Demo3OnchainDexCandidateAccount>,
/**
* Token accounts that may be pool vaults.
*/
candidateTokenVaultAccounts: Array<Demo3OnchainDexCandidateAccount>,
/**
* Other candidate accounts attached to the matched instruction.
*/
candidateProgramAccounts: Array<Demo3OnchainDexCandidateAccount>,
/**
* Short account sample.
*/
accountSamples: Array<string>,
/**
* Short log sample.
*/
logSamples: Array<string>,
/**
* Suggested next action.
*/
backfillHint: string, };

View File

@@ -0,0 +1,38 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* Token-balance delta observed in one on-chain candidate transaction.
*/
export type Demo3OnchainDexTokenBalanceDelta = {
/**
* Token account index in the transaction message when available.
*/
accountIndex: number | null,
/**
* Token account address resolved from the transaction account keys.
*/
accountAddress: string | null,
/**
* SPL Token or Token-2022 mint address.
*/
mint: string,
/**
* Token account owner when Solana RPC exposes it.
*/
owner: string | null,
/**
* Token program id when Solana RPC exposes it.
*/
tokenProgram: string | null,
/**
* Raw token amount before the transaction.
*/
preAmountRaw: string | null,
/**
* Raw token amount after the transaction.
*/
postAmountRaw: string | null,
/**
* Signed raw delta when calculable.
*/
deltaRaw: string | null, };

View File

@@ -0,0 +1,66 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* Matching decoded event sample for corpus discovery.
*/
export type Demo3oldLocalDexCorpusDecodedEventSample = {
/**
* Decoded event id.
*/
decodedEventId: number,
/**
* Transaction id.
*/
transactionId: number,
/**
* Transaction signature.
*/
signature: string,
/**
* Optional Solana slot.
*/
slot: number | null,
/**
* Protocol name stored on the decoded event.
*/
protocolName: string,
/**
* Program id stored on the decoded event.
*/
programId: string,
/**
* Event kind.
*/
eventKind: string,
/**
* Optional pool account.
*/
poolAccount: string | null,
/**
* Optional token A mint.
*/
tokenAMint: string | null,
/**
* Optional token B mint.
*/
tokenBMint: string | null,
/**
* Decoded event category extracted from payload JSON.
*/
eventCategory: string | null,
/**
* Decoded event lifecycle kind extracted from payload JSON.
*/
eventLifecycleKind: string | null,
/**
* Decoded event actionability extracted from payload JSON.
*/
eventActionability: string | null,
/**
* Whether the decoded event is a trade candidate.
*/
tradeCandidate: boolean,
/**
* Whether the decoded event is a candle candidate.
*/
candleCandidate: boolean, };

View File

@@ -0,0 +1,58 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* Matching pool/pair sample for corpus discovery.
*/
export type Demo3oldLocalDexCorpusPoolPairSample = {
/**
* Optional pool id.
*/
poolId: number | null,
/**
* Optional pool address.
*/
poolAddress: string | null,
/**
* Optional pair id.
*/
pairId: number | null,
/**
* Optional DEX code.
*/
dexCode: string | null,
/**
* Optional pair symbol.
*/
pairSymbol: string | null,
/**
* Optional base token mint.
*/
baseMint: string | null,
/**
* Optional base token symbol.
*/
baseSymbol: string | null,
/**
* Optional quote token mint.
*/
quoteMint: string | null,
/**
* Optional quote token symbol.
*/
quoteSymbol: string | null,
/**
* Number of decoded events attached to the pool.
*/
decodedEventCount: number,
/**
* Number of trade events attached to the pair.
*/
tradeEventCount: number,
/**
* Number of candle rows attached to the pair.
*/
pairCandleCount: number,
/**
* Latest known founding or activity signature for the pool/pair.
*/
latestSignature: string | null, };

View File

@@ -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 { Demo3oldLocalDexCorpusSearchResult } from "./Demo3oldLocalDexCorpusSearchResult";
/**
* Response payload returned by Demo3old local DEX corpus search.
*/
export type Demo3oldLocalDexCorpusSearchPayload = {
/**
* Open database URL.
*/
databaseUrl: string,
/**
* Pretty JSON representation of the search result.
*/
resultJson: string,
/**
* Structured local DEX corpus search result.
*/
result: Demo3oldLocalDexCorpusSearchResult, };

View 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.
/**
* Request payload for a local DEX corpus search.
*/
export type Demo3oldLocalDexCorpusSearchRequest = {
/**
* Optional DEX code or decoded protocol name.
*/
dexCode: string | null,
/**
* Optional Solana program id.
*/
programId: string | null,
/**
* Optional local pair id.
*/
pairId: number | null,
/**
* Optional pool account/address.
*/
poolAddress: string | null,
/**
* Optional token mint to match as base, quote or decoded mint.
*/
tokenMint: string | null,
/**
* Optional transaction signature.
*/
signature: string | null,
/**
* Maximum number of rows to return per sample category.
*/
limit: number, };

View File

@@ -0,0 +1,31 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Demo3oldLocalDexCorpusDecodedEventSample } from "./Demo3oldLocalDexCorpusDecodedEventSample";
import type { Demo3oldLocalDexCorpusPoolPairSample } from "./Demo3oldLocalDexCorpusPoolPairSample";
import type { Demo3oldLocalDexCorpusSearchRequest } from "./Demo3oldLocalDexCorpusSearchRequest";
import type { Demo3oldLocalDexCorpusSearchSummary } from "./Demo3oldLocalDexCorpusSearchSummary";
import type { Demo3oldLocalDexCorpusTransactionSample } from "./Demo3oldLocalDexCorpusTransactionSample";
/**
* Structured local DEX corpus search result.
*/
export type Demo3oldLocalDexCorpusSearchResult = {
/**
* Normalized search request applied by the backend service.
*/
request: Demo3oldLocalDexCorpusSearchRequest,
/**
* Aggregate counts for the matching local data.
*/
summary: Demo3oldLocalDexCorpusSearchSummary,
/**
* Matching transaction samples.
*/
transactionSamples: Array<Demo3oldLocalDexCorpusTransactionSample>,
/**
* Matching pool/pair samples.
*/
poolPairSamples: Array<Demo3oldLocalDexCorpusPoolPairSample>,
/**
* Matching decoded event samples.
*/
decodedEventSamples: Array<Demo3oldLocalDexCorpusDecodedEventSample>, };

View File

@@ -0,0 +1,38 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* Aggregate counts for one local DEX corpus search.
*/
export type Demo3oldLocalDexCorpusSearchSummary = {
/**
* Number of distinct matching transactions.
*/
transactionCount: number,
/**
* Number of distinct matching instructions.
*/
instructionCount: number,
/**
* Number of distinct matching decoded DEX events.
*/
decodedEventCount: number,
/**
* Number of distinct matching pools.
*/
poolCount: number,
/**
* Number of distinct matching pairs.
*/
pairCount: number,
/**
* Number of distinct matching trade events.
*/
tradeEventCount: number,
/**
* Number of distinct matching candle rows.
*/
pairCandleCount: number,
/**
* Number of distinct matching protocol candidate rows.
*/
protocolCandidateCount: number, };

View File

@@ -0,0 +1,38 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* Matching transaction sample for corpus discovery.
*/
export type Demo3oldLocalDexCorpusTransactionSample = {
/**
* Transaction id.
*/
transactionId: number,
/**
* Transaction signature.
*/
signature: string,
/**
* Optional Solana slot.
*/
slot: number | null,
/**
* Whether the transaction has a non-null error payload.
*/
failed: boolean,
/**
* Number of persisted instructions for the transaction.
*/
instructionCount: number,
/**
* Number of persisted decoded DEX events for the transaction.
*/
decodedEventCount: number,
/**
* Number of persisted trade events for the transaction.
*/
tradeEventCount: number,
/**
* Comma-separated distinct program ids seen in the transaction.
*/
programIdsCsv: string, };

View File

@@ -10,7 +10,7 @@ export type DemoPipeline2BackfillPayload = {
*/
objectKey: string,
/**
* Mode: `tokenMint` or `poolAddress`.
* Mode: `tokenMint`, `poolAddress` or `signature`.
*/
mode: string,
/**

View File

@@ -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 single-signature backfill.
*/
export type DemoPipeline2BackfillSignatureRequest = {
/**
* Transaction signature to resolve and replay.
*/
signature: string,
/**
* Optional HTTP role.
*/
httpRole: string | null, };