@saberhq/sail
Version:
Account caching and batched loading for React-based Solana applications.
21 lines • 883 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useNetworkTPS = void 0;
const use_solana_1 = require("@saberhq/use-solana");
const react_query_1 = require("react-query");
/**
* Returns the current network TPS.
* @returns
*/
const useNetworkTPS = () => {
const { network, connection } = (0, use_solana_1.useSolana)();
return (0, react_query_1.useQuery)(["networkTps", network], async () => {
const performanceSamples = await connection.getRecentPerformanceSamples(15);
const avgTpsSamples = performanceSamples
.filter((sample) => sample.numTransactions !== 0)
.map((sample) => sample.numTransactions / sample.samplePeriodSecs);
return avgTpsSamples.reduce((a, b) => a + b) / avgTpsSamples.length;
});
};
exports.useNetworkTPS = useNetworkTPS;
//# sourceMappingURL=useNetworkTPS.js.map
;