S Price: $0.067408 (+2.30%)
Gas: 55 Gwei

Contract

0x90906dC93bF0AC6D2Eb0c4b45DA4E3458c0DAf41

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Spin366287662025-06-30 20:03:58210 days ago1751313838IN
0x90906dC9...58c0DAf41
0 S0.002635550.0001
Spin365695202025-06-30 10:12:54210 days ago1751278374IN
0x90906dC9...58c0DAf41
0 S0.0031133550.0001
Spin365694862025-06-30 10:12:36210 days ago1751278356IN
0x90906dC9...58c0DAf41
0 S0.003113450.0001
Spin358611032025-06-25 14:51:53215 days ago1750863113IN
0x90906dC9...58c0DAf41
0 S0.0032526852.23274537
Spin358610572025-06-25 14:51:29215 days ago1750863089IN
0x90906dC9...58c0DAf41
0 S0.0064157103.03369876
Spin282778112025-05-20 16:07:31251 days ago1747757251IN
0x90906dC9...58c0DAf41
0 S0.00266450.0001
Spin282777632025-05-20 16:07:15251 days ago1747757235IN
0x90906dC9...58c0DAf41
0 S0.0031136550.0001
Spin224794932025-04-26 16:35:50275 days ago1745685350IN
0x90906dC9...58c0DAf41
0 S0.0026641550.0001
Spin224794602025-04-26 16:35:37275 days ago1745685337IN
0x90906dC9...58c0DAf41
0 S0.00339950.0001
Spin224794002025-04-26 16:35:11275 days ago1745685311IN
0x90906dC9...58c0DAf41
0 S0.0031136550.0001
Spin224793502025-04-26 16:34:53275 days ago1745685293IN
0x90906dC9...58c0DAf41
0 S0.003113450.0001
Spin217525582025-04-23 11:36:45278 days ago1745408205IN
0x90906dC9...58c0DAf41
0 S0.0034018155.01
Spin217524672025-04-23 11:36:07278 days ago1745408167IN
0x90906dC9...58c0DAf41
0 S0.0030708255.01
Spin207960082025-04-17 21:00:36284 days ago1744923636IN
0x90906dC9...58c0DAf41
0 S0.002635550.0001
Spin207958422025-04-17 20:59:15284 days ago1744923555IN
0x90906dC9...58c0DAf41
0 S0.002635550.0001
Spin207957682025-04-17 20:58:40284 days ago1744923520IN
0x90906dC9...58c0DAf41
0 S0.0031133550.0001
Spin207956972025-04-17 20:58:01284 days ago1744923481IN
0x90906dC9...58c0DAf41
0 S0.00266450.0001
Spin178621842025-04-03 8:13:49298 days ago1743668029IN
0x90906dC9...58c0DAf41
0 S0.0031233555.01
Spin174921682025-04-01 15:56:42300 days ago1743523002IN
0x90906dC9...58c0DAf41
0 S0.0030717555.01
Spin174831492025-04-01 15:04:24300 days ago1743519864IN
0x90906dC9...58c0DAf41
0 S0.003077255.01
Spin174826472025-04-01 15:01:26300 days ago1743519686IN
0x90906dC9...58c0DAf41
0 S0.0030708255.01
Spin174821602025-04-01 14:58:30300 days ago1743519510IN
0x90906dC9...58c0DAf41
0 S0.0037410760.5
Spin174809032025-04-01 14:50:46300 days ago1743519046IN
0x90906dC9...58c0DAf41
0 S0.003353455.01
Spin167441312025-03-29 8:11:07303 days ago1743235867IN
0x90906dC9...58c0DAf41
0 S0.003113450.0001
Spin167440362025-03-29 8:10:30303 days ago1743235830IN
0x90906dC9...58c0DAf41
0 S0.0026689550.0001
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ICESlotMachine

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2025-03-16
*/

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol


// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.20;

/**
 * @dev Interface of the ERC-20 standard as defined in the ERC.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the value of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the value of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves a `value` amount of tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 value) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets a `value` amount of tokens as the allowance of `spender` over the
     * caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 value) external returns (bool);

    /**
     * @dev Moves a `value` amount of tokens from `from` to `to` using the
     * allowance mechanism. `value` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address from, address to, uint256 value) external returns (bool);
}

// File: @openzeppelin/contracts/utils/Context.sol


// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)

pragma solidity ^0.8.20;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}

// File: @openzeppelin/contracts/access/Ownable.sol


// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)

pragma solidity ^0.8.20;


/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * The initial owner is set to the address provided by the deployer. This can
 * later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    /**
     * @dev The caller account is not authorized to perform an operation.
     */
    error OwnableUnauthorizedAccount(address account);

    /**
     * @dev The owner is not a valid owner account. (eg. `address(0)`)
     */
    error OwnableInvalidOwner(address owner);

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.
     */
    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// File: @openzeppelin/contracts/security/ReentrancyGuard.sol


// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)

pragma solidity ^0.8.0;

/**
 * @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 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;

    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
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // 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;
    }
}

// File: contracts/NewSlot.sol


pragma solidity ^0.8.0;




/**
 * @title ICE Token Slot Machine
 * @dev A slot machine game that accepts ICE tokens as bets with configurable parameters
 */
