Skip to content

Commit

Permalink
Organize Ender SQL scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
Christopher-Li committed Dec 8, 2023
1 parent 501491f commit 724d0d7
Show file tree
Hide file tree
Showing 52 changed files with 34 additions and 21 deletions.
52 changes: 32 additions & 20 deletions indexer/services/ender/src/helpers/postgres/postgres-functions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,41 +26,47 @@ function newScript(name: string, scriptPath: string): PostgresFunction {
};
}

const scripts: string[] = [
'create_extension_pg_stat_statements.sql',
'create_extension_uuid_ossp.sql',
const HANDLER_SCRIPTS: string[] = [
'dydx_asset_create_handler.sql',
'dydx_block_processor.sql',
'dydx_block_processor_ordered_handlers.sql',
'dydx_block_processor_unordered_handlers.sql',
'dydx_clob_pair_status_to_market_status.sql',
'dydx_deleveraging_handler.sql',
'dydx_funding_handler.sql',
'dydx_liquidity_tier_handler.sql',
'dydx_market_create_handler.sql',
'dydx_market_modify_handler.sql',
'dydx_market_price_update_handler.sql',
'dydx_perpetual_market_handler.sql',
'dydx_stateful_order_handler.sql',
'dydx_subaccount_update_handler.sql',
'dydx_transfer_handler.sql',
'dydx_update_clob_pair_handler.sql',
'dydx_update_perpetual_handler.sql',
];

const HELPER_SCRIPTS: string[] = [
'create_extension_pg_stat_statements.sql',
'create_extension_uuid_ossp.sql',
'dydx_clob_pair_status_to_market_status.sql',
'dydx_create_initial_rows_for_tendermint_block.sql',
'dydx_create_tendermint_event.sql',
'dydx_create_transaction.sql',
'dydx_event_id_from_parts.sql',
'dydx_from_jsonlib_long.sql',
'dydx_from_protocol_order_side.sql',
'dydx_from_protocol_time_in_force.sql',
'dydx_from_serializable_int.sql',
'dydx_funding_handler.sql',
'dydx_get_fee_from_liquidity.sql',
'dydx_get_perpetual_market_for_clob_pair.sql',
'dydx_get_order_status.sql',
'dydx_get_perpetual_market_for_clob_pair.sql',
'dydx_get_total_filled_from_liquidity.sql',
'dydx_get_weighted_average.sql',
'dydx_liquidation_fill_handler_per_order.sql',
'dydx_liquidity_tier_handler.sql',
'dydx_order_fill_handler_per_order.sql',
'dydx_perpetual_market_handler.sql',
'dydx_perpetual_position_and_order_side_matching.sql',
'dydx_protocol_condition_type_to_order_type.sql',
'dydx_stateful_order_handler.sql',
'dydx_subaccount_update_handler.sql',
'dydx_transfer_handler.sql',
'dydx_tendermint_event_to_transaction_index.sql',
'dydx_trim_scale.sql',
'dydx_update_clob_pair_handler.sql',
'dydx_update_perpetual_handler.sql',
'dydx_update_perpetual_position_aggregate_fields.sql',
'dydx_uuid.sql',
'dydx_uuid_from_asset_position_parts.sql',
Expand All @@ -74,19 +80,25 @@ const scripts: string[] = [
'dydx_uuid_from_subaccount_id_parts.sql',
'dydx_uuid_from_transaction_parts.sql',
'dydx_uuid_from_transfer_parts.sql',
'dydx_create_transaction.sql',
'dydx_create_initial_rows_for_tendermint_block.sql',
'dydx_create_tendermint_event.sql',
'dydx_tendermint_event_to_transaction_index.sql',
];

const MAIN_SCRIPTS: string[] = [
'dydx_block_processor.sql',
];

const SCRIPTS: string[] = [
...HANDLER_SCRIPTS.map((script: string) => `handlers/${script}`),
...HELPER_SCRIPTS.map((script: string) => `helpers/${script}`),
...MAIN_SCRIPTS,
];

export async function createPostgresFunctions(): Promise<void> {
await Promise.all([
dbHelpers.createModelToJsonFunctions(),
...scripts.map((script: string) => storeHelpers.rawQuery(newScript(script, `../../scripts/${script}`).script, {})
...SCRIPTS.map((script: string) => storeHelpers.rawQuery(newScript(script, `../../scripts/${script}`).script, {})
.catch((error: Error) => {
logger.error({
at: 'dbHelpers#createModelToJsonFunctions',
at: 'postgres-functions#createPostgresFunctions',
message: `Failed to create or replace function contained in ${script}`,
error,
});
Expand Down
3 changes: 2 additions & 1 deletion indexer/services/ender/src/lib/batched-handlers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,8 @@ export class BatchedHandlers {
*/
public async process(
kafkaPublisher: KafkaPublisher,
resultRow: pg.QueryResultRow): Promise<void> {
resultRow: pg.QueryResultRow,
): Promise<void> {
for (let batchIndex = 0; batchIndex < this.batchedHandlers.length; batchIndex++) {
const start: number = Date.now();
const handlerCountMapping: { [key: string]: number } = {};
Expand Down

0 comments on commit 724d0d7

Please sign in to comment.