Skip to content

Commit

Permalink
Merge pull request #77 from kaleido-io/full-full-receipts
Browse files Browse the repository at this point in the history
Pass through EthConnect/EVMConnect receipts unchanged
  • Loading branch information
awrichar authored Aug 10, 2022
2 parents c4d1223 + 0aed1f4 commit eba8492
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 27 deletions.
10 changes: 2 additions & 8 deletions src/eventstream-proxy/eventstream-proxy.base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import { Logger } from '@nestjs/common';
import { MessageBody, SubscribeMessage } from '@nestjs/websockets';
import { v4 as uuidv4 } from 'uuid';
import { Event } from '../event-stream/event-stream.interfaces';
import { Event, EventStreamReply } from '../event-stream/event-stream.interfaces';
import { EventStreamService, EventStreamSocket } from '../event-stream/event-stream.service';
import {
WebSocketEventsBase,
Expand All @@ -27,7 +27,6 @@ import {
import {
AckMessageData,
EventListener,
ReceiptEvent,
WebSocketMessageBatchData,
WebSocketMessageWithId,
} from './eventstream-proxy.interfaces';
Expand Down Expand Up @@ -86,12 +85,7 @@ export abstract class EventStreamProxyBase extends WebSocketEventsBase {
this.queueTask(() => this.processEvents(events));
},
receipt => {
this.broadcast('receipt', <ReceiptEvent>{
id: receipt.headers?.requestId,
success: receipt.headers?.type === 'TransactionSuccess',
message: receipt.errorMessage,
...receipt,
});
this.broadcast('receipt', <EventStreamReply>receipt);
},
);
}
Expand Down
11 changes: 0 additions & 11 deletions src/eventstream-proxy/eventstream-proxy.interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,6 @@ export interface EventListener {
onEvent: (subName: string, event: Event, process: EventProcessor) => void | Promise<void>;
}

export class ReceiptEvent {
@ApiProperty()
id: string;

@ApiProperty()
success: boolean;

@ApiProperty()
message?: string;
}

export interface WebSocketMessageWithId extends WebSocketMessage {
id: string;
}
Expand Down
19 changes: 11 additions & 8 deletions test/suites/websocket.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import {
EventStreamReply,
EventStreamSubscription,
} from '../../src/event-stream/event-stream.interfaces';
import { ReceiptEvent } from '../../src/eventstream-proxy/eventstream-proxy.interfaces';
import {
ApprovalForAllEvent,
ERC20ApprovalEvent,
Expand Down Expand Up @@ -860,9 +859,11 @@ export default (context: TestContext) => {
.expectJson(message => {
expect(message).toMatchObject(<WebSocketMessage>{
event: 'receipt',
data: <ReceiptEvent>{
id: '1',
success: true,
data: <EventStreamReply>{
headers: {
requestId: '1',
type: 'TransactionSuccess',
},
},
});
return true;
Expand All @@ -885,10 +886,12 @@ export default (context: TestContext) => {
.expectJson(message => {
expect(message).toMatchObject(<WebSocketMessage>{
event: 'receipt',
data: <ReceiptEvent>{
id: '1',
success: false,
message: 'Failed',
data: <EventStreamReply>{
headers: {
requestId: '1',
type: 'Error',
},
errorMessage: 'Failed',
},
});
return true;
Expand Down

0 comments on commit eba8492

Please sign in to comment.