Smart Contract Details

Open on Dero Explorer
Internal ID:
5919
Block:
Timestamp:
2022-12-05 16:14:05 UTC (2.7 years ago)
Creator:
dReam Tables (+11 more) (1385328)
Raw Data:
[{"name":"SC_ACTION","datatype":"U","value":1},{"name":"SC_CODE","datatype":"S","value":"/// dReam Tables Tournament Tokens ♣♣♣♣♣♣\n\nFunction InitializePrivate() Uint64  \n    10 IF EXISTS(\"owner\") == 0 THEN GOTO 30 \n    20 RETURN 1\n    30 STORE(\"owner\", SIGNER())                 \n    40 RETURN 0\nEnd Function\n\n\nFunction IssueChips(amt Uint64, players Uint64) Uint64  \n    10 IF LOAD(\"owner\") == SIGNER() THEN GOTO 30\n    20 RETURN 1\n    30 IF amt == 0 THEN GOTO 50\n    40 SEND_ASSET_TO_ADDRESS(SIGNER(), amt, SCID()) \n    50 STORE(\"Players\", players)  \n    60 RETURN 0\nEnd Function\n\n\nFunction Deposit(name String) Uint64\n    10 IF IS_ADDRESS_VALID(SIGNER()) \u0026\u0026 LOAD(\"Players\") \u003e 0 \u0026\u0026 ASSETVALUE(SCID()) \u003e 0 THEN GOTO 30 \n    20 RETURN 1\n    30 STORE(LOAD(\"Players\"), name+\"_\"+ITOA(ASSETVALUE(SCID()))+\"_\"+SIGNER())\n    40 STORE(\"Players\", LOAD(\"Players\")-1)\n    50 RETURN 0 \nEnd Function\n\n\nFunction ClearBoard(players Uint64) Uint64\n    10 IF LOAD(\"owner\") == SIGNER() THEN GOTO 30\n    20 RETURN 1\n    30 IF LOAD(\"Players\") != 0 THEN GOTO 20\n    40 DIM i as Uint64\n    50 LET i = 0\n    60 DELETE(i)\n    70 LET i = i +1\n    80 IF i \u003c= players THEN GOTO 60\n    90 RETURN 0\nEnd Function\n\n\nFunction TransferOwnership(newowner String) Uint64  \n    10 IF LOAD(\"owner\") == SIGNER() \u0026\u0026 IS_ADDRESS_VALID(ADDRESS_RAW(newowner)) THEN GOTO 30\n    20 RETURN 1\n    30 STORE(\"tmpowner\", ADDRESS_RAW(newowner))\n    40 RETURN 0\nEnd Function\n\n\nFunction ClaimOwnership() Uint64 \n    10 IF LOAD(\"tmpowner\") == SIGNER() THEN GOTO 30\n    20 RETURN 1\n    30 STORE(\"owner\", SIGNER()) \n    40 DELETE(\"tmpowner\")\n    50 RETURN 0\nEnd Function\n\n\nFunction UpdateCode(code String) Uint64\n    10 IF LOAD(\"owner\") == SIGNER() \u0026\u0026 code != \"\" THEN GOTO 30\n    20 RETURN 1\n    30 UPDATE_SC_CODE(code)\n    40 RETURN 0\nEnd Function"}]
Code:
/// dReam Tables Tournament Tokens ♣♣♣♣♣♣

Function InitializePrivate() Uint64  
    10 IF EXISTS("owner") == 0 THEN GOTO 30 
    20 RETURN 1
    30 STORE("owner", SIGNER())                 
    40 RETURN 0
End Function


Function IssueChips(amt Uint64, players Uint64) Uint64  
    10 IF LOAD("owner") == SIGNER() THEN GOTO 30
    20 RETURN 1
    30 IF amt == 0 THEN GOTO 50
    40 SEND_ASSET_TO_ADDRESS(SIGNER(), amt, SCID()) 
    50 STORE("Players", players)  
    60 RETURN 0
End Function


Function Deposit(name String) Uint64
    10 IF IS_ADDRESS_VALID(SIGNER()) && LOAD("Players") > 0 && ASSETVALUE(SCID()) > 0 THEN GOTO 30 
    20 RETURN 1
    30 STORE(LOAD("Players"), name+"_"+ITOA(ASSETVALUE(SCID()))+"_"+SIGNER())
    40 STORE("Players", LOAD("Players")-1)
    50 RETURN 0 
End Function


Function ClearBoard(players Uint64) Uint64
    10 IF LOAD("owner") == SIGNER() THEN GOTO 30
    20 RETURN 1
    30 IF LOAD("Players") != 0 THEN GOTO 20
    40 DIM i as Uint64
    50 LET i = 0
    60 DELETE(i)
    70 LET i = i +1
    80 IF i <= players THEN GOTO 60
    90 RETURN 0
End Function


Function TransferOwnership(newowner String) Uint64  
    10 IF LOAD("owner") == SIGNER() && IS_ADDRESS_VALID(ADDRESS_RAW(newowner)) 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()) 
    40 DELETE("tmpowner")
    50 RETURN 0
End Function


Function UpdateCode(code String) Uint64
    10 IF LOAD("owner") == SIGNER() && code != "" THEN GOTO 30
    20 RETURN 1
    30 UPDATE_SC_CODE(code)
    40 RETURN 0
End Function