Source Code
Overview
ETH Balance
0.03 ETH
Token Holdings
More Info
ContractCreator
Multichain Info
N/A
Latest 24 from a total of 24 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Buy Ticket | 5907034 | 2 mins ago | IN | 0.001 ETH | 0.00000227 | ||||
Buy Ticket | 5907026 | 2 mins ago | IN | 0.001 ETH | 0.00000319 | ||||
Open Lottery | 5906413 | 14 mins ago | IN | 0 ETH | 0.00000206 | ||||
Close Lottery | 5906290 | 17 mins ago | IN | 0 ETH | 0.00000268 | ||||
Open Lottery | 5904337 | 57 mins ago | IN | 0 ETH | 0.00000268 | ||||
Close Lottery | 5872921 | 13 hrs ago | IN | 0 ETH | 0.00000412 | ||||
Buy Ticket | 5781209 | 2 days ago | IN | 0.001 ETH | 0.00000423 | ||||
Buy Ticket | 5769643 | 2 days ago | IN | 0.001 ETH | 0.0000033 | ||||
Buy Ticket | 5767243 | 2 days ago | IN | 0.001 ETH | 0.00000384 | ||||
Buy Ticket | 5744422 | 2 days ago | IN | 0.001 ETH | 0.00000227 | ||||
Buy Ticket | 5744415 | 2 days ago | IN | 0.001 ETH | 0.00000385 | ||||
Buy Ticket | 5665848 | 3 days ago | IN | 0.001 ETH | 0.00000367 | ||||
Buy Ticket | 5663942 | 3 days ago | IN | 0.003 ETH | 0.00000226 | ||||
Buy Ticket | 5663906 | 4 days ago | IN | 0.003 ETH | 0.00000227 | ||||
Buy Ticket | 5663843 | 4 days ago | IN | 0.001 ETH | 0.00000227 | ||||
Buy Ticket | 5663587 | 4 days ago | IN | 0.002 ETH | 0.00000227 | ||||
Buy Ticket | 5663364 | 4 days ago | IN | 0.001 ETH | 0.00000327 | ||||
Buy Ticket | 5525510 | 6 days ago | IN | 0.001 ETH | 0.00000375 | ||||
Buy Ticket | 5523210 | 6 days ago | IN | 0.001 ETH | 0.00000221 | ||||
Buy Ticket | 5523199 | 6 days ago | IN | 0.001 ETH | 0.0000041 | ||||
Buy Ticket | 5319505 | 9 days ago | IN | 0.004 ETH | 0.00000221 | ||||
Buy Ticket | 5319464 | 9 days ago | IN | 0.004 ETH | 0.00000221 | ||||
Buy Ticket | 5318237 | 9 days ago | IN | 0.001 ETH | 0.00000455 | ||||
Open Lottery | 5311218 | 9 days ago | IN | 0 ETH | 0.00000318 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
5907034 | 2 mins ago | 0 ETH | ||||
5907034 | 2 mins ago | 0 ETH | ||||
5907034 | 2 mins ago | 0 ETH | ||||
5907034 | 2 mins ago | 0.001 ETH | ||||
5907026 | 2 mins ago | 0 ETH | ||||
5907026 | 2 mins ago | 0 ETH | ||||
5907026 | 2 mins ago | 0 ETH | ||||
5907026 | 2 mins ago | 0.001 ETH | ||||
5906413 | 14 mins ago | 0 ETH | ||||
5906413 | 14 mins ago | 0 ETH | ||||
5906290 | 17 mins ago | 0 ETH | ||||
5906290 | 17 mins ago | 0 ETH | ||||
5904337 | 57 mins ago | 0 ETH | ||||
5904337 | 57 mins ago | 0 ETH | ||||
5872921 | 13 hrs ago | 0 ETH | ||||
5872921 | 13 hrs ago | 0 ETH | ||||
5781209 | 2 days ago | 0 ETH | ||||
5781209 | 2 days ago | 0 ETH | ||||
5781209 | 2 days ago | 0 ETH | ||||
5781209 | 2 days ago | 0.001 ETH | ||||
5769643 | 2 days ago | 0 ETH | ||||
5769643 | 2 days ago | 0 ETH | ||||
5769643 | 2 days ago | 0 ETH | ||||
5769643 | 2 days ago | 0.001 ETH | ||||
5767243 | 2 days ago | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
RafflePhaseTest
Compiler Version
v0.8.28+commit.7893614a
ZkSolc Version
v1.5.7
Optimization Enabled:
Yes with Mode 3
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.28; contract RafflePhaseTest { address public owner; uint256 public constant ticketPrice = 0.001 ether; // Prix du ticket fixé à 0.001 ETH bool public isOpen; // true = la vente de tickets est ouverte // Nombre de tickets achetés par chaque adresse mapping(address => uint256) public ticketsBought; // Liste des participants uniques (une seule entrée par adresse) address[] public participants; // Permet de savoir si une adresse est déjà référencée dans "participants" mapping(address => bool) private hasParticipated; uint256 public totalTickets; // total de tickets vendus (somme de tous les ticketsBought) // Événements pour la transparence event TicketPurchased(address indexed buyer, uint256 tickets); event LotteryOpened(); event LotteryClosed(); event FundsWithdrawn(uint256 amount); modifier onlyOwner() { require(msg.sender == owner, "Not owner"); _; } constructor() { owner = msg.sender; isOpen = false; // La loterie est fermée au départ } /// @notice Ouvre la vente de tickets (appelée par l'owner quand tout est prêt) function openLottery() external onlyOwner { require(!isOpen, "Lottery already open"); isOpen = true; emit LotteryOpened(); } /// @notice Ferme la vente de tickets (appelée par l'owner quand c'est fini) function closeLottery() external onlyOwner { require(isOpen, "Lottery not open"); isOpen = false; emit LotteryClosed(); } /// @notice Achète `_numTickets` tickets en envoyant la valeur correspondante function buyTicket(uint256 _numTickets) external payable { require(isOpen, "Lottery not open"); require(_numTickets > 0, "Must buy >= 1"); require(msg.value == ticketPrice * _numTickets, "Wrong ETH amount"); ticketsBought[msg.sender] += _numTickets; totalTickets += _numTickets; // si c'est la première fois que cette adresse achète if (!hasParticipated[msg.sender]) { hasParticipated[msg.sender] = true; participants.push(msg.sender); } emit TicketPurchased(msg.sender, _numTickets); } /// @notice Retire les fonds du contrat (les ETH payés pour les tickets) function withdrawFunds() external onlyOwner { require(!isOpen, "Close lottery first"); require(address(this).balance > 0, "No funds to withdraw"); uint256 balance = address(this).balance; address payable recipient = payable(owner); totalTickets = 0; // Réinitialisation pour éviter d'éventuelles re-entrances (bool sent, ) = recipient.call{value: balance}(""); require(sent, "Withdraw failed"); emit FundsWithdrawn(balance); } /// @notice Renvoie le nombre total de tickets vendus function getTotalTickets() external view returns (uint256) { return totalTickets; } /// @notice Renvoie le nombre de tickets achetés par un utilisateur function getUserTickets(address _user) external view returns (uint256) { return ticketsBought[_user]; } /// @notice Renvoie le nombre total de participants (uniques) function getParticipantCount() external view returns (uint256) { return participants.length; } /// @notice Renvoie la liste de tous les participants function getAllParticipants() external view returns (address[] memory) { return participants; } }
{ "viaIR": false, "codegen": "yul", "remappings": [ "forge-std/=lib/forge-std/src/" ], "evmVersion": "cancun", "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "optimizer": { "enabled": true, "mode": "3", "fallback_to_optimizing_for_size": false, "disable_system_request_memoization": true }, "metadata": {}, "libraries": {}, "enableEraVMExtensions": false, "forceEVMLA": false }
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FundsWithdrawn","type":"event"},{"anonymous":false,"inputs":[],"name":"LotteryClosed","type":"event"},{"anonymous":false,"inputs":[],"name":"LotteryOpened","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"tickets","type":"uint256"}],"name":"TicketPurchased","type":"event"},{"inputs":[{"internalType":"uint256","name":"_numTickets","type":"uint256"}],"name":"buyTicket","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"closeLottery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAllParticipants","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getParticipantCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalTickets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getUserTickets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openLottery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"participants","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ticketPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ticketsBought","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTickets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawFunds","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
9c4d535b0000000000000000000000000000000000000000000000000000000000000000010000d16271401619098c8aaddf730cbf1e6f05fa6f5ca2102aad8cc58f929000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x000200000000000200010000000000020000006003100270000000960330019700010000003103550000008004000039000000400040043f0000000100200190000000420000c13d000000040030008c000001990000413d000000000201043b000000e0022002700000009a0020009c000000500000213d000000a40020009c0000006e0000a13d000000a50020009c0000008f0000213d000000a80020009c000000a60000613d000000a90020009c000001990000c13d0000000001000416000000000001004b000001990000c13d000000000100041a000000ae021001970000000003000411000000000023004b000001030000c13d000000af00100198000001220000c13d000000c6010000410000000000100443000000000100041000000004001004430000000001000414000000960010009c0000009601008041000000c001100210000000c7011001c70000800a020000390253024e0000040f0000000100200190000001d30000613d000000000101043b000000000001004b000001bb0000c13d000000400100043d0000004402100039000000cb030000410000000000320435000000240210003900000014030000390000000000320435000000b0020000410000000000210435000000040210003900000020030000390000000000320435000000960010009c00000096010080410000004001100210000000c9011001c700000255000104300000000001000416000000000001004b000001990000c13d000000000100041a000000970110019700000000020004110000009802200197000000000112019f000000000010041b0000002001000039000001000010044300000120000004430000009901000041000002540001042e0000009b0020009c0000007b0000a13d0000009c0020009c0000009d0000213d0000009f0020009c000000b30000613d000000a00020009c000001990000c13d0000000001000416000000000001004b000001990000c13d000000000100041a000000ae021001970000000003000411000000000023004b000001030000c13d000000af001001980000012c0000c13d0000009801100197000000b3011001c7000000000010041b0000000001000414000000960010009c0000009601008041000000c001100210000000b4011001c70000800d020000390000000103000039000000b504000041000001940000013d000000aa0020009c000000810000613d000000ab0020009c000000a10000613d000000ac0020009c000001990000c13d0000000001000416000000000001004b000001990000c13d000000b701000041000000800010043f000000ad01000041000002540001042e000000a10020009c000000bb0000613d000000a20020009c000000ce0000613d000000a30020009c000001990000c13d000000240030008c000001990000413d0000000002000416000000000002004b000001990000c13d0000000401100370000000000101043b000000ae0010009c000001990000213d000000000010043f0000000101000039000000200010043f0253023c0000040f000000ff0000013d000000a60020009c000000e20000613d000000a70020009c000001990000c13d0000000001000416000000000001004b000001990000c13d000000000100041a000000af001001980000000001000039000000010100c039000000800010043f000000ad01000041000002540001042e0000009d0020009c000000fb0000613d0000009e0020009c000001990000c13d0000000001000416000000000001004b000001990000c13d0000000401000039000000ff0000013d0000000001000416000000000001004b000001990000c13d0000000202000039000000000102041a000000800010043f000000000020043f0000002002000039000000000001004b0000010d0000c13d000000a00100003900000000040200190000019c0000013d0000000001000416000000000001004b000001990000c13d000000000100041a000000ae01100197000000800010043f000000ad01000041000002540001042e000000240030008c000001990000413d0000000401100370000000000301043b000000000100041a000000af00100198000000d80000613d000000000003004b000001360000c13d000000b001000041000000800010043f0000002001000039000000840010043f0000000d01000039000000a40010043f000000c101000041000000c40010043f000000b20100004100000255000104300000000001000416000000000001004b000001990000c13d000000000100041a000000ae021001970000000003000411000000000023004b000001030000c13d000000af001001980000018a0000c13d000000b001000041000000800010043f0000002001000039000000840010043f0000001001000039000000a40010043f000000c201000041000000c40010043f000000b2010000410000025500010430000000240030008c000001990000413d0000000002000416000000000002004b000001990000c13d0000000401100370000000000101043b0000000202000039000000000202041a000000000021004b000001990000813d0253022d0000040f0000000302200210000000000101041a000000000121022f000000ae01100197000000ff0020008c0000000001002019000000400200043d0000000000120435000000960020009c00000096020080410000004001200210000000c3011001c7000002540001042e0000000001000416000000000001004b000001990000c13d0000000201000039000000000101041a000000800010043f000000ad01000041000002540001042e000000b001000041000000800010043f0000002001000039000000840010043f0000000901000039000000a40010043f000000c401000041000000c40010043f000000b2010000410000025500010430000000a005000039000000cc0300004100000000040000190000000006050019000000000503041a000000ae05500197000000000556043600000001033000390000000104400039000000000014004b000001100000413d000000410160008a000000ce04100197000000cd0040009c0000019b0000413d000000bf01000041000000000010043f0000004101000039000000040010043f000000c0010000410000025500010430000000b001000041000000800010043f0000002001000039000000840010043f0000001301000039000000a40010043f000000c501000041000000c40010043f000000b2010000410000025500010430000000b001000041000000800010043f0000002001000039000000840010043f0000001401000039000000a40010043f000000b101000041000000c40010043f000000b2010000410000025500010430000000b7013000d1000000b70210012a000000000023004b000001b50000c13d0000000002000416000000000012004b000001d40000c13d000100000003001d0000000001000411000000000010043f0000000101000039000000200010043f0000000001000414000000960010009c0000009601008041000000c001100210000000b9011001c700008010020000390253024e0000040f0000000100200190000001990000613d000000000101043b000000000201041a0000000103000029000000000032001a000001b50000413d0000000002320019000000000021041b0000000401000039000000000201041a000000000032001a000001b50000413d0000000002320019000000000021041b0000000001000411000000000010043f0000000301000039000000200010043f0000000001000414000000960010009c0000009601008041000000c001100210000000b9011001c700008010020000390253024e0000040f0000000100200190000001990000613d000000000101043b000000000201041a000000ff00200190000001790000c13d000000cf0220019700000001022001bf000000000021041b0000000202000039000000000102041a000000ba0010009c0000011c0000213d0000000103100039000000000032041b000000000020043f000000bb0110009a000000000201041a000000bc022001970000000003000411000000000232019f000000000021041b000000400100043d00000001020000290000000000210435000000960010009c000000960100804100000040011002100000000002000414000000960020009c0000009602008041000000c002200210000000000112019f000000bd011001c70000800d020000390000000203000039000000be040000410000000005000411000001940000013d0000009801100197000000000010041b0000000001000414000000960010009c0000009601008041000000c001100210000000b4011001c70000800d020000390000000103000039000000b604000041025302490000040f0000000100200190000001990000613d0000000001000019000002540001042e000000000100001900000255000104300000008001400039000000400010043f0000000000210435000000a002400039000000800300043d0000000000320435000000c002400039000000000003004b000001ac0000613d000000a00400003900000000050000190000000046040434000000ae0660019700000000026204360000000105500039000000000035004b000001a60000413d0000000002120049000000960020009c00000096020080410000006002200210000000960010009c00000096010080410000004001100210000000000112019f000002540001042e000000bf01000041000000000010043f0000001101000039000000040010043f000000c0010000410000025500010430000000c6010000410000000000100443000000000100041000000004001004430000000001000414000000960010009c0000009601008041000000c001100210000000c7011001c70000800a020000390253024e0000040f0000000100200190000001d30000613d000000000301043b0000000401000039000000000001041b00000000010004140000000004000411000000040040008c000100000003001d000001de0000c13d00000001020000390000000001000031000001ed0000013d000000000001042f000000b001000041000000800010043f0000002001000039000000840010043f0000001001000039000000a40010043f000000b801000041000000c40010043f000000b2010000410000025500010430000000960010009c0000009601008041000000c001100210000000000003004b000001e50000c13d0000000002040019000001e80000013d000000b4011001c700008009020000390000000005000019025302490000040f00010000000103550000006001100270000000960010019d0000009601100197000000000001004b000002150000613d0000001f04100039000000ce044001970000003f04400039000000ce05400197000000400400043d0000000005540019000000000045004b00000000060000390000000106004039000000ba0050009c0000011c0000213d00000001006001900000011c0000c13d000000400050043f0000000006140436000000ce031001980000001f0410018f00000000013600190000000105000367000002080000613d000000000705034f000000007807043c0000000006860436000000000016004b000002040000c13d000000000004004b000002150000613d000000000335034f0000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d0000000100200190000002270000613d00000001020000290000000000210435000000960010009c000000960100804100000040011002100000000002000414000000960020009c0000009602008041000000c002200210000000000112019f000000bd011001c70000800d020000390000000103000039000000ca04000041000001940000013d0000004402100039000000c803000041000000000032043500000024021000390000000f03000039000000370000013d0000000202000039000000000302041a000000000013004b000002350000a13d000000000020043f000000bb0110009a0000000002000019000000000001042d000000bf01000041000000000010043f0000003201000039000000040010043f000000c0010000410000025500010430000000000001042f0000000001000414000000960010009c0000009601008041000000c001100210000000b9011001c700008010020000390253024e0000040f0000000100200190000002470000613d000000000101043b000000000001042d000000000100001900000255000104300000024c002104210000000102000039000000000001042d0000000002000019000000000001042d00000251002104230000000102000039000000000001042d0000000002000019000000000001042d0000025300000432000002540001042e00000255000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffff000000000000000000000000000000000000000000ffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000000000000000000000067dd74c9000000000000000000000000000000000000000000000000000000008da5cb5a00000000000000000000000000000000000000000000000000000000ad60572800000000000000000000000000000000000000000000000000000000ad60572900000000000000000000000000000000000000000000000000000000dd11247e000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000009dfecdcc0000000000000000000000000000000000000000000000000000000067dd74ca000000000000000000000000000000000000000000000000000000006fd098160000000000000000000000000000000000000000000000000000000084bd326400000000000000000000000000000000000000000000000000000000195ec9ed0000000000000000000000000000000000000000000000000000000035c1d3480000000000000000000000000000000000000000000000000000000035c1d3490000000000000000000000000000000000000000000000000000000047535d7b00000000000000000000000000000000000000000000000000000000195ec9ee0000000000000000000000000000000000000000000000000000000024600fc3000000000000000000000000000000000000000000000000000000000484a22f0000000000000000000000000000000000000000000000000000000006e8337f000000000000000000000000000000000000000000000000000000001209b1f60000000000000000000000000000000000000020000000800000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000ff000000000000000000000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000004c6f747465727920616c7265616479206f70656e0000000000000000000000000000000000000000000000000000000000000064000000800000000000000000000000000000000000000001000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a1e9642bf7ac3a05efe518bb84b870c97de6e1bf4e0128634427040b4a0c918fc2b180437972a94a98d643b705025c6263c595cce057cc3d910384b8d1d210c00000000000000000000000000000000000000000000000000038d7ea4c6800057726f6e672045544820616d6f756e74000000000000000000000000000000000200000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffbfa87805ed57dc1f0d489ce33be4c4577d74ccde357eeeee058a32c55c44a532ffffffffffffffffffffffff000000000000000000000000000000000000000002000000000000000000000000000000000000200000000000000000000000000668f5b446eb814fe35b3206f43f14bd8567ba04ddaf7a3ee56516929ab22ccb4e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000004d75737420627579203e3d2031000000000000000000000000000000000000004c6f7474657279206e6f74206f70656e0000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000004e6f74206f776e65720000000000000000000000000000000000000000000000436c6f7365206c6f7474657279206669727374000000000000000000000000009cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f3902000002000000000000000000000000000000240000000000000000000000005769746864726177206661696c6564000000000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000004a37b25aab49761ecf63117fe82b98d750917451133cf797507bc9fb5b96044a4e6f2066756e647320746f207769746864726177000000000000000000000000405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace000000000000000000000000000000000000000000000000ffffffffffffff80ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009db0f30878eb514411f7640b5801584e06fc5c0441d622ded884fcf69f723467
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.