Skip to content

Commit 8a2677a

Browse files
feat: Added transformIdx to the event
1 parent eb6d96b commit 8a2677a

File tree

4 files changed

+32
-1
lines changed

4 files changed

+32
-1
lines changed

src/event.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export interface Event {
1616
contractHash: Hash | null;
1717
contractPackageHash: Hash | null;
1818
eventId: number;
19+
transformIdx: number;
1920
data: Record<string, CLValue>;
2021
}
2122

src/example.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { HttpHandler, RpcClient } from 'casper-js-sdk';
2+
3+
import { Parser } from './parser';
4+
5+
(async () => {
6+
const rpcHandler = new HttpHandler('http://3.81.135.135:7777/rpc');
7+
8+
const rpcClient = new RpcClient(rpcHandler);
9+
10+
const parser = await Parser.create(rpcClient, [
11+
'333f0e776995a27ad8502e29b141b875951f92fe6b61329a59f1f875ef48e16a',
12+
]);
13+
14+
const transaction = await rpcClient.getTransactionByTransactionHash(
15+
'1592814db95151bb9366112dea6e10fe5d8043ba2b1efd28545a0b6e53839a70',
16+
);
17+
18+
const events = parser.parseExecutionResult(
19+
transaction.executionInfo!.executionResult,
20+
);
21+
22+
events.forEach(console.log);
23+
})();

src/parser.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,9 @@ export class Parser {
138138

139139
const results: ParseResult[] = [];
140140

141-
for (const transform of executionResult.effects) {
141+
for (let i = 0; i < executionResult.effects.length; i++) {
142+
const transform = executionResult.effects[i];
143+
142144
if (!transform.key.dictionary) {
143145
continue;
144146
}
@@ -168,6 +170,7 @@ export class Parser {
168170
contractPackageHash: null,
169171
name: eventNameWithRemainder.result,
170172
eventId: parseInt(dictionary.key),
173+
transformIdx: i,
171174
data: {},
172175
};
173176

test/parser.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ describe('Parser', () => {
6262
expect(events[0].event!.name).toEqual('BallotCast');
6363
expect(events[0].event!.contractHash).toEqual(contractHash);
6464
expect(events[0].event!.contractPackageHash).toEqual(contractPackageHash);
65+
expect(events[0].event!.eventId).toEqual(2);
66+
expect(events[0].event!.transformIdx).toEqual(99);
6567

6668
expect(Object.keys(events[0].event!.data!).length).toEqual(5);
6769

@@ -75,6 +77,8 @@ describe('Parser', () => {
7577
expect(events[1].event!.name).toEqual('SimpleVotingCreated');
7678
expect(events[1].event!.contractHash).toEqual(contractHash);
7779
expect(events[1].event!.contractPackageHash).toEqual(contractPackageHash);
80+
expect(events[1].event!.eventId).toEqual(3);
81+
expect(events[1].event!.transformIdx).toEqual(115);
7882

7983
expect(Object.keys(events[1].event!.data!).length).toEqual(12);
8084

0 commit comments

Comments
 (0)