Network Difficulty
2278182
Hash Rate
2.000 MH/s
Avg Block Time
18.73488s
Total Supply
16812523
Mempool
Fee per KB
0
Block Size Limit
0.00 kB
← Back to Explorer

Transaction Details

SMART CONTRACT

Transaction Information

Root Hash
Built Height
27647
Block
Timestamp
1646437803001
Timestamp (UTC)
2022-03-04 23:50:03
Block Age
1678d 2h ago
Fee
0.05403
TX Size
5.104 kB
Version
1
Confirmations
7699348
Signature Type
DERO_HOMOMORPHIC

DERO Asset

2
Ring Size
0.05403
Fees
0.00000
Deposited
Sender
dero1qyvqpdftj8r6005xs20rnflakmwa5pdxg9vcjzdcuywq2t8skqhvwqglt6x0g

Ring Members (2)

Smart Contract Details

SC Balance
0.00000 DERO

Smart Contract Arguments

Name Type Value
SC_ACTION uint64 1
SC_CODE string "/* Private Token Smart Contract Example in DVM-BASIC. DERO Smart Contracts Tokens privacy can be understood just like banks handle cash. Once cash is out from the bank, bank is not aware about it (who owns what value), until it is deposited back. Smart contract only maintains supply and other necessary items to keep it working. DERO Tokens can be tranfered to other wallets just like native DERO with Homomorphic Encryption and without involvement of issuing Smart Contracts. Token issuing Smart Contract cannot hold/freeze/control their tokens once they are issued and sent to any wallet. This token is Private. Use Function InitializePrivate() Uint64 to make any Smart Contract private. */ // Issue tokens after depositing DERO (Convert DERO to TOKENX) Function Issue$CLAP() Uint64 // 10 SEND_ASSET_TO_ADDRESS(SIGNER(), DEROVALUE(),SCID()) // Increment balance of user, without knowing original balance, this is done homomorphically /* I have changed the TOKENX to be CLAP. I habve commented out the SEND_ASSET_TO_ADDRESS portion of this contract because I want to preserve the original contract's "Function to IssueTOKENX() Uint64" I also wanted to eliminate the ability to create more of this token by inserting more DERO into the contract. */ 20 RETURN 0 End Function // Convert TOKENX to DERO after depositing TOKENX. Smart Contract can give DERO, Only if DERO balance exists. // Function ConvertTOKENX() Uint64 // 20 RETURN 0 // End Function /* Again, I have commented out the portion of the contract that allows for a user to redeem the TOKENX for DERO. In this instance, dont redeem CLAP, sers. */ // This function is used to initialize parameters during install time // InitializePrivate initializes a private SC /* I presume that as a result of "Function IssueCLAP() Uint64" that there is going to be a token made called CLAP. The following "Function InitializePrivate() Uint64" sends it somewhere in a private way */ Function InitializePrivate() Uint64 10 STORE("owner", SIGNER()) // Store in DB ["owner"] = address 30 SEND_ASSET_TO_ADDRESS(SIGNER(), 1400000000000, SCID()) // Gives initial encrypted balance of 1400000000000. // I have changed this token contract to have 14,000,000 tokens from the previous 16. 40 RETURN 0 End Function // This function is used to change owner // owner is an string form of address 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 // Until the new owner claims ownership, existing owner remains owner 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 // if signer is owner, withdraw any requested funds // if everthing is okay, they will be showing in signers wallet 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 // if signer is owner, provide him rights to update code anytime // make sure update is always available to SC 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 "

Prove Transaction

Prove that you sent DERO in this transaction. Obtain proof using the dero-wallet-cli command or from your wallet statement.

Note: The proof is sent to the server for verification calculations. Payload proofs are user-provided display proofs; for the strongest verification, confirm with the receiving wallet.

Raw Transaction Data