Smart Contract Details

Open on Dero Explorer
Internal ID:
37610
Block:
Timestamp:
2023-06-15 16:41:47 UTC (2.4 years ago)
Creator:
PRIVATE PEPE (+9 more) (1769333)
Raw Data:
[{"name":"SC_ACTION","datatype":"U","value":1},{"name":"SC_CODE","datatype":"S","value":"Function InitializePrivate(maxSupply Uint64, decimals Uint64, collection String, metadataFormat String, metadata String, freezeCollection Uint64, freezeMetadata Uint64) Uint64\r\n1 IF EXISTS(\"minter\") == 1 THEN GOTO 15\r\n2 STORE(\"minter\", SIGNER())\r\n3 STORE(\"type\", \"G45-FAT\")\r\n4 STORE(\"timestamp\", BLOCK_TIMESTAMP())\r\n5 SEND_ASSET_TO_ADDRESS(SIGNER(), maxSupply, SCID())\r\n6 STORE(\"collection\", collection)\r\n7 STORE(\"maxSupply\", maxSupply)\r\n8 STORE(\"totalSupply\", maxSupply)\r\n9 STORE(\"decimals\", decimals)\r\n10 STORE(\"metadataFormat\", metadataFormat)\r\n11 STORE(\"metadata\", metadata)\r\n12 STORE(\"frozenCollection\", freezeCollection)\r\n13 STORE(\"frozenMetadata\", freezeMetadata)\r\n14 RETURN 0\r\n15 RETURN 1\r\nEnd Function\r\n\r\nFunction SetMetadata(format String, metadata String) Uint64\r\n1 IF LOAD(\"minter\") != SIGNER() THEN GOTO 6\r\n2 IF LOAD(\"frozenMetadata\") \u003e= 1 THEN GOTO 6\r\n3 STORE(\"metadataFormat\", format)\r\n4 STORE(\"metadata\", metadata)\r\n5 RETURN 0\r\n6 RETURN 1\r\nEnd Function\r\n\r\nFunction SetCollection(collection String) Uint64\r\n1 IF LOAD(\"minter\") != SIGNER() THEN GOTO 5\r\n2 IF LOAD(\"frozenCollection\") \u003e= 1 THEN GOTO 5\r\n3 STORE(\"collection\", collection)\r\n4 RETURN 0\r\n5 RETURN 1\r\nEnd Function\r\n\r\nFunction Burn() Uint64\r\n1 STORE(\"totalSupply\", LOAD(\"totalSupply\") - ASSETVALUE(SCID()))\r\n2 RETURN 0\r\nEnd Function\r\n\r\nFunction Freeze(metadata Uint64, collection Uint64) Uint64\r\n1 IF LOAD(\"minter\") != SIGNER() THEN GOTO 7\r\n2 IF metadata == 0 THEN GOTO 4\r\n3 STORE(\"frozenMetadata\", 1)\r\n4 IF collection == 0 THEN GOTO 6\r\n5 STORE(\"frozenCollection\", 1)\r\n6 RETURN 0\r\n7 RETURN 1\r\nEnd Function\r\n\r\nFunction DisplayToken() Uint64\r\n1 DIM amount as Uint64\r\n2 DIM signerString as String\r\n3 LET signerString = ADDRESS_STRING(SIGNER())\r\n4 IF signerString == \"\" THEN GOTO 10\r\n5 LET amount = ASSETVALUE(SCID())\r\n6 IF EXISTS(\"owner_\" + signerString) == 0 THEN GOTO 8\r\n7 LET amount = amount + LOAD(\"owner_\" + signerString)\r\n8 STORE(\"owner_\" + signerString, amount)\r\n9 RETURN 0\r\n10 RETURN 1\r\nEnd Function\r\n\r\nFunction RetrieveToken(amount Uint64) Uint64\r\n1 DIM storedAmount as Uint64\r\n2 DIM signerString as String\r\n3 LET signerString = ADDRESS_STRING(SIGNER())\r\n4 LET storedAmount = LOAD(\"owner_\" + signerString)\r\n5 IF amount \u003e storedAmount THEN GOTO 13\r\n6 SEND_ASSET_TO_ADDRESS(SIGNER(), amount, SCID())\r\n7 LET storedAmount = storedAmount - amount\r\n8 IF storedAmount == 0 THEN GOTO 11\r\n9 STORE(\"owner_\" + signerString, storedAmount)\r\n10 RETURN 0\r\n11 DELETE(\"owner_\" + signerString)\r\n12 RETURN 0\r\n13 RETURN 1\r\nEnd Function"},{"name":"collection","datatype":"S","value":""},{"name":"decimals","datatype":"U","value":5},{"name":"freezeCollection","datatype":"U","value":0},{"name":"freezeMetadata","datatype":"U","value":0},{"name":"maxSupply","datatype":"U","value":350000000000},{"name":"metadata","datatype":"S","value":"{\"name\":\"Private Pepe\",\"symbol\":\"PPEPE\",\"image\":\"ipfs://QmbMTBuanfovyhvB29cYZj78UwQxqvx48h48yFDTJ3uLeD\"}"},{"name":"metadataFormat","datatype":"S","value":"json"}]
Code:
Function InitializePrivate(maxSupply Uint64, decimals Uint64, collection String, metadataFormat String, metadata String, freezeCollection Uint64, freezeMetadata Uint64) Uint64
1 IF EXISTS("minter") == 1 THEN GOTO 15
2 STORE("minter", SIGNER())
3 STORE("type", "G45-FAT")
4 STORE("timestamp", BLOCK_TIMESTAMP())
5 SEND_ASSET_TO_ADDRESS(SIGNER(), maxSupply, SCID())
6 STORE("collection", collection)
7 STORE("maxSupply", maxSupply)
8 STORE("totalSupply", maxSupply)
9 STORE("decimals", decimals)
10 STORE("metadataFormat", metadataFormat)
11 STORE("metadata", metadata)
12 STORE("frozenCollection", freezeCollection)
13 STORE("frozenMetadata", freezeMetadata)
14 RETURN 0
15 RETURN 1
End Function

