4
4
StakeDelayedAlreadyTransferredWithdrawn ,
5
5
StakeDelayedNotTransferred ,
6
6
StakeLocked ,
7
- StakeSet ,
7
+ StakeSet as StakeSetEvent ,
8
8
} from "../generated/SortitionModule/SortitionModule" ;
9
+ import { StakeSet as StakeSetEntity } from "../generated/schema" ;
9
10
10
11
import { updateJurorDelayedStake , updateJurorStake } from "./entities/JurorTokensPerCourt" ;
11
12
import { ensureUser } from "./entities/User" ;
@@ -23,13 +24,24 @@ export function handleStakeDelayedNotTransferred(event: StakeDelayedNotTransferr
23
24
updateJurorDelayedStake ( event . params . _address . toHexString ( ) , event . params . _courtID . toString ( ) , event . params . _amount ) ;
24
25
}
25
26
26
- export function handleStakeSet ( event : StakeSet ) : void {
27
+ export function handleStakeSet ( event : StakeSetEvent ) : void {
27
28
const jurorAddress = event . params . _address . toHexString ( ) ;
28
- ensureUser ( jurorAddress ) ;
29
29
const courtID = event . params . _courtID . toString ( ) ;
30
30
31
31
updateJurorStake ( jurorAddress , courtID . toString ( ) , SortitionModule . bind ( event . address ) , event . block . timestamp ) ;
32
32
//stake is updated instantly so no delayed amount, set delay amount to zero
33
33
updateJurorDelayedStake ( jurorAddress , courtID , ZERO ) ;
34
+
35
+ const stakeSet = new StakeSetEntity ( event . transaction . hash . toHex ( ) + "-" + event . logIndex . toString ( ) ) ;
36
+ const juror = ensureUser ( jurorAddress ) ;
37
+ stakeSet . juror = juror . id ;
38
+ stakeSet . courtID = event . params . _courtID ;
39
+ stakeSet . stake = event . params . _amount ;
40
+ stakeSet . newTotalStake = juror . totalStake ;
41
+ stakeSet . blocknumber = event . block . number ;
42
+ stakeSet . timestamp = event . block . timestamp ;
43
+ stakeSet . logIndex = event . logIndex ;
44
+ stakeSet . save ( ) ;
34
45
}
46
+
35
47
export function handleStakeLocked ( event : StakeLocked ) : void { }
0 commit comments