@@ -2,6 +2,7 @@ import { BigInt, ethereum } from "@graphprotocol/graph-ts"
2
2
import {
3
3
getOrCreateGlobal ,
4
4
createUser ,
5
+ ZERO ,
5
6
ONE ,
6
7
} from "./shared"
7
8
import {
@@ -14,13 +15,17 @@ import {
14
15
} from "../generated/schema"
15
16
16
17
export function handleGiveStatus ( call : GiveStatusCall ) : void {
17
- let referrer = new User ( call . inputs . _referrer . toHex ( ) )
18
- referrer . cmStatus = true
19
- referrer . save ( )
18
+ let referrer = createUser ( call . inputs . _referrer . toHex ( ) )
19
+ if ( referrer . cmStatus === false ) {
20
+ referrer . cmStatus = true
21
+ referrer . cmStatusInLaunch = true
22
+ referrer . save ( )
20
23
21
- let global = getOrCreateGlobal ( )
22
- global . cmStatusCount = global . cmStatusCount . plus ( ONE )
23
- global . save ( )
24
+ let global = getOrCreateGlobal ( )
25
+ global . cmStatusCount = global . cmStatusCount . plus ( ONE )
26
+ global . cmStatusInLaunchCount = global . cmStatusInLaunchCount . plus ( ONE )
27
+ global . save ( )
28
+ }
24
29
}
25
30
26
31
export function handleStakeStart ( event : StakeStart ) : void {
@@ -43,6 +48,12 @@ export function handleStakeStart (event: StakeStart): void {
43
48
referrer = createUser ( referrerID )
44
49
global . userCount = global . userCount . plus ( ONE )
45
50
}
51
+ if ( event . params . referralShares . gt ( ZERO ) ) {
52
+ if ( referrer . cmStatus === false ) {
53
+ global . cmStatusCount = global . cmStatusCount . plus ( ONE )
54
+ }
55
+ referrer . cmStatus = true
56
+ }
46
57
referrer . save ( )
47
58
global . save ( )
48
59
0 commit comments