contract ICESlotMachine is Ownable, ReentrancyGuard {
    // ICE token contract
    IERC20 public iceToken;
    
    // Game parameters (now mutable)
    uint256 public minBet;
    uint256 public maxBet;
    uint256 public houseEdge;
    
    // Winning combinations multipliers
    uint256 public jackpotMultiplier;  // For 777
    uint256 public threeOfAKindMultiplier;
    uint256 public twoOfAKindMultiplier;
    uint256 public straightMultiplier;
    
    // Events
    event BetPlaced(address indexed player, uint256 amount);
    event SlotResult(address indexed player, uint256 amount, uint8 slot1, uint8 slot2, uint8 slot3, uint256 winnings);
    event FundsWithdrawn(address indexed owner, uint256 amount);
    event FundsAdded(address indexed sender, uint256 amount);
    event ParametersChanged(uint256 minBet, uint256 maxBet, uint256 houseEdge);
    event MultipliersChanged(uint256 jackpotMultiplier, uint256 threeOfAKindMultiplier, uint256 twoOfAKindMultiplier, uint256 straightMultiplier);
    
    // Constructor
    constructor(address _iceTokenAddress) Ownable(msg.sender) {
        iceToken = IERC20(_iceTokenAddress);
        
        // Default values
        minBet = 10_000 * 10**18; // 10,000 ICE tokens
        maxBet = 100_000 * 10**18; // 100,000 ICE tokens
        houseEdge = 5; // 5% house edge
        
        // Default multipliers
        jackpotMultiplier = 10;
        threeOfAKindMultiplier = 5;
        twoOfAKindMultiplier = 2;
        straightMultiplier = 3;
    }
    
    /**
     * @dev Spin the slot machine
     * @param betAmount The amount of ICE tokens to bet
     */
    function spin(uint256 betAmount) external nonReentrant {
        // Check if bet amount is within allowed range
        require(betAmount >= minBet, "Bet amount below minimum");
        require(betAmount <= maxBet, "Bet amount above maximum");
        
        // Transfer ICE tokens from player to contract
        require(iceToken.transferFrom(msg.sender, address(this), betAmount), "Token transfer failed");
        
        emit BetPlaced(msg.sender, betAmount);
        
        // Generate random slot results
        uint8 slot1 = uint8(uint256(keccak256(abi.encodePacked(block.timestamp, msg.sender, block.prevrandao, "slot1"))) % 10);
        uint8 slot2 = uint8(uint256(keccak256(abi.encodePacked(block.timestamp, msg.sender, block.prevrandao, "slot2"))) % 10);
        uint8 slot3 = uint8(uint256(keccak256(abi.encodePacked(block.timestamp, msg.sender, block.prevrandao, "slot3"))) % 10);
        
        // Calculate winnings
        uint256 winnings = calculateWinnings(betAmount, slot1, slot2, slot3);
        
        // Transfer winnings to player
        if (winnings > 0) {
            require(iceToken.transfer(msg.sender, winnings), "Winnings transfer failed");
        }
        
        emit SlotResult(msg.sender, betAmount, slot1, slot2, slot3, winnings);
    }
    
    /**
     * @dev Calculate winnings based on slot results
     * @param betAmount The amount of ICE tokens bet
     * @param slot1 The result of the first slot
     * @param slot2 The result of the second slot
     * @param slot3 The result of the third slot
     * @return The amount of ICE tokens won
     */
    function calculateWinnings(uint256 betAmount, uint8 slot1, uint8 slot2, uint8 slot3) internal view returns (uint256) {
        // Three of a kind
        if (slot1 == slot2 && slot2 == slot3) {
            // Jackpot for 777
            if (slot1 == 7) {
                return betAmount * jackpotMultiplier;
            }
            // Other three of a kind
            return betAmount * threeOfAKindMultiplier;
        }
        
        // Two of a kind
        if (slot1 == slot2 || slot2 == slot3 || slot1 == slot3) {
            return betAmount * twoOfAKindMultiplier;
        }
        
        // Straight (consecutive numbers)
        if ((slot1 + 1 == slot2 && slot2 + 1 == slot3) || 
            (slot3 + 1 == slot2 && slot2 + 1 == slot1)) {
            return betAmount * straightMultiplier;
        }
        
        // No win
        return 0;
    }
    
    /**
     * @dev Set game parameters (owner only)
     * @param _minBet The minimum bet amount
     * @param _maxBet The maximum bet amount
     * @param _houseEdge The house edge percentage
     */
    function setGameParameters(uint256 _minBet, uint256 _maxBet, uint256 _houseEdge) external onlyOwner {
        require(_minBet > 0, "Minimum bet must be greater than 0");
        require(_maxBet > _minBet, "Maximum bet must be greater than minimum bet");
        require(_houseEdge <= 20, "House edge cannot exceed 20%");
        
        minBet = _minBet;
        maxBet = _maxBet;
        houseEdge = _houseEdge;
        
        emit ParametersChanged(minBet, maxBet, houseEdge);
    }
    
    /**
     * @dev Set winning multipliers (owner only)
     * @param _jackpotMultiplier Multiplier for jackpot (777)
     * @param _threeOfAKindMultiplier Multiplier for three of a kind
     * @param _twoOfAKindMultiplier Multiplier for two of a kind
     * @param _straightMultiplier Multiplier for straights
     */
    function setWinningMultipliers(
        uint256 _jackpotMultiplier,
        uint256 _threeOfAKindMultiplier,
        uint256 _twoOfAKindMultiplier,
        uint256 _straightMultiplier
    ) external onlyOwner {
        jackpotMultiplier = _jackpotMultiplier;
        threeOfAKindMultiplier = _threeOfAKindMultiplier;
        twoOfAKindMultiplier = _twoOfAKindMultiplier;
        straightMultiplier = _straightMultiplier;
        
        emit MultipliersChanged(jackpotMultiplier, threeOfAKindMultiplier, twoOfAKindMultiplier, straightMultiplier);
    }
    
    /**
     * @dev Add funds to the contract
     */
    function addFunds(uint256 amount) external nonReentrant {
        require(amount > 0, "Amount must be greater than 0");
        require(iceToken.transferFrom(msg.sender, address(this), amount), "Token transfer failed");
        
        emit FundsAdded(msg.sender, amount);
    }
    
    /**
     * @dev Withdraw funds from the contract (owner only)
     * @param amount The amount of ICE tokens to withdraw
     */
    function withdrawFunds(uint256 amount) external onlyOwner nonReentrant {
        require(amount > 0, "Amount must be greater than 0");
        uint256 contractBalance = iceToken.balanceOf(address(this));
        require(amount <= contractBalance, "Insufficient balance");
        
        require(iceToken.transfer(owner(), amount), "Token transfer failed");
        
        emit FundsWithdrawn(owner(), amount);
    }
    
    /**
     * @dev Withdraw all funds from the contract (owner only)
     */
    function withdrawAllFunds() external onlyOwner nonReentrant {
        uint256 contractBalance = iceToken.balanceOf(address(this));
        require(contractBalance > 0, "Contract has no balance");
        
        require(iceToken.transfer(owner(), contractBalance), "Token transfer failed");
        
        emit FundsWithdrawn(owner(), contractBalance);
    }
    
    /**
     * @dev Get the contract's ICE token balance
     * @return The ICE token balance of the contract
     */
    function getContractBalance() external view returns (uint256) {
        return iceToken.balanceOf(address(this));
    }
    
    /**
     * @dev Calculate the house edge amount
     * @param amount The amount to calculate the house edge from
     * @return The house edge amount
     */
    function calculateHouseEdge(uint256 amount) internal view returns (uint256) {
        return (amount * houseEdge) / 100;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_iceTokenAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BetPlaced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FundsAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FundsWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"jackpotMultiplier","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"threeOfAKindMultiplier","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"twoOfAKindMultiplier","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"straightMultiplier","type":"uint256"}],"name":"MultipliersChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minBet","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maxBet","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"houseEdge","type":"uint256"}],"name":"ParametersChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"slot1","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"slot2","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"slot3","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"winnings","type":"uint256"}],"name":"SlotResult","type":"event"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"houseEdge","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"iceToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jackpotMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minBet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minBet","type":"uint256"},{"internalType":"uint256","name":"_maxBet","type":"uint256"},{"internalType":"uint256","name":"_houseEdge","type":"uint256"}],"name":"setGameParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_jackpotMultiplier","type":"uint256"},{"internalType":"uint256","name":"_threeOfAKindMultiplier","type":"uint256"},{"internalType":"uint256","name":"_twoOfAKindMultiplier","type":"uint256"},{"internalType":"uint256","name":"_straightMultiplier","type":"uint256"}],"name":"setWinningMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"betAmount","type":"uint256"}],"name":"spin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"straightMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"threeOfAKindMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"twoOfAKindMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawAllFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawFunds","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561000f575f80fd5b5060405161124a38038061124a83398101604081905261002e91610109565b338061005357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005c816100ba565b5060018055600280546001600160a01b0319166001600160a01b039290921691909117815569021e19e0c9bab2400000600390815569152d02c7e14af68000006004556005808055600a600655600755600891909155600955610136565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610119575f80fd5b81516001600160a01b038116811461012f575f80fd5b9392505050565b611107806101435f395ff3fe608060405234801561000f575f80fd5b5060043610610111575f3560e01c80638da5cb5b1161009e578063b820c41c1161006e578063b820c41c146101df578063be999705146101f2578063d5315c2a14610205578063d667dcd71461020e578063f2fde38b14610217575f80fd5b80638da5cb5b146101965780639619367d146101ba57806397b6df1f146101c3578063a5b6ea8f146101cc575f80fd5b80634a80528e116100e45780634a80528e146101615780635f24cc78146101745780636f9fb98a1461017d578063715018a6146101855780637d4e64411461018d575f80fd5b80630587421514610115578063155dd5ee1461012a5780632e5b21681461013d57806349649fbf14610159575b5f80fd5b610128610123366004610f67565b61022a565b005b610128610138366004610f90565b61039b565b61014660045481565b6040519081526020015b60405180910390f35b6101286105b3565b61012861016f366004610fa7565b610783565b61014660095481565b6101466107ed565b61012861085c565b61014660075481565b5f546001600160a01b03165b6040516001600160a01b039091168152602001610150565b61014660035481565b61014660085481565b6101286101da366004610f90565b61086d565b6002546101a2906001600160a01b031681565b610128610200366004610f90565b610c2a565b61014660065481565b61014660055481565b610128610225366004610fd6565b610d53565b610232610d8d565b5f83116102915760405162461bcd60e51b815260206004820152602260248201527f4d696e696d756d20626574206d7573742062652067726561746572207468616e604482015261020360f41b60648201526084015b60405180910390fd5b8282116102f55760405162461bcd60e51b815260206004820152602c60248201527f4d6178696d756d20626574206d7573742062652067726561746572207468616e60448201526b081b5a5b9a5b5d5b4818995d60a21b6064820152608401610288565b60148111156103465760405162461bcd60e51b815260206004820152601c60248201527f486f75736520656467652063616e6e6f742065786365656420323025000000006044820152606401610288565b60038390556004829055600581905560408051848152602081018490529081018290527f44a7a992c6a00f6c43b49bcaabbc5da3b4bff76360f286759d2cfe2108c969529060600160405180910390a1505050565b6103a3610d8d565b6103ab610db9565b5f81116103fa5760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610288565b6002546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610440573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104649190611003565b9050808211156104ad5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610288565b6002546001600160a01b031663a9059cbb6104cf5f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303815f875af1158015610519573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053d919061101a565b6105595760405162461bcd60e51b815260040161028890611039565b5f546001600160a01b03166001600160a01b03167feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d8360405161059e91815260200190565b60405180910390a2506105b060018055565b50565b6105bb610d8d565b6105c3610db9565b6002546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610609573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061062d9190611003565b90505f811161067e5760405162461bcd60e51b815260206004820152601760248201527f436f6e747261637420686173206e6f2062616c616e63650000000000000000006044820152606401610288565b6002546001600160a01b031663a9059cbb6106a05f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af11580156106ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070e919061101a565b61072a5760405162461bcd60e51b815260040161028890611039565b5f546001600160a01b03166001600160a01b03167feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d8260405161076f91815260200190565b60405180910390a25061078160018055565b565b61078b610d8d565b60068490556007839055600882905560098190556040805185815260208101859052908101839052606081018290527f4b4853c2f680df024318321ed9a79ad6f1bb3db8c5e6104ac803c4180d10bbad9060800160405180910390a150505050565b6002546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610833573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108579190611003565b905090565b610864610d8d565b6107815f610e12565b610875610db9565b6003548110156108c75760405162461bcd60e51b815260206004820152601860248201527f42657420616d6f756e742062656c6f77206d696e696d756d00000000000000006044820152606401610288565b6004548111156109195760405162461bcd60e51b815260206004820152601860248201527f42657420616d6f756e742061626f7665206d6178696d756d00000000000000006044820152606401610288565b6002546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303815f875af115801561096d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610991919061101a565b6109ad5760405162461bcd60e51b815260040161028890611039565b60405181815233907f43e08d78302cdf9c94e1ffd293c2a3696139ee41cf3199b6f5eed9c7f6cc60909060200160405180910390a260408051426020808301919091523360601b6001600160601b0319168284015244605483015264736c6f743160d81b607483015282516059818403018152607990920190925280519101205f90610a3b90600a90611068565b60408051426020808301919091523360601b6001600160601b031916828401524460548301526439b637ba1960d91b607483015282516059818403018152607990920190925280519101209091505f90610a9790600a90611068565b60408051426020808301919091523360601b6001600160601b0319168284015244605483015264736c6f743360d81b607483015282516059818403018152607990920190925280519101209091505f90610af390600a90611068565b90505f610b0285858585610e61565b90508015610bc85760025460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303815f875af1158015610b58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7c919061101a565b610bc85760405162461bcd60e51b815260206004820152601860248201527f57696e6e696e6773207472616e73666572206661696c656400000000000000006044820152606401610288565b6040805186815260ff8681166020830152858116828401528416606082015260808101839052905133917fc1099abcb226a369b87ee4ca82889432a8f97e5aee8d0f4df23fa93befa32bef919081900360a00190a2505050506105b060018055565b610c32610db9565b5f8111610c815760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610288565b6002546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303815f875af1158015610cd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf9919061101a565b610d155760405162461bcd60e51b815260040161028890611039565b60405181815233907f8fe10ae416f22f5e5220b0018a6c1d4ff534d6aa3a471f2a20cb7747fe63e5b99060200160405180910390a26105b060018055565b610d5b610d8d565b6001600160a01b038116610d8457604051631e4fbdf760e01b81525f6004820152602401610288565b6105b081610e12565b5f546001600160a01b031633146107815760405163118cdaa760e01b8152336004820152602401610288565b600260015403610e0b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610288565b6002600155565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8260ff168460ff16148015610e7c57508160ff168360ff16145b15610ead578360ff16600703610ea057600654610e99908661109b565b9050610f5f565b600754610e99908661109b565b8260ff168460ff161480610ec657508160ff168360ff16145b80610ed657508160ff168460ff16145b15610ee857600854610e99908661109b565b60ff8316610ef78560016110b8565b60ff16148015610f16575060ff8216610f118460016110b8565b60ff16145b80610f4a575060ff8316610f2b8360016110b8565b60ff16148015610f4a575060ff8416610f458460016110b8565b60ff16145b15610f5c57600954610e99908661109b565b505f5b949350505050565b5f805f60608486031215610f79575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215610fa0575f80fd5b5035919050565b5f805f8060808587031215610fba575f80fd5b5050823594602084013594506040840135936060013592509050565b5f60208284031215610fe6575f80fd5b81356001600160a01b0381168114610ffc575f80fd5b9392505050565b5f60208284031215611013575f80fd5b5051919050565b5f6020828403121561102a575f80fd5b81518015158114610ffc575f80fd5b602080825260159082015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b5f8261108257634e487b7160e01b5f52601260045260245ffd5b500690565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176110b2576110b2611087565b92915050565b60ff81811683821601908111156110b2576110b261108756fea2646970667358221220347618accb8c9911ad88951cdd6e7163f1fa34a37fdf6b20d3cb6cb741d4c87464736f6c634300081a003300000000000000000000000024b50d4bf6c9f2dc87a2a696c13cb7daaed92d45

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610111575f3560e01c80638da5cb5b1161009e578063b820c41c1161006e578063b820c41c146101df578063be999705146101f2578063d5315c2a14610205578063d667dcd71461020e578063f2fde38b14610217575f80fd5b80638da5cb5b146101965780639619367d146101ba57806397b6df1f146101c3578063a5b6ea8f146101cc575f80fd5b80634a80528e116100e45780634a80528e146101615780635f24cc78146101745780636f9fb98a1461017d578063715018a6146101855780637d4e64411461018d575f80fd5b80630587421514610115578063155dd5ee1461012a5780632e5b21681461013d57806349649fbf14610159575b5f80fd5b610128610123366004610f67565b61022a565b005b610128610138366004610f90565b61039b565b61014660045481565b6040519081526020015b60405180910390f35b6101286105b3565b61012861016f366004610fa7565b610783565b61014660095481565b6101466107ed565b61012861085c565b61014660075481565b5f546001600160a01b03165b6040516001600160a01b039091168152602001610150565b61014660035481565b61014660085481565b6101286101da366004610f90565b61086d565b6002546101a2906001600160a01b031681565b610128610200366004610f90565b610c2a565b61014660065481565b61014660055481565b610128610225366004610fd6565b610d53565b610232610d8d565b5f83116102915760405162461bcd60e51b815260206004820152602260248201527f4d696e696d756d20626574206d7573742062652067726561746572207468616e604482015261020360f41b60648201526084015b60405180910390fd5b8282116102f55760405162461bcd60e51b815260206004820152602c60248201527f4d6178696d756d20626574206d7573742062652067726561746572207468616e60448201526b081b5a5b9a5b5d5b4818995d60a21b6064820152608401610288565b60148111156103465760405162461bcd60e51b815260206004820152601c60248201527f486f75736520656467652063616e6e6f742065786365656420323025000000006044820152606401610288565b60038390556004829055600581905560408051848152602081018490529081018290527f44a7a992c6a00f6c43b49bcaabbc5da3b4bff76360f286759d2cfe2108c969529060600160405180910390a1505050565b6103a3610d8d565b6103ab610db9565b5f81116103fa5760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610288565b6002546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610440573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104649190611003565b9050808211156104ad5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610288565b6002546001600160a01b031663a9059cbb6104cf5f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303815f875af1158015610519573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053d919061101a565b6105595760405162461bcd60e51b815260040161028890611039565b5f546001600160a01b03166001600160a01b03167feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d8360405161059e91815260200190565b60405180910390a2506105b060018055565b50565b6105bb610d8d565b6105c3610db9565b6002546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610609573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061062d9190611003565b90505f811161067e5760405162461bcd60e51b815260206004820152601760248201527f436f6e747261637420686173206e6f2062616c616e63650000000000000000006044820152606401610288565b6002546001600160a01b031663a9059cbb6106a05f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af11580156106ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070e919061101a565b61072a5760405162461bcd60e51b815260040161028890611039565b5f546001600160a01b03166001600160a01b03167feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d8260405161076f91815260200190565b60405180910390a25061078160018055565b565b61078b610d8d565b60068490556007839055600882905560098190556040805185815260208101859052908101839052606081018290527f4b4853c2f680df024318321ed9a79ad6f1bb3db8c5e6104ac803c4180d10bbad9060800160405180910390a150505050565b6002546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610833573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108579190611003565b905090565b610864610d8d565b6107815f610e12565b610875610db9565b6003548110156108c75760405162461bcd60e51b815260206004820152601860248201527f42657420616d6f756e742062656c6f77206d696e696d756d00000000000000006044820152606401610288565b6004548111156109195760405162461bcd60e51b815260206004820152601860248201527f42657420616d6f756e742061626f7665206d6178696d756d00000000000000006044820152606401610288565b6002546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303815f875af115801561096d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610991919061101a565b6109ad5760405162461bcd60e51b815260040161028890611039565b60405181815233907f43e08d78302cdf9c94e1ffd293c2a3696139ee41cf3199b6f5eed9c7f6cc60909060200160405180910390a260408051426020808301919091523360601b6001600160601b0319168284015244605483015264736c6f743160d81b607483015282516059818403018152607990920190925280519101205f90610a3b90600a90611068565b60408051426020808301919091523360601b6001600160601b031916828401524460548301526439b637ba1960d91b607483015282516059818403018152607990920190925280519101209091505f90610a9790600a90611068565b60408051426020808301919091523360601b6001600160601b0319168284015244605483015264736c6f743360d81b607483015282516059818403018152607990920190925280519101209091505f90610af390600a90611068565b90505f610b0285858585610e61565b90508015610bc85760025460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303815f875af1158015610b58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7c919061101a565b610bc85760405162461bcd60e51b815260206004820152601860248201527f57696e6e696e6773207472616e73666572206661696c656400000000000000006044820152606401610288565b6040805186815260ff8681166020830152858116828401528416606082015260808101839052905133917fc1099abcb226a369b87ee4ca82889432a8f97e5aee8d0f4df23fa93befa32bef919081900360a00190a2505050506105b060018055565b610c32610db9565b5f8111610c815760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610288565b6002546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303815f875af1158015610cd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf9919061101a565b610d155760405162461bcd60e51b815260040161028890611039565b60405181815233907f8fe10ae416f22f5e5220b0018a6c1d4ff534d6aa3a471f2a20cb7747fe63e5b99060200160405180910390a26105b060018055565b610d5b610d8d565b6001600160a01b038116610d8457604051631e4fbdf760e01b81525f6004820152602401610288565b6105b081610e12565b5f546001600160a01b031633146107815760405163118cdaa760e01b8152336004820152602401610288565b600260015403610e0b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610288565b6002600155565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8260ff168460ff16148015610e7c57508160ff168360ff16145b15610ead578360ff16600703610ea057600654610e99908661109b565b9050610f5f565b600754610e99908661109b565b8260ff168460ff161480610ec657508160ff168360ff16145b80610ed657508160ff168460ff16145b15610ee857600854610e99908661109b565b60ff8316610ef78560016110b8565b60ff16148015610f16575060ff8216610f118460016110b8565b60ff16145b80610f4a575060ff8316610f2b8360016110b8565b60ff16148015610f4a575060ff8416610f458460016110b8565b60ff16145b15610f5c57600954610e99908661109b565b505f5b949350505050565b5f805f60608486031215610f79575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215610fa0575f80fd5b5035919050565b5f805f8060808587031215610fba575f80fd5b5050823594602084013594506040840135936060013592509050565b5f60208284031215610fe6575f80fd5b81356001600160a01b0381168114610ffc575f80fd5b9392505050565b5f60208284031215611013575f80fd5b5051919050565b5f6020828403121561102a575f80fd5b81518015158114610ffc575f80fd5b602080825260159082015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b5f8261108257634e487b7160e01b5f52601260045260245ffd5b500690565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176110b2576110b2611087565b92915050565b60ff81811683821601908111156110b2576110b261108756fea2646970667358221220347618accb8c9911ad88951cdd6e7163f1fa34a37fdf6b20d3cb6cb741d4c87464736f6c634300081a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000024b50d4bf6c9f2dc87a2a696c13cb7daaed92d45

