Skip to content

Commit 2ff5ef6

Browse files
fixup: types-cosmos
1 parent 95e7101 commit 2ff5ef6

13 files changed

+275
-0
lines changed

docker/types-cosmos/dist/.tsbuildinfo

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

docker/types-cosmos/dist/global.d.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import type { CosmWasmClient } from '@cosmjs/cosmwasm-stargate';
2+
import type { Registry } from '@cosmjs/proto-signing';
3+
import type Pino from 'pino';
4+
import { Store, DynamicDatasourceCreator } from './interfaces';
5+
declare global {
6+
const apiUnsafe: CosmWasmClient;
7+
const api: CosmWasmClient;
8+
const logger: Pino.Logger;
9+
const store: Store;
10+
const createDynamicDatasource: DynamicDatasourceCreator;
11+
const registry: Registry;
12+
}

docker/types-cosmos/dist/global.js

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docker/types-cosmos/dist/global.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docker/types-cosmos/dist/index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from './interfaces';
2+
export * from './project';

docker/types-cosmos/dist/index.js

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docker/types-cosmos/dist/index.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import { DecodedTxRaw } from '@cosmjs/proto-signing';
2+
import { Block } from '@cosmjs/stargate';
3+
import { Event, Log } from '@cosmjs/stargate/build/logs';
4+
import { TxData } from '@cosmjs/tendermint-rpc';
5+
export interface Entity {
6+
id: string;
7+
}
8+
export declare type FunctionPropertyNames<T> = {
9+
[K in keyof T]: T[K] extends Function ? K : never;
10+
}[keyof T];
11+
export interface Store {
12+
get(entity: string, id: string): Promise<Entity | null>;
13+
getByField(entity: string, field: string, value: any): Promise<Entity[]>;
14+
getOneByField(entity: string, field: string, value: any): Promise<Entity | null>;
15+
set(entity: string, id: string, data: Entity): Promise<void>;
16+
bulkCreate(entity: string, data: Entity[]): Promise<void>;
17+
remove(entity: string, id: string): Promise<void>;
18+
}
19+
export interface CosmosBlock {
20+
block: Block;
21+
txs: TxData[];
22+
}
23+
export interface CosmosTransaction {
24+
idx: number;
25+
block: CosmosBlock;
26+
hash: string;
27+
tx: TxData;
28+
decodedTx: DecodedTxRaw;
29+
}
30+
export interface CosmosMessage<T = any> {
31+
idx: number;
32+
block: CosmosBlock;
33+
tx: CosmosTransaction;
34+
msg: {
35+
typeUrl: string;
36+
decodedMsg: T;
37+
};
38+
}
39+
export interface CosmosEvent {
40+
idx: number;
41+
block: CosmosBlock;
42+
tx: CosmosTransaction;
43+
msg: CosmosMessage;
44+
log: Log;
45+
event: Event;
46+
}
47+
export declare type DynamicDatasourceCreator = (name: string, args: Record<string, unknown>) => Promise<void>;

