diff --git a/Dockerfile b/Dockerfile index 125e7d03..6d241cae 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,6 +12,7 @@ RUN yarn install --frozen-lockfile COPY --from=builder /app/dist ./dist COPY --from=builder /app/src/config/global-bundle.pem ./dist/config/global-bundle.pem COPY --from=builder /app/src/kadena-server/config/schema.graphql ./dist/kadena-server/config/schema.graphql +COPY --from=builder /app/src/circulating-coins/ ./dist/circulating-coins/ EXPOSE 3001 CMD ["node", "dist/index.js", "--graphql"] diff --git a/csvs/miner_rewards.csv b/indexer/src/circulating-coins/miner_rewards.csv similarity index 100% rename from csvs/miner_rewards.csv rename to indexer/src/circulating-coins/miner_rewards.csv diff --git a/csvs/token_payments.csv b/indexer/src/circulating-coins/token_payments.csv similarity index 100% rename from csvs/token_payments.csv rename to indexer/src/circulating-coins/token_payments.csv diff --git a/indexer/src/kadena-server/repository/infra/repository/network-db-repository.ts b/indexer/src/kadena-server/repository/infra/repository/network-db-repository.ts index 72e48d1e..ca5a3c2b 100644 --- a/indexer/src/kadena-server/repository/infra/repository/network-db-repository.ts +++ b/indexer/src/kadena-server/repository/infra/repository/network-db-repository.ts @@ -50,7 +50,8 @@ export default class NetworkDbRepository implements NetworkRepository { const { rows } = await rootPgPool.query(creationTimeQuery); - const latestCreationTime = parseInt(rows[0].creationTime, 10); + const firstRow = rows?.[0]?.creationTime; + const latestCreationTime = parseInt(firstRow, 10); return latestCreationTime; } diff --git a/indexer/src/kadena-server/utils/coin-circulation.ts b/indexer/src/kadena-server/utils/coin-circulation.ts index c288a17c..b0025697 100644 --- a/indexer/src/kadena-server/utils/coin-circulation.ts +++ b/indexer/src/kadena-server/utils/coin-circulation.ts @@ -1,5 +1,6 @@ import Papa from "papaparse"; import fs from "fs"; +import path from "path"; type RewardRow = [number, number]; @@ -92,17 +93,21 @@ async function getCsvContent(filePath: string): Promise { } async function getMinerRewards(cutHeight: number) { - const csvContent = await getCsvContent( - `${__dirname}/../../../../csvs/miner_rewards.csv`, + const filePath = path.resolve( + __dirname, + "../../circulating-coins/miner_rewards.csv", ); + const csvContent = await getCsvContent(filePath); const reward = calculateReward(csvContent, cutHeight); return reward; } async function getTokenPayments(latestCreationTime: number) { - const csvContent = await getCsvContent( - `${__dirname}/../../../../csvs/token_payments.csv`, + const filePath = path.resolve( + __dirname, + "../../circulating-coins/token_payments.csv", ); + const csvContent = await getCsvContent(filePath); const tokenPayments = calculateTokenPayments(csvContent, latestCreationTime); return tokenPayments; }