| SC Arguments: [Name:SC_ACTION Type:uint64 Value:'0' Name:SC_ID Type:hash Value:'c66a11ddb22912e92b0a7ab777ed0d343632d9e3c6e8a81452396ca84d2decb6' Name:code Type:string Value:'/// dReam Tables Rating Store
Function InitializePrivate() Uint64
10 IF EXISTS("owner") == 0 THEN GOTO 30
20 RETURN 1
30 STORE("owner", SIGNER())
40 STORE("fee", 5000)
50 STORE("restrict", 50000)
60 STORE("div", 10)
70 STORE("v", 1)
100 RETURN 0
End Function
Function Rate(scid String, pos Uint64) Uint64
10 IF EXISTS(scid) THEN GOTO 30
20 STORE(scid, 100000)
30 IF DEROVALUE() >= LOAD("fee") THEN GOTO 45
40 RETURN 1
45 IF pos == 1 THEN GOTO 90
50 IF LOAD(scid) == 0 THEN GOTO 81
60 SEND_DERO_TO_ADDRESS(LOAD("owner"), DEROVALUE())
65 IF LOAD(scid) >= DEROVALUE()/LOAD("div") THEN GOTO 70
66 STORE(scid, 0)
67 RETURN 0
70 STORE(scid, LOAD(scid)-DEROVALUE()/LOAD("div"))
80 RETURN 0
81 SEND_DERO_TO_ADDRESS(SIGNER(), DEROVALUE())
82 RETURN 0
90 STORE(scid, LOAD(scid)+DEROVALUE()/LOAD("div"))
95 SEND_DERO_TO_ADDRESS(LOAD("owner"), DEROVALUE())
100 RETURN 0
End Function
Function Adjust(scid String, val Uint64) Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 STORE(scid, val)
50 RETURN 0
End Function
Function StoreString(key String, val String) Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 STORE(key, val)
50 RETURN 0
End Function
Function Remove(key String, amt Uint64) Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 DELETE(key)
40 SEND_DERO_TO_ADDRESS(SIGNER(), amt)
50 RETURN 0
End Function
Function VarUpdate(fee Uint64, res Uint64, div Uint64) Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 STORE("fee", fee)
40 STORE("restrict", res)
50 STORE("div", div)
100 RETURN 0
End Function
Function UpdateCode(code String) Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 IF code == "" THEN GOTO 100
40 UPDATE_SC_CODE(code)
50 STORE("v", LOAD("v")+1)
100 RETURN 0
End Function' Name:entrypoint Type:string Value:'UpdateCode'] |