File tree Expand file tree Collapse file tree 4 files changed +32
-1
lines changed Expand file tree Collapse file tree 4 files changed +32
-1
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ export interface Event {
16
16
contractHash : Hash | null ;
17
17
contractPackageHash : Hash | null ;
18
18
eventId : number ;
19
+ transformIdx : number ;
19
20
data : Record < string , CLValue > ;
20
21
}
21
22
Original file line number Diff line number Diff line change
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
+ } ) ( ) ;
Original file line number Diff line number Diff line change @@ -138,7 +138,9 @@ export class Parser {
138
138
139
139
const results : ParseResult [ ] = [ ] ;
140
140
141
- for ( const transform of executionResult . effects ) {
141
+ for ( let i = 0 ; i < executionResult . effects . length ; i ++ ) {
142
+ const transform = executionResult . effects [ i ] ;
143
+
142
144
if ( ! transform . key . dictionary ) {
143
145
continue ;
144
146
}
@@ -168,6 +170,7 @@ export class Parser {
168
170
contractPackageHash : null ,
169
171
name : eventNameWithRemainder . result ,
170
172
eventId : parseInt ( dictionary . key ) ,
173
+ transformIdx : i ,
171
174
data : { } ,
172
175
} ;
173
176
Original file line number Diff line number Diff line change @@ -62,6 +62,8 @@ describe('Parser', () => {
62
62
expect ( events [ 0 ] . event ! . name ) . toEqual ( 'BallotCast' ) ;
63
63
expect ( events [ 0 ] . event ! . contractHash ) . toEqual ( contractHash ) ;
64
64
expect ( events [ 0 ] . event ! . contractPackageHash ) . toEqual ( contractPackageHash ) ;
65
+ expect ( events [ 0 ] . event ! . eventId ) . toEqual ( 2 ) ;
66
+ expect ( events [ 0 ] . event ! . transformIdx ) . toEqual ( 99 ) ;
65
67
66
68
expect ( Object . keys ( events [ 0 ] . event ! . data ! ) . length ) . toEqual ( 5 ) ;
67
69
@@ -75,6 +77,8 @@ describe('Parser', () => {
75
77
expect ( events [ 1 ] . event ! . name ) . toEqual ( 'SimpleVotingCreated' ) ;
76
78
expect ( events [ 1 ] . event ! . contractHash ) . toEqual ( contractHash ) ;
77
79
expect ( events [ 1 ] . event ! . contractPackageHash ) . toEqual ( contractPackageHash ) ;
80
+ expect ( events [ 1 ] . event ! . eventId ) . toEqual ( 3 ) ;
81
+ expect ( events [ 1 ] . event ! . transformIdx ) . toEqual ( 115 ) ;
78
82
79
83
expect ( Object . keys ( events [ 1 ] . event ! . data ! ) . length ) . toEqual ( 12 ) ;
80
84
You can’t perform that action at this time.
0 commit comments