Skip to content

Commit bed723b

Browse files
authored
Merge pull request #241 from fahatadam/main
fix: resolve BlockchainEvent data field being too generic
2 parents e1fcd3e + f44431a commit bed723b

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

src/blockchain/blockchain-indexer.service.spec.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,23 @@ describe('BlockchainIndexerService', () => {
136136
expect(processedEventRepo.findOne).toHaveBeenCalled();
137137
// No further processing should occur
138138
});
139+
140+
it('should allow strongly typed event data using generics', () => {
141+
const transferEvent: BlockchainEvent<{ from: string, to: string, amount: string, token: string }> = {
142+
txHash: '0xabc',
143+
logIndex: 1,
144+
blockNumber: 101,
145+
eventType: 'Transfer',
146+
data: {
147+
from: '0xsender',
148+
to: '0xreceiver',
149+
amount: '500',
150+
token: '0xtoken',
151+
},
152+
};
153+
154+
expect(transferEvent.data.amount).toBe('500');
155+
});
139156
});
140157

141158
describe('replayFromBlock', () => {

src/blockchain/interfaces/blockchain-event.interface.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
export interface BlockchainEvent {
1+
export interface BlockchainEvent<T = Record<string, any>> {
22
txHash: string;
33
logIndex: number;
44
blockNumber: number;
55
eventType: string;
6-
data: any; // Flexible for different event types
6+
data: T; // Flexible for different event types
77
}
88

99
export interface TransferEventData {

0 commit comments

Comments
 (0)