Function SetMetadata(format String, metadata String) Uint64
1 IF LOAD("minter") != SIGNER() THEN GOTO 6
2 IF LOAD("frozenMetadata") >= 1 THEN GOTO 6
3 STORE("metadataFormat", format)
4 STORE("metadata", metadata)
5 RETURN 0
6 RETURN 1
End Function

Function SetCollection(collection String) Uint64
1 IF LOAD("minter") != SIGNER() THEN GOTO 5
2 IF LOAD("frozenCollection") >= 1 THEN GOTO 5
3 STORE("collection", collection)
4 RETURN 0
5 RETURN 1
End Function

Function Burn() Uint64
1 STORE("totalSupply", LOAD("totalSupply") - ASSETVALUE(SCID()))
2 RETURN 0
End Function

Function Freeze(metadata Uint64, collection Uint64) Uint64
1 IF LOAD("minter") != SIGNER() THEN GOTO 7
2 IF metadata == 0 THEN GOTO 4
3 STORE("frozenMetadata", 1)
4 IF collection == 0 THEN GOTO 6
5 STORE("frozenCollection", 1)
6 RETURN 0
7 RETURN 1
End Function

Function DisplayToken() Uint64
1 DIM amount as Uint64
2 DIM signerString as String
3 LET signerString = ADDRESS_STRING(SIGNER())
4 IF signerString == "" THEN GOTO 10
5 LET amount = ASSETVALUE(SCID())
6 IF EXISTS("owner_" + signerString) == 0 THEN GOTO 8
7 LET amount = amount + LOAD("owner_" + signerString)
8 STORE("owner_" + signerString, amount)
9 RETURN 0
10 RETURN 1
End Function

Function RetrieveToken(amount Uint64) Uint64
1 DIM storedAmount as Uint64
2 DIM signerString as String
3 LET signerString = ADDRESS_STRING(SIGNER())
4 LET storedAmount = LOAD("owner_" + signerString)
5 IF amount > storedAmount THEN GOTO 13
6 SEND_ASSET_TO_ADDRESS(SIGNER(), amount, SCID())
7 LET storedAmount = storedAmount - amount
8 IF storedAmount == 0 THEN GOTO 11
9 STORE("owner_" + signerString, storedAmount)
10 RETURN 0
11 DELETE("owner_" + signerString)
12 RETURN 0
13 RETURN 1
End Function