Skip to content

Commit e42d9b0

Browse files
committed
refactor(wallet): create enums for event names
1 parent f7f7d45 commit e42d9b0

File tree

5 files changed

+18
-7
lines changed

5 files changed

+18
-7
lines changed

packages/wallet/src/InMemoryUtxoRepository.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { CardanoProvider, Ogmios, CardanoSerializationLib, CSL } from '@cardano-
55
import { dummyLogger, Logger } from 'ts-log';
66
import { ImplicitCoin, InputSelector, SelectionConstraints, SelectionResult } from '@cardano-sdk/cip2';
77
import { KeyManager } from './KeyManagement';
8-
import { OnTransactionArgs, TransactionTracker, UtxoRepositoryEvents } from '.';
8+
import { OnTransactionArgs, TransactionTracker, TransactionTrackerEvent, UtxoRepositoryEvents } from '.';
99
import { cslToOgmios } from '@cardano-sdk/core/src/Ogmios';
1010
import Emittery from 'emittery';
1111
import { TransactionError, TransactionFailure } from './TransactionError';
@@ -47,7 +47,7 @@ export class InMemoryUtxoRepository extends Emittery<UtxoRepositoryEvents> imple
4747
this.#delegationAndRewards = { rewards: undefined, delegate: undefined };
4848
this.#inputSelector = inputSelector;
4949
this.#keyManager = keyManager;
50-
txTracker.on('transaction', (args) => {
50+
txTracker.on(TransactionTrackerEvent.Transaction, (args) => {
5151
// not blocking to make it testable easier
5252
this.#onTransaction(args).catch(this.#logger.error);
5353
});

packages/wallet/src/types.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ import { ImplicitCoin, SelectionConstraints, SelectionResult } from '@cardano-sd
33
import { CSL } from '@cardano-sdk/core';
44
import Emittery from 'emittery';
55

6+
export enum UtxoRepositoryEvent {
7+
TransactionUntracked = 'transactionUntracked'
8+
}
9+
610
export type UtxoRepositoryEvents = { transactionUntracked: CSL.Transaction };
711
export interface UtxoRepository extends Emittery<UtxoRepositoryEvents> {
812
allUtxos: Schema.Utxo;
@@ -25,6 +29,11 @@ export interface OnTransactionArgs {
2529
*/
2630
confirmed: Promise<void>;
2731
}
32+
33+
export enum TransactionTrackerEvent {
34+
Transaction = 'transaction'
35+
}
36+
2837
export type TransactionTrackerEvents = { transaction: OnTransactionArgs };
2938
export interface TransactionTracker extends Emittery<TransactionTrackerEvents> {
3039
/**

packages/wallet/test/InMemoryTransactionTracker.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { InMemoryTransactionTracker } from '../src/InMemoryTransactionTracker';
44
import { TransactionFailure } from '../src/TransactionError';
55
import { ledgerTip, providerStub, ProviderStub, queryTransactionsResult } from './ProviderStub';
66
import mockDelay from 'delay';
7+
import { TransactionTrackerEvent } from '../src';
78

89
jest.mock('delay', () => jest.fn().mockResolvedValue(void 0));
910

@@ -42,7 +43,7 @@ describe('InMemoryTransactionTracker', () => {
4243

4344
beforeEach(() => {
4445
onTransaction = jest.fn();
45-
txTracker.on('transaction', onTransaction);
46+
txTracker.on(TransactionTrackerEvent.Transaction, onTransaction);
4647
});
4748

4849
it('invalid transaction (no ttl)', async () => {

packages/wallet/test/InMemoryUtxoRepository.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { roundRobinRandomImprove, InputSelector } from '@cardano-sdk/cip2';
33
import { loadCardanoSerializationLib, CardanoSerializationLib, CSL, Ogmios } from '@cardano-sdk/core';
44
import { flushPromises, SelectionConstraints } from '@cardano-sdk/util-dev';
55
import { providerStub, delegate, rewards, ProviderStub, utxo, delegationAndRewards } from './ProviderStub';
6-
import { InMemoryUtxoRepository, KeyManagement, UtxoRepository } from '../src';
6+
import { InMemoryUtxoRepository, KeyManagement, UtxoRepository, UtxoRepositoryEvent } from '../src';
77
import { MockTransactionTracker } from './mockTransactionTracker';
88
import { ogmiosToCsl } from '@cardano-sdk/core/src/Ogmios';
99
import { TxIn, TxOut } from '@cardano-ogmios/schema';
@@ -109,7 +109,7 @@ describe('InMemoryUtxoRepository', () => {
109109
await utxoRepository.sync();
110110
numUtxoPreTransaction = utxoRepository.allUtxos.length;
111111
onTransactionUntracked = jest.fn();
112-
utxoRepository.on('transactionUntracked', onTransactionUntracked);
112+
utxoRepository.on(UtxoRepositoryEvent.TransactionUntracked, onTransactionUntracked);
113113
});
114114

115115
it('preconditions', () => {

packages/wallet/test/integration/withdrawal.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import {
1111
TransactionError,
1212
TransactionFailure,
1313
TransactionTracker,
14-
UtxoRepository
14+
UtxoRepository,
15+
UtxoRepositoryEvent
1516
} from '@cardano-sdk/wallet';
1617
import { providerStub } from '../ProviderStub';
1718
// Not testing with a real provider
@@ -50,7 +51,7 @@ describe('integration/withdrawal', () => {
5051

5152
it('does not throw', async () => {
5253
// This is not testing anything, just a usage example
53-
utxoRepository.on('transactionUntracked', (tx) => {
54+
utxoRepository.on(UtxoRepositoryEvent.TransactionUntracked, (tx) => {
5455
// UtxoRepository is not sure whether it's UTxO can be spent due to failing to track transaction confirmation.
5556
// SubmitTxResult.confirmed has rejected. Calling trackTransaction will lock UTxO again:
5657
txTracker.trackTransaction(tx).catch((error) => {

0 commit comments

Comments
 (0)