ETH Price: $2,059.63 (-0.43%)

Contract

0x8A966ce90eE5D49ca78C0f1Bb9ee4E34BE336335
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim151557212022-07-16 19:58:341334 days ago1658001514IN
0x8A966ce9...4BE336335
0 ETH0.0020721122.65472058
Set Admin151555472022-07-16 19:18:311334 days ago1657999111IN
0x8A966ce9...4BE336335
0 ETH0.0027901100
Edit Recipient150785492022-07-04 21:42:031346 days ago1656970923IN
0x8A966ce9...4BE336335
0 ETH0.00100819.13270158
Edit Recipient150785462022-07-04 21:41:151346 days ago1656970875IN
0x8A966ce9...4BE336335
0 ETH0.0009379917.80384718
Claim150784202022-07-04 21:11:391346 days ago1656969099IN
0x8A966ce9...4BE336335
0 ETH0.0008270310.66201717
Claim148038942022-05-19 8:16:091393 days ago1652948169IN
0x8A966ce9...4BE336335
0 ETH0.0013193617.06463156
Claim146289142022-04-21 14:46:561421 days ago1650552416IN
0x8A966ce9...4BE336335
0 ETH0.0038095755.82860033
Claim145058882022-04-02 9:14:151440 days ago1648890855IN
0x8A966ce9...4BE336335
0 ETH0.0032679242.4052974
Claim143037822022-03-01 22:17:581471 days ago1646173078IN
0x8A966ce9...4BE336335
0 ETH0.0044533657.97751112
Claim140681812022-01-24 11:56:161508 days ago1643025376IN
0x8A966ce9...4BE336335
0 ETH0.00900348117.47153771
Edit Recipient139032292021-12-29 23:33:261533 days ago1640820806IN
0x8A966ce9...4BE336335
0 ETH0.00842913150.42622279
Edit Recipient139032062021-12-29 23:29:011533 days ago1640820541IN
0x8A966ce9...4BE336335
0 ETH0.00957267170.53871754
Edit Recipient139032062021-12-29 23:29:011533 days ago1640820541IN
0x8A966ce9...4BE336335
0 ETH0.00957267170.53871754
Claim138455312021-12-21 1:01:481542 days ago1640048508IN
0x8A966ce9...4BE336335
0 ETH0.0042278555.28336621
Claim137730642021-12-09 20:10:311553 days ago1639080631IN
0x8A966ce9...4BE336335
0 ETH0.0064030971.08858536
Edit Recipient137350952021-12-03 18:19:101559 days ago1638555550IN
0x8A966ce9...4BE336335
0 ETH0.0042892276.70021089
Edit Recipient137343052021-12-03 15:16:451560 days ago1638544605IN
0x8A966ce9...4BE336335
0 ETH0.005358795.82459955
Claim136955732021-11-27 10:30:361566 days ago1638009036IN
0x8A966ce9...4BE336335
0 ETH0.0056177573.61947988
Edit Recipient136071262021-11-13 10:21:271580 days ago1636798887IN
0x8A966ce9...4BE336335
0 ETH0.0042522483.36914933
Edit Recipient136071262021-11-13 10:21:271580 days ago1636798887IN
0x8A966ce9...4BE336335
0 ETH0.0042522483.36914933
Edit Recipient136071262021-11-13 10:21:271580 days ago1636798887IN
0x8A966ce9...4BE336335
0 ETH0.006148883.36914933
Edit Recipient136071262021-11-13 10:21:271580 days ago1636798887IN
0x8A966ce9...4BE336335
0 ETH0.006148883.36914933
Edit Recipient136071262021-11-13 10:21:271580 days ago1636798887IN
0x8A966ce9...4BE336335
0 ETH0.006148883.36914933
Edit Recipient136071262021-11-13 10:21:271580 days ago1636798887IN
0x8A966ce9...4BE336335
0 ETH0.006148883.36914933
Edit Recipient136071262021-11-13 10:21:271580 days ago1636798887IN
0x8A966ce9...4BE336335
0 ETH0.006148883.36914933
View all transactions

View more zero value Internal Transactions in Advanced View mode

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

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OwnedDistributor

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion
pragma solidity =0.6.6;

import "./Distributor.sol";

contract OwnedDistributor is Distributor {

	address public admin;
	
	event SetAdmin(address newAdmin);

	constructor (
		address imx_,
		address claimable_,
		address admin_
	) public Distributor(imx_, claimable_) {
		admin = admin_;
	}

	function editRecipient(address account, uint shares) public virtual {
		require(msg.sender == admin, "OwnedDistributor: UNAUTHORIZED");
		editRecipientInternal(account, shares);
	}

	function setAdmin(address admin_) public virtual {
		require(msg.sender == admin, "OwnedDistributor: UNAUTHORIZED");
		admin = admin_;
		emit SetAdmin(admin_);
	}
}

