Skip to content

Commit 6d48030

Browse files
committed
Fix lint errors
1 parent 4419530 commit 6d48030

2 files changed

Lines changed: 22 additions & 38 deletions

File tree

packages/aleo-wallet-adaptor-core/src/transaction.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export async function pollTransactionStatus(options: PollTransactionOptions): Pr
5151
} = options;
5252

5353
const startTime = Date.now();
54-
let transaction: Transaction = {
54+
const transaction: Transaction = {
5555
id: transactionId,
5656
status: TransactionStatus.PENDING,
5757
};
Lines changed: 21 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,45 @@
11
import { Account } from '@provablehq/aleo-types';
22
import { WalletReadyState } from './wallet';
33

4-
export interface WalletEvents {
5-
/**
6-
* Emitted when the wallet is connected
7-
*/
8-
connect(account: Account): void;
4+
export type WalletEventMap = {
5+
connect: Account;
6+
disconnect: void;
7+
accountChange: Account;
8+
readyStateChange: WalletReadyState;
9+
error: Error;
10+
};
911

10-
/**
11-
* Emitted when the wallet is disconnected
12-
*/
13-
disconnect(): void;
14-
15-
/**
16-
* Emitted when the connected account changes
17-
*/
18-
accountChange(newAccount: Account): void;
19-
20-
/**
21-
* Emitted when the wallet's ready state changes
22-
*/
23-
readyStateChange(readyState: WalletReadyState): void;
24-
25-
/**
26-
* Emitted when an error occurs
27-
*/
28-
error(error: Error): void;
29-
30-
/**
31-
* Index signature for additional events
32-
*/
33-
[eventName: string]: ((...args: any[]) => void) | undefined;
34-
}
12+
export type WalletEventType = keyof WalletEventMap;
13+
export type WalletEventHandler<T extends WalletEventType> = (payload: WalletEventMap[T]) => void;
3514

3615
/**
3716
* Base interface for any wallet event emitter
3817
*/
39-
export interface EventEmitter<
40-
Events extends Record<string, ((...args: any[]) => unknown) | undefined> = WalletEvents,
41-
> {
18+
export interface EventEmitter {
4219
/**
4320
* Register an event listener
4421
*/
45-
on<E extends keyof Events>(event: E, listener: Events[E]): this;
22+
on<T extends WalletEventType>(event: T, listener: WalletEventHandler<T>): this;
4623

4724
/**
4825
* Register a one-time event listener
4926
*/
50-
once<E extends keyof Events>(event: E, listener: Events[E]): this;
27+
once<T extends WalletEventType>(event: T, listener: WalletEventHandler<T>): this;
5128

5229
/**
5330
* Unregister an event listener
5431
*/
55-
off<E extends keyof Events>(event: E, listener: Events[E]): this;
32+
off<T extends WalletEventType>(event: T, listener: WalletEventHandler<T>): this;
5633

5734
/**
5835
* Emit an event
5936
*/
60-
emit<E extends keyof Events>(event: E, ...args: Parameters<NonNullable<Events[E]>>): boolean;
37+
emit<T extends WalletEventType>(event: T, payload: WalletEventMap[T]): boolean;
38+
}
39+
40+
/**
41+
* Type guard to check if an event type is valid
42+
*/
43+
export function isValidWalletEvent(event: string): event is WalletEventType {
44+
return ['connect', 'disconnect', 'accountChange', 'readyStateChange', 'error'].includes(event);
6145
}

0 commit comments

Comments
 (0)