Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
6031296 | 3 days ago | Contract Creation | 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:
RaffleContractTest
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; import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; contract RaffleContractTest is ReentrancyGuard { address public owner; uint256 public ticketPrice = 0.001 ether; bool public isOpen; bool public winnersAnnounced; bool public raffleCanceled; // New state for cancellation mapping(address => uint256) public ticketsBought; address[] public participants; mapping(address => bool) private hasParticipated; uint256 public totalTickets; event TicketPurchased(address indexed buyer, uint256 tickets); event LotteryOpened(); event LotteryClosed(); event FundsWithdrawn(uint256 amount); event TicketRefunded(address indexed user, uint256 amount); event WinnersPublished(); event RaffleCanceled(); modifier onlyOwner() { require(msg.sender == owner, "Not owner"); _; } constructor() { owner = msg.sender; isOpen = false; winnersAnnounced = false; raffleCanceled = false; } /// @notice Opens ticket sales function openLottery() external onlyOwner { require(!isOpen, "Lottery already open"); require(!raffleCanceled, "Cannot open canceled raffle"); isOpen = true; emit LotteryOpened(); } /// @notice Closes ticket sales function closeLottery() external onlyOwner { require(isOpen, "Lottery not open"); isOpen = false; emit LotteryClosed(); } /// @notice Buys `_numTickets` tickets function buyTicket(uint256 _numTickets) external payable { require(isOpen, "Lottery not open"); require(!raffleCanceled, "Raffle has been canceled"); require(_numTickets > 0, "Must buy >= 1"); require(msg.value == ticketPrice * _numTickets, "Wrong ETH amount"); ticketsBought[msg.sender] += _numTickets; totalTickets += _numTickets; if (!hasParticipated[msg.sender]) { hasParticipated[msg.sender] = true; participants.push(msg.sender); } emit TicketPurchased(msg.sender, _numTickets); } /// @notice Allows the owner to change the ticket price function setTicketPrice(uint256 _newPrice) external onlyOwner { require(_newPrice > 0, "Price must be greater than zero"); ticketPrice = _newPrice; } /// @notice Owner announces the winners function publishWinners() external onlyOwner { require(!isOpen, "Close lottery first"); require(!winnersAnnounced, "Winners already announced"); require( !raffleCanceled, "Cannot publish winners for a canceled raffle" ); winnersAnnounced = true; emit WinnersPublished(); } /// @notice Withdraw funds after winners are announced function withdrawFunds() external onlyOwner nonReentrant { require(!isOpen, "Close lottery first"); require(winnersAnnounced, "Publish winners before withdrawing funds"); require(address(this).balance > 0, "No funds to withdraw"); require(!raffleCanceled, "Cannot withdraw from a canceled raffle"); uint256 balance = address(this).balance; address payable recipient = payable(owner); (bool success, ) = recipient.call{value: balance}(""); require(success, "Withdraw failed"); // Reset ticket purchases for (uint i = 0; i < participants.length; i++) { ticketsBought[participants[i]] = 0; } totalTickets = 0; emit FundsWithdrawn(balance); } /// @notice Cancels the raffle, allowing refunds function cancelRaffle() external onlyOwner { require(!isOpen, "Cannot cancel an open raffle"); require(!winnersAnnounced, "Cannot cancel after winners are announced"); raffleCanceled = true; emit RaffleCanceled(); } /// @notice Allows participants to claim a refund function claimRefund() external nonReentrant { require(raffleCanceled, "Raffle is not canceled"); require(ticketsBought[msg.sender] > 0, "No tickets to refund"); uint256 refundAmount = ticketsBought[msg.sender] * ticketPrice; ticketsBought[msg.sender] = 0; (bool success, ) = payable(msg.sender).call{value: refundAmount}(""); require(success, "Refund failed"); emit TicketRefunded(msg.sender, refundAmount); } /// @notice Returns the total number of tickets sold function getTotalTickets() external view returns (uint256) { return totalTickets; } /// @notice Returns the number of tickets purchased by a user function getUserTickets(address _user) external view returns (uint256) { return ticketsBought[_user]; } /// @notice Returns the total number of unique participants function getParticipantCount() external view returns (uint256) { return participants.length; } /// @notice Returns the list of all participants function getAllParticipants() external view returns (address[] memory) { return participants; } /// @notice Prevents accidental ETH deposits receive() external payable { revert("Direct ETH transfers not allowed"); } fallback() external payable { revert("Invalid function call"); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (utils/ReentrancyGuard.sol) pragma solidity ^0.8.20; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at, * consider using {ReentrancyGuardTransient} instead. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant NOT_ENTERED = 1; uint256 private constant ENTERED = 2; uint256 private _status; /** * @dev Unauthorized reentrant call. */ error ReentrancyGuardReentrantCall(); constructor() { _status = NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be NOT_ENTERED if (_status == ENTERED) { revert ReentrancyGuardReentrantCall(); } // Any calls to nonReentrant after this point will fail _status = ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == ENTERED; } }
{ "viaIR": false, "codegen": "yul", "remappings": [ "@openzeppelin/=lib/openzeppelin-contracts/", "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", "forge-std/=lib/forge-std/src/", "halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/" ], "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"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"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":[],"name":"RaffleCanceled","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TicketRefunded","type":"event"},{"anonymous":false,"inputs":[],"name":"WinnersPublished","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"uint256","name":"_numTickets","type":"uint256"}],"name":"buyTicket","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"cancelRaffle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimRefund","outputs":[],"stateMutability":"nonpayable","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":"publishWinners","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"raffleCanceled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newPrice","type":"uint256"}],"name":"setTicketPrice","outputs":[],"stateMutability":"nonpayable","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":"winnersAnnounced","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
9c4d535b00000000000000000000000000000000000000000000000000000000000000000100016ba2ec20a567ed3068370d604aad8e132071f23f4f3b440002d3835ed100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x0002000000000002000300000000000200000060031002700000010d0330019700010000003103550000008004000039000000400040043f0000000100200190000000260000c13d000000040030008c0000003c0000413d000000000201043b000000e002200270000001150020009c000000470000213d000001230020009c0000005a0000213d0000012a0020009c000000880000a13d0000012b0020009c000000eb0000613d0000012c0020009c000000f30000613d0000012d0020009c000000d30000c13d0000000001000416000000000001004b000003d80000c13d0000000502000039000000000102041a000000800010043f000000000020043f0000002002000039000000000001004b000001a10000c13d000000a0010000390000000004020019000002100000013d0000000001000416000000000001004b000003d80000c13d0000000101000039000000000010041b0000010e020000410000000203000039000000000023041b000000000201041a0000010f022001970000000003000411000000000232019f000000000021041b0000000301000039000000000201041a0000011002200197000000000021041b00000020010000390000010000100443000001200000044300000111010000410000042f0001042e000000000003004b000000d30000c13d0000011201000041000000800010043f0000002001000039000000840010043f000000a40010043f0000011301000041000000c40010043f00000114010000410000043000010430000001160020009c0000007f0000213d0000011d0020009c000000910000a13d0000011e0020009c0000010c0000613d0000011f0020009c000000dd0000613d000001200020009c000000d30000c13d0000000001000416000000000001004b000003d80000c13d0000000101000039000000000101041a0000013b01100197000000800010043f00000131010000410000042f0001042e000001240020009c000000ad0000a13d000001250020009c000001270000613d000001260020009c0000012e0000613d000001270020009c000000d30000c13d0000000001000416000000000001004b000003d80000c13d0000000101000039000000000101041a0000013b011001970000000002000411000000000012004b000001970000c13d0000000301000039000000000201041a000000ff00200190000001fb0000c13d0000ff0000200190000002330000c13d0000013000200198000002ae0000c13d000001660220019700000100022001bf000000000021041b00000000010004140000010d0010009c0000010d01008041000000c00110021000000133011001c70000800d0200003900000001030000390000015204000041000001920000013d000001170020009c000000ca0000a13d000001180020009c000001350000613d000001190020009c0000014b0000613d0000011a0020009c0000008c0000613d000000d30000013d0000012e0020009c000000dd0000613d0000012f0020009c000000d30000c13d0000000001000416000000000001004b000003d80000c13d0000000701000039000000ef0000013d000001210020009c000001560000613d000001220020009c000000d30000c13d0000000001000416000000000001004b000003d80000c13d0000000101000039000000000101041a0000013b011001970000000002000411000000000012004b000001970000c13d0000000301000039000000000201041a000000ff002001900000015e0000613d0000016702200197000000000021041b00000000010004140000010d0010009c0000010d01008041000000c00110021000000133011001c70000800d0200003900000001030000390000014604000041000001920000013d000001280020009c000001680000613d000001290020009c000000d30000c13d000000240030008c000003d80000413d0000000002000416000000000002004b000003d80000c13d0000000401100370000000000101043b0000000502000039000000000202041a000000000021004b000003d80000813d042e04080000040f0000000302200210000000000101041a000000000121022f0000013b01100197000000ff0020008c0000000001002019000000400200043d00000000001204350000010d0020009c0000010d02008041000000400120021000000153011001c70000042f0001042e0000011b0020009c000001780000613d0000011c0020009c000000d30000c13d0000000001000416000000000001004b000003d80000c13d0000000501000039000000ef0000013d0000011201000041000000800010043f0000002001000039000000840010043f0000001501000039000000a40010043f0000016501000041000000c40010043f00000114010000410000043000010430000000240030008c000003d80000413d0000000002000416000000000002004b000003d80000c13d0000000401100370000000000101043b0000013b0010009c000003d80000213d000000000010043f0000000401000039000000200010043f042e04170000040f000000ef0000013d0000000001000416000000000001004b000003d80000c13d0000000201000039000000000101041a000000800010043f00000131010000410000042f0001042e000000240030008c000003d80000413d0000000002000416000000000002004b000003d80000c13d0000000401100370000000000101043b0000000102000039000000000202041a0000013b022001970000000003000411000000000023004b000001970000c13d000000000001004b000001c40000c13d0000011201000041000000800010043f0000002001000039000000840010043f0000001f01000039000000a40010043f0000016401000041000000c40010043f000001140100004100000430000104300000000001000416000000000001004b000003d80000c13d0000000101000039000000000101041a0000013b011001970000000002000411000000000012004b000001970000c13d0000000301000039000000000201041a000000ff00200190000001c80000c13d0000ff00002001900000023d0000c13d000001430220019700000144022001c7000000000021041b00000000010004140000010d0010009c0000010d01008041000000c00110021000000133011001c70000800d0200003900000001030000390000014504000041000001920000013d0000000001000416000000000001004b000003d80000c13d0000000301000039000000000101041a000000ff00100190000001510000013d0000000001000416000000000001004b000003d80000c13d0000000301000039000000000101041a0000ff0000100190000001510000013d0000000001000416000000000001004b000003d80000c13d000000000100041a000000020010008c000001740000613d0000000201000039000000000010041b0000000301000039000000000101041a0000013000100198000001d20000c13d0000011201000041000000800010043f0000002001000039000000840010043f0000001601000039000000a40010043f0000013a01000041000000c40010043f000001140100004100000430000104300000000001000416000000000001004b000003d80000c13d0000000301000039000000000101041a00000130001001980000000001000039000000010100c039000000800010043f00000131010000410000042f0001042e000000240030008c000003d80000413d0000000401100370000000000301043b0000000301000039000000000101041a000000ff00100190000001b60000c13d0000011201000041000000800010043f0000002001000039000000840010043f0000001001000039000000a40010043f0000014e01000041000000c40010043f000001140100004100000430000104300000000001000416000000000001004b000003d80000c13d0000000103000039000000000103041a0000013b011001970000000002000411000000000012004b000001970000c13d000000000100041a000000020010008c000001e70000c13d0000015f01000041000000000010043f000001600100004100000430000104300000000001000416000000000001004b000003d80000c13d0000000101000039000000000101041a0000013b011001970000000002000411000000000012004b000001970000c13d0000000301000039000000000201041a000000ff00200190000002050000c13d0000013000200198000002490000c13d000001670220019700000001022001bf000000000021041b00000000010004140000010d0010009c0000010d01008041000000c00110021000000133011001c70000800d0200003900000001030000390000013e04000041042e04240000040f0000000100200190000003d80000613d00000000010000190000042f0001042e0000011201000041000000800010043f0000002001000039000000840010043f0000000901000039000000a40010043f0000016301000041000000c40010043f00000114010000410000043000010430000000a005000039000001610300004100000000040000190000000006050019000000000503041a0000013b05500197000000000556043600000001033000390000000104400039000000000014004b000001a40000413d000000410160008a0000016804100197000001620040009c0000020f0000413d0000014b01000041000000000010043f0000004101000039000000040010043f0000014c0100004100000430000104300000013000100198000002290000c13d000000000003004b000002530000c13d0000011201000041000000800010043f0000002001000039000000840010043f0000000d01000039000000a40010043f0000014d01000041000000c40010043f000001140100004100000430000104300000000202000039000000000012041b00000000010000190000042f0001042e0000011201000041000000800010043f0000002001000039000000840010043f0000001c01000039000000a40010043f0000013f01000041000000c40010043f000001140100004100000430000104300000000001000411000000000010043f0000000401000039000000200010043f00000000010004140000010d0010009c0000010d01008041000000c00110021000000132011001c70000801002000039042e04290000040f0000000100200190000003d80000613d000000000101043b000000000101041a000000000001004b000002ba0000c13d000000400100043d00000044021000390000013903000041000002ec0000013d0000000201000039000000000010041b0000000301000039000000000101041a000000ff00100190000001fb0000c13d0000ff0000100190000002d70000c13d0000011201000041000000800010043f0000002001000039000000840010043f0000002801000039000000a40010043f0000015d01000041000000c40010043f0000015e01000041000000e40010043f000001420100004100000430000104300000011201000041000000800010043f0000002001000039000000840010043f0000001301000039000000a40010043f0000015401000041000000c40010043f000001140100004100000430000104300000011201000041000000800010043f0000002001000039000000840010043f0000001401000039000000a40010043f0000013c01000041000000c40010043f000001140100004100000430000104300000008001400039000000400010043f0000000000210435000000a002400039000000800300043d0000000000320435000000c002400039000000000003004b000002200000613d000000a004000039000000000500001900000000460404340000013b0660019700000000026204360000000105500039000000000035004b0000021a0000413d00000000021200490000010d0020009c0000010d0200804100000060022002100000010d0010009c0000010d010080410000004001100210000000000112019f0000042f0001042e0000011201000041000000800010043f0000002001000039000000840010043f0000001801000039000000a40010043f0000014701000041000000c40010043f000001140100004100000430000104300000011201000041000000800010043f0000002001000039000000840010043f0000001901000039000000a40010043f0000014f01000041000000c40010043f000001140100004100000430000104300000011201000041000000800010043f0000002001000039000000840010043f0000002901000039000000a40010043f0000014001000041000000c40010043f0000014101000041000000e40010043f000001420100004100000430000104300000011201000041000000800010043f0000002001000039000000840010043f0000001b01000039000000a40010043f0000013d01000041000000c40010043f000001140100004100000430000104300000000201000039000000000201041a00000000013200a9000000000002004b0000025b0000613d00000000022100d9000000000032004b000002fa0000c13d0000000002000416000000000012004b000003000000c13d000300000003001d0000000001000411000000000010043f0000000401000039000000200010043f00000000010004140000010d0010009c0000010d01008041000000c00110021000000132011001c70000801002000039042e04290000040f0000000100200190000003d80000613d000000000101043b000000000201041a0000000303000029000000000032001a000002fa0000413d0000000002320019000000000021041b0000000701000039000000000201041a000000000032001a000002fa0000413d0000000002320019000000000021041b0000000001000411000000000010043f0000000601000039000000200010043f00000000010004140000010d0010009c0000010d01008041000000c00110021000000132011001c70000801002000039042e04290000040f0000000100200190000003d80000613d000000000101043b000000000201041a000000ff002001900000029a0000c13d000001670220019700000001022001bf000000000021041b0000000502000039000000000102041a000001340010009c000001b00000213d0000000103100039000000000032041b000000000020043f000001490110009a000000000201041a0000010f022001970000000003000411000000000232019f000000000021041b000000400100043d000000030200002900000000002104350000010d0010009c0000010d01008041000000400110021000000000020004140000010d0020009c0000010d02008041000000c002200210000000000112019f00000137011001c70000800d0200003900000002030000390000014a040000410000000005000411042e04240000040f0000000100200190000001950000c13d000003d80000013d0000011201000041000000800010043f0000002001000039000000840010043f0000002c01000039000000a40010043f0000015001000041000000c40010043f0000015101000041000000e40010043f000001420100004100000430000104300000000202000039000000000202041a00000000031200a900000000011300d9000000000021004b000002fa0000c13d000300000003001d0000000001000411000000000010043f0000000401000039000000200010043f00000000010004140000010d0010009c0000010d01008041000000c00110021000000132011001c70000801002000039042e04290000040f0000000100200190000003d80000613d000000000101043b000000000001041b00000000010004140000000002000411000000040020008c000003250000c13d000000010200003900000000010000310000034a0000013d000300000001001d000200000003001d000001550100004100000000001004430000000001000410000000040010044300000000010004140000010d0010009c0000010d01008041000000c00110021000000156011001c70000800a02000039042e04290000040f0000000100200190000003240000613d000000000101043b000000000001004b0000030a0000c13d000000400100043d00000044021000390000015c030000410000000000320435000000240210003900000014030000390000000000320435000001120200004100000000002104350000000402100039000000200300003900000000003204350000010d0010009c0000010d01008041000000400110021000000136011001c700000430000104300000014b01000041000000000010043f0000001101000039000000040010043f0000014c0100004100000430000104300000011201000041000000800010043f0000002001000039000000840010043f0000001001000039000000a40010043f0000014801000041000000c40010043f00000114010000410000043000010430000000030100002900000130001001980000032c0000c13d000001550100004100000000001004430000000001000410000000040010044300000000010004140000010d0010009c0000010d01008041000000c00110021000000156011001c70000800a02000039042e04290000040f0000000100200190000003240000613d000000000101043b000100000001001d0000000101000039000000000201041a00000000010004140000013b04200197000000040040008c000003910000c13d0000000001000031000003a20000013d000000000001042f0000010d0010009c0000010d01008041000000c001100210000000030000006b000003400000c13d0000000002000411000003450000013d000000400100043d000000640210003900000157030000410000000000320435000000440210003900000158030000410000000000320435000000240210003900000026030000390000000000320435000001120200004100000000002104350000000402100039000000200300003900000000003204350000010d0010009c0000010d01008041000000400110021000000159011001c7000004300001043000000133011001c70000800902000039000000030300002900000000040004110000000005000019042e04240000040f000100000001035500000060011002700000010d0010019d0000010d01100197000000000001004b000003720000613d0000001f0410003900000168044001970000003f044000390000016805400197000000400400043d0000000005540019000000000045004b00000000060000390000000106004039000001340050009c000001b00000213d0000000100600190000001b00000c13d000000400050043f000000000614043600000168031001980000001f0410018f00000000013600190000000105000367000003650000613d000000000705034f000000007807043c0000000006860436000000000016004b000003610000c13d000000000004004b000003720000613d000000000335034f0000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d00000001002001900000038b0000613d000000030200002900000000002104350000010d0010009c0000010d01008041000000400110021000000000020004140000010d0020009c0000010d02008041000000c002200210000000000112019f00000137011001c70000800d02000039000000020300003900000138040000410000000005000411042e04240000040f0000000100200190000003d80000613d0000000101000039000000000010041b00000000010000190000042f0001042e00000044021000390000013503000041000000000032043500000024021000390000000d03000039000002ef0000013d0000010d0010009c0000010d01008041000000c001100210000000010000006b000003980000c13d00000000020400190000039c0000013d00000133011001c7000080090200003900000001030000290000000005000019042e04240000040f000200000002001d000100000001035500000060011002700000010d0010019d0000010d01100197000000000001004b000003da0000c13d00000002010000290000000100100190000004010000613d0000000501000039000000000101041a000000000001004b000003c40000613d0000000002000019000300000002001d000001490120009a000000000101041a0000013b01100197000000000010043f0000000401000039000000200010043f00000000010004140000010d0010009c0000010d01008041000000c00110021000000132011001c70000801002000039042e04290000040f0000000100200190000003d80000613d000000000101043b000000000001041b000000030200002900000001022000390000000501000039000000000101041a000000000012004b000003ac0000413d0000000701000039000000000001041b000000400100043d000000010200002900000000002104350000010d0010009c0000010d01008041000000400110021000000000020004140000010d0020009c0000010d02008041000000c002200210000000000112019f00000137011001c70000800d0200003900000001030000390000015b04000041042e04240000040f0000000100200190000003870000c13d000000000100001900000430000104300000001f0310003900000168033001970000003f033000390000016804300197000000400300043d0000000004430019000000000034004b00000000050000390000000105004039000001340040009c000001b00000213d0000000100500190000001b00000c13d000000400040043f000000000513043600000168021001980000001f0310018f00000000012500190000000104000367000003f30000613d000000000604034f000000006706043c0000000005750436000000000015004b000003ef0000c13d000000000003004b000003a40000613d000000000224034f0000000303300210000000000401043300000000043401cf000000000434022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000242019f0000000000210435000003a40000013d000000400100043d00000044021000390000015a03000041000000000032043500000024021000390000000f03000039000002ef0000013d0000000502000039000000000302041a000000000013004b000004100000a13d000000000020043f000001490110009a0000000002000019000000000001042d0000014b01000041000000000010043f0000003201000039000000040010043f0000014c010000410000043000010430000000000001042f00000000010004140000010d0010009c0000010d01008041000000c00110021000000132011001c70000801002000039042e04290000040f0000000100200190000004220000613d000000000101043b000000000001042d0000000001000019000004300001043000000427002104210000000102000039000000000001042d0000000002000019000000000001042d0000042c002104230000000102000039000000000001042d0000000002000019000000000001042d0000042e000004320000042f0001042e000004300001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000038d7ea4c68000ffffffffffffffffffffffff0000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000020000000000000000000000000000004000000100000000000000000008c379a00000000000000000000000000000000000000000000000000000000044697265637420455448207472616e7366657273206e6f7420616c6c6f77656400000000000000000000000000000000000000640000008000000000000000000000000000000000000000000000000000000000000000000000000067dd74c9000000000000000000000000000000000000000000000000000000009dfecdcb00000000000000000000000000000000000000000000000000000000b5545a3b00000000000000000000000000000000000000000000000000000000b5545a3c00000000000000000000000000000000000000000000000000000000d2cd583100000000000000000000000000000000000000000000000000000000dd11247e000000000000000000000000000000000000000000000000000000009dfecdcc00000000000000000000000000000000000000000000000000000000ad605729000000000000000000000000000000000000000000000000000000007053324f00000000000000000000000000000000000000000000000000000000705332500000000000000000000000000000000000000000000000000000000084bd3264000000000000000000000000000000000000000000000000000000008da5cb5b0000000000000000000000000000000000000000000000000000000067dd74ca000000000000000000000000000000000000000000000000000000006fd098160000000000000000000000000000000000000000000000000000000024600fc20000000000000000000000000000000000000000000000000000000047535d7a0000000000000000000000000000000000000000000000000000000047535d7b000000000000000000000000000000000000000000000000000000004c49eccc00000000000000000000000000000000000000000000000000000000573140660000000000000000000000000000000000000000000000000000000024600fc30000000000000000000000000000000000000000000000000000000035c1d349000000000000000000000000000000000000000000000000000000001209b1f5000000000000000000000000000000000000000000000000000000001209b1f6000000000000000000000000000000000000000000000000000000001598165000000000000000000000000000000000000000000000000000000000195ec9ee000000000000000000000000000000000000000000000000000000000484a22f0000000000000000000000000000000000000000000000000000000006e8337f0000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000002000000080000000000000000002000000000000000000000000000000000000400000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff526566756e64206661696c65640000000000000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000200000000000000000000000000000000000020000000000000000000000000d2888df1f37c007dfb366793b698e4cc1ad930d5790ea0a3e1764d18f366afce4e6f207469636b65747320746f20726566756e64000000000000000000000000526166666c65206973206e6f742063616e63656c656400000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff4c6f747465727920616c7265616479206f70656e00000000000000000000000043616e6e6f74206f70656e2063616e63656c656420726166666c6500000000000a1e9642bf7ac3a05efe518bb84b870c97de6e1bf4e0128634427040b4a0c91843616e6e6f742063616e63656c20616e206f70656e20726166666c650000000043616e6e6f742063616e63656c2061667465722077696e6e6572732061726520616e6e6f756e63656400000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000800000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff000000000000000000000000000000000000000000000000000000000001000058dc89309a99a92473567b17cb209da19099528cb016d25725e201c9cdeef548fc2b180437972a94a98d643b705025c6263c595cce057cc3d910384b8d1d210c526166666c6520686173206265656e2063616e63656c6564000000000000000057726f6e672045544820616d6f756e7400000000000000000000000000000000fc949c7b4a13586e39d89eead2f38644f9fb3efb5a0490b14f8fc0ceab44c2500668f5b446eb814fe35b3206f43f14bd8567ba04ddaf7a3ee56516929ab22ccb4e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000004d75737420627579203e3d2031000000000000000000000000000000000000004c6f7474657279206e6f74206f70656e0000000000000000000000000000000057696e6e65727320616c726561647920616e6e6f756e6365640000000000000043616e6e6f74207075626c6973682077696e6e65727320666f7220612063616e63656c656420726166666c650000000000000000000000000000000000000000de9be31d22ff1996e37f43bf5ac195dac0f3594a74d3e21a64ff542d02dd65b40000000000000000000000000000000000000020000000000000000000000000436c6f7365206c6f7474657279206669727374000000000000000000000000009cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f390200000200000000000000000000000000000024000000000000000000000000726166666c65000000000000000000000000000000000000000000000000000043616e6e6f742077697468647261772066726f6d20612063616e63656c65642000000000000000000000000000000000000000840000000000000000000000005769746864726177206661696c656400000000000000000000000000000000004a37b25aab49761ecf63117fe82b98d750917451133cf797507bc9fb5b96044a4e6f2066756e647320746f2077697468647261770000000000000000000000005075626c6973682077696e6e657273206265666f7265207769746864726177696e672066756e64730000000000000000000000000000000000000000000000003ee5aeb5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0000000000000000000000000000000000000000000000000ffffffffffffff804e6f74206f776e657200000000000000000000000000000000000000000000005072696365206d7573742062652067726561746572207468616e207a65726f00496e76616c69642066756e6374696f6e2063616c6c0000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000000000000000000000000000000000000000000000000000001622fb242e234324a6497f64413b5e33b61ae941c8af139ad27c1a31367b03fb
Loading...
Loading
Loading...
Loading
[ 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.