Source Code
Latest 25 from a total of 109 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Claim | 15155721 | 1334 days ago | IN | 0 ETH | 0.00207211 | ||||
| Set Admin | 15155547 | 1334 days ago | IN | 0 ETH | 0.0027901 | ||||
| Edit Recipient | 15078549 | 1346 days ago | IN | 0 ETH | 0.001008 | ||||
| Edit Recipient | 15078546 | 1346 days ago | IN | 0 ETH | 0.00093799 | ||||
| Claim | 15078420 | 1346 days ago | IN | 0 ETH | 0.00082703 | ||||
| Claim | 14803894 | 1393 days ago | IN | 0 ETH | 0.00131936 | ||||
| Claim | 14628914 | 1421 days ago | IN | 0 ETH | 0.00380957 | ||||
| Claim | 14505888 | 1440 days ago | IN | 0 ETH | 0.00326792 | ||||
| Claim | 14303782 | 1471 days ago | IN | 0 ETH | 0.00445336 | ||||
| Claim | 14068181 | 1508 days ago | IN | 0 ETH | 0.00900348 | ||||
| Edit Recipient | 13903229 | 1533 days ago | IN | 0 ETH | 0.00842913 | ||||
| Edit Recipient | 13903206 | 1533 days ago | IN | 0 ETH | 0.00957267 | ||||
| Edit Recipient | 13903206 | 1533 days ago | IN | 0 ETH | 0.00957267 | ||||
| Claim | 13845531 | 1542 days ago | IN | 0 ETH | 0.00422785 | ||||
| Claim | 13773064 | 1553 days ago | IN | 0 ETH | 0.00640309 | ||||
| Edit Recipient | 13735095 | 1559 days ago | IN | 0 ETH | 0.00428922 | ||||
| Edit Recipient | 13734305 | 1560 days ago | IN | 0 ETH | 0.0053587 | ||||
| Claim | 13695573 | 1566 days ago | IN | 0 ETH | 0.00561775 | ||||
| Edit Recipient | 13607126 | 1580 days ago | IN | 0 ETH | 0.00425224 | ||||
| Edit Recipient | 13607126 | 1580 days ago | IN | 0 ETH | 0.00425224 | ||||
| Edit Recipient | 13607126 | 1580 days ago | IN | 0 ETH | 0.0061488 | ||||
| Edit Recipient | 13607126 | 1580 days ago | IN | 0 ETH | 0.0061488 | ||||
| Edit Recipient | 13607126 | 1580 days ago | IN | 0 ETH | 0.0061488 | ||||
| Edit Recipient | 13607126 | 1580 days ago | IN | 0 ETH | 0.0061488 | ||||
| Edit Recipient | 13607126 | 1580 days ago | IN | 0 ETH | 0.0061488 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
OwnedDistributor
Compiler Version
v0.6.6+commit.6c089d02
Optimization Enabled:
Yes with 999999 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
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;
}
}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;
}
}{
"remappings": [],
"optimizer": {
"enabled": true,
"runs": 999999
},
"evmVersion": "istanbul",
"libraries": {},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.