Smart Contract Details
Open on Dero ExplorerInternal ID:
37609
Hash / Transaction:
Block:
Timestamp:
2023-06-13 02:37:58 UTC (2.2 years ago)
Creator:
…qgv26xst
(1414481)
Raw Data:
[{"name":"SC_ACTION","datatype":"U","value":1},{"name":"SC_CODE","datatype":"S","value":"// Data\n\n Function InitializePrivate() Uint64\n 10 STORE(\"owner\", SIGNER())\n 20 initGroupA ()\n 30 initGroupB ()\n 40 initGroupC ()\n 50 RETURN 0 \n End Function\n\n Function initGroupA() Uint64\n 10 STORE(\"ox\", \"NA\")\n 20 STORE(\"oy\", \"NA\")\n 30 STORE(\"oz\", \"NA\")\n 40 STORE(\"px\", \"NA\")\n 50 STORE(\"py\", \"NA\")\n 60 STORE(\"pz\", \"NA\")\n 70 STORE(\"qx\", \"NA\")\n 80 STORE(\"qy\", \"NA\") \n 90 STORE(\"qz\", \"NA\") \n 100 STORE(\"rx\", \"NA\")\n 110 STORE(\"ry\", \"NA\")\n 120 STORE(\"rz\", \"NA\")\n 130 RETURN 0 \n End Function\n\n Function initGroupB() Uint64\n 10 STORE(\"sx\", \"NA\")\n 20 STORE(\"sy\", \"NA\")\n 30 STORE(\"sz\", \"NA\")\n 40 STORE(\"tx\", \"NA\")\n 50 STORE(\"ty\", \"NA\")\n 60 STORE(\"tz\", \"NA\")\n 70 STORE(\"ux\", \"NA\")\n 80 STORE(\"uy\", \"NA\") \n 90 STORE(\"uz\", \"NA\") \n 100 STORE(\"vx\", \"NA\")\n 110 STORE(\"vy\", \"NA\")\n 120 STORE(\"vz\", \"NA\")\n 130 RETURN 0 \n End Function\n\n Function initGroupC() Uint64\n 10 STORE(\"wx\", \"NA\")\n 20 STORE(\"wy\", \"NA\")\n 30 STORE(\"wz\", \"NA\")\n 40 STORE(\"xx\", \"NA\")\n 50 STORE(\"xy\", \"NA\")\n 60 STORE(\"xz\", \"NA\")\n 70 STORE(\"yx\", \"NA\")\n 80 STORE(\"yy\", \"NA\") \n 90 STORE(\"yz\", \"NA\") \n 100 STORE(\"zx\", \"NA\")\n 110 STORE(\"zy\", \"NA\")\n 120 STORE(\"zz\", \"NA\")\n 130 RETURN 0 \n End Function\n\n Function TuneGroupA(ox String, oy String, oz String, px String, py String, pz String, qx String, qy String, qz String, rx String, ry String, rz String) Uint64\n 10 IF LOAD(\"owner\") == SIGNER() THEN GOTO 30\n 20 RETURN 1\n 30 STORE(\"ox\", ox)\n 40 STORE(\"oy\", oy)\n 50 STORE(\"oz\", oz)\n 60 STORE(\"px\", px)\n 70 STORE(\"py\", py)\n 80 STORE(\"pz\", pz)\n 90 STORE(\"qx\", qx)\n 100 STORE(\"qy\", qy)\n 110 STORE(\"qz\", qz)\n 120 STORE(\"rx\", rx)\n 130 STORE(\"ry\", ry)\n 140 STORE(\"rz\", rz)\n 150 RETURN 0\n End Function\n\n Function TuneGroupB(sx String, sy String, sz String, tx String, ty String, tz String, ux String, uy String, uz String, vx String, vy String, vz String) Uint64\n 10 IF LOAD(\"owner\") == SIGNER() THEN GOTO 30\n 20 RETURN 1\n 30 STORE(\"sx\", sx)\n 40 STORE(\"sy\", sy)\n 50 STORE(\"sz\", sz)\n 60 STORE(\"tx\", tx)\n 70 STORE(\"ty\", ty)\n 80 STORE(\"tz\", tz)\n 90 STORE(\"ux\", ux)\n 100 STORE(\"uy\", uy)\n 110 STORE(\"uz\", uz)\n 120 STORE(\"vx\", vx)\n 130 STORE(\"vy\", vy)\n 140 STORE(\"vz\", vz)\n 150 RETURN 0\n End Function\n\n Function TuneGroupC(wx String, wy String, wz String, xx String, xy String, xz String, yx String, yy String, yz String, zx String, zy String, zz String) Uint64\n 10 IF LOAD(\"owner\") == SIGNER() THEN GOTO 30\n 20 RETURN 1\n 30 STORE(\"wx\", wx)\n 40 STORE(\"wy\", wy)\n 50 STORE(\"wz\", wz)\n 60 STORE(\"xx\", xx)\n 70 STORE(\"xy\", xy)\n 80 STORE(\"xz\", xz)\n 90 STORE(\"yx\", yx)\n 100 STORE(\"yy\", yy)\n 110 STORE(\"yz\", yz)\n 120 STORE(\"zx\", zx)\n 130 STORE(\"zy\", zy)\n 140 STORE(\"zz\", zz)\n 150 RETURN 0\n End Function\n\n Function Withdraw(amount Uint64) Uint64 \n 10 IF LOAD(\"owner\") == SIGNER() THEN GOTO 30 \n 20 RETURN 1\n 30 SEND_DERO_TO_ADDRESS(SIGNER(),amount)\n 40 RETURN 0\n End Function\n\n Function TransferOwnership(newowner String) Uint64 \n 10 IF LOAD(\"owner\") == SIGNER() THEN GOTO 30 \n 20 RETURN 1\n 30 STORE(\"tmpowner\",ADDRESS_RAW(newowner))\n 40 RETURN 0\n End Function\n\n Function ClaimOwnership() Uint64 \n 10 IF LOAD(\"tmpowner\") == SIGNER() THEN GOTO 30 \n 20 RETURN 1\n 30 STORE(\"owner\",SIGNER()) // ownership claim successful\n 40 RETURN 0\n End Function\n\n Function UpdateCode(code String) Uint64 \n 10 IF LOAD(\"owner\") == SIGNER() THEN GOTO 30 \n 20 RETURN 1\n 30 UPDATE_SC_CODE(code)\n 40 RETURN 0\n End Function"}]
Code:
// Data
Function InitializePrivate() Uint64
10 STORE("owner", SIGNER())
20 initGroupA ()
30 initGroupB ()
40 initGroupC ()
50 RETURN 0
End Function
Function initGroupA() Uint64
10 STORE("ox", "NA")
20 STORE("oy", "NA")
30 STORE("oz", "NA")
40 STORE("px", "NA")
50 STORE("py", "NA")
60 STORE("pz", "NA")
70 STORE("qx", "NA")
80 STORE("qy", "NA")
90 STORE("qz", "NA")
100 STORE("rx", "NA")
110 STORE("ry", "NA")
120 STORE("rz", "NA")
130 RETURN 0
End Function
Function initGroupB() Uint64
10 STORE("sx", "NA")
20 STORE("sy", "NA")
30 STORE("sz", "NA")
40 STORE("tx", "NA")
50 STORE("ty", "NA")
60 STORE("tz", "NA")
70 STORE("ux", "NA")
80 STORE("uy", "NA")
90 STORE("uz", "NA")
100 STORE("vx", "NA")
110 STORE("vy", "NA")
120 STORE("vz", "NA")
130 RETURN 0
End Function
Function initGroupC() Uint64
10 STORE("wx", "NA")
20 STORE("wy", "NA")
30 STORE("wz", "NA")
40 STORE("xx", "NA")
50 STORE("xy", "NA")
60 STORE("xz", "NA")
70 STORE("yx", "NA")
80 STORE("yy", "NA")
90 STORE("yz", "NA")
100 STORE("zx", "NA")
110 STORE("zy", "NA")
120 STORE("zz", "NA")
130 RETURN 0
End Function
Function TuneGroupA(ox String, oy String, oz String, px String, py String, pz String, qx String, qy String, qz String, rx String, ry String, rz String) Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 STORE("ox", ox)
40 STORE("oy", oy)
50 STORE("oz", oz)
60 STORE("px", px)
70 STORE("py", py)
80 STORE("pz", pz)
90 STORE("qx", qx)
100 STORE("qy", qy)
110 STORE("qz", qz)
120 STORE("rx", rx)
130 STORE("ry", ry)
140 STORE("rz", rz)
150 RETURN 0
End Function
Function TuneGroupB(sx String, sy String, sz String, tx String, ty String, tz String, ux String, uy String, uz String, vx String, vy String, vz String) Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 STORE("sx", sx)
40 STORE("sy", sy)
50 STORE("sz", sz)
60 STORE("tx", tx)
70 STORE("ty", ty)
80 STORE("tz", tz)
90 STORE("ux", ux)
100 STORE("uy", uy)
110 STORE("uz", uz)
120 STORE("vx", vx)
130 STORE("vy", vy)
140 STORE("vz", vz)
150 RETURN 0
End Function
Function TuneGroupC(wx String, wy String, wz String, xx String, xy String, xz String, yx String, yy String, yz String, zx String, zy String, zz String) Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 STORE("wx", wx)
40 STORE("wy", wy)
50 STORE("wz", wz)
60 STORE("xx", xx)
70 STORE("xy", xy)
80 STORE("xz", xz)
90 STORE("yx", yx)
100 STORE("yy", yy)
110 STORE("yz", yz)
120 STORE("zx", zx)
130 STORE("zy", zy)
140 STORE("zz", zz)
150 RETURN 0
End Function
Function Withdraw(amount Uint64) Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 SEND_DERO_TO_ADDRESS(SIGNER(),amount)
40 RETURN 0
End Function
Function TransferOwnership(newowner String) Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 STORE("tmpowner",ADDRESS_RAW(newowner))
40 RETURN 0
End Function
Function ClaimOwnership() Uint64
10 IF LOAD("tmpowner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 STORE("owner",SIGNER()) // ownership claim successful
40 RETURN 0
End Function
Function UpdateCode(code String) Uint64
10 IF LOAD("owner") == SIGNER() THEN GOTO 30
20 RETURN 1
30 UPDATE_SC_CODE(code)
40 RETURN 0
End Function