| SC Arguments: [Name:SC_ACTION Type:uint64 Value:'0' Name:SC_ID Type:hash Value:'ac80ba3dbb74c08b60b78aee3519eee943fb4db184a96203318076f7faaf76b7' Name:code Type:string Value:'Function AOMT(Am Uint64, I Uint64, L Uint64, Ad String, H String, i Uint64, W Uint64, M String, m String) Uint64
10 IF IVU(H, M) THEN GOTO 20 ELSE GOTO 100
20 STORE(H+i+"_WhiteListed",W)
40 STORE(H+i+"_Amount", Am)
50 STORE(H+i+"_Interval", I)
60 STORE(H+i+"_Amount", Am)
70 STORE(H+i+"_Address", ADDRESS_RAW(Ad))
80 STORE(H+i+"_Available", L)
90 STORE(H+i+"_tm",m)
99 RETURN 0
100 RETURN 1
End Function
Function NF(G Uint64, D Uint64, A String, H String, i Uint64, M String, m String) Uint64
10 IF IVU(H, M) THEN GOTO 20 ELSE GOTO 100
20 STORE(H+i+"_Goal", G)
50 STORE(H+i+"_Deadline", D)
60 STORE(H+i+"_Fundee", ADDRESS_RAW(A))
70 STORE(H+i+"_Raised",0)
80 STORE(H+i+"_Claimed",0)
85 STORE(H+i+"_sm",m)
99 RETURN 0
100 RETURN 1
End Function
Function SG(H String, R Uint64) Uint64
10 IF EXISTS(H+"_Deadline") == 0 THEN GOTO 100
20 IF LOAD(H+"_Deadline") < BLOCK_TIMESTAMP() THEN GOTO 100
25 SEND_ASSET_TO_ADDRESS(SIGNER(),DEROVALUE(),SCID())
30 STORE(H+"_Raised", LOAD(H+"_Raised") + DEROVALUE())
40 IF EXISTS(H+"_"+SIGNER()) == 1 THEN GOTO 70
45 IF R == 0 THEN GOTO 55
50 STORE(H+"_"+SIGNER(),DEROVALUE())
52 RETURN 0
55 SEND_DERO_TO_ADDRESS(LOAD(H+"_Fundee"),DEROVALUE())
57 STORE(H+"_Claimed",LOAD(H+"_Claimed")+DEROVALUE())
60 RETURN 0
70 IF R == 0 THEN GOTO 77
75 STORE(H+"_"+SIGNER(),LOAD(H+"_"+SIGNER())+DEROVALUE())
76 RETURN 0
77 SEND_DERO_TO_ADDRESS(LOAD(H+"_Fundee"),DEROVALUE())
78 STORE(H+"_Claimed",LOAD(H+"_Claimed")+DEROVALUE())
80 RETURN 0
100 RETURN 1
End Function
Function WFF(H String, i Uint64) Uint64
10 IF EXISTS(H+i+"_Deadline") == 0 THEN GOTO 100
20 IF LOAD(H+i+"_Deadline") > BLOCK_TIMESTAMP() THEN GOTO 65
30 IF LOAD(H+i+"_Raised") < LOAD(H+i+"_Goal") THEN GOTO 40 ELSE GOTO 70
40 IF EXISTS(H+i+"_"+SIGNER()) == 0 THEN GOTO 100
50 SEND_DERO_TO_ADDRESS(SIGNER(),LOAD(H+i+"_"+SIGNER()))
55 SEND_ASSET_TO_ADDRESS(SIGNER(),LOAD(H+i+"_"+SIGNER()),SCID())
60 RETURN 0
65 IF LOAD(H+i+"_Raised") < LOAD(H+i+"_Goal") THEN GOTO 100 ELSE GOTO 70
70 IF LOAD(H+"_Owner") != SIGNER() THEN GOTO 100
80 SEND_DERO_TO_ADDRESS(LOAD(H+i+"_Fundee"), LOAD(H+i+"_Raised")-LOAD(H+i+"_Claimed"))
85 SEND_ASSET_TO_ADDRESS(LOAD(H+i+"_Fundee"), LOAD(H+i+"_Raised")-LOAD(H+i+"_Claimed"),SCID())
90 STORE(H+i+"_Claimed",LOAD(H+i+"_Claimed")+LOAD(H+i+"_Raised"))
99 RETURN 0
100 RETURN 1
End Function
Function TU(S String, T String) Uint64
10 IF EXISTS(S+"_"+T+"_Expiry") == 0 THEN GOTO 100
20 STORE(S+"_"+T+"_Expiry",LOAD(S+"_"T+"_Expiry")+LOAD(T+"_Interval")*DEROVALUE()/LOAD(T+"_Amount"))
30 SEND_DERO_TO_ADDRESS(LOAD(T+"_Address"),DEROVALUE())
40 SEND_ASSET_TO_ADDRESS(SIGNER(),DEROVALUE(),SCID())
99 RETURN 0
100 RETURN 1
End Function
Function WL(L String, H String, T Uint64, f Uint64, F Uint64) Uint64
10 IF EXISTS(H+"_Owner") && LOAD(H+"_Owner") == SIGNER() THEN GOTO 20 ELSE GOTO 100
20 dim i as Uint64
30 LET i = 0
40 STORE(H+T+"_Whitelist_"+(f+i),SUBSTR(L,i*66,66))
50 LET i=i+1
60 IF i > F - f THEN GOTO 99 ELSE GOTO 40
99 RETURN 0
100 RETURN 1
End Function
Function AS(T String, S String) Uint64
10 IF EXISTS(S+"_"+T+"_Expiry") THEN GOTO 100
11 IF DEROVALUE() < LOAD(T+"_Amount") THEN GOTO 100
12 IF EXISTS(T+"_WhiteListed") THEN GOTO 14 ELSE GOTO 15
14 IF LOAD(T+"_WhiteListed") == 1 THEN GOTO 110
15 IF LOAD(T+"_Available") == 0 THEN GOTO 100
20 IF LOAD(T+"_Amount") == 0 THEN GOTO 50
30 STORE (S+"_"+T+"_Expiry",BLOCK_TIMESTAMP()+LOAD(T+"_Interval")*DEROVALUE()/LOAD(T+"_Amount"))
40 GOTO 70
50 STORE (S+"_"+T+"_Expiry", BLOCK_TIMESTAMP()+LOAD(T+"_Interval"))
70 STORE (T+"_Available",LOAD(T+"_Available")-1)
75 SEND_DERO_TO_ADDRESS(LOAD(T+"_Address"),DEROVALUE())
80 SEND_ASSET_TO_ADDRESS(SIGNER(),DEROVALUE(),SCID())
99 RETURN 0
100 RETURN 1
110 dim i as Uint64
120 LET i = 0
130 IF EXISTS(T+"_Whitelist_"+i) THEN GOTO 140 ELSE GOTO 100
140 IF ADDRESS_RAW(LOAD(T+"_Whitelist_"+i)) == SIGNER() THEN GOTO 160 ELSE GOTO 150
150 LET i = i +1
155 GOTO 130
160 GOTO 15
End Function
Function BT(H String, i Uint64, J String, E Uint64, S Uint64, M String, m String) Uint64
10 IF EXISTS(H + i + "_T") THEN GOTO 40 ELSE GOTO 20
20 IF IVU(H, M) THEN GOTO 30 ELSE GOTO 100
30 STORE(H+i+"_T",DEROVALUE())
31 STORE(H+i+"_J",J)
32 STORE(H+i+"_E",E)
33 STORE(H+i+"_bm",m)
35 GOTO 41
40 STORE(H+i+"_T",DEROVALUE()+LOAD(H+i+"_T"))
41 IF S==1 THEN GOTO 42 ELSE GOTO 99
42 IF EXISTS(SIGNER()+"_"+H+i+"_S") THEN GOTO 45
43 STORE(SIGNER()+"_"+H+i+"_S",DEROVALUE())
44 RETURN 0
45 STORE(SIGNER()+"_"+H+i+"_S",DEROVALUE()+LOAD(SIGNER()+"_"+H+i+"_S"))
99 RETURN 0
100 RETURN 1
End Function
Function ATR(H String, R String, I Uint64, W Uint64, F Uint64) Uint64
10 IF SIGNER()!= ADDRESS_RAW(LOAD(H+"_J")) THEN GOTO 100
15 IF EXISTS(H+"_VD") THEN GOTO 100
20 IF EXISTS(H+"_RN") THEN GOTO 30
25 STORE(H+"_RN",0)
30 IF EXISTS(H+"_R_"+I) THEN GOTO 40
35 STORE(H+"_RN",LOAD(H+"_RN")+1)
40 STORE(H+"_R_"+I,ADDRESS_RAW(R))
50 STORE(H+"_W_"+I,W)
60 IF F == 0 THEN GOTO 99
70 STORE(H+"_VD",BLOCK_TIMESTAMP()+604800)
80 STORE(H+"_V",0)
85 STORE(H+"_VN",0)
99 RETURN 0
100 RETURN 1
End Function
Function V(H String) Uint64
10 IF EXISTS(H+"_VD") THEN GOTO 20 ELSE GOTO 1000
20 IF EXISTS(SIGNER()+"_"+H+"_S") THEN GOTO 30 ELSE GOTO 1000
30 IF BLOCK_TIMESTAMP()>LOAD(H+"_VD") THEN GOTO 1000
40 IF EXISTS(SIGNER()+"_"+H+"_V") THEN GOTO 50
45 STORE(SIGNER()+"_"+H+"_V",0)
46 STORE(H+"_V_"+LOAD(H+"_VN"),SIGNER())
47 STORE(H+"_VN",LOAD(H+"_VN")+1)
50 IF LOAD(SIGNER()+"_"+H+"_V")==0 THEN GOTO 70
60 STORE(SIGNER()+"_"+H+"_V",0)
65 STORE(H+"_V",LOAD(H+"_V")-LOAD(SIGNER()+"_"+H+"_S"))
69 RETURN 0
70 STORE(SIGNER()+"_"+H+"_V",1)
75 STORE(H+"_V",LOAD(H+"_V")+LOAD(SIGNER()+"_"+H+"_S"))
80 IF LOAD(H+"_V") > LOAD(H+"_T")/2 THEN GOTO 90 ELSE GOTO 990
90 dim i as Uint64
91 LET i = LOAD(H+"_RN")
92 LET i = i -1
93 DELETE(H+"_R_"+i)
94 IF i == 0 THEN GOTO 95 ELSE GOTO 92
95 DELETE(H+"_VD")
96 DELETE(H+"_V")
97 DELETE(LOAD(H+"_V_"+i)+"_"+H+"_V")
98 DELETE(H+"_V_"+i)
99 IF i+1 == LOAD(H+"_VN") THEN GOTO 102
100 LET i = i+1
101 GOTO 97
102 DELETE(H+"_VN")
103 DELETE(H+"_RN")
990 RETURN 0
1000 RETURN 1
End Function
Function RT(H String) Uint64
10 IF LOAD(H+"_E") <BLOCK_TIMESTAMP() THEN GOTO 100 ELSE GOTO 15
15 IF EXISTS(H+"_VD") THEN GOTO 20 ELSE GOTO 100
20 IF LOAD(H+"_VD")<BLOCK_TIMESTAMP() THEN GOTO 30 ELSE GOTO 100
30 dim i,rn,total as Uint64
35 LET total = 0
40 LET i = LOAD(H+"_RN")
45 LET rn = LOAD(H+"_RN")
50 LET i = i-1
60 LET total = total + LOAD(H+"_W_"+i)
65 IF i == 0 THEN GOTO 70 ELSE GOTO 50
70 SEND_DERO_TO_ADDRESS(LOAD(H+"_R_"+i),LOAD(H+"_T")*LOAD(H+"_W_"+i)/total)
80 LET i = i+1
90 IF i == rn THEN GOTO 99 ELSE GOTO 70
99 RETURN 0
100 RETURN 1
End Function
Function TP(H String, O String) Uint64
10 IF SIGNER() != LOAD(H+"_Owner") THEN GOTO 100
20 STORE(H+"_Owner", ADDRESS_RAW(O))
30 IVU(H,"m")
99 RETURN 0
100 RETURN 1
End Function
Function GC() Uint64
10 SEND_ASSET_TO_ADDRESS(LOAD("Owner"),DEROVALUE()*100,SCID())
20 SEND_DERO_TO_ADDRESS(LOAD("Owner"),DEROVALUE())
99 RETURN 0
End Function
Function BC() Uint64
10 SEND_ASSET_TO_ADDRESS(SIGNER(),DEROVALUE()*10,SCID())
20 IF EXISTS("treasury") THEN GOTO 40
30 STORE("treasury",DEROVALUE())
35 GOTO 99
40 STORE("treasury",LOAD("treasury")+DEROVALUE())
99 RETURN 0
End Function
Function D(c String) Uint64
10 IF SIGNER() != LOAD("Owner") THEN GOTO 100
20 DELETE(c)
99 RETURN 0
100 RETURN 1
End Function
Function IVU(H String, M String) Uint64
10 IF EXISTS(H+"_Owner") == 0 THEN GOTO 15
11 IF ASSETVALUE(SCID()) != 100000 THEN GOTO 100
12 IF LOAD(H+"_Owner") != SIGNER() THEN GOTO 100 ELSE GOTO 20
15 IF ASSETVALUE(SCID()) != 1000000 THEN GOTO 100
16 STORE(H+"_Owner",SIGNER())
20 IF EXISTS(H+"_Version") THEN GOTO 30 ELSE GOTO 50
30 STORE(H+"_Version",LOAD(H+"_Version")+1)
35 IF STRLEN(M) == 1 THEN GOTO 40
36 STORE(H+"_M",M)
40 RETURN 1
50 STORE(H+"_Version",0)
55 IF STRLEN(M) == 1 THEN GOTO 60
56 STORE(H+"_M",M)
60 RETURN 1
100 RETURN 0
End Function
Function U(c String) Uint64
10 IF SIGNER() != LOAD("Owner") THEN GOTO 100
20 UPDATE_SC_CODE(c)
99 RETURN 0
100 RETURN 1
End Function' Name:entrypoint Type:string Value:'Update'] |