@@ -92,6 +92,7 @@ export default function useRoller() {
9292 const { setNextRoll } = useTimerStore();
9393
9494 const {
95+ invitesLoading,
9596 nextBatchTime,
9697 point,
9798 points,
@@ -262,7 +263,8 @@ export default function useRoller() {
262263 }: UpdateParams) => {
263264 if (l1Txn) storePendingL1Txn(l1Txn);
264265
265− const interval = setInterval(async () => {
266+ let interval: any;
267+ const check = async () => {
266268 const updatedPoint = await initPoint(point);
267269 const changedField = !points[point]
268270 ? 'newPoint'
@@ -274,7 +276,10 @@ export default function useRoller() {
274276
275277 if (!updatedPoint.isPlaceholder && changedField) {
276278 updatePoint(updatedPoint);
277− clearInterval(interval);
279+ if (interval) {
280+ clearInterval(interval);
281+ }
282+
278283 if (l1Txn) deletePendingL1Txn(l1Txn);
279284 if (notify) {
280285 showNotification(
@@ -282,7 +287,10 @@ export default function useRoller() {
282287 );
283288 }
284289 }
285− }, intervalTime);
290+ };
291+
292+ interval = setInterval(check, intervalTime);
293+ check();
286294 },
287295 [points, initPoint, updatePoint, storePendingL1Txn, deletePendingL1Txn]
288296 );
@@ -352,6 +360,10 @@ export default function useRoller() {
352360 };
353361
354362 const getInvites = useCallback(async () => {
363+ if (invitesLoading) {
364+ return;
365+ }
366+
355367 try {
356368 setInvitesLoading(true);
357369 const curPoint: number = Number(need.point(pointCursor));