fix: getEpochInfo RPC endpoint now includes the current block height

This commit is contained in:
Michael Vines 2020-07-21 14:43:40 -07:00
parent a5dd848702
commit 3b87780f21
4 changed files with 13 additions and 4 deletions

1
web3.js/module.d.ts vendored
View File

@ -183,6 +183,7 @@ declare module '@solana/web3.js' {
slotIndex: number;
slotsInEpoch: number;
absoluteSlot: number;
blockHeight?: number;
};
export type EpochSchedule = {

View File

@ -208,6 +208,7 @@ declare module '@solana/web3.js' {
slotIndex: number,
slotsInEpoch: number,
absoluteSlot: number,
blockHeight: ?number,
};
declare export type LeaderSchedule = {

View File

@ -246,12 +246,14 @@ const GetInflationGovernorResult = struct({
* @property {number} slotIndex
* @property {number} slotsInEpoch
* @property {number} absoluteSlot
* @property {number} blockHeight
*/
type EpochInfo = {
epoch: number,
slotIndex: number,
slotsInEpoch: number,
absoluteSlot: number,
blockHeight: number | null,
};
const GetEpochInfoResult = struct({
@ -259,6 +261,7 @@ const GetEpochInfoResult = struct({
slotIndex: 'number',
slotsInEpoch: 'number',
absoluteSlot: 'number',
blockHeight: 'number?',
});
/**
@ -442,9 +445,7 @@ const GetEpochScheduleRpcResult = struct({
/**
* Expected JSON RPC response for the "getLeaderSchedule" message
*/
const GetLeaderScheduleRpcResult = jsonRpcResult(
GetLeaderScheduleResult,
);
const GetLeaderScheduleRpcResult = jsonRpcResult(GetLeaderScheduleResult);
/**
* Expected JSON RPC response for the "getBalance" message

View File

@ -394,13 +394,19 @@ test('get epoch info', async () => {
slotIndex: 1,
slotsInEpoch: 8192,
absoluteSlot: 1,
blockHeight: 1,
},
},
]);
const epochInfo = await connection.getEpochInfo();
for (const key of ['epoch', 'slotIndex', 'slotsInEpoch', 'absoluteSlot']) {
for (const key of [
'epoch',
'slotIndex',
'slotsInEpoch',
'absoluteSlot' /*, 'blockHeight'*/, // Uncomment blockHeight after 1.1.20 ships
]) {
expect(epochInfo).toHaveProperty(key);
expect(epochInfo[key]).toBeGreaterThanOrEqual(0);
}