Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 10 from a total of 10 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Set Percentages | 18235220 | 278 days ago | IN | 0 ETH | 0.00055973 | ||||
Set Percentages | 18228992 | 278 days ago | IN | 0 ETH | 0.00045833 | ||||
Set Percentages | 18228983 | 278 days ago | IN | 0 ETH | 0.00053703 | ||||
Set Percentages | 18225940 | 279 days ago | IN | 0 ETH | 0.00029456 | ||||
Set Percentages | 18225626 | 279 days ago | IN | 0 ETH | 0.00029584 | ||||
Set Percentages | 18225617 | 279 days ago | IN | 0 ETH | 0.00030629 | ||||
Set Percentages | 18215572 | 280 days ago | IN | 0 ETH | 0.00069725 | ||||
Set Percentages | 18212898 | 281 days ago | IN | 0 ETH | 0.00033519 | ||||
Set Percentages | 18208823 | 281 days ago | IN | 0 ETH | 0.00023916 | ||||
0x60a06040 | 18208483 | 281 days ago | IN | Create: EGMCShareholderDistributor | 0 ETH | 0.01308114 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
EGMCShareholderDistributor
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity =0.8.19; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/utils/math/SafeMath.sol"; import "./interfaces/IEGMC.sol"; contract EGMCShareholderDistributor is Ownable { using SafeMath for uint; IEGMC public immutable token; uint public shareholderPecentage = 80; uint public tokenPercentage = 1000; // in bp uint public lpPercentage = 1500; // in bp address public shareholderPool; address private dev; constructor ( address _token, address _shareholderPool ) { token = IEGMC(_token); shareholderPool = _shareholderPool; dev = address(0x231125A43C1fC2f3699f3a9Ac078009630D11c0E); } /** VIEW FUNCTIONS */ function getAmounts() public view returns (uint lpAmount, uint devAmount, uint tokenAmount) { uint lpToDistribute = IERC20(token.uniswapV2Pair()).balanceOf(address(this)).mul(lpPercentage).div(10000); lpAmount = lpToDistribute.mul(shareholderPecentage).div(100); devAmount = lpToDistribute.sub(lpAmount); tokenAmount = IERC20(token).balanceOf(address(this)).mul(tokenPercentage).div(10000); } /** PUBLIC FUNCTIONS */ function distribute() external returns (uint lpAmount, uint tokenAmount) { require(_msgSender() == shareholderPool, "Only shareholder pool can call this function"); uint devAmount; (lpAmount, devAmount, tokenAmount) = getAmounts(); if (lpAmount > 0) { IERC20(token.uniswapV2Pair()).transfer(shareholderPool, lpAmount); } if (tokenAmount > 0) { IERC20(token).transfer(shareholderPool, tokenAmount); } if (devAmount > 0) { IERC20(token.uniswapV2Pair()).transfer(dev, devAmount); } } /** RESTRICTED FUNCTIONS */ function setShareholderPool(address _shareholderPool) external onlyOwner { shareholderPool = _shareholderPool; } function setDev(address _dev) external { require(_msgSender() == dev, "only dev"); dev = _dev; } function setShareholderPercentages(uint _shareholderPercentage) external onlyOwner { shareholderPecentage = _shareholderPercentage; } function setPercentages(uint _tokenPercentage, uint _lpPercentage) external onlyOwner { tokenPercentage = _tokenPercentage; lpPercentage = _lpPercentage; } function recover(address _token) external onlyOwner { IERC20(_token).transfer(owner(), IERC20(_token).balanceOf(address(this))); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @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. * * By default, the owner account will be the one that deploys the contract. 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; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @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 { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @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 { require(newOwner != address(0), "Ownable: new owner is the zero address"); _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); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ 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 amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` 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 amount) 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 `amount` 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 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` 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 amount) external returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @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; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (utils/math/SafeMath.sol) pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the subtraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // 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 (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @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) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @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) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting 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 a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting 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) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * 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) { unchecked { require(b > 0, errorMessage); return a % b; } } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.4; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; interface IEGMC is IERC20 { function uniswapV2Router() external view returns (address); function uniswapV2Pair() external view returns (address); function WETH() external view returns (address); function liquidityWallet() external view returns (address); }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_shareholderPool","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"distribute","outputs":[{"internalType":"uint256","name":"lpAmount","type":"uint256"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAmounts","outputs":[{"internalType":"uint256","name":"lpAmount","type":"uint256"},{"internalType":"uint256","name":"devAmount","type":"uint256"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"recover","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_dev","type":"address"}],"name":"setDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenPercentage","type":"uint256"},{"internalType":"uint256","name":"_lpPercentage","type":"uint256"}],"name":"setPercentages","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_shareholderPercentage","type":"uint256"}],"name":"setShareholderPercentages","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_shareholderPool","type":"address"}],"name":"setShareholderPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"shareholderPecentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shareholderPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IEGMC","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a060405260506001556103e86002556105dc6003553480156200002257600080fd5b506040516200178838038062001788833981810160405281019062000048919062000270565b620000686200005c6200013a60201b60201c565b6200014260201b60201c565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073231125a43c1fc2f3699f3a9ac078009630d11c0e600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620002b7565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000238826200020b565b9050919050565b6200024a816200022b565b81146200025657600080fd5b50565b6000815190506200026a816200023f565b92915050565b600080604083850312156200028a576200028962000206565b5b60006200029a8582860162000259565b9250506020620002ad8582860162000259565b9150509250929050565b608051611492620002f6600039600081816103bd0152818161052e015281816108410152818161097a01528181610a450152610bfd01526114926000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063bd2ec8c511610097578063f2fde38b11610066578063f2fde38b14610229578063fc0c546a14610245578063fc7ebebd14610263578063fe05f03614610281576100f5565b8063bd2ec8c5146101b4578063d3961125146101d0578063d477f05f146101ee578063e4fc6b6d1461020a576100f5565b80636e958063116100d35780636e95806314610154578063715018a6146101705780638da5cb5b1461017a578063a8e2b46a14610198576100f5565b80630cd865ec146100fa5780633d370b4e146101165780634c72ac0314610136575b600080fd5b610114600480360381019061010f9190610e3a565b61029f565b005b61011e6103a9565b60405161012d93929190610e80565b60405180910390f35b61013e6105ea565b60405161014b9190610eb7565b60405180910390f35b61016e60048036038101906101699190610e3a565b6105f0565b005b61017861063c565b005b610182610650565b60405161018f9190610ee1565b60405180910390f35b6101b260048036038101906101ad9190610f28565b610679565b005b6101ce60048036038101906101c99190610f55565b61068b565b005b6101d86106a5565b6040516101e59190610eb7565b60405180910390f35b61020860048036038101906102039190610e3a565b6106ab565b005b610212610786565b604051610220929190610f95565b60405180910390f35b610243600480360381019061023e9190610e3a565b610b78565b005b61024d610bfb565b60405161025a919061101d565b60405180910390f35b61026b610c1f565b6040516102789190610eb7565b60405180910390f35b610289610c25565b6040516102969190610ee1565b60405180910390f35b6102a7610c4b565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6102cb610650565b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103049190610ee1565b602060405180830381865afa158015610321573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610345919061104d565b6040518363ffffffff1660e01b815260040161036292919061107a565b6020604051808303816000875af1158015610381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a591906110db565b5050565b6000806000806104df6127106104d16003547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166349bd5a5e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044a919061111d565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104829190610ee1565b602060405180830381865afa15801561049f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c3919061104d565b610cc990919063ffffffff16565b610cdf90919063ffffffff16565b905061050960646104fb60015484610cc990919063ffffffff16565b610cdf90919063ffffffff16565b935061051e8482610cf590919063ffffffff16565b92506105e26127106105d46002547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105859190610ee1565b602060405180830381865afa1580156105a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c6919061104d565b610cc990919063ffffffff16565b610cdf90919063ffffffff16565b915050909192565b60015481565b6105f8610c4b565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610644610c4b565b61064e6000610d0b565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610681610c4b565b8060018190555050565b610693610c4b565b81600281905550806003819055505050565b60025481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ec610dcf565b73ffffffffffffffffffffffffffffffffffffffff1614610742576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610739906111a7565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107ca610dcf565b73ffffffffffffffffffffffffffffffffffffffff1614610820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081790611239565b60405180910390fd5b600061082a6103a9565b809450819350829550505050600083111561096f577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166349bd5a5e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ce919061111d565b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b815260040161092a92919061107a565b6020604051808303816000875af1158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d91906110db565b505b6000821115610a3a577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016109f592919061107a565b6020604051808303816000875af1158015610a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3891906110db565b505b6000811115610b73577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166349bd5a5e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad2919061111d565b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610b2e92919061107a565b6020604051808303816000875af1158015610b4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7191906110db565b505b509091565b610b80610c4b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be6906112cb565b60405180910390fd5b610bf881610d0b565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c53610dcf565b73ffffffffffffffffffffffffffffffffffffffff16610c71610650565b73ffffffffffffffffffffffffffffffffffffffff1614610cc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbe90611337565b60405180910390fd5b565b60008183610cd79190611386565b905092915050565b60008183610ced91906113f7565b905092915050565b60008183610d039190611428565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e0782610ddc565b9050919050565b610e1781610dfc565b8114610e2257600080fd5b50565b600081359050610e3481610e0e565b92915050565b600060208284031215610e5057610e4f610dd7565b5b6000610e5e84828501610e25565b91505092915050565b6000819050919050565b610e7a81610e67565b82525050565b6000606082019050610e956000830186610e71565b610ea26020830185610e71565b610eaf6040830184610e71565b949350505050565b6000602082019050610ecc6000830184610e71565b92915050565b610edb81610dfc565b82525050565b6000602082019050610ef66000830184610ed2565b92915050565b610f0581610e67565b8114610f1057600080fd5b50565b600081359050610f2281610efc565b92915050565b600060208284031215610f3e57610f3d610dd7565b5b6000610f4c84828501610f13565b91505092915050565b60008060408385031215610f6c57610f6b610dd7565b5b6000610f7a85828601610f13565b9250506020610f8b85828601610f13565b9150509250929050565b6000604082019050610faa6000830185610e71565b610fb76020830184610e71565b9392505050565b6000819050919050565b6000610fe3610fde610fd984610ddc565b610fbe565b610ddc565b9050919050565b6000610ff582610fc8565b9050919050565b600061100782610fea565b9050919050565b61101781610ffc565b82525050565b6000602082019050611032600083018461100e565b92915050565b60008151905061104781610efc565b92915050565b60006020828403121561106357611062610dd7565b5b600061107184828501611038565b91505092915050565b600060408201905061108f6000830185610ed2565b61109c6020830184610e71565b9392505050565b60008115159050919050565b6110b8816110a3565b81146110c357600080fd5b50565b6000815190506110d5816110af565b92915050565b6000602082840312156110f1576110f0610dd7565b5b60006110ff848285016110c6565b91505092915050565b60008151905061111781610e0e565b92915050565b60006020828403121561113357611132610dd7565b5b600061114184828501611108565b91505092915050565b600082825260208201905092915050565b7f6f6e6c7920646576000000000000000000000000000000000000000000000000600082015250565b600061119160088361114a565b915061119c8261115b565b602082019050919050565b600060208201905081810360008301526111c081611184565b9050919050565b7f4f6e6c79207368617265686f6c64657220706f6f6c2063616e2063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000611223602c8361114a565b915061122e826111c7565b604082019050919050565b6000602082019050818103600083015261125281611216565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006112b560268361114a565b91506112c082611259565b604082019050919050565b600060208201905081810360008301526112e4816112a8565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061132160208361114a565b915061132c826112eb565b602082019050919050565b6000602082019050818103600083015261135081611314565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061139182610e67565b915061139c83610e67565b92508282026113aa81610e67565b915082820484148315176113c1576113c0611357565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061140282610e67565b915061140d83610e67565b92508261141d5761141c6113c8565b5b828204905092915050565b600061143382610e67565b915061143e83610e67565b925082820390508181111561145657611455611357565b5b9291505056fea26469706673582212200f8c118b54abf7e026bfdd1f47a7764d5d01cab44009cbef0286c4483fd16c7464736f6c63430008130033000000000000000000000000f70e5e46a50bba54917d9cb7aeb8b83610bcd96900000000000000000000000091e485705cb9fefde7b9afcf90766e78ea2cc62c
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063bd2ec8c511610097578063f2fde38b11610066578063f2fde38b14610229578063fc0c546a14610245578063fc7ebebd14610263578063fe05f03614610281576100f5565b8063bd2ec8c5146101b4578063d3961125146101d0578063d477f05f146101ee578063e4fc6b6d1461020a576100f5565b80636e958063116100d35780636e95806314610154578063715018a6146101705780638da5cb5b1461017a578063a8e2b46a14610198576100f5565b80630cd865ec146100fa5780633d370b4e146101165780634c72ac0314610136575b600080fd5b610114600480360381019061010f9190610e3a565b61029f565b005b61011e6103a9565b60405161012d93929190610e80565b60405180910390f35b61013e6105ea565b60405161014b9190610eb7565b60405180910390f35b61016e60048036038101906101699190610e3a565b6105f0565b005b61017861063c565b005b610182610650565b60405161018f9190610ee1565b60405180910390f35b6101b260048036038101906101ad9190610f28565b610679565b005b6101ce60048036038101906101c99190610f55565b61068b565b005b6101d86106a5565b6040516101e59190610eb7565b60405180910390f35b61020860048036038101906102039190610e3a565b6106ab565b005b610212610786565b604051610220929190610f95565b60405180910390f35b610243600480360381019061023e9190610e3a565b610b78565b005b61024d610bfb565b60405161025a919061101d565b60405180910390f35b61026b610c1f565b6040516102789190610eb7565b60405180910390f35b610289610c25565b6040516102969190610ee1565b60405180910390f35b6102a7610c4b565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6102cb610650565b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103049190610ee1565b602060405180830381865afa158015610321573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610345919061104d565b6040518363ffffffff1660e01b815260040161036292919061107a565b6020604051808303816000875af1158015610381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a591906110db565b5050565b6000806000806104df6127106104d16003547f000000000000000000000000f70e5e46a50bba54917d9cb7aeb8b83610bcd96973ffffffffffffffffffffffffffffffffffffffff166349bd5a5e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044a919061111d565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104829190610ee1565b602060405180830381865afa15801561049f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c3919061104d565b610cc990919063ffffffff16565b610cdf90919063ffffffff16565b905061050960646104fb60015484610cc990919063ffffffff16565b610cdf90919063ffffffff16565b935061051e8482610cf590919063ffffffff16565b92506105e26127106105d46002547f000000000000000000000000f70e5e46a50bba54917d9cb7aeb8b83610bcd96973ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105859190610ee1565b602060405180830381865afa1580156105a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c6919061104d565b610cc990919063ffffffff16565b610cdf90919063ffffffff16565b915050909192565b60015481565b6105f8610c4b565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610644610c4b565b61064e6000610d0b565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610681610c4b565b8060018190555050565b610693610c4b565b81600281905550806003819055505050565b60025481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ec610dcf565b73ffffffffffffffffffffffffffffffffffffffff1614610742576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610739906111a7565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107ca610dcf565b73ffffffffffffffffffffffffffffffffffffffff1614610820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081790611239565b60405180910390fd5b600061082a6103a9565b809450819350829550505050600083111561096f577f000000000000000000000000f70e5e46a50bba54917d9cb7aeb8b83610bcd96973ffffffffffffffffffffffffffffffffffffffff166349bd5a5e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ce919061111d565b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b815260040161092a92919061107a565b6020604051808303816000875af1158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d91906110db565b505b6000821115610a3a577f000000000000000000000000f70e5e46a50bba54917d9cb7aeb8b83610bcd96973ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016109f592919061107a565b6020604051808303816000875af1158015610a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3891906110db565b505b6000811115610b73577f000000000000000000000000f70e5e46a50bba54917d9cb7aeb8b83610bcd96973ffffffffffffffffffffffffffffffffffffffff166349bd5a5e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad2919061111d565b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610b2e92919061107a565b6020604051808303816000875af1158015610b4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7191906110db565b505b509091565b610b80610c4b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be6906112cb565b60405180910390fd5b610bf881610d0b565b50565b7f000000000000000000000000f70e5e46a50bba54917d9cb7aeb8b83610bcd96981565b60035481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c53610dcf565b73ffffffffffffffffffffffffffffffffffffffff16610c71610650565b73ffffffffffffffffffffffffffffffffffffffff1614610cc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbe90611337565b60405180910390fd5b565b60008183610cd79190611386565b905092915050565b60008183610ced91906113f7565b905092915050565b60008183610d039190611428565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e0782610ddc565b9050919050565b610e1781610dfc565b8114610e2257600080fd5b50565b600081359050610e3481610e0e565b92915050565b600060208284031215610e5057610e4f610dd7565b5b6000610e5e84828501610e25565b91505092915050565b6000819050919050565b610e7a81610e67565b82525050565b6000606082019050610e956000830186610e71565b610ea26020830185610e71565b610eaf6040830184610e71565b949350505050565b6000602082019050610ecc6000830184610e71565b92915050565b610edb81610dfc565b82525050565b6000602082019050610ef66000830184610ed2565b92915050565b610f0581610e67565b8114610f1057600080fd5b50565b600081359050610f2281610efc565b92915050565b600060208284031215610f3e57610f3d610dd7565b5b6000610f4c84828501610f13565b91505092915050565b60008060408385031215610f6c57610f6b610dd7565b5b6000610f7a85828601610f13565b9250506020610f8b85828601610f13565b9150509250929050565b6000604082019050610faa6000830185610e71565b610fb76020830184610e71565b9392505050565b6000819050919050565b6000610fe3610fde610fd984610ddc565b610fbe565b610ddc565b9050919050565b6000610ff582610fc8565b9050919050565b600061100782610fea565b9050919050565b61101781610ffc565b82525050565b6000602082019050611032600083018461100e565b92915050565b60008151905061104781610efc565b92915050565b60006020828403121561106357611062610dd7565b5b600061107184828501611038565b91505092915050565b600060408201905061108f6000830185610ed2565b61109c6020830184610e71565b9392505050565b60008115159050919050565b6110b8816110a3565b81146110c357600080fd5b50565b6000815190506110d5816110af565b92915050565b6000602082840312156110f1576110f0610dd7565b5b60006110ff848285016110c6565b91505092915050565b60008151905061111781610e0e565b92915050565b60006020828403121561113357611132610dd7565b5b600061114184828501611108565b91505092915050565b600082825260208201905092915050565b7f6f6e6c7920646576000000000000000000000000000000000000000000000000600082015250565b600061119160088361114a565b915061119c8261115b565b602082019050919050565b600060208201905081810360008301526111c081611184565b9050919050565b7f4f6e6c79207368617265686f6c64657220706f6f6c2063616e2063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000611223602c8361114a565b915061122e826111c7565b604082019050919050565b6000602082019050818103600083015261125281611216565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006112b560268361114a565b91506112c082611259565b604082019050919050565b600060208201905081810360008301526112e4816112a8565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061132160208361114a565b915061132c826112eb565b602082019050919050565b6000602082019050818103600083015261135081611314565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061139182610e67565b915061139c83610e67565b92508282026113aa81610e67565b915082820484148315176113c1576113c0611357565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061140282610e67565b915061140d83610e67565b92508261141d5761141c6113c8565b5b828204905092915050565b600061143382610e67565b915061143e83610e67565b925082820390508181111561145657611455611357565b5b9291505056fea26469706673582212200f8c118b54abf7e026bfdd1f47a7764d5d01cab44009cbef0286c4483fd16c7464736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f70e5e46a50bba54917d9cb7aeb8b83610bcd96900000000000000000000000091e485705cb9fefde7b9afcf90766e78ea2cc62c
-----Decoded View---------------
Arg [0] : _token (address): 0xf70E5E46A50bba54917D9Cb7aEB8b83610bCd969
Arg [1] : _shareholderPool (address): 0x91E485705CB9fEfde7b9AFCf90766E78EA2cc62c
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f70e5e46a50bba54917d9cb7aeb8b83610bcd969
Arg [1] : 00000000000000000000000091e485705cb9fefde7b9afcf90766e78ea2cc62c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.