Transaction Details

Open on Dero Explorer
Internal ID:
3508236
Transaction Hash:
e354d2dd7557fd9e77f8a9bc70118404c56a7618838e29f4397b9b172f040ef6
Block:
Timestamp:
2023-06-20 17:24:14 UTC (2.3 years ago)
Type:
sc
Ring Size:
2
Payloads:
2
Caller:
apollo (+13 more) (1385522)
Total Deposited:
1
Total Fees:
1 DERO
SC Data:
[{"name":"SC_ACTION","datatype":"U","value":"0"},{"name":"SC_ID","datatype":"H","value":"fc2a6923124a07f33c859f201a57159663f087e2f4b163eaa55b0f09bf6de89f"},{"name":"code","datatype":"S","value":"Function BT(H String, i Uint64, J String, X String, E Uint64, name String) Uint64\n15 IF EXISTS(H + i + \"_T\") THEN GOTO 40\n16 IF DEROVALUE() \u003c 100000 THEN GOTO 100\n17 IF ASSETVALUE(HEXDECODE(H)) != 1 THEN GOTO 100\n18 STORE(\"T_DERO\",LOAD(\"T_DERO\")+DEROVALUE()*5/100)\n20 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(H))\n21 STORE(H+i+\"_X0\",X)\n22 STORE(H+i+\"_XN\",0)\n23 STORE(H+i+\"_XT\",1)\n24 STORE(H+i+\"_XE\",BLOCK_TIMESTAMP()+1209600)\n25 STORE(H+i+\"_T\",DEROVALUE()*95/100)\n26 STORE(H+i+\"_J0\",J)\n27 STORE(H+i+\"_E\",E)\n28 STORE(H+i+\"_name_0\",name)\n29 STORE(ADDRESS_STRING(SIGNER())+\"_\"+H+i+\"_S\",DEROVALUE()*95/100)\n30 STORE(H+i+\"_JN\",0)\n31 STORE(H+i+\"_JE\",BLOCK_TIMESTAMP()+1209600)\n32 STORE(H+i+\"_JT\",1)\n33 STORE(H+i+\"_version\",0)\n34 RETURN 0\n40 STORE(H+i+\"_T\",(DEROVALUE()*95/100)+LOAD(H+i+\"_T\"))\n41 STORE(\"T_DERO\",LOAD(\"T_DERO\")+DEROVALUE()*5/100)\n42 IF EXISTS(ADDRESS_STRING(SIGNER())+\"_\"+H+i+\"_S\") THEN GOTO 45\n43 STORE(ADDRESS_STRING(SIGNER())+\"_\"+H+i+\"_S\",DEROVALUE()*95/100)\n44 RETURN 0\n45 STORE(ADDRESS_STRING(SIGNER())+\"_\"+H+i+\"_S\",(DEROVALUE()*95/100)+LOAD(ADDRESS_STRING(SIGNER())+\"_\"+H+i+\"_S\"))\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction SetName(H String,i Uint64, Name String) Uint64\n10 IF ASSETVALUE(HEXDECODE(H)) != 1 THEN GOTO 100\n20 dim version as Uint64\n30 let version = LOAD(H+i+\"_version\") + 1\n40 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(H))\n50 STORE(H+i+\"_name_\"+version,Name)\n60 STORE(H+i+\"_version\",version)\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction SetImage(H String,i Uint64, Image String) Uint64\n10 IF ASSETVALUE(HEXDECODE(H)) != 1 THEN GOTO 100\n20 dim version as Uint64\n30 let version = LOAD(H+i+\"_version\") + 1\n40 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(H))\n50 STORE(H+i+\"_image_\"+version,Image)\n60 STORE(H+i+\"_version\",version)\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction SetTagline(H String, i Uint64, Tagline String) Uint64\n10 IF ASSETVALUE(HEXDECODE(H)) != 1 THEN GOTO 100\n20 dim version as Uint64\n30 let version = LOAD(H+i+\"_version\") + 1\n40 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(H))\n50 STORE(H+i+\"_tagline_\"+version,Tagline)\n60 STORE(H+i+\"_version\",version)\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction SetDescription(H String, i Uint64, Description String) Uint64\n10 IF ASSETVALUE(HEXDECODE(H)) != 1 THEN GOTO 100\n20 dim version as Uint64\n30 let version = LOAD(H+i+\"_version\") + 1\n40 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(H))\n50 STORE(H+i+\"_desc_\"+version,Description)\n60 STORE(H+i+\"_version\",version)\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction SetMetadata(H String, i Uint64, Name String, Image String, Tagline String, Description String) Uint64\n10 IF ASSETVALUE(HEXDECODE(H)) != 1 THEN GOTO 100\n20 dim version as Uint64\n30 let version = LOAD(H+i+\"_version\") + 1\n40 STORE(H+i+\"_image_\"+version,Image)\n50 STORE(H+i+\"_tagline_\"+version,Tagline)\n60 STORE(H+i+\"_desc_\"+version,Description)\n70 STORE(H+i+\"_name_\"+version,Name)\n80 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(H))\n90 STORE(H+i+\"_version\",version)\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction AN(H String, JX String, l String) Uint64\n10 IF ASSETVALUE(HEXDECODE(JX)) != 1 THEN GOTO 100\n15 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(JX))\n20 IF BLOCK_TIMESTAMP() \u003e LOAD(H+\"_\"+l+\"E\") THEN GOTO 70\n30 IF LOAD(H+\"_\"+l+LOAD(H+\"_\"+l+\"N\")) != JX THEN GOTO 100\n40 STORE(H+\"_\"+l,JX)\n50 STORE(H+\"_\"+l+\"E\",BLOCK_TIMESTAMP()+1209600)\n55 STORE(H+\"_\"+l+\"_address\",ADDRESS_STRING(SIGNER()))\n60 RETURN 0\n70 dim k as Uint64\n71 LET k = 1+(BLOCK_TIMESTAMP() - LOAD(H+\"_\"+l+\"E\"))/1209600\n75 IF LOAD(H+\"_\"+l+((LOAD(H+\"_\"+l+\"N\")+k)%LOAD(H+\"_\"+l+\"T\"))) != JX THEN GOTO 100\n80 STORE(H+\"_\"+l,JX)\n85 STORE(H+\"_\"+l+\"_address\",ADDRESS_STRING(SIGNER()))\n90 STORE(H+\"_\"+l+\"E\",BLOCK_TIMESTAMP()+1209600)\n95 STORE(H+\"_\"+l+\"N\",(LOAD(H+\"_\"+l+\"N\")+k)%LOAD(H+\"_\"+l+\"T\"))\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction N(H String, i Uint64, JX String, l String) Uint64\n10 IF ASSETVALUE(HEXDECODE(H)) != 1 THEN GOTO 100\n15 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(H))\n20 STORE(H+i+\"_\"+l+LOAD(H+i+\"_\"+l+\"T\"),JX)\n30 STORE(H+i+\"_\"+l+\"T\",LOAD(H+i+\"_\"+l+\"T\")+1)\n40 IF LOAD(H+i+\"_\"+l+\"T\") != 2 THEN GOTO 99\n50 IF BLOCK_TIMESTAMP()\u003cLOAD(H+i+\"_\"+l+\"E\") THEN GOTO 99\n60 STORE(H+i+\"_\"+l+\"E\",BLOCK_TIMESTAMP()+604800)\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction ATR(H String, R String, I Uint64, W Uint64, F Uint64) Uint64\n10 IF ASSETVALUE(HEXDECODE(LOAD(H+\"_J\"))) != 1 THEN GOTO 100\n12 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(LOAD(H+\"_J\")))\n15 IF EXISTS(H+\"_JF\") THEN GOTO 100\n20 IF EXISTS(H+\"_RN\") THEN GOTO 30\n25 STORE(H+\"_RN\",0)\n30 IF EXISTS(H+\"_R_\"+I) THEN GOTO 40\n35 STORE(H+\"_RN\",LOAD(H+\"_RN\")+1)\n40 STORE(H+\"_R_\"+I,R)\n50 STORE(H+\"_W_\"+I,W)\n60 IF F == 0 THEN GOTO 99\n70 STORE(H+\"_JF\",1)\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction V(H String) Uint64\n10 IF ASSETVALUE(HEXDECODE(LOAD(H+\"_X\"))) != 1 THEN GOTO 100\n15 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(LOAD(H+\"_X\")))\n20 DELETE(H+\"_JF\")\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction RT(H String) Uint64\n10 IF LOAD(H+\"_E\") \u003cBLOCK_TIMESTAMP() THEN GOTO 95\n15 IF EXISTS(H+\"_JF\")==0 THEN GOTO 100\n16 IF ASSETVALUE(HEXDECODE(LOAD(H+\"_X\"))) != 1 THEN GOTO 100\n17 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(LOAD(H+\"_X\")))\n21 IF LOAD(H+\"_JF\") == 2 THEN GOTO 100\n22 STORE(H+\"_JF\",2) // NEED NEW WAY TO PAY JUDGE/EXECUTOR SHOULD BE PARAM DECIDED AT THE OUTSET\n30 dim i,rn,total as Uint64\n35 LET total = 0\n40 LET i = LOAD(H+\"_RN\") \n45 LET rn = LOAD(H+\"_RN\")\n50 LET i = i-1\n60 LET total = total + LOAD(H+\"_W_\"+i)\n65 IF i == 0 THEN GOTO 70 ELSE GOTO 50\n70 SEND_DERO_TO_ADDRESS(ADDRESS_RAW(LOAD(H+\"_R_\"+i)),LOAD(H+\"_T\")*LOAD(H+\"_W_\"+i)*90/(total*100))\n80 LET i = i+1\n90 IF i == rn THEN GOTO 99 ELSE GOTO 70\n95 IF EXISTS(ADDRESS_STRING(SIGNER())+\"_\"+H+\"_S\")==0 THEN GOTO 100\n96 SEND_DERO_TO_ADDRESS(SIGNER(),LOAD(ADDRESS_STRING(SIGNER())+\"_\"+H+\"_S\"))\n97 DELETE(ADDRESS_STRING(SIGNER())+\"_\"+H+\"_S\")\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction D() Uint64\n10 IF ASSETVALUE(HEXDECODE(LOAD(\"COCO\"))) % 10000 != 0 THEN GOTO 100\n13 STORE(\"T_DERO\",LOAD(\"T_DERO\")+DEROVALUE())\n15 IF EXISTS(ADDRESS_STRING(SIGNER())+\"_SHARES\") THEN GOTO 30\n20 STORE(ADDRESS_STRING(SIGNER())+\"_SHARES\",ASSETVALUE(HEXDECODE(LOAD(\"COCO\")))/10000)\n21 STORE(ADDRESS_STRING(SIGNER())+\"_EPOCH\",(BLOCK_TIMESTAMP() - LOAD(\"EPOCH-INIT\"))/259200)\n25 RETURN 0\n30 STORE(ADDRESS_STRING(SIGNER())+\"_SHARES\",LOAD(ADDRESS_STRING(SIGNER())+\"_SHARES\")+ASSETVALUE(HEXDECODE(LOAD(\"COCO\")))/10000)\n31 STORE(ADDRESS_STRING(SIGNER())+\"_EPOCH\",(BLOCK_TIMESTAMP() - LOAD(\"EPOCH-INIT\"))/259200)\n35 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction W() Uint64\n10 LET EPOCH = (BLOCK_TIMESTAMP()-LOAD(\"EPOCH-INIT\"))/259200\n14 IF EXISTS(ADDRESS_STRING(SIGNER())+\"_SHARES\") ==0 THEN GOTO 100\n15 IF LOAD(ADDRESS_STRING(SIGNER())+\"_EPOCH\") \u003e= EPOCH THEN GOTO 100\n16 DIM SHARE as Uint64\n17 LET SHARE = LOAD(ADDRESS_STRING(SIGNER())+\"_SHARES\")*10000*LOAD(\"T_DERO\")/(LOAD(\"T_COCO\"))\n18 SEND_DERO_TO_ADDRESS(SIGNER(),SHARE)\n19 STORE(ADDRESS_STRING(SIGNER())+\"_EPOCH\",EPOCH)\n20 STORE(\"T_DERO\",LOAD(\"T_DERO\")-SHARE)\n25 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction SS(shares Uint64) Uint64\n10 IF EXISTS(ADDRESS_STRING(SIGNER())+\"_SHARES\") == 0 THEN GOTO 100\n20 IF LOAD(ADDRESS_STRING(SIGNER())+\"_SHARES\") \u003c shares THEN GOTO 100\n30 STORE(ADDRESS_STRING(SIGNER())+\"_SHARES\",LOAD(ADDRESS_STRING(SIGNER())+\"_SHARES\")-shares)\n40 SEND_ASSET_TO_ADDRESS(SIGNER(),shares*10000,HEXDECODE(LOAD(\"COCO\")))\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction Propose(hash String, k String, u Uint64, s String, t Uint64, seat Uint64) Uint64\n10 IF ASSETVALUE(HEXDECODE(LOAD(\"CEO\"))) != 1 THEN GOTO 13\n11 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(LOAD(\"CEO\")))\n12 GOTO 15\n13 IF ASSETVALUE(HEXDECODE(LOAD(\"SEAT_\"+seat))) !=1 THEN GOTO 100\n14 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(LOAD(\"SEAT_\"+seat)))\n15 STORE(\"APPROVE\", 0)\n20 IF hash ==\"\" THEN GOTO 40\n25 STORE(\"HASH\",hash)\n30 STORE(\"k\",\"\")\n35 RETURN 0\n40 STORE(\"k\",k)\n45 STORE(\"HASH\",\"\")\n49 STORE(\"t\",t)\n50 IF t == 1 THEN GOTO 80\n60 STORE(\"s\", s)\n70 RETURN 0\n80 STORE(\"u\",u)\n90 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction Approve(seat Uint64) Uint64\n10 IF ASSETVALUE(HEXDECODE(LOAD(\"SEAT_\"+seat)))!=1 THEN GOTO 100\n20 STORE(\"APPROVE\",LOAD(\"APPROVE\")+1)\n30 STORE(\"SEAT_\"+seat+\"_OWNER\",SIGNER())\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction ClaimSeat(seat Uint64) Uint64\n10 IF SIGNER()!= LOAD(\"SEAT_\"+seat+\"_OWNER\") THEN GOTO 100\n20 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(LOAD(\"SEAT_\"+seat)))\n30 IF LOAD(\"APPROVE\") == 0 THEN GOTO 99\n40 STORE(\"APPROVE\",LOAD(\"APPROVE\")-1)\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction Update(code String) Uint64\n10 IF ASSETVALUE(HEXDECODE(LOAD(\"CEO\")))!=1 THEN GOTO 100\n15 SEND_ASSET_TO_ADDRESS(SIGNER(),"1",HEXDECODE(LOAD(\"CEO\")))\n20 IF SHA256(code) != HEXDECODE(LOAD(\"HASH\")) THEN GOTO 100\n30 IF LOAD(\"APPROVE\") \u003c LOAD(\"QUORUM\") THEN GOTO 100\n40 UPDATE_SC_CODE(code)\n99 RETURN 0\n100 RETURN 1\nEnd Function\n\nFunction Store(k String, u Uint64, s String) Uint64\n20 IF k != LOAD(\"k\") THEN GOTO 999\n40 IF LOAD(\"APPROVE\") \u003c LOAD(\"QUORUM\") THEN GOTO 999\n50 dim t as Uint64\n60 let t = LOAD(\"t\")\n110 IF t == 0 THEN GOTO 150\n120 IF t == 1 THEN GOTO 170\n130 IF s!=LOAD(\"s\") THEN GOTO 999\n135 STORE(k, HEX(s))\n140 RETURN 0\n150 IF s!=LOAD(\"s\") THEN GOTO 999\n155 STORE(k, s)\n160 RETURN 0\n170 IF u!=LOAD(\"u\") THEN GOTO 999\n175 STORE(k,u)\n180 RETURN 0\n999 RETURN 1\nEnd Function"},{"name":"entrypoint","datatype":"S","value":"Update"}]

Payload 1

Token (SCID):
DERO
Deposited:
none
Fees:
1 DERO