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 {
1616 contractHash : Hash | null ;
1717 contractPackageHash : Hash | null ;
1818 eventId : number ;
19+ transformIdx : number ;
1920 data : Record < string , CLValue > ;
2021}
2122
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 {
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
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments