Skip to content

Commit

Permalink
feat: rename stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
alexp3y committed Jan 27, 2025
1 parent 114d199 commit 6e2480d
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 20 deletions.
10 changes: 0 additions & 10 deletions src/app/common/monitor-confirmations/monitor-confirmations.ts

This file was deleted.

33 changes: 23 additions & 10 deletions src/background/alarms/transaction-monitor.ts
Original file line number Diff line number Diff line change
@@ -1,32 +1,45 @@
import type { PendingConfirmation } from '@app/common/monitor-confirmations/monitor-confirmations';
/* eslint-disable no-console */
import { z } from 'zod';

export async function monitorTransactions() {
const alarm = await chrome.alarms.get('transaction-monitor');
import { supportedBlockchains } from '@leather.io/models';

Check failure on line 4 in src/background/alarms/transaction-monitor.ts

View workflow job for this annotation

GitHub Actions / typecheck

'"@leather.io/models"' has no exported member named 'supportedBlockchains'. Did you mean 'SupportedBlockchains'?

export const pendingConfirmationSchema = z.object({
chain: z.enum(supportedBlockchains),
txid: z.string(),
});

export type PendingConfirmation = z.infer<typeof pendingConfirmationSchema>;

const pendingConfirmationsAlarm = 'pending-confirmation-alarm';
const PENDING_CONFIRMATIONS_STORE = 'pendingConfirmations';

export async function monitorPendingConfirmations() {
console.log('monitoring confirmations');
const alarm = await chrome.alarms.get(pendingConfirmationsAlarm);

if (!alarm) {
await chrome.alarms.create('transaction-monitor', {
console.log('starting pending confirmation alarm');
await chrome.alarms.create(pendingConfirmationsAlarm, {
periodInMinutes: 0.05,
});
}
}

const MONITORED_TXNS_KEY = 'monitoredTransactions';

interface PendingConfirmationStore {
pendingConfirmations: PendingConfirmation[];
}

export async function readTransactionStore() {
export async function readPendingConfirmationsStore() {
const { pendingConfirmations = [] } = chrome.storage.local.get(
MONITORED_TXNS_KEY
PENDING_CONFIRMATIONS_STORE
) as unknown as PendingConfirmationStore;

return pendingConfirmations;
}

export async function writeTransaction(pendingConfirmation: PendingConfirmation) {
const exisitingPendingConfirmations = await readTransactionStore();
const exisitingPendingConfirmations = await readPendingConfirmationsStore();
return await chrome.storage.local.set({
[MONITORED_TXNS_KEY]: [pendingConfirmation, ...exisitingPendingConfirmations],
[PENDING_CONFIRMATIONS_STORE]: [pendingConfirmation, ...exisitingPendingConfirmations],
});
}
3 changes: 3 additions & 0 deletions src/background/background.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { CONTENT_SCRIPT_PORT, type LegacyMessageFromContentScript } from '@share
import { WalletRequests } from '@shared/rpc/rpc-methods';
import { warnUsersAboutDevToolsDangers } from '@shared/utils/dev-tools-warning-log';

import { monitorPendingConfirmations } from './alarms/transaction-monitor';
import { initContextMenuActions } from './init-context-menus';
import { internalBackgroundMessageHandler } from './messaging/internal-methods/message-handler';
import {
Expand Down Expand Up @@ -59,3 +60,5 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
// Listener fn must return `true` to indicate the response will be async
return true;
});

monitorPendingConfirmations();

0 comments on commit 6e2480d

Please sign in to comment.