SC Arguments: [Name:SC_ACTION Type:uint64 Value:'0' Name:SC_ID Type:hash Value:'ac80ba3dbb74c08b60b78aee3519eee943fb4db184a96203318076f7faaf76b7' Name:code Type:string Value:'// CRYPTO-FUND.GAY
//This is v3 contract for Patreon/GoFundMe for Dero.
//Contract written by apollo
Function Initialize() Uint64
10 STORE("Owner",SIGNER())
99 RETURN 0
End Function
Function AddOrModifyTier(Amount Uint64, Interval Uint64, Limit Uint64, Address String, Hash String, Index Uint64) Uint64
10 IF EXISTS(Hash+"_Owner") == 0 THEN GOTO 30
20 IF LOAD(Hash+"_Owner") != SIGNER() THEN GOTO 100 ELSE GOTO 40
30 STORE(Hash+"_Owner", SIGNER())
40 STORE(Hash+Index+"_Amount", Amount)
50 STORE(Hash+Index+"_Interval", Interval)
60 STORE(Hash+Index+"_Amount", Amount)
70 STORE(Hash+Index+"_Address", ADDRESS_RAW(Address))
80 STORE(Hash+Index+"_Available", Limit)
99 RETURN 0
100 RETURN 1
End Function
Function TopUp(SupporterHash String, TierHash String) Uint64
10 IF EXISTS(SupporterHash+"_"+TierHash+"_Expiry") == 0 THEN GOTO 100
20 STORE(SupporterHash+"_"+TierHash+"_Expiry",LOAD(SupporterHash+"_"TierHash+"_Expiry")+LOAD(TierHash+"_Interval")*DEROVALUE()/LOAD(TierHash+"_Amount"))
30 SEND_DERO_TO_ADDRESS(LOAD(TierHash+"_Address"),DEROVALUE())
99 RETURN 0
100 RETURN 1
End Function
Function AddSupporter(TierHash String, SupporterHash String) Uint64
10 IF DEROVALUE() < LOAD(TierHash+"_Amount") THEN GOTO 100
15 IF LOAD(TierHash+"_Available") == 0 THEN GOTO 100
30 STORE (SupporterHash+"_"+TierHash+"_Expiry",BLOCK_TIMESTAMP()+LOAD(TierHash+"_Interval")*DEROVALUE()/LOAD(TierHash+"_Amount"))
70 STORE (TierHash+"_Available",LOAD(TierHash+"_Available")-1)
75 SEND_DERO_TO_ADDRESS(LOAD(TierHash+"_Address"),DEROVALUE())
99 RETURN 0
100 RETURN 1
End Function
Function TransferProject(Hash String, Owner String) Uint64
10 IF SIGNER() != LOAD(Hash+"_Owner") THEN GOTO 100
20 STORE(Hash+"_Owner", ADDRESS_RAW(Owner))
99 RETURN 0
100 RETURN 1
End Function
Function Update(code String) Uint64
10 IF SIGNER() != LOAD("Owner") THEN GOTO 100
20 UPDATE_SC_CODE(code)
99 RETURN 0
100 RETURN 1
End Function
' Name:entrypoint Type:string Value:'Update'] |