-----Decoded View---------------
Arg [0] : _iceTokenAddress (address): 0x24b50D4BF6c9f2dC87a2a696C13cb7daAEd92D45

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000024b50d4bf6c9f2dc87a2a696c13cb7daaed92d45


Deployed Bytecode Sourcemap

10529:7773:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14947:497;;;;;;:::i;:::-;;:::i;:::-;;16849:427;;;;;;:::i;:::-;;:::i;10716:21::-;;;;;;;;;862:25:1;;;850:2;835:18;10716:21:0;;;;;;;;17369:368;;;:::i;15783:565::-;;;;;;:::i;:::-;;:::i;10959:33::-;;;;;;17871:121;;;:::i;6250:103::-;;;:::i;10873:37::-;;;;;;5575:87;5621:7;5648:6;-1:-1:-1;;;;;5648:6:0;5575:87;;;-1:-1:-1;;;;;1654:32:1;;;1636:51;;1624:2;1609:18;5575:87:0;1490:203:1;10688:21:0;;;;;;10917:35;;;;;;12192:1310;;;;;;:::i;:::-;;:::i;10615:22::-;;;;;-1:-1:-1;;;;;10615:22:0;;;16417:284;;;;;;:::i;:::-;;:::i;10822:32::-;;;;;;10744:24;;;;;;6508:220;;;;;;:::i;:::-;;:::i;14947:497::-;5461:13;:11;:13::i;:::-;15076:1:::1;15066:7;:11;15058:58;;;::::0;-1:-1:-1;;;15058:58:0;;2412:2:1;15058:58:0::1;::::0;::::1;2394:21:1::0;2451:2;2431:18;;;2424:30;2490:34;2470:18;;;2463:62;-1:-1:-1;;;2541:18:1;;;2534:32;2583:19;;15058:58:0::1;;;;;;;;;15145:7;15135;:17;15127:74;;;::::0;-1:-1:-1;;;15127:74:0;;2815:2:1;15127:74:0::1;::::0;::::1;2797:21:1::0;2854:2;2834:18;;;2827:30;2893:34;2873:18;;;2866:62;-1:-1:-1;;;2944:18:1;;;2937:42;2996:19;;15127:74:0::1;2613:408:1::0;15127:74:0::1;15234:2;15220:10;:16;;15212:57;;;::::0;-1:-1:-1;;;15212:57:0;;3228:2:1;15212:57:0::1;::::0;::::1;3210:21:1::0;3267:2;3247:18;;;3240:30;3306;3286:18;;;3279:58;3354:18;;15212:57:0::1;3026:352:1::0;15212:57:0::1;15290:6;:16:::0;;;15317:6:::1;:16:::0;;;15344:9:::1;:22:::0;;;15392:44:::1;::::0;;3585:25:1;;;3641:2;3626:18;;3619:34;;;3669:18;;;3662:34;;;15392:44:0::1;::::0;3573:2:1;3558:18;15392:44:0::1;;;;;;;14947:497:::0;;;:::o;16849:427::-;5461:13;:11;:13::i;:::-;9431:21:::1;:19;:21::i;:::-;16948:1:::2;16939:6;:10;16931:52;;;::::0;-1:-1:-1;;;16931:52:0;;3909:2:1;16931:52:0::2;::::0;::::2;3891:21:1::0;3948:2;3928:18;;;3921:30;3987:31;3967:18;;;3960:59;4036:18;;16931:52:0::2;3707:353:1::0;16931:52:0::2;17020:8;::::0;:33:::2;::::0;-1:-1:-1;;;17020:33:0;;17047:4:::2;17020:33;::::0;::::2;1636:51:1::0;16994:23:0::2;::::0;-1:-1:-1;;;;;17020:8:0::2;::::0;:18:::2;::::0;1609::1;;17020:33:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16994:59;;17082:15;17072:6;:25;;17064:58;;;::::0;-1:-1:-1;;;17064:58:0;;4456:2:1;17064:58:0::2;::::0;::::2;4438:21:1::0;4495:2;4475:18;;;4468:30;-1:-1:-1;;;4514:18:1;;;4507:50;4574:18;;17064:58:0::2;4254:344:1::0;17064:58:0::2;17151:8;::::0;-1:-1:-1;;;;;17151:8:0::2;:17;17169:7;5621::::0;5648:6;-1:-1:-1;;;;;5648:6:0;;5575:87;17169:7:::2;17151:34;::::0;-1:-1:-1;;;;;;17151:34:0::2;::::0;;;;;;-1:-1:-1;;;;;4795:32:1;;;17151:34:0::2;::::0;::::2;4777:51:1::0;4844:18;;;4837:34;;;4750:18;;17151:34:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17143:68;;;;-1:-1:-1::0;;;17143:68:0::2;;;;;;;:::i;:::-;5621:7:::0;5648:6;-1:-1:-1;;;;;5648:6:0;-1:-1:-1;;;;;17237:31:0::2;;17261:6;17237:31;;;;862:25:1::0;;850:2;835:18;;716:177;17237:31:0::2;;;;;;;;16920:356;9475:20:::1;8869:1:::0;9995:22;;9812:213;9475:20:::1;16849:427:::0;:::o;17369:368::-;5461:13;:11;:13::i;:::-;9431:21:::1;:19;:21::i;:::-;17466:8:::2;::::0;:33:::2;::::0;-1:-1:-1;;;17466:33:0;;17493:4:::2;17466:33;::::0;::::2;1636:51:1::0;17440:23:0::2;::::0;-1:-1:-1;;;;;17466:8:0::2;::::0;:18:::2;::::0;1609::1;;17466:33:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17440:59;;17536:1;17518:15;:19;17510:55;;;::::0;-1:-1:-1;;;17510:55:0;;5716:2:1;17510:55:0::2;::::0;::::2;5698:21:1::0;5755:2;5735:18;;;5728:30;5794:25;5774:18;;;5767:53;5837:18;;17510:55:0::2;5514:347:1::0;17510:55:0::2;17594:8;::::0;-1:-1:-1;;;;;17594:8:0::2;:17;17612:7;5621::::0;5648:6;-1:-1:-1;;;;;5648:6:0;;5575:87;17612:7:::2;17594:43;::::0;-1:-1:-1;;;;;;17594:43:0::2;::::0;;;;;;-1:-1:-1;;;;;4795:32:1;;;17594:43:0::2;::::0;::::2;4777:51:1::0;4844:18;;;4837:34;;;4750:18;;17594:43:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17586:77;;;;-1:-1:-1::0;;;17586:77:0::2;;;;;;;:::i;:::-;5621:7:::0;5648:6;-1:-1:-1;;;;;5648:6:0;-1:-1:-1;;;;;17689:40:0::2;;17713:15;17689:40;;;;862:25:1::0;;850:2;835:18;;716:177;17689:40:0::2;;;;;;;;17429:308;9475:20:::1;8869:1:::0;9995:22;;9812:213;9475:20:::1;17369:368::o:0;15783:565::-;5461:13;:11;:13::i;:::-;16008:17:::1;:38:::0;;;16057:22:::1;:48:::0;;;16116:20:::1;:44:::0;;;16171:18:::1;:40:::0;;;16237:103:::1;::::0;;6097:25:1;;;6153:2;6138:18;;6131:34;;;6181:18;;;6174:34;;;6239:2;6224:18;;6217:34;;;16237:103:0::1;::::0;6084:3:1;6069:19;16237:103:0::1;;;;;;;15783:565:::0;;;;:::o;17871:121::-;17951:8;;:33;;-1:-1:-1;;;17951:33:0;;17978:4;17951:33;;;1636:51:1;17924:7:0;;-1:-1:-1;;;;;17951:8:0;;:18;;1609::1;;17951:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17944:40;;17871:121;:::o;6250:103::-;5461:13;:11;:13::i;:::-;6315:30:::1;6342:1;6315:18;:30::i;12192:1310::-:0;9431:21;:19;:21::i;:::-;12335:6:::1;;12322:9;:19;;12314:56;;;::::0;-1:-1:-1;;;12314:56:0;;6464:2:1;12314:56:0::1;::::0;::::1;6446:21:1::0;6503:2;6483:18;;;6476:30;6542:26;6522:18;;;6515:54;6586:18;;12314:56:0::1;6262:348:1::0;12314:56:0::1;12402:6;;12389:9;:19;;12381:56;;;::::0;-1:-1:-1;;;12381:56:0;;6817:2:1;12381:56:0::1;::::0;::::1;6799:21:1::0;6856:2;6836:18;;;6829:30;6895:26;6875:18;;;6868:54;6939:18;;12381:56:0::1;6615:348:1::0;12381:56:0::1;12522:8;::::0;:59:::1;::::0;-1:-1:-1;;;12522:59:0;;12544:10:::1;12522:59;::::0;::::1;7170:51:1::0;12564:4:0::1;7237:18:1::0;;;7230:60;7306:18;;;7299:34;;;-1:-1:-1;;;;;12522:8:0;;::::1;::::0;:21:::1;::::0;7143:18:1;;12522:59:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12514:93;;;;-1:-1:-1::0;;;12514:93:0::1;;;;;;;:::i;:::-;12633:32;::::0;862:25:1;;;12643:10:0::1;::::0;12633:32:::1;::::0;850:2:1;835:18;12633:32:0::1;;;;;;;12765:72;::::0;;12782:15:::1;12765:72;::::0;;::::1;7630:19:1::0;;;;12799:10:0::1;7687:2:1::0;7683:15;-1:-1:-1;;;;;;7679:53:1;7665:12;;;7658:75;12811:16:0::1;7749:12:1::0;;;7742:28;-1:-1:-1;;;7786:12:1;;;7779:29;12765:72:0;;;;;;;;;7824:12:1;;;;12765:72:0;;;12755:83;;;::::1;::::0;-1:-1:-1;;12747:97:0::1;::::0;12842:2:::1;::::0;12747:97:::1;:::i;:::-;12894:72;::::0;;12911:15:::1;12894:72;::::0;;::::1;8347:19:1::0;;;;12928:10:0::1;8404:2:1::0;8400:15;-1:-1:-1;;;;;;8396:53:1;8382:12;;;8375:75;12940:16:0::1;8466:12:1::0;;;8459:28;-1:-1:-1;;;8503:12:1;;;8496:29;12894:72:0;;;;;;;;;8541:12:1;;;;12894:72:0;;;12884:83;;;::::1;::::0;12727:118;;-1:-1:-1;;;12876:97:0::1;::::0;12971:2:::1;::::0;12876:97:::1;:::i;:::-;13023:72;::::0;;13040:15:::1;13023:72;::::0;;::::1;8850:19:1::0;;;;13057:10:0::1;8907:2:1::0;8903:15;-1:-1:-1;;;;;;8899:53:1;8885:12;;;8878:75;13069:16:0::1;8969:12:1::0;;;8962:28;-1:-1:-1;;;9006:12:1;;;8999:29;13023:72:0;;;;;;;;;9044:12:1;;;;13023:72:0;;;13013:83;;;::::1;::::0;12856:118;;-1:-1:-1;;;13005:97:0::1;::::0;13100:2:::1;::::0;13005:97:::1;:::i;:::-;12985:118;;13155:16;13174:49;13192:9;13203:5;13210;13217;13174:17;:49::i;:::-;13155:68:::0;-1:-1:-1;13288:12:0;;13284:121:::1;;13325:8;::::0;:39:::1;::::0;-1:-1:-1;;;13325:39:0;;13343:10:::1;13325:39;::::0;::::1;4777:51:1::0;4844:18;;;4837:34;;;-1:-1:-1;;;;;13325:8:0;;::::1;::::0;:17:::1;::::0;4750:18:1;;13325:39:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13317:76;;;::::0;-1:-1:-1;;;13317:76:0;;9269:2:1;13317:76:0::1;::::0;::::1;9251:21:1::0;9308:2;9288:18;;;9281:30;9347:26;9327:18;;;9320:54;9391:18;;13317:76:0::1;9067:348:1::0;13317:76:0::1;13430:64;::::0;;9667:25:1;;;9740:4;9728:17;;;9723:2;9708:18;;9701:45;9782:17;;;9762:18;;;9755:45;9836:17;;9831:2;9816:18;;9809:45;9885:3;9870:19;;9863:35;;;13430:64:0;;13441:10:::1;::::0;13430:64:::1;::::0;;;;;9654:3:1;13430:64:0;;::::1;12247:1255;;;;9475:20:::0;8869:1;9995:22;;9812:213;16417:284;9431:21;:19;:21::i;:::-;16501:1:::1;16492:6;:10;16484:52;;;::::0;-1:-1:-1;;;16484:52:0;;3909:2:1;16484:52:0::1;::::0;::::1;3891:21:1::0;3948:2;3928:18;;;3921:30;3987:31;3967:18;;;3960:59;4036:18;;16484:52:0::1;3707:353:1::0;16484:52:0::1;16555:8;::::0;:56:::1;::::0;-1:-1:-1;;;16555:56:0;;16577:10:::1;16555:56;::::0;::::1;7170:51:1::0;16597:4:0::1;7237:18:1::0;;;7230:60;7306:18;;;7299:34;;;-1:-1:-1;;;;;16555:8:0;;::::1;::::0;:21:::1;::::0;7143:18:1;;16555:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16547:90;;;;-1:-1:-1::0;;;16547:90:0::1;;;;;;;:::i;:::-;16663:30;::::0;862:25:1;;;16674:10:0::1;::::0;16663:30:::1;::::0;850:2:1;835:18;16663:30:0::1;;;;;;;9475:20:::0;8869:1;9995:22;;9812:213;6508:220;5461:13;:11;:13::i;:::-;-1:-1:-1;;;;;6593:22:0;::::1;6589:93;;6639:31;::::0;-1:-1:-1;;;6639:31:0;;6667:1:::1;6639:31;::::0;::::1;1636:51:1::0;1609:18;;6639:31:0::1;1490:203:1::0;6589:93:0::1;6692:28;6711:8;6692:18;:28::i;5740:166::-:0;5621:7;5648:6;-1:-1:-1;;;;;5648:6:0;3664:10;5800:23;5796:103;;5847:40;;-1:-1:-1;;;5847:40:0;;3664:10;5847:40;;;1636:51:1;1609:18;;5847:40:0;1490:203:1;9511:293:0;8913:1;9645:7;;:19;9637:63;;;;-1:-1:-1;;;9637:63:0;;10111:2:1;9637:63:0;;;10093:21:1;10150:2;10130:18;;;10123:30;10189:33;10169:18;;;10162:61;10240:18;;9637:63:0;9909:355:1;9637:63:0;8913:1;9778:7;:18;9511:293::o;6888:191::-;6962:16;6981:6;;-1:-1:-1;;;;;6998:17:0;;;-1:-1:-1;;;;;;6998:17:0;;;;;;7031:40;;6981:6;;;;;;;7031:40;;6962:16;7031:40;6951:128;6888:191;:::o;13836:891::-;13944:7;14005:5;13996:14;;:5;:14;;;:32;;;;;14023:5;14014:14;;:5;:14;;;13996:32;13992:277;;;14081:5;:10;;14090:1;14081:10;14077:87;;14131:17;;14119:29;;:9;:29;:::i;:::-;14112:36;;;;14077:87;14235:22;;14223:34;;:9;:34;:::i;13992:277::-;14328:5;14319:14;;:5;:14;;;:32;;;;14346:5;14337:14;;:5;:14;;;14319:32;:50;;;;14364:5;14355:14;;:5;:14;;;14319:50;14315:122;;;14405:20;;14393:32;;:9;:32;:::i;14315:122::-;14505:18;;;:9;:5;14513:1;14505:9;:::i;:::-;:18;;;:40;;;;-1:-1:-1;14527:18:0;;;:9;:5;14535:1;14527:9;:::i;:::-;:18;;;14505:40;14504:102;;;-1:-1:-1;14565:18:0;;;:9;:5;14573:1;14565:9;:::i;:::-;:18;;;:40;;;;-1:-1:-1;14587:18:0;;;:9;:5;14595:1;14587:9;:::i;:::-;:18;;;14565:40;14500:172;;;14642:18;;14630:30;;:9;:30;:::i;14500:172::-;-1:-1:-1;14718:1:0;13836:891;;;;;;;:::o;14:466:1:-;91:6;99;107;160:2;148:9;139:7;135:23;131:32;128:52;;;176:1;173;166:12;128:52;-1:-1:-1;;221:23:1;;;341:2;326:18;;313:32;;-1:-1:-1;444:2:1;429:18;;;416:32;;14:466;-1:-1:-1;14:466:1:o;485:226::-;544:6;597:2;585:9;576:7;572:23;568:32;565:52;;;613:1;610;603:12;565:52;-1:-1:-1;658:23:1;;485:226;-1:-1:-1;485:226:1:o;898:587::-;984:6;992;1000;1008;1061:3;1049:9;1040:7;1036:23;1032:33;1029:53;;;1078:1;1075;1068:12;1029:53;-1:-1:-1;;1123:23:1;;;1243:2;1228:18;;1215:32;;-1:-1:-1;1346:2:1;1331:18;;1318:32;;1449:2;1434:18;1421:32;;-1:-1:-1;898:587:1;-1:-1:-1;898:587:1:o;1919:286::-;1978:6;2031:2;2019:9;2010:7;2006:23;2002:32;1999:52;;;2047:1;2044;2037:12;1999:52;2073:23;;-1:-1:-1;;;;;2125:31:1;;2115:42;;2105:70;;2171:1;2168;2161:12;2105:70;2194:5;1919:286;-1:-1:-1;;;1919:286:1:o;4065:184::-;4135:6;4188:2;4176:9;4167:7;4163:23;4159:32;4156:52;;;4204:1;4201;4194:12;4156:52;-1:-1:-1;4227:16:1;;4065:184;-1:-1:-1;4065:184:1:o;4882:277::-;4949:6;5002:2;4990:9;4981:7;4977:23;4973:32;4970:52;;;5018:1;5015;5008:12;4970:52;5050:9;5044:16;5103:5;5096:13;5089:21;5082:5;5079:32;5069:60;;5125:1;5122;5115:12;5164:345;5366:2;5348:21;;;5405:2;5385:18;;;5378:30;-1:-1:-1;;;5439:2:1;5424:18;;5417:51;5500:2;5485:18;;5164:345::o;7847:209::-;7879:1;7905;7895:132;;7949:10;7944:3;7940:20;7937:1;7930:31;7984:4;7981:1;7974:15;8012:4;8009:1;8002:15;7895:132;-1:-1:-1;8041:9:1;;7847:209::o;10269:127::-;10330:10;10325:3;10321:20;10318:1;10311:31;10361:4;10358:1;10351:15;10385:4;10382:1;10375:15;10401:168;10474:9;;;10505;;10522:15;;;10516:22;;10502:37;10492:71;;10543:18;;:::i;:::-;10401:168;;;;:::o;10574:148::-;10662:4;10641:12;;;10655;;;10637:31;;10680:13;;10677:39;;;10696:18;;:::i

Swarm Source

ipfs://347618accb8c9911ad88951cdd6e7163f1fa34a37fdf6b20d3cb6cb741d4c874

Block Transaction Gas Used Reward
view all blocks ##produced##

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.