SC CODE: // Smart Raffle
Function SmartRaffle(a String, x String, y String, z String) Uint64
10 dim deposit_count,win,min_play,active,max_deposit as Uint64
20 LET deposit_count = LOAD("deposit_count")+1
30 LET min_play = LOAD("min_play")
40 LET active = LOAD("active")
50 LET max_deposit = LOAD("max_deposit")
60 IF active == 0 THEN GOTO 230
70 IF DEROVALUE() < min_play THEN GOTO 230
80 STORE("depositor_address" + (deposit_count-1), SIGNER())
90 STORE("deposit_total", LOAD("deposit_total") + DEROVALUE())
100 STORE("deposit_count",deposit_count)
110 STORE("a" + (deposit_count-1), a)
120 STORE("x" + (deposit_count-1), x)
130 STORE("y" + (deposit_count-1), y)
140 STORE("z" + (deposit_count-1), z)
150 IF deposit_count < max_deposit THEN GOTO 230
160 LET win = RANDOM() % deposit_count
170 STORE("winner",LOAD("a" + win))
180 STORE("winnum", win)
190 SEND_DERO_TO_ADDRESS(LOAD("owner"),LOAD("deposit_total"))
200 STORE("deposit_count", 0)
210 STORE("deposit_total", 0)
220 STORE("active", 0)
230 RETURN 0
End Function
Function InitializePrivate() Uint64
10 STORE("owner", SIGNER())
20 STORE("version","1.1.5")
30 STORE("deposit_count", 0)
40 STORE("deposit_total", 0)
50 STORE("max_deposit", 2)
60 STORE("min_play", 100)
70 STORE("readme", "Readme")
80 STORE("winner", "NA")
90 STORE("winnum", "NA")
100 STORE("active", 0)
110 RETURN 0
End Function
Function ForceDraw() Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 dim deposit_count,win as Uint64
40 LET desposit_count = LOAD("deposit_count")
50 LET win = RANDOM() % deposit_count
60 STORE("winner",LOAD("a" + win))
70 STORE("winnum", win)
80 SEND_DERO_TO_ADDRESS(LOAD("owner"),LOAD("deposit_total"))
90 STORE("deposit_count", 0)
100 STORE("deposit_total", 0)
110 STORE("active", 0)
120 RETURN 0
End Function
Function ClearWinner() Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 STORE("winner", "")
40 STORE("winnum", "")
50 RETURN 0
End Function |
SC Arguments: [Name:SC_ACTION Type:uint64 Value:'1' Name:SC_CODE Type:string Value:'// Smart Raffle
Function SmartRaffle(a String, x String, y String, z String) Uint64
10 dim deposit_count,win,min_play,active,max_deposit as Uint64
20 LET deposit_count = LOAD("deposit_count")+1
30 LET min_play = LOAD("min_play")
40 LET active = LOAD("active")
50 LET max_deposit = LOAD("max_deposit")
60 IF active == 0 THEN GOTO 230
70 IF DEROVALUE() < min_play THEN GOTO 230
80 STORE("depositor_address" + (deposit_count-1), SIGNER())
90 STORE("deposit_total", LOAD("deposit_total") + DEROVALUE())
100 STORE("deposit_count",deposit_count)
110 STORE("a" + (deposit_count-1), a)
120 STORE("x" + (deposit_count-1), x)
130 STORE("y" + (deposit_count-1), y)
140 STORE("z" + (deposit_count-1), z)
150 IF deposit_count < max_deposit THEN GOTO 230
160 LET win = RANDOM() % deposit_count
170 STORE("winner",LOAD("a" + win))
180 STORE("winnum", win)
190 SEND_DERO_TO_ADDRESS(LOAD("owner"),LOAD("deposit_total"))
200 STORE("deposit_count", 0)
210 STORE("deposit_total", 0)
220 STORE("active", 0)
230 RETURN 0
End Function
Function InitializePrivate() Uint64
10 STORE("owner", SIGNER())
20 STORE("version","1.1.5")
30 STORE("deposit_count", 0)
40 STORE("deposit_total", 0)
50 STORE("max_deposit", 2)
60 STORE("min_play", 100)
70 STORE("readme", "Readme")
80 STORE("winner", "NA")
90 STORE("winnum", "NA")
100 STORE("active", 0)
110 RETURN 0
End Function
Function ForceDraw() Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 dim deposit_count,win as Uint64
40 LET desposit_count = LOAD("deposit_count")
50 LET win = RANDOM() % deposit_count
60 STORE("winner",LOAD("a" + win))
70 STORE("winnum", win)
80 SEND_DERO_TO_ADDRESS(LOAD("owner"),LOAD("deposit_total"))
90 STORE("deposit_count", 0)
100 STORE("deposit_total", 0)
110 STORE("active", 0)
120 RETURN 0
End Function
Function ClearWinner() Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 STORE("winner", "")
40 STORE("winnum", "")
50 RETURN 0
End Function'] |