diff --git a/src/execute/executeStakerReward.ts b/src/execute/executeStakerReward.ts index 617205b..f40690a 100755 --- a/src/execute/executeStakerReward.ts +++ b/src/execute/executeStakerReward.ts @@ -132,7 +132,7 @@ const processExportByEpoch = async ( argv.output ); - if (epoch < result.epoch) { + if (Number(epoch) < Number(result.epoch)) { return; } diff --git a/src/execute/executeValidatorReward.ts b/src/execute/executeValidatorReward.ts index e7c2d18..58cd5b1 100755 --- a/src/execute/executeValidatorReward.ts +++ b/src/execute/executeValidatorReward.ts @@ -134,8 +134,9 @@ const processExportByEpoch = async ( 'commission-reward', argv.output, ); + - if (epoch < result.epoch) { + if (Number(epoch) < Number(result.epoch)) { return; } @@ -156,7 +157,7 @@ const processExportByEpoch = async ( block, validatorAddress, ); - + const { rowData } = getAdditionalDataForCommissionReward( oasPrices, validatorStake, @@ -165,7 +166,7 @@ const processExportByEpoch = async ( validatorAddress, priceTime, ); - + await sleep(100); return { @@ -183,7 +184,7 @@ const processExportByEpoch = async ( } const dataExport = await Promise.all(promises); - + // process export await exportCsv( dataExport, @@ -193,7 +194,7 @@ const processExportByEpoch = async ( header, doc, ); - const totalSecondsEpoch = getTotalSecondProcess(startTimeProcess); + const totalSecondsEpoch = getTotalSecondProcess(startTimeProcess); console.info( `-->Export at Epoch ${epoch} took ${totalSecondsEpoch} seconds`, ); diff --git a/src/module/RewardStakes.ts b/src/module/RewardStakes.ts index 62bc884..9266d1f 100755 --- a/src/module/RewardStakes.ts +++ b/src/module/RewardStakes.ts @@ -232,7 +232,7 @@ export const getAdditionalDataForCommissionReward = ( const rowData = stakeData .filter((stake) => { const validatorTotalStake = stake.oas.add(stake.soas).add(stake.woas); - return validatorTotalStake.gt(0); + return validatorTotalStake; }) .map((stake) => { totalStake = totalStake.add(stake.oas).add(stake.soas).add(stake.woas); @@ -290,7 +290,7 @@ export const getAdditionalDataForStakerReward = ( address, epoch, block, - timestamp.format('YYYY-MM-DD HH:mm:ss'), + timestamp.format('YYYY/MM/DD HH:mm:ss'), utils.formatEther(stakeData.totalStake).toString(), utils.formatEther(stakeData.stakerReward).toString(), ...prices, diff --git a/src/utils/subgraph.ts b/src/utils/subgraph.ts index eceebd1..2e6815f 100755 --- a/src/utils/subgraph.ts +++ b/src/utils/subgraph.ts @@ -232,6 +232,16 @@ export class Subgraph { }; const data = await request(this.baseGraphUrl, GetValidators, variables); + if (data?.validators?.length == 0) { + return { + validators: [ + { + id: validator_address, + commissions: '0', + }, + ], + }; + } return data; }; public getValidatorStakes = async (validator: string, block: number) => { @@ -257,7 +267,7 @@ export class Subgraph { variables, ); - if (data.validators[0].stakes.length === 0) break; // All stake information already retrieved. + if (!data.validators[0] || data.validators[0].stakes.length === 0) break; // All stake information already retrieved. validatorStakes.validators[0].stakes = validatorStakes.validators[0].stakes.concat(data.validators[0].stakes); }