docker/types-cosmos/dist/interfaces.js

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docker/types-cosmos/dist/interfaces.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docker/types-cosmos/dist/project.d.ts

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
import { CosmWasmClient } from '@cosmjs/cosmwasm-stargate';
2+
import { CosmosBlock, CosmosTransaction, CosmosMessage, CosmosEvent } from './interfaces';
3+
export interface FileReference {
4+
file: string;
5+
}
6+
export interface CustomModule {
7+
file: string;
8+
messages: string[];
9+
}
10+
export declare type CustomDataSourceAsset = FileReference;
11+
export declare type Processor<O = any> = FileReference & {
12+
options?: O;
13+
};
14+
export declare enum SubqlCosmosDatasourceKind {
15+
Runtime = "cosmos/Runtime",
16+
Custom = "cosmos/Custom"
17+
}
18+
export declare enum SubqlCosmosHandlerKind {
19+
Block = "cosmos/BlockHandler",
20+
Transaction = "cosmos/TransactionHandler",
21+
Message = "cosmos/MessageHandler",
22+
Event = "cosmos/EventHandler"
23+
}
24+
export declare type CosmosRuntimeHandlerInputMap = {
25+
[SubqlCosmosHandlerKind.Block]: CosmosBlock;
26+
[SubqlCosmosHandlerKind.Transaction]: CosmosTransaction;
27+
[SubqlCosmosHandlerKind.Message]: CosmosMessage;
28+
[SubqlCosmosHandlerKind.Event]: CosmosEvent;
29+
};
30+
declare type CosmosRuntimeFilterMap = {
31+
[SubqlCosmosHandlerKind.Block]: {};
32+
[SubqlCosmosHandlerKind.Transaction]: {};
33+
[SubqlCosmosHandlerKind.Message]: SubqlCosmosMessageFilter;
34+
[SubqlCosmosHandlerKind.Event]: SubqlCosmosEventFilter;
35+
};
36+
export interface CosmosProjectManifest {
37+
specVersion: string;
38+
description: string;
39+
repository: string;
40+
schema: {
41+
file: string;
42+
};
43+
network: CosmosNetwork;
44+
dataSources: SubqlCosmosDatasource[];
45+
}
46+
export interface CosmosNetwork {
47+
genesisHash: string;
48+
endpoint: string;
49+
chainId: string;
50+
chainTypes?: Map<string, CustomModule>;
51+
}
52+
export interface SubqlCosmosMessageFilter {
53+
type: string;
54+
contractCall?: string;
55+
values?: {
56+
[key: string]: string;
57+
};
58+
}
59+
export interface SubqlCosmosEventFilter {
60+
type: string;
61+
messageFilter?: SubqlCosmosMessageFilter;
62+
}
63+
export declare type SubqlCosmosHandlerFilter = SubqlCosmosEventFilter | SubqlCosmosMessageFilter;
64+
export interface SubqlCosmosBlockHandler {
65+
handler: string;
66+
kind: SubqlCosmosHandlerKind.Block;
67+
filter?: undefined;
68+
}
69+
export interface SubqlCosmosTransactionHandler {
70+
handler: string;
71+
kind: SubqlCosmosHandlerKind.Transaction;
72+
filter?: undefined;
73+
}
74+
export interface SubqlCosmosMessageHandler {
75+
handler: string;
76+
kind: SubqlCosmosHandlerKind.Message;
77+
filter?: SubqlCosmosMessageFilter;
78+
}
79+
export interface SubqlCosmosEventHandler {
80+
handler: string;
81+
kind: SubqlCosmosHandlerKind.Event;
82+
filter?: SubqlCosmosEventFilter;
83+
}
84+
export interface SubqlCosmosCustomHandler<K extends string = string, F = Record<string, unknown>> {
85+
handler: string;
86+
kind: K;
87+
filter?: F;
88+
}
89+
export declare type SubqlCosmosRuntimeHandler = SubqlCosmosBlockHandler | SubqlCosmosTransactionHandler | SubqlCosmosMessageHandler | SubqlCosmosEventHandler;
90+
export declare type SubqlCosmosHandler = SubqlCosmosRuntimeHandler | SubqlCosmosCustomHandler;
91+
export interface SubqlCosmosMapping<T extends SubqlCosmosHandler = SubqlCosmosHandler> {
92+
file: string;
93+
handlers: T[];
94+
}
95+
interface ISubqlCosmosDatasource<M extends SubqlCosmosMapping> {
96+
name?: string;
97+
kind: string;
98+
startBlock?: number;
99+
mapping: M;
100+
}
101+
export interface SubqlCosmosRuntimeDatasource<M extends SubqlCosmosMapping<SubqlCosmosRuntimeHandler> = SubqlCosmosMapping<SubqlCosmosRuntimeHandler>> extends ISubqlCosmosDatasource<M> {
102+
kind: SubqlCosmosDatasourceKind.Runtime;
103+
}
104+
export declare type SubqlCosmosDatasource = SubqlCosmosRuntimeDatasource | SubqlCosmosCustomDatasource;
105+
export declare type CustomCosmosDataSourceAsset = FileReference;
106+
export interface SubqlCosmosCustomDatasource<K extends string = string, M extends SubqlCosmosMapping = SubqlCosmosMapping<SubqlCosmosCustomHandler>, O = any> extends ISubqlCosmosDatasource<M> {
107+
kind: K;
108+
assets: Map<string, CustomCosmosDataSourceAsset>;
109+
processor?: Processor<O>;
110+
}
111+
export interface HandlerInputTransformer_0_0_0<T extends SubqlCosmosHandlerKind, E, DS extends SubqlCosmosCustomDatasource = SubqlCosmosCustomDatasource> {
112+
(input: CosmosRuntimeHandlerInputMap[T], ds: DS, api: CosmWasmClient, assets?: Record<string, string>): Promise<E>;
113+
}
114+
export interface HandlerInputTransformer_1_0_0<T extends SubqlCosmosHandlerKind, F, E, DS extends SubqlCosmosCustomDatasource = SubqlCosmosCustomDatasource> {
115+
(params: {
116+
input: CosmosRuntimeHandlerInputMap[T];
117+
ds: DS;
118+
filter?: F;
119+
api: CosmWasmClient;
120+
assets?: Record<string, string>;
121+
}): Promise<E[]>;
122+
}
123+
export declare type SecondLayerHandlerProcessorArray<K extends string, F, T, DS extends SubqlCosmosCustomDatasource<K> = SubqlCosmosCustomDatasource<K>> = SecondLayerHandlerProcessor<SubqlCosmosHandlerKind.Block, F, T, DS> | SecondLayerHandlerProcessor<SubqlCosmosHandlerKind.Transaction, F, T, DS> | SecondLayerHandlerProcessor<SubqlCosmosHandlerKind.Message, F, T, DS> | SecondLayerHandlerProcessor<SubqlCosmosHandlerKind.Event, F, T, DS>;
124+
export interface SubqlCosmosDatasourceProcessor<K extends string, F, DS extends SubqlCosmosCustomDatasource<K> = SubqlCosmosCustomDatasource<K>, P extends Record<string, SecondLayerHandlerProcessorArray<K, F, any, DS>> = Record<string, SecondLayerHandlerProcessorArray<K, F, any, DS>>> {
125+
kind: K;
126+
validate(ds: DS, assets: Record<string, string>): void;
127+
dsFilterProcessor(ds: DS, api: CosmWasmClient): boolean;
128+
handlerProcessors: P;
129+
}
130+
export interface DictionaryQueryCondition {
131+
field: string;
132+
value: string | Record<string, string> | Array<Record<string, string>>;
133+
matcher?: string;
134+
}
135+
export interface DictionaryQueryEntry {
136+
entity: string;
137+
conditions: DictionaryQueryCondition[];
138+
}
139+
interface SecondLayerHandlerProcessorBase<K extends SubqlCosmosHandlerKind, F, DS extends SubqlCosmosCustomDatasource = SubqlCosmosCustomDatasource> {
140+
baseHandlerKind: K;
141+
baseFilter: CosmosRuntimeFilterMap[K] | CosmosRuntimeFilterMap[K][];
142+
filterValidator: (filter?: F) => void;
143+
dictionaryQuery?: (filter: F, ds: DS) => DictionaryQueryEntry | undefined;
144+
}
145+
export interface SecondLayerHandlerProcessor_0_0_0<K extends SubqlCosmosHandlerKind, F, E, DS extends SubqlCosmosCustomDatasource = SubqlCosmosCustomDatasource> extends SecondLayerHandlerProcessorBase<K, F, DS> {
146+
specVersion: undefined;
147+
transformer: HandlerInputTransformer_0_0_0<K, E, DS>;
148+
filterProcessor: (filter: F | undefined, input: CosmosRuntimeHandlerInputMap[K], ds: DS) => boolean;
149+
}
150+
export interface SecondLayerHandlerProcessor_1_0_0<K extends SubqlCosmosHandlerKind, F, E, DS extends SubqlCosmosCustomDatasource = SubqlCosmosCustomDatasource> extends SecondLayerHandlerProcessorBase<K, F, DS> {
151+
specVersion: '1.0.0';
152+
transformer: HandlerInputTransformer_1_0_0<K, F, E, DS>;
153+
filterProcessor: (params: {
154+
filter: F | undefined;
155+
input: CosmosRuntimeHandlerInputMap[K];
156+
ds: DS;
157+
}) => boolean;
158+
}
159+
export declare type SecondLayerHandlerProcessor<K extends SubqlCosmosHandlerKind, F, E, DS extends SubqlCosmosCustomDatasource = SubqlCosmosCustomDatasource> = SecondLayerHandlerProcessor_0_0_0<K, F, E, DS> | SecondLayerHandlerProcessor_1_0_0<K, F, E, DS>;
160+
export {};

docker/types-cosmos/dist/project.js

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)