Transaction Details
SMART CONTRACT
Transaction Hash
e8bd940c865e1a5ba7cba6a7a9ec1871e43a138a5a0b57b8c92dbe4b9c9a7282
Block Status
Smart Contract State
SCID Reserves
| SCID | Amount (Atomic Units) |
|---|---|
| 0000000000000000000000000000000000000000000000000000000000000000 | 0 |
String Variables
| Key | Value |
|---|---|
| C | 2f2a2067745f7072697a652e626173202d2d20523332206d656368616e69736d204d3320226e6f2d6c6f7373207072697a6520706f6f6c207769746820636f6d6d69742d72657665616c2064726177202b206d696e657220626f6f7374222c2044564d2d42415349432e0a202020526f756e6420723a20456e74657228636f6d6d69742920647572696e672074686520636f6d6d697420706861736520776974682061206465706f736974203d207072696e636970616c202b2072657665616c20626f6e643b20636f6d6d6974203d0a202020484558285348413235362849544f41286e29202b20223a22202b2073616c7429292e2052657665616c286a2c206e2c2073616c742920696e207468652072657665616c2070686173652061646473206e20746f2074686520726f756e6420736565642e0a202020447261772829206166746572207468652072657665616c207068617365207069636b73206f6e652072657665616c656420656e74727920776974682070726f626162696c69747920776569676874202f20746f74616c207765696768742c2077686572650a202020776569676874203d207072696e636970616c2c206f72207072696e636970616c202a2028313030202b20626f6f737429202f20313030207768696c652074686520656e7472616e74206b65657073203e3d206d696e6d6174204d4154207374616b65642e0a2020207069636b203d207365656420252074773a206f6e6520686f6e65737420756e69666f726d206e206d616b657320746865207365656420756e69666f726d2e207632202852333220636c6f736564206c6f6f702c20442d47542d3130293a2052414e444f4d206973204e4f540a202020757365643a206974206973206b657965642062792074686520626c6f636b2069642c20736f2074686520696e7465677261746f72206f6620746865204472617720626c6f636b20636f756c642077697468686f6c64207468617420626c6f636b20746f2072652d726f6c6c0a20202074686520647261772028636f73743a206f6e6520696e7465677261746f722073686172652c20332c3037352061746f6d6963206f6e206d61696e6e657420746f646179293b20776974686f757420697420746865206f6e6c792062696173206c656674206973207468650a2020206c6173742072657665616c657227732072657665616c2d6f722d666f7266656974206f7074696f6e2c20626f756e6465642062792072626f6e642e20546865207072697a65203d2073706f6e736f722066756e6473202b2072657665616c20626f6e647320666f72666569746564206279206e6f6e2d72657665616c6572730a2020206f66207468652073616d6520726f756e642e205072696e636970616c20697320616c776179732072657475726e656420285769746864726177206166746572207468652064726177293a206e6f207061727469636970616e74206c6f7365730a2020207072696e636970616c2c20616e64206e6f207061796f757420636f6d65732066726f6d2061206c61746572207061727469636970616e742773206465706f7369742e0a20202047617320626f756e643a206174206d6f7374206d61786e20656e74726965732070657220726f756e6420287468652064726177206c6f6f70206973204f286e29292e0a2a2f0a46756e6374696f6e20496e697469616c697a6528292055696e7436340a31302053544f524528226f776e6572222c205349474e45522829290a32302053544f5245282272626f6e64222c203130303030290a33302053544f52452822636f6d6d697477222c203130290a34302053544f5245282272657665616c77222c203130290a35302053544f524528226d61786e222c203332290a36302053544f52452822626f6f7374222c20313030290a37302053544f524528226d696e6d6174222c20313030290a38302053544f524528226d6174222c202222290a39302053544f5245282266726f7a656e222c2030290a3130302053544f524528227264222c2030290a3131302053544f524528227273222c20424c4f434b5f4845494748542829290a3132302053544f524528226e30222c2030290a3133302053544f524528227072697a6530222c2030290a3134302053544f52452822747730222c2030290a3135302053544f52452822736430222c2030290a3136302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20536574506172616d732872626f6e642055696e7436342c20636f6d6d6974772055696e7436342c2072657665616c772055696e7436342c206d61786e2055696e7436342c20626f6f73742055696e7436342c206d696e6d61742055696e743634292055696e7436340a3130204946204c4f414428226f776e6572222920213d205349474e45522829205448454e20474f544f203930300a3230204946204c4f4144282266726f7a656e222920213d2030205448454e20474f544f203930300a333020494620636f6d6d697477203d3d2030207c7c2072657665616c77203d3d2030207c7c206d61786e203d3d2030207c7c206d61786e203e203634205448454e20474f544f203930300a34302053544f5245282272626f6e64222c2072626f6e64290a35302053544f52452822636f6d6d697477222c20636f6d6d697477290a36302053544f5245282272657665616c77222c2072657665616c77290a37302053544f524528226d61786e222c206d61786e290a38302053544f52452822626f6f7374222c20626f6f7374290a39302053544f524528226d696e6d6174222c206d696e6d6174290a3130302052455455524e20300a3930302052455455524e20310a456e642046756e6374696f6e0a0a46756e6374696f6e205365744d4154287363696468657820537472696e67292055696e7436340a3130204946204c4f414428226f776e6572222920213d205349474e45522829205448454e20474f544f203930300a3230204946204c4f4144282266726f7a656e222920213d2030205448454e20474f544f203930300a3330204946205354524c454e28736369646865782920213d203634205448454e20474f544f203930300a34302053544f524528226d6174222c204845584445434f4445287363696468657829290a35302052455455524e20300a3930302052455455524e20310a456e642046756e6374696f6e0a0a46756e6374696f6e20467265657a6528292055696e7436340a3130204946204c4f414428226f776e6572222920213d205349474e45522829205448454e20474f544f203930300a32302053544f5245282266726f7a656e222c2031290a33302053544f524528227273222c20424c4f434b5f4845494748542829290a34302052455455524e20300a3930302052455455524e20310a456e642046756e6374696f6e0a0a46756e6374696f6e205374616b654d415428292055696e7436340a31302044494d20762c20732061732055696e7436340a3230204946205354524c454e284c4f414428226d617422292920213d203332205448454e20474f544f203930300a33302049462049535f414444524553535f56414c4944285349474e4552282929203d3d2030205448454e20474f544f203930300a3430204c45542076203d20415353455456414c5545284c4f414428226d61742229290a35302049462076203d3d2030205448454e20474f544f203930300a3630204c45542073203d20300a37302049462045584953545328226d7322202b205349474e4552282929203d3d2030205448454e20474f544f2039300a3830204c45542073203d204c4f414428226d7322202b205349474e45522829290a39302053544f524528226d7322202b205349474e455228292c2073202b2076290a3130302053544f524528226d6c22202b205349474e455228292c204c4f4144282272642229290a3131302052455455524e20300a3930302052455455524e20310a456e642046756e6374696f6e0a0a46756e6374696f6e20556e7374616b654d415428616d6f756e742055696e743634292055696e7436340a31302049462045584953545328226d7322202b205349474e4552282929203d3d2030205448454e20474f544f203930300a3230204946204c4f4144282272642229203c3d204c4f414428226d6c22202b205349474e4552282929205448454e20474f544f203930300a333020494620616d6f756e74203d3d2030207c7c20616d6f756e74203e204c4f414428226d7322202b205349474e4552282929205448454e20474f544f203930300a34302053544f524528226d7322202b205349474e455228292c204c4f414428226d7322202b205349474e4552282929202d20616d6f756e74290a35302053454e445f41535345545f544f5f41444452455353285349474e455228292c20616d6f756e742c204c4f414428226d61742229290a36302052455455524e20300a3930302052455455524e20310a456e642046756e6374696f6e0a0a46756e6374696f6e2046756e6428292055696e7436340a3130204946204445524f56414c55452829203d3d2030205448454e20474f544f203930300a32302053544f524528227072697a6522202b2049544f41284c4f4144282272642229292c204c4f414428227072697a6522202b2049544f41284c4f41442822726422292929202b204445524f56414c55452829290a33302052455455524e20300a3930302052455455524e20310a456e642046756e6374696f6e0a0a46756e6374696f6e20456e74657228636f6d6d697420537472696e67292055696e7436340a31302044494d20722c206e2c20612c20772061732055696e7436340a32302044494d207120617320537472696e670a3330204946204c4f4144282266726f7a656e2229203d3d2030205448454e20474f544f203930300a34302049462049535f414444524553535f56414c4944285349474e4552282929203d3d2030205448454e20474f544f203930300a3530204c45542072203d204c4f41442822726422290a363020494620424c4f434b5f4845494748542829203e204c4f4144282272732229202b204c4f41442822636f6d6d6974772229205448454e20474f544f203930300a3730204c4554206e203d204c4f414428226e22202b2049544f41287229290a3830204946206e203e3d204c4f414428226d61786e2229205448454e20474f544f203930300a3930204946204445524f56414c55452829203c3d204c4f4144282272626f6e642229205448454e20474f544f203930300a313030204946204558495354532822696e22202b2049544f41287229202b205349474e4552282929203d3d2031205448454e20474f544f203930300a313130204946205354524c454e28636f6d6d69742920213d203634205448454e20474f544f203930300a313230204c45542061203d204445524f56414c55452829202d204c4f4144282272626f6e6422290a313330204c45542077203d20610a3134302049462045584953545328226d7322202b205349474e4552282929203d3d2030205448454e20474f544f203138300a313530204946204c4f414428226d7322202b205349474e4552282929203c204c4f414428226d696e6d61742229205448454e20474f544f203138300a313630204c45542077203d2061202a2028313030202b204c4f41442822626f6f7374222929202f203130300a3137302053544f524528226d6c22202b205349474e455228292c2072290a313830204c45542071203d2049544f41287229202b20225f22202b2049544f41286e290a3139302053544f524528227022202b20712c205349474e45522829290a3230302053544f524528226122202b20712c2061290a3231302053544f524528227422202b20712c2077290a3232302053544f524528226822202b20712c20636f6d6d6974290a3233302053544f524528227622202b20712c2030290a3234302053544f524528227822202b20712c2030290a3235302053544f52452822696e22202b2049544f41287229202b205349474e455228292c206e290a3236302053544f524528226e22202b2049544f412872292c206e202b2031290a3237302052455455524e20300a3930302052455455524e20310a456e642046756e6374696f6e0a0a46756e6374696f6e2052657665616c286a2055696e7436342c206e756d2055696e7436342c2073616c7420537472696e67292055696e7436340a31302044494d20722c20742061732055696e7436340a32302044494d207120617320537472696e670a3330204c45542072203d204c4f41442822726422290a3430204c45542074203d204c4f4144282272732229202b204c4f41442822636f6d6d69747722290a353020494620424c4f434b5f4845494748542829203c3d2074205448454e20474f544f203930300a363020494620424c4f434b5f4845494748542829203e2074202b204c4f4144282272657665616c772229205448454e20474f544f203930300a3730204946206a203e3d204c4f414428226e22202b2049544f4128722929205448454e20474f544f203930300a3830204c45542071203d2049544f41287229202b20225f22202b2049544f41286a290a3930204946204c4f414428227022202b20712920213d205349474e45522829205448454e20474f544f203930300a313030204946204c4f414428227622202b20712920213d2030205448454e20474f544f203930300a31313020494620484558285348413235362849544f41286e756d29202b20223a22202b2073616c74292920213d204c4f414428226822202b207129205448454e20474f544f203930300a3132302053544f524528227622202b20712c2031290a3133302053544f52452822736422202b2049544f412872292c204c4f41442822736422202b2049544f4128722929202b206e756d290a3134302053544f52452822747722202b2049544f412872292c204c4f41442822747722202b2049544f4128722929202b204c4f414428227422202b207129290a3135302052455455524e20300a3930302052455455524e20310a456e642046756e6374696f6e0a0a46756e6374696f6e204472617728292055696e7436340a31302044494d20722c206e2c206a2c2074772c207069636b2c206163632c207072697a652c20666f72662061732055696e7436340a32302044494d207120617320537472696e670a3330204c45542072203d204c4f41442822726422290a3430204946204c4f4144282266726f7a656e2229203d3d2030205448454e20474f544f203930300a353020494620424c4f434b5f4845494748542829203c3d204c4f4144282272732229202b204c4f41442822636f6d6d6974772229202b204c4f4144282272657665616c772229205448454e20474f544f203930300a3630204c4554206e203d204c4f414428226e22202b2049544f41287229290a3730204c4554207477203d204c4f41442822747722202b2049544f41287229290a3830204c4554207072697a65203d204c4f414428227072697a6522202b2049544f41287229290a3930204c455420666f7266203d20300a313030204c4554206a203d20300a313130204946206a203e3d206e205448454e20474f544f203135300a313230204946204c4f414428227622202b2049544f41287229202b20225f22202b2049544f41286a2929203d3d2031205448454e20474f544f203134300a313330204c455420666f7266203d20666f7266202b204c4f4144282272626f6e6422290a313430204c4554206a203d206a202b20310a31343520474f544f203131300a313530204c4554207072697a65203d207072697a65202b20666f72660a3136302053544f52452822666f726622202b2049544f412872292c20666f7266290a313730204946207477203d3d2030205448454e20474f544f203430300a313830204c4554207069636b203d204c4f41442822736422202b2049544f412872292920252074770a313930204c455420616363203d20300a323030204c4554206a203d20300a323130204946206a203e3d206e205448454e20474f544f203930300a323230204c45542071203d2049544f41287229202b20225f22202b2049544f41286a290a323330204946204c4f414428227622202b207129203d3d2030205448454e20474f544f203236300a323430204c455420616363203d20616363202b204c4f414428227422202b2071290a323530204946207069636b203c20616363205448454e20474f544f203330300a323630204c4554206a203d206a202b20310a32373020474f544f203231300a3330302053544f5245282277696e22202b2049544f412872292c206a290a3331302053544f524528227061696422202b2049544f412872292c207072697a65290a3332302053454e445f4445524f5f544f5f41444452455353284c4f414428227022202b2071292c207072697a65290a333330204c4554207072697a65203d20300a3430302053544f52452822647261776e22202b2049544f412872292c2031290a3431302053544f524528227264222c2072202b2031290a3432302053544f524528227273222c20424c4f434b5f4845494748542829290a3433302053544f524528226e22202b2049544f412872202b2031292c2030290a3434302053544f524528227072697a6522202b2049544f412872202b2031292c207072697a65290a3435302053544f52452822747722202b2049544f412872202b2031292c2030290a3436302053544f52452822736422202b2049544f412872202b2031292c2030290a3437302052455455524e20300a3930302052455455524e20310a456e642046756e6374696f6e0a0a46756e6374696f6e20576974686472617728722055696e7436342c206a2055696e743634292055696e7436340a31302044494d207120617320537472696e670a32302044494d20616d742061732055696e7436340a3330204946204558495354532822647261776e22202b2049544f4128722929203d3d2030205448454e20474f544f203930300a3430204c45542071203d2049544f41287229202b20225f22202b2049544f41286a290a35302049462045584953545328227022202b207129203d3d2030205448454e20474f544f203930300a3630204946204c4f414428227022202b20712920213d205349474e45522829205448454e20474f544f203930300a3730204946204c4f414428227822202b20712920213d2030205448454e20474f544f203930300a3830204c455420616d74203d204c4f414428226122202b2071290a3930204946204c4f414428227622202b207129203d3d2030205448454e20474f544f203131300a313030204c455420616d74203d20616d74202b204c4f4144282272626f6e6422290a3131302053544f524528227822202b20712c2031290a3132302053454e445f4445524f5f544f5f41444452455353285349474e455228292c20616d74290a3133302052455455524e20300a3930302052455455524e20310a456e642046756e6374696f6e0a |
| boost | 100 |
| commitw | 20 |
| frozen | 1 |
| mat | ba2affdba4ede408d5238811eb4917e5a4119219c4f97c6aa715ea823305cfa6 |
| maxn | 32 |
| minmat | 100 |
| n0 | 0 |
| owner | 24966aebd59c3a756508b15ef514a5f256f1ac1a8765433280c342b75a98ce0500 |
| prize0 | 0 |
| rbond | 1000 |
| rd | 0 |
| revealw | 20 |
| rs | 7.906744e+06 |
| sd0 | 0 |
| tw0 | 0 |
Transaction Information
Root Hash
Built Height
7906712
Block
Timestamp
1794760798786
Timestamp (UTC)
2026-11-15 16:39:58
Block Age
10m 59s ago
Fee
0.10579
TX Size
8.480 kB
Version
1
Confirmations
35
Signature Type
DERO_HOMOMORPHIC
DERO Asset
2
Ring Size
0.10579
Fees
0.00000
Deposited
Sender
dero1qyjfv6ht6kwr5at9pzc4aag55he9dudvr2rk2sejsrp59d66nr8q2qqzwxwc9
Ring Members (2)
Smart Contract Details
SC Balance
0.00000 DERO
Smart Contract Code
Smart Contract Arguments
| Name | Type | Value |
|---|---|---|
| SC_ACTION | uint64 | 1 |
| SC_CODE | string | "/* gt_prize.bas -- R32 mechanism M3 "no-loss prize pool with commit-reveal draw + miner boost", DVM-BASIC. Round r: Enter(commit) during the commit phase with a deposit = principal + reveal bond; commit = HEX(SHA256(ITOA(n) + ":" + salt)). Reveal(j, n, salt) in the reveal phase adds n to the round seed. Draw() after the reveal phase picks one revealed entry with probability weight / total weight, where weight = principal, or principal * (100 + boost) / 100 while the entrant keeps >= minmat MAT staked. pick = seed % tw: one honest uniform n makes the seed uniform. v2 (R32 closed loop, D-GT-10): RANDOM is NOT used: it is keyed by the block id, so the integrator of the Draw block could withhold that block to re-roll the draw (cost: one integrator share, 3,075 atomic on mainnet today); without it the only bias left is the last revealer's reveal-or-forfeit option, bounded by rbond. The prize = sponsor funds + reveal bonds forfeited by non-revealers of the same round. Principal is always returned (Withdraw after the draw): no participant loses principal, and no payout comes from a later participant's deposit. Gas bound: at most maxn entries per round (the draw loop is O(n)). */ Function Initialize() Uint64 10 STORE("owner", SIGNER()) 20 STORE("rbond", 10000) 30 STORE("commitw", 10) 40 STORE("revealw", 10) 50 STORE("maxn", 32) 60 STORE("boost", 100) 70 STORE("minmat", 100) 80 STORE("mat", "") 90 STORE("frozen", 0) 100 STORE("rd", 0) 110 STORE("rs", BLOCK_HEIGHT()) 120 STORE("n0", 0) 130 STORE("prize0", 0) 140 STORE("tw0", 0) 150 STORE("sd0", 0) 160 RETURN 0 End Function Function SetParams(rbond Uint64, commitw Uint64, revealw Uint64, maxn Uint64, boost Uint64, minmat Uint64) Uint64 10 IF LOAD("owner") != SIGNER() THEN GOTO 900 20 IF LOAD("frozen") != 0 THEN GOTO 900 30 IF commitw == 0 || revealw == 0 || maxn == 0 || maxn > 64 THEN GOTO 900 40 STORE("rbond", rbond) 50 STORE("commitw", commitw) 60 STORE("revealw", revealw) 70 STORE("maxn", maxn) 80 STORE("boost", boost) 90 STORE("minmat", minmat) 100 RETURN 0 900 RETURN 1 End Function Function SetMAT(scidhex String) Uint64 10 IF LOAD("owner") != SIGNER() THEN GOTO 900 20 IF LOAD("frozen") != 0 THEN GOTO 900 30 IF STRLEN(scidhex) != 64 THEN GOTO 900 40 STORE("mat", HEXDECODE(scidhex)) 50 RETURN 0 900 RETURN 1 End Function Function Freeze() Uint64 10 IF LOAD("owner") != SIGNER() THEN GOTO 900 20 STORE("frozen", 1) 30 STORE("rs", BLOCK_HEIGHT()) 40 RETURN 0 900 RETURN 1 End Function Function StakeMAT() Uint64 10 DIM v, s as Uint64 20 IF STRLEN(LOAD("mat")) != 32 THEN GOTO 900 30 IF IS_ADDRESS_VALID(SIGNER()) == 0 THEN GOTO 900 40 LET v = ASSETVALUE(LOAD("mat")) 50 IF v == 0 THEN GOTO 900 60 LET s = 0 70 IF EXISTS("ms" + SIGNER()) == 0 THEN GOTO 90 80 LET s = LOAD("ms" + SIGNER()) 90 STORE("ms" + SIGNER(), s + v) 100 STORE("ml" + SIGNER(), LOAD("rd")) 110 RETURN 0 900 RETURN 1 End Function Function UnstakeMAT(amount Uint64) Uint64 10 IF EXISTS("ms" + SIGNER()) == 0 THEN GOTO 900 20 IF LOAD("rd") <= LOAD("ml" + SIGNER()) THEN GOTO 900 30 IF amount == 0 || amount > LOAD("ms" + SIGNER()) THEN GOTO 900 40 STORE("ms" + SIGNER(), LOAD("ms" + SIGNER()) - amount) 50 SEND_ASSET_TO_ADDRESS(SIGNER(), amount, LOAD("mat")) 60 RETURN 0 900 RETURN 1 End Function Function Fund() Uint64 10 IF DEROVALUE() == 0 THEN GOTO 900 20 STORE("prize" + ITOA(LOAD("rd")), LOAD("prize" + ITOA(LOAD("rd"))) + DEROVALUE()) 30 RETURN 0 900 RETURN 1 End Function Function Enter(commit String) Uint64 10 DIM r, n, a, w as Uint64 20 DIM q as String 30 IF LOAD("frozen") == 0 THEN GOTO 900 40 IF IS_ADDRESS_VALID(SIGNER()) == 0 THEN GOTO 900 50 LET r = LOAD("rd") 60 IF BLOCK_HEIGHT() > LOAD("rs") + LOAD("commitw") THEN GOTO 900 70 LET n = LOAD("n" + ITOA(r)) 80 IF n >= LOAD("maxn") THEN GOTO 900 90 IF DEROVALUE() <= LOAD("rbond") THEN GOTO 900 100 IF EXISTS("in" + ITOA(r) + SIGNER()) == 1 THEN GOTO 900 110 IF STRLEN(commit) != 64 THEN GOTO 900 120 LET a = DEROVALUE() - LOAD("rbond") 130 LET w = a 140 IF EXISTS("ms" + SIGNER()) == 0 THEN GOTO 180 150 IF LOAD("ms" + SIGNER()) < LOAD("minmat") THEN GOTO 180 160 LET w = a * (100 + LOAD("boost")) / 100 170 STORE("ml" + SIGNER(), r) 180 LET q = ITOA(r) + "_" + ITOA(n) 190 STORE("p" + q, SIGNER()) 200 STORE("a" + q, a) 210 STORE("t" + q, w) 220 STORE("h" + q, commit) 230 STORE("v" + q, 0) 240 STORE("x" + q, 0) 250 STORE("in" + ITOA(r) + SIGNER(), n) 260 STORE("n" + ITOA(r), n + 1) 270 RETURN 0 900 RETURN 1 End Function Function Reveal(j Uint64, num Uint64, salt String) Uint64 10 DIM r, t as Uint64 20 DIM q as String 30 LET r = LOAD("rd") 40 LET t = LOAD("rs") + LOAD("commitw") 50 IF BLOCK_HEIGHT() <= t THEN GOTO 900 60 IF BLOCK_HEIGHT() > t + LOAD("revealw") THEN GOTO 900 70 IF j >= LOAD("n" + ITOA(r)) THEN GOTO 900 80 LET q = ITOA(r) + "_" + ITOA(j) 90 IF LOAD("p" + q) != SIGNER() THEN GOTO 900 100 IF LOAD("v" + q) != 0 THEN GOTO 900 110 IF HEX(SHA256(ITOA(num) + ":" + salt)) != LOAD("h" + q) THEN GOTO 900 120 STORE("v" + q, 1) 130 STORE("sd" + ITOA(r), LOAD("sd" + ITOA(r)) + num) 140 STORE("tw" + ITOA(r), LOAD("tw" + ITOA(r)) + LOAD("t" + q)) 150 RETURN 0 900 RETURN 1 End Function Function Draw() Uint64 10 DIM r, n, j, tw, pick, acc, prize, forf as Uint64 20 DIM q as String 30 LET r = LOAD("rd") 40 IF LOAD("frozen") == 0 THEN GOTO 900 50 IF BLOCK_HEIGHT() <= LOAD("rs") + LOAD("commitw") + LOAD("revealw") THEN GOTO 900 60 LET n = LOAD("n" + ITOA(r)) 70 LET tw = LOAD("tw" + ITOA(r)) 80 LET prize = LOAD("prize" + ITOA(r)) 90 LET forf = 0 100 LET j = 0 110 IF j >= n THEN GOTO 150 120 IF LOAD("v" + ITOA(r) + "_" + ITOA(j)) == 1 THEN GOTO 140 130 LET forf = forf + LOAD("rbond") 140 LET j = j + 1 145 GOTO 110 150 LET prize = prize + forf 160 STORE("forf" + ITOA(r), forf) 170 IF tw == 0 THEN GOTO 400 180 LET pick = LOAD("sd" + ITOA(r)) % tw 190 LET acc = 0 200 LET j = 0 210 IF j >= n THEN GOTO 900 220 LET q = ITOA(r) + "_" + ITOA(j) 230 IF LOAD("v" + q) == 0 THEN GOTO 260 240 LET acc = acc + LOAD("t" + q) 250 IF pick < acc THEN GOTO 300 260 LET j = j + 1 270 GOTO 210 300 STORE("win" + ITOA(r), j) 310 STORE("paid" + ITOA(r), prize) 320 SEND_DERO_TO_ADDRESS(LOAD("p" + q), prize) 330 LET prize = 0 400 STORE("drawn" + ITOA(r), 1) 410 STORE("rd", r + 1) 420 STORE("rs", BLOCK_HEIGHT()) 430 STORE("n" + ITOA(r + 1), 0) 440 STORE("prize" + ITOA(r + 1), prize) 450 STORE("tw" + ITOA(r + 1), 0) 460 STORE("sd" + ITOA(r + 1), 0) 470 RETURN 0 900 RETURN 1 End Function Function Withdraw(r Uint64, j Uint64) Uint64 10 DIM q as String 20 DIM amt as Uint64 30 IF EXISTS("drawn" + ITOA(r)) == 0 THEN GOTO 900 40 LET q = ITOA(r) + "_" + ITOA(j) 50 IF EXISTS("p" + q) == 0 THEN GOTO 900 60 IF LOAD("p" + q) != SIGNER() THEN GOTO 900 70 IF LOAD("x" + q) != 0 THEN GOTO 900 80 LET amt = LOAD("a" + q) 90 IF LOAD("v" + q) == 0 THEN GOTO 110 100 LET amt = amt + LOAD("rbond") 110 STORE("x" + q, 1) 120 SEND_DERO_TO_ADDRESS(SIGNER(), amt) 130 RETURN 0 900 RETURN 1 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.