44 StakeDelayedAlreadyTransferredWithdrawn ,
55 StakeDelayedNotTransferred ,
66 StakeLocked ,
7- StakeSet ,
7+ StakeSet as StakeSetEvent ,
88} from "../generated/SortitionModule/SortitionModule" ;
9+ import { Court , StakeSet as StakeSetEntity } from "../generated/schema" ;
910
1011import { updateJurorDelayedStake , updateJurorStake } from "./entities/JurorTokensPerCourt" ;
1112import { ensureUser } from "./entities/User" ;
@@ -23,13 +24,26 @@ export function handleStakeDelayedNotTransferred(event: StakeDelayedNotTransferr
2324 updateJurorDelayedStake ( event . params . _address . toHexString ( ) , event . params . _courtID . toString ( ) , event . params . _amount ) ;
2425}
2526
26- export function handleStakeSet ( event : StakeSet ) : void {
27+ export function handleStakeSet ( event : StakeSetEvent ) : void {
2728 const jurorAddress = event . params . _address . toHexString ( ) ;
2829 ensureUser ( jurorAddress ) ;
2930 const courtID = event . params . _courtID . toString ( ) ;
3031
3132 updateJurorStake ( jurorAddress , courtID . toString ( ) , SortitionModule . bind ( event . address ) , event . block . timestamp ) ;
3233 //stake is updated instantly so no delayed amount, set delay amount to zero
3334 updateJurorDelayedStake ( jurorAddress , courtID , ZERO ) ;
35+
36+ const generalCourt = Court . load ( "1" ) ;
37+ if ( ! generalCourt ) return ;
38+ const stakeSet = new StakeSetEntity ( event . transaction . hash . toHex ( ) + "-" + event . logIndex . toString ( ) ) ;
39+ stakeSet . address = event . params . _address ;
40+ stakeSet . courtID = event . params . _courtID ;
41+ stakeSet . stake = event . params . _amount ;
42+ stakeSet . newTotalStake = generalCourt . effectiveStake ;
43+ stakeSet . blocknumber = event . block . number ;
44+ stakeSet . timestamp = event . block . timestamp ;
45+ stakeSet . logIndex = event . logIndex ;
46+ stakeSet . save ( ) ;
3447}
48+
3549export function handleStakeLocked ( event : StakeLocked ) : void { }
0 commit comments