pragma solidity =0.6.6;

import "./libraries/SafeMath.sol";
import "./interfaces/IImx.sol";
import "./interfaces/IClaimable.sol";

abstract contract Distributor is IClaimable {
	using SafeMath for uint;

	address public immutable imx;
	address public immutable claimable;

	struct Recipient {
		uint shares;
		uint lastShareIndex;
		uint credit;
	}
	mapping(address => Recipient) public recipients;
	
	uint public totalShares;
	uint public shareIndex;
	
	event UpdateShareIndex(uint shareIndex);
	event UpdateCredit(address indexed account, uint lastShareIndex, uint credit);
	event Claim(address indexed account, uint amount);
	event EditRecipient(address indexed account, uint shares, uint totalShares);

	constructor (
		address imx_,
		address claimable_
	) public {
		imx = imx_;
		claimable = claimable_;
	}
	
	function updateShareIndex() public virtual nonReentrant returns (uint _shareIndex) {
		if (totalShares == 0) return shareIndex;
		uint amount = IClaimable(claimable).claim();
		if (amount == 0) return shareIndex;
		_shareIndex = amount.mul(2**160).div(totalShares).add(shareIndex);
		shareIndex = _shareIndex;
		emit UpdateShareIndex(_shareIndex);
	}
	
	function updateCredit(address account) public returns (uint credit) {
		uint _shareIndex = updateShareIndex();
		if (_shareIndex == 0) return 0;
		Recipient storage recipient = recipients[account];
		credit = recipient.credit + _shareIndex.sub(recipient.lastShareIndex).mul(recipient.shares) / 2**160;
		recipient.lastShareIndex = _shareIndex;
		recipient.credit = credit;
		emit UpdateCredit(account, _shareIndex, credit);
	}

	function claimInternal(address account) internal virtual returns (uint amount) {
		amount = updateCredit(account);
		if (amount > 0) {
			recipients[account].credit = 0;
			IImx(imx).transfer(account, amount);
			emit Claim(account, amount);
		}
	}

	function claim() external virtual override returns (uint amount) {
		return claimInternal(msg.sender);
	}
	
	function editRecipientInternal(address account, uint shares) internal {
		updateCredit(account);
		Recipient storage recipient = recipients[account];
		uint prevShares = recipient.shares;
		uint _totalShares = shares > prevShares ? 
			totalShares.add(shares - prevShares) : 
			totalShares.sub(prevShares - shares);
		totalShares = _totalShares;
		recipient.shares = shares;
		emit EditRecipient(account, shares, _totalShares);
	}
	
	// Prevents a contract from calling itself, directly or indirectly.
	bool internal _notEntered = true;
	modifier nonReentrant() {
		require(_notEntered, "Distributor: REENTERED");
		_notEntered = false;
		_;
		_notEntered = true;
	}
}

File 3 of 5 : IClaimable.sol
pragma solidity =0.6.6;

interface IClaimable {
	function claim() external returns (uint amount);
	event Claim(address indexed account, uint amount);
}

pragma solidity =0.6.6;
//IERC20?
interface IImx {
    function balanceOf(address account) external view returns (uint);
    function transfer(address dst, uint rawAmount) external returns (bool);
}

pragma solidity =0.6.6;

