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'] |