Skip to content

Commit f95f663

Browse files
Add athena tables for affiliates/vaults. (#2636)
1 parent 7da33a6 commit f95f663

File tree

4 files changed

+125
-0
lines changed

4 files changed

+125
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import {
2+
getAthenaTableCreationStatement,
3+
getExternalAthenaTableCreationStatement,
4+
castToDouble,
5+
} from '../../helpers/sql';
6+
7+
const TABLE_NAME: string = 'affiliate_info';
8+
const RAW_TABLE_COLUMNS: string = `
9+
\`address\` string,
10+
\`affiliateEarnings\` string,
11+
\`referredMakerTrades\` int,
12+
\`referredTakerTrades\` int,
13+
\`totalReferredUsers\` int,
14+
\`firstReferralBlockHeight\` bigint,
15+
\`referredTotalVolume\` string,
16+
\`totalReferredTakerFees\` string,
17+
\`totalReferredMakerFees\` string,
18+
\`totalReferredMakerRebates\` string
19+
`;
20+
const TABLE_COLUMNS: string = `
21+
"address",
22+
${castToDouble('affiliateEarnings')},
23+
"referredMakerTrades",
24+
"referredTakerTrades",
25+
"totalReferredUsers",
26+
"firstReferralBlockHeight",
27+
${castToDouble('referredTotalVolume')},
28+
${castToDouble('totalReferredTakerFees')},
29+
${castToDouble('totalReferredMakerFees')},
30+
${castToDouble('totalReferredMakerRebates')}
31+
`;
32+
33+
export function generateRawTable(tablePrefix: string, rdsExportIdentifier: string): string {
34+
return getExternalAthenaTableCreationStatement(
35+
tablePrefix,
36+
rdsExportIdentifier,
37+
TABLE_NAME,
38+
RAW_TABLE_COLUMNS,
39+
);
40+
}
41+
42+
export function generateTable(tablePrefix: string): string {
43+
return getAthenaTableCreationStatement(
44+
tablePrefix,
45+
TABLE_NAME,
46+
TABLE_COLUMNS,
47+
);
48+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import {
2+
getAthenaTableCreationStatement,
3+
getExternalAthenaTableCreationStatement,
4+
} from '../../helpers/sql';
5+
6+
const TABLE_NAME: string = 'affiliate_referred_users';
7+
const RAW_TABLE_COLUMNS: string = `
8+
\`referredAddress\` string,
9+
\`affiliateAddress\` string,
10+
\`referredAtBlock\` bigint
11+
`;
12+
const TABLE_COLUMNS: string = `
13+
"referredAddress",
14+
"affiliateAddress",
15+
"referredAtBlock"
16+
`;
17+
18+
export function generateRawTable(tablePrefix: string, rdsExportIdentifier: string): string {
19+
return getExternalAthenaTableCreationStatement(
20+
tablePrefix,
21+
rdsExportIdentifier,
22+
TABLE_NAME,
23+
RAW_TABLE_COLUMNS,
24+
);
25+
}
26+
27+
export function generateTable(tablePrefix: string): string {
28+
return getAthenaTableCreationStatement(
29+
tablePrefix,
30+
TABLE_NAME,
31+
TABLE_COLUMNS,
32+
);
33+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import {
2+
castToTimestamp,
3+
getAthenaTableCreationStatement,
4+
getExternalAthenaTableCreationStatement,
5+
} from '../../helpers/sql';
6+
7+
const TABLE_NAME: string = 'vaults';
8+
const RAW_TABLE_COLUMNS: string = `
9+
\`address\` string,
10+
\`clobPairId\` bigint,
11+
\`status\` string,
12+
\`createdAt\` string,
13+
\`updatedAt\` string
14+
`;
15+
const TABLE_COLUMNS: string = `
16+
"address",
17+
"clobPairId",
18+
"status",
19+
${castToTimestamp('createdAt')},
20+
${castToTimestamp('updatedAt')}
21+
`;
22+
23+
export function generateRawTable(tablePrefix: string, rdsExportIdentifier: string): string {
24+
return getExternalAthenaTableCreationStatement(
25+
tablePrefix,
26+
rdsExportIdentifier,
27+
TABLE_NAME,
28+
RAW_TABLE_COLUMNS,
29+
);
30+
}
31+
32+
export function generateTable(tablePrefix: string): string {
33+
return getAthenaTableCreationStatement(
34+
tablePrefix,
35+
TABLE_NAME,
36+
TABLE_COLUMNS,
37+
);
38+
}

indexer/services/roundtable/src/tasks/update-research-environment.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import {
1818
startAthenaQuery,
1919
} from '../helpers/aws';
2020
import { AthenaTableDDLQueries } from '../helpers/types';
21+
import * as athenaAffiliateInfo from '../lib/athena-ddl-tables/affiliate_info';
22+
import * as athenaAffiliateReferredUsers from '../lib/athena-ddl-tables/affiliate_referred_users';
2123
import * as athenaAssetPositions from '../lib/athena-ddl-tables/asset_positions';
2224
import * as athenaAssets from '../lib/athena-ddl-tables/assets';
2325
import * as athenaBlocks from '../lib/athena-ddl-tables/blocks';
@@ -36,6 +38,7 @@ import * as athenaTendermintEvents from '../lib/athena-ddl-tables/tendermint_eve
3638
import * as athenaTradingRewardAggregations from '../lib/athena-ddl-tables/trading_reward_aggregations';
3739
import * as athenaTradingRewards from '../lib/athena-ddl-tables/trading_rewards';
3840
import * as athenaTransfers from '../lib/athena-ddl-tables/transfers';
41+
import * as athenaVaults from '../lib/athena-ddl-tables/vaults';
3942
import * as athenaWallets from '../lib/athena-ddl-tables/wallets';
4043

4144
export const tablesToAddToAthena: { [table: string]: AthenaTableDDLQueries } = {
@@ -58,6 +61,9 @@ export const tablesToAddToAthena: { [table: string]: AthenaTableDDLQueries } = {
5861
transfers: athenaTransfers,
5962
liquidity_tiers: athenaLiquidityTiers,
6063
wallets: athenaWallets,
64+
affiliate_info: athenaAffiliateInfo,
65+
affiliate_referred_users: athenaAffiliateReferredUsers,
66+
vaults: athenaVaults,
6167
};
6268

6369
const statStart: string = `${config.SERVICE_NAME}.update_research_environment`;

0 commit comments

Comments
 (0)