// From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/Math.sol
// Subject to the MIT license.

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting with custom message on overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, errorMessage);

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on underflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot underflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction underflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on underflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot underflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, errorMessage);

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers.
     * Reverts on division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers.
     * Reverts with custom message on division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": true,
    "runs": 999999
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"imx_","type":"address"},{"internalType":"address","name":"claimable_","type":"address"},{"internalType":"address","name":"admin_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalShares","type":"uint256"}],"name":"EditRecipient","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"SetAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"lastShareIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"credit","type":"uint256"}],"name":"UpdateCredit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"shareIndex","type":"uint256"}],"name":"UpdateShareIndex","type":"event"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimable","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"editRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"imx","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"recipients","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"uint256","name":"lastShareIndex","type":"uint256"},{"internalType":"uint256","name":"credit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"admin_","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"shareIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"updateCredit","outputs":[{"internalType":"uint256","name":"credit","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateShareIndex","outputs":[{"internalType":"uint256","name":"_shareIndex","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]

60c06040526003805460ff1916600117905534801561001d57600080fd5b50604051610d42380380610d428339818101604052606081101561004057600080fd5b5080516020820151604090920151606082811b6001600160601b03199081166080529084901b1660a05260038054610100600160a81b0319166101006001600160a01b03938416021790559081169116610c8b6100b76000398061051352806105e5525080610235528061098b5250610c8b6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c8063704b6c0211610081578063c56ad1ad1161005b578063c56ad1ad146101d2578063eb820312146101da578063f851a4401461022b576100c9565b8063704b6c021461018f578063af38d757146101c2578063b260187d146101ca576100c9565b806345c08718116100b257806345c08718146101195780634674a9301461014c5780634e71d92d14610187576100c9565b80630f08025f146100ce5780633a98ef39146100ff575b600080fd5b6100d6610233565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610107610257565b60408051918252519081900360200190f35b6101076004803603602081101561012f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661025d565b6101856004803603604081101561016257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561035d565b005b6101076103f6565b610185600480360360208110156101a557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610406565b6100d6610511565b610107610535565b610107610740565b61020d600480360360208110156101f057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610746565b60408051938452602084019290925282820152519081900360600190f35b6100d6610767565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b600080610268610535565b905080610279576000915050610358565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090208054600182015474010000000000000000000000000000000000000000916102dd916102d190869063ffffffff61078816565b9063ffffffff6107d316565b816102e457fe5b0481600201540192508181600101819055508281600201819055508373ffffffffffffffffffffffffffffffffffffffff167ff7240857a4f83123f14a7bc3f77cd32d0ae71ede635c92ebdcc14d5ea8ed018a8385604051808381526020018281526020019250505060405180910390a250505b919050565b600354610100900473ffffffffffffffffffffffffffffffffffffffff1633146103e857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4f776e65644469737472696275746f723a20554e415554484f52495a45440000604482015290519081900360640190fd5b6103f28282610846565b5050565b600061040133610914565b905090565b600354610100900473ffffffffffffffffffffffffffffffffffffffff16331461049157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4f776e65644469737472696275746f723a20554e415554484f52495a45440000604482015290519081900360640190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff831661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790915560408051918252517f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a19181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035460009060ff166105a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4469737472696275746f723a205245454e544552454400000000000000000000604482015290519081900360640190fd5b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556001546105e15750600254610712565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634e71d92d6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561064b57600080fd5b505af115801561065f573d6000803e3d6000fd5b505050506040513d602081101561067557600080fd5b5051905080610688575050600254610712565b6106d46002546106c86001546106bc74010000000000000000000000000000000000000000866107d390919063ffffffff16565b9063ffffffff610a4e16565b9063ffffffff610a9016565b60028190556040805182815290519193507f8cae7c5b456d193882de6985578f406aefb641501192211706c5aa0a32612fec919081900360200190a1505b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590565b60025481565b60006020819052908152604090208054600182015460029092015490919083565b600354610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60006107ca83836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f7700815250610b04565b90505b92915050565b6000826107e2575060006107cd565b828202828482816107ef57fe5b04146107ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610c356021913960400191505060405180910390fd5b61084f8261025d565b5073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054909181841161089a576001546108959085840363ffffffff61078816565b6108af565b6001546108af9083860363ffffffff610a9016565b60018190558484556040805186815260208101839052815192935073ffffffffffffffffffffffffffffffffffffffff8816927fff3664f5f2f8f85ecd8d30ef2aa6773d8a8448219c7421dcbb67957fb3fafba1929181900390910190a25050505050565b600061091f8261025d565b905080156103585773ffffffffffffffffffffffffffffffffffffffff80831660008181526020818152604080832060020183905580517fa9059cbb000000000000000000000000000000000000000000000000000000008152600481019490945260248401869052517f00000000000000000000000000000000000000000000000000000000000000009094169363a9059cbb93604480820194918390030190829087803b1580156109d157600080fd5b505af11580156109e5573d6000803e3d6000fd5b505050506040513d60208110156109fb57600080fd5b505060408051828152905173ffffffffffffffffffffffffffffffffffffffff8416917f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4919081900360200190a2919050565b60006107ca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610bb5565b6000828201838110156107ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b72578181015183820152602001610b5a565b50505050905090810190601f168015610b9f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315610b72578181015183820152602001610b5a565b506000838581610c2a57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122084020015109ff0951ac2fdbe250d7aeca0d397c982cb66a889c66bdc9fcb54f064736f6c634300060600330000000000000000000000007b35ce522cb72e4077baeb96cb923a5529764a00000000000000000000000000073271a5da4e9ee4afde9ff08801feb2c672214e0000000000000000000000009fc5341db9a9cdf8337b4bd286d4cfc03b20ad35

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100c95760003560e01c8063704b6c0211610081578063c56ad1ad1161005b578063c56ad1ad146101d2578063eb820312146101da578063f851a4401461022b576100c9565b8063704b6c021461018f578063af38d757146101c2578063b260187d146101ca576100c9565b806345c08718116100b257806345c08718146101195780634674a9301461014c5780634e71d92d14610187576100c9565b80630f08025f146100ce5780633a98ef39146100ff575b600080fd5b6100d6610233565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610107610257565b60408051918252519081900360200190f35b6101076004803603602081101561012f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661025d565b6101856004803603604081101561016257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561035d565b005b6101076103f6565b610185600480360360208110156101a557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610406565b6100d6610511565b610107610535565b610107610740565b61020d600480360360208110156101f057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610746565b60408051938452602084019290925282820152519081900360600190f35b6100d6610767565b7f0000000000000000000000007b35ce522cb72e4077baeb96cb923a5529764a0081565b60015481565b600080610268610535565b905080610279576000915050610358565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090208054600182015474010000000000000000000000000000000000000000916102dd916102d190869063ffffffff61078816565b9063ffffffff6107d316565b816102e457fe5b0481600201540192508181600101819055508281600201819055508373ffffffffffffffffffffffffffffffffffffffff167ff7240857a4f83123f14a7bc3f77cd32d0ae71ede635c92ebdcc14d5ea8ed018a8385604051808381526020018281526020019250505060405180910390a250505b919050565b600354610100900473ffffffffffffffffffffffffffffffffffffffff1633146103e857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4f776e65644469737472696275746f723a20554e415554484f52495a45440000604482015290519081900360640190fd5b6103f28282610846565b5050565b600061040133610914565b905090565b600354610100900473ffffffffffffffffffffffffffffffffffffffff16331461049157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4f776e65644469737472696275746f723a20554e415554484f52495a45440000604482015290519081900360640190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff831661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790915560408051918252517f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a19181900360200190a150565b7f000000000000000000000000073271a5da4e9ee4afde9ff08801feb2c672214e81565b60035460009060ff166105a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4469737472696275746f723a205245454e544552454400000000000000000000604482015290519081900360640190fd5b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556001546105e15750600254610712565b60007f000000000000000000000000073271a5da4e9ee4afde9ff08801feb2c672214e73ffffffffffffffffffffffffffffffffffffffff16634e71d92d6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561064b57600080fd5b505af115801561065f573d6000803e3d6000fd5b505050506040513d602081101561067557600080fd5b5051905080610688575050600254610712565b6106d46002546106c86001546106bc74010000000000000000000000000000000000000000866107d390919063ffffffff16565b9063ffffffff610a4e16565b9063ffffffff610a9016565b60028190556040805182815290519193507f8cae7c5b456d193882de6985578f406aefb641501192211706c5aa0a32612fec919081900360200190a1505b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590565b60025481565b60006020819052908152604090208054600182015460029092015490919083565b600354610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60006107ca83836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f7700815250610b04565b90505b92915050565b6000826107e2575060006107cd565b828202828482816107ef57fe5b04146107ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610c356021913960400191505060405180910390fd5b61084f8261025d565b5073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054909181841161089a576001546108959085840363ffffffff61078816565b6108af565b6001546108af9083860363ffffffff610a9016565b60018190558484556040805186815260208101839052815192935073ffffffffffffffffffffffffffffffffffffffff8816927fff3664f5f2f8f85ecd8d30ef2aa6773d8a8448219c7421dcbb67957fb3fafba1929181900390910190a25050505050565b600061091f8261025d565b905080156103585773ffffffffffffffffffffffffffffffffffffffff80831660008181526020818152604080832060020183905580517fa9059cbb000000000000000000000000000000000000000000000000000000008152600481019490945260248401869052517f0000000000000000000000007b35ce522cb72e4077baeb96cb923a5529764a009094169363a9059cbb93604480820194918390030190829087803b1580156109d157600080fd5b505af11580156109e5573d6000803e3d6000fd5b505050506040513d60208110156109fb57600080fd5b505060408051828152905173ffffffffffffffffffffffffffffffffffffffff8416917f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4919081900360200190a2919050565b60006107ca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610bb5565b6000828201838110156107ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b72578181015183820152602001610b5a565b50505050905090810190601f168015610b9f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315610b72578181015183820152602001610b5a565b506000838581610c2a57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122084020015109ff0951ac2fdbe250d7aeca0d397c982cb66a889c66bdc9fcb54f064736f6c63430006060033

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

0000000000000000000000007b35ce522cb72e4077baeb96cb923a5529764a00000000000000000000000000073271a5da4e9ee4afde9ff08801feb2c672214e0000000000000000000000009fc5341db9a9cdf8337b4bd286d4cfc03b20ad35

-----Decoded View---------------
Arg [0] : imx_ (address): 0x7b35Ce522CB72e4077BaeB96Cb923A5529764a00
Arg [1] : claimable_ (address): 0x073271A5da4E9EE4afDe9ff08801feb2c672214E
Arg [2] : admin_ (address): 0x9fC5341dB9a9CdF8337B4Bd286d4cfC03B20Ad35

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000007b35ce522cb72e4077baeb96cb923a5529764a00
Arg [1] : 000000000000000000000000073271a5da4e9ee4afde9ff08801feb2c672214e
Arg [2] : 0000000000000000000000009fc5341db9a9cdf8337b4bd286d4cfc03b20ad35


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
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.