Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 6 from a total of 6 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Update Issue Inf... | 12715332 | 1210 days ago | IN | 0 ETH | 0.00037233 | ||||
Set Start | 12552333 | 1236 days ago | IN | 0 ETH | 0.00114067 | ||||
Update Issue Inf... | 12489168 | 1245 days ago | IN | 0 ETH | 0.00096149 | ||||
Withdraw Token | 12488541 | 1245 days ago | IN | 0 ETH | 0.00137475 | ||||
Transfer | 12488118 | 1245 days ago | IN | 0.1 ETH | 0.00082114 | ||||
0x60806040 | 12483345 | 1246 days ago | IN | 0 ETH | 0.06150928 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TokenIssueV2
Compiler Version
v0.6.4+commit.1dca32f3
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-05-22 */ pragma solidity >=0.6.0 <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 GSN 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 payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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 `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, 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 `sender` to `recipient` 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 sender, address recipient, uint256 amount) external returns (bool); /** * @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); } // File: @openzeppelin/contracts/utils/Address.sol pragma solidity >=0.6.2 <0.8.0; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } // File: @openzeppelin/contracts/token/ERC20/SafeERC20.sol pragma solidity >=0.6.0 <0.8.0; /** * @title SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure (when the token * contract returns false). Tokens that return no value (and instead revert or * throw on failure) are also supported, non-reverting calls are assumed to be * successful. * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(IERC20 token, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } /** * @dev Deprecated. This function has issues similar to the ones found in * {IERC20-approve}, and its usage is discouraged. * * Whenever possible, use {safeIncreaseAllowance} and * {safeDecreaseAllowance} instead. */ function safeApprove(IERC20 token, address spender, uint256 value) internal { // safeApprove should only be called when setting an initial allowance, // or when resetting it to zero. To increase and decrease it, use // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' // solhint-disable-next-line max-line-length require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).add(value); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero"); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } /** * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement * on the return value: the return value is optional (but if data is returned, it must not be false). * @param token The token targeted by the call. * @param data The call data (encoded using abi.encode or one of its variants). */ function _callOptionalReturn(IERC20 token, bytes memory data) private { // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that // the target address contains contract code and also asserts for success in the low-level call. bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } // File: @openzeppelin/contracts/access/Ownable.sol pragma solidity >=0.6.0 <0.8.0; /** * @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 () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = 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"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: @openzeppelin/contracts/math/SafeMath.sol pragma solidity >=0.6.0 <0.8.0; /** * @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 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 sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ 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 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) { 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; } } // File: contracts/interfaces/IAccessControl.sol pragma solidity ^0.6.0; interface IAccessControl { function hasRole(bytes32 role, address account) external view returns (bool); } // File: contracts/TokenIssueV2.sol pragma solidity ^0.6.0; interface ISumma { function issue(address addr, uint256 amount) external; } contract TokenIssueV2 is Ownable { using SafeMath for uint256; uint256 public constant INIT_MINE_SUPPLY = 0; uint256 public issuedAmount = INIT_MINE_SUPPLY; uint256 public constant MONTH_SECONDS = 225*24*30; bytes32 public constant TRANS_ROLE = keccak256("TRANS_ROLE"); bytes4 private constant SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)'))); // utc 2021-05-01 // uint256 public startIssueTime = 0; uint256 public startIssueTime = 0; address public summa; address public summaPri; uint256[] public issueInfo; uint256 public mintAmount; constructor(address _summa,address _summaPri) public { summa = _summa; summaPri = _summaPri; initialize(); } function initialize() private { issueInfo.push(1000000*10**18); issueInfo.push(1000000*10**18); issueInfo.push(1000000*10**18); issueInfo.push(1000000*10**18); issueInfo.push(1000000*10**18); issueInfo.push(1000000*10**18); issueInfo.push(1000000*10**18); issueInfo.push(1000000*10**18); issueInfo.push(1000000*10**18); issueInfo.push(1000000*10**18); } function updateIssueInfo(uint8 _pid,uint256 _issueInfo) public onlyOwner{ issueInfo[_pid] = _issueInfo; } function issueInfoLength() external view returns (uint256) { return issueInfo.length; } function currentCanIssueAmount() public view returns (uint256){ uint256 currentTime = block.number; if (currentTime <= startIssueTime || startIssueTime <= 0) { return INIT_MINE_SUPPLY; } uint256 timeInterval = currentTime - startIssueTime; uint256 monthIndex = timeInterval.div(MONTH_SECONDS); if (monthIndex < 1) { return issueInfo[monthIndex].div(MONTH_SECONDS).mul(timeInterval).add(INIT_MINE_SUPPLY).sub(issuedAmount); } else if (monthIndex < issueInfo.length) { uint256 tempTotal = INIT_MINE_SUPPLY; for (uint256 j = 0; j < monthIndex; j++) { tempTotal = tempTotal.add(issueInfo[j]); } uint256 calcAmount = timeInterval.sub(monthIndex.mul(MONTH_SECONDS)).mul(issueInfo[monthIndex].div(MONTH_SECONDS)).add(tempTotal).sub(issuedAmount); return calcAmount.sub(issuedAmount); } else { return 0; } } function currentBlockCanIssueAmount() public view returns (uint256){ uint256 currentTime = block.number; if (currentTime <= startIssueTime || startIssueTime <= 0) { return 0; } uint256 timeInterval = currentTime - startIssueTime; uint256 monthIndex = timeInterval.div(MONTH_SECONDS); if (monthIndex < 1) { return issueInfo[monthIndex].div(MONTH_SECONDS).sub(issuedAmount); } else if (monthIndex < issueInfo.length) { uint256 tempTotal = INIT_MINE_SUPPLY; for (uint256 j = 0; j < monthIndex; j++) { tempTotal = tempTotal.add(issueInfo[j]); } uint256 actualBlockIssue = issueInfo[monthIndex].div(MONTH_SECONDS); uint256 calcAmount = timeInterval.sub(monthIndex.mul(MONTH_SECONDS)).mul(issueInfo[monthIndex].div(MONTH_SECONDS)).add(tempTotal) .sub(issuedAmount); if (calcAmount > TOTAL_AMOUNT()) { return TOTAL_AMOUNT(); } return actualBlockIssue; } else { return 0; } } function issueAnyOne() public { uint256 currentCanIssue = currentCanIssueAmount(); if (currentCanIssue > 0) { issuedAmount = issuedAmount.add(currentCanIssue); _mintAmount(currentCanIssue); } } function _mintAmount(uint256 currentCanIssueAmount) private { require(currentCanIssueAmount <= IERC20(summa).balanceOf(address(this)),"not enough,please check code"); mintAmount = mintAmount+currentCanIssueAmount; } function TOTAL_AMOUNT() public view returns (uint256){ return IERC20(summa).balanceOf(address(this)); } function withdrawETH() public onlyOwner { msg.sender.transfer(address(this).balance); } function setStart() public onlyOwner { if (startIssueTime <= 0) { startIssueTime = block.number; } } function transByContract(address to,uint256 amount) public{ require(IAccessControl(summaPri).hasRole(TRANS_ROLE, _msgSender()), "Caller is not a transfer role"); if(amount > mintAmount){ issueAnyOne(); } require(amount <= mintAmount,"not enough mintAmount,please check code"); require(amount <= IERC20(summa).balanceOf(address(this)),"not enough IERC20Sumswap,please check code"); mintAmount = mintAmount-amount; SafeERC20.safeTransfer(IERC20(summa),to,amount); } function withdrawToken(address addr) public onlyOwner { SafeERC20.safeTransfer(IERC20(addr),_msgSender(), IERC20(addr).balanceOf(address(this))); } receive() external payable { } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_summa","type":"address"},{"internalType":"address","name":"_summaPri","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":"INIT_MINE_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MONTH_SECONDS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANS_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentBlockCanIssueAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentCanIssueAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"issueAnyOne","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"issueInfo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"issueInfoLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"issuedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setStart","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startIssueTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"summa","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"summaPri","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transByContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_pid","type":"uint8"},{"internalType":"uint256","name":"_issueInfo","type":"uint256"}],"name":"updateIssueInfo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600155600060025534801561001a57600080fd5b506040516116a73803806116a78339818101604052604081101561003d57600080fd5b50805160209091015160006100596001600160e01b036100eb16565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600380546001600160a01b038085166001600160a01b03199283161790925560048054928416929091169190911790556100e46001600160e01b036100ef16565b505061019d565b3390565b6005805460018181018355600083905269d3c21bcecceda10000007f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db092830181905583548083018555830181905583548083018555830181905583548083018555830181905583548083018555830181905583548083018555830181905583548083018555830181905583548083018555830181905583548083018555830181905583549182019093550155565b6114fb806101ac6000396000f3fe6080604052600436106101385760003560e01c80638da5cb5b116100ab578063b62697571161006f578063b626975714610324578063b7c408d11461034e578063d642e5c714610363578063e086e5ec14610378578063f2fde38b1461038d578063f4a814fd146103c05761013f565b80638da5cb5b1461029f578063949c67e5146102d05780639b58cf18146102e5578063a2d7f5e3146102fa578063b5269cad1461030f5761013f565b806345138eb8116100fd57806345138eb8146102035780635a2bcc18146102185780635a2d34901461022d578063715018a6146102425780637d24af6614610257578063894760691461026c5761013f565b8062011b971461014457806304b776af146101795780632553fd8f146101a05780632fe5e3a6146101b557806335975a37146101ee5761013f565b3661013f57005b600080fd5b34801561015057600080fd5b506101776004803603604081101561016757600080fd5b5060ff81351690602001356103d5565b005b34801561018557600080fd5b5061018e61044e565b60408051918252519081900360200190f35b3480156101ac57600080fd5b50610177610470565b3480156101c157600080fd5b50610177600480360360408110156101d857600080fd5b506001600160a01b0381351690602001356104a4565b3480156101fa57600080fd5b506101776106d6565b34801561020f57600080fd5b5061018e61073f565b34801561022457600080fd5b5061018e610744565b34801561023957600080fd5b5061018e61074a565b34801561024e57600080fd5b50610177610751565b34801561026357600080fd5b5061018e6107f3565b34801561027857600080fd5b506101776004803603602081101561028f57600080fd5b50356001600160a01b03166107f9565b3480156102ab57600080fd5b506102b46108d4565b604080516001600160a01b039092168252519081900360200190f35b3480156102dc57600080fd5b5061018e6108e3565b3480156102f157600080fd5b506102b4610a76565b34801561030657600080fd5b5061018e610a85565b34801561031b57600080fd5b5061018e610b01565b34801561033057600080fd5b5061018e6004803603602081101561034757600080fd5b5035610c08565b34801561035a57600080fd5b506102b4610c26565b34801561036f57600080fd5b5061018e610c35565b34801561038457600080fd5b50610177610c3b565b34801561039957600080fd5b50610177600480360360208110156103b057600080fd5b50356001600160a01b0316610cbf565b3480156103cc57600080fd5b5061018e610db7565b6103dd610dbe565b6000546001600160a01b0390811691161461042d576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b8060058360ff168154811061043e57fe5b6000918252602090912001555050565b60408051695452414e535f524f4c4560b01b8152905190819003600a01902081565b600061047a610b01565b905080156104a157600154610495908263ffffffff610dc216565b6001556104a181610e25565b50565b60045460408051695452414e535f524f4c4560b01b8152905190819003600a0190206001600160a01b03909116906391d14854906104e0610dbe565b6040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b15801561052d57600080fd5b505afa158015610541573d6000803e3d6000fd5b505050506040513d602081101561055757600080fd5b50516105aa576040805162461bcd60e51b815260206004820152601d60248201527f43616c6c6572206973206e6f742061207472616e7366657220726f6c65000000604482015290519081900360640190fd5b6006548111156105bc576105bc610470565b6006548111156105fd5760405162461bcd60e51b815260040180806020018281038252602781526020018061144b6027913960400191505060405180910390fd5b600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561064857600080fd5b505afa15801561065c573d6000803e3d6000fd5b505050506040513d602081101561067257600080fd5b50518111156106b25760405162461bcd60e51b815260040180806020018281038252602a81526020018061149c602a913960400191505060405180910390fd5b6006805482900390556003546106d2906001600160a01b03168383610efb565b5050565b6106de610dbe565b6000546001600160a01b0390811691161461072e576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b60006002541161073d57436002555b565b600081565b60065481565b6005545b90565b610759610dbe565b6000546001600160a01b039081169116146107a9576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60025481565b610801610dbe565b6000546001600160a01b03908116911614610851576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b6104a18161085d610dbe565b604080516370a0823160e01b815230600482015290516001600160a01b038616916370a08231916024808301926020929190829003018186803b1580156108a357600080fd5b505afa1580156108b7573d6000803e3d6000fd5b505050506040513d60208110156108cd57600080fd5b5051610efb565b6000546001600160a01b031690565b6002546000904390811115806108f95750600254155b1561090857600091505061074e565b6002548103600061092282620278d063ffffffff610f5216565b905060018110156109765761096c600154610960620278d06005858154811061094757fe5b9060005260206000200154610f5290919063ffffffff16565b9063ffffffff610f9416565b935050505061074e565b600554811015610a6a576000805b828110156109c0576109b66005828154811061099c57fe5b906000526020600020015483610dc290919063ffffffff16565b9150600101610984565b5060006109d7620278d06005858154811061094757fe5b90506000610a3760015461096085610a2b6109fc620278d060058b8154811061094757fe5b610a1f610a128b620278d063ffffffff610fd616565b8c9063ffffffff610f9416565b9063ffffffff610fd616565b9063ffffffff610dc216565b9050610a41610a85565b811115610a5d57610a50610a85565b965050505050505061074e565b50945061074e9350505050565b6000935050505061074e565b6004546001600160a01b031681565b600354604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610ad057600080fd5b505afa158015610ae4573d6000803e3d6000fd5b505050506040513d6020811015610afa57600080fd5b5051905090565b600254600090439081111580610b175750600254155b15610b2657600091505061074e565b60025481036000610b4082620278d063ffffffff610f5216565b90506001811015610b6e5761096c6001546109606000610a2b86610a1f620278d06005898154811061094757fe5b600554811015610a6a576000805b82811015610b9e57610b946005828154811061099c57fe5b9150600101610b7c565b506000610be560015461096084610a2b610bc2620278d060058a8154811061094757fe5b610a1f610bd88a620278d063ffffffff610fd616565b8b9063ffffffff610f9416565b9050610bfc60015482610f9490919063ffffffff16565b9550505050505061074e565b60058181548110610c1557fe5b600091825260209091200154905081565b6003546001600160a01b031681565b60015481565b610c43610dbe565b6000546001600160a01b03908116911614610c93576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b60405133904780156108fc02916000818181858888f193505050501580156104a1573d6000803e3d6000fd5b610cc7610dbe565b6000546001600160a01b03908116911614610d17576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b6001600160a01b038116610d5c5760405162461bcd60e51b81526004018080602001828103825260268152602001806113be6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b620278d081565b3390565b600082820183811015610e1c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b5051811115610ef0576040805162461bcd60e51b815260206004820152601c60248201527f6e6f7420656e6f7567682c706c6561736520636865636b20636f646500000000604482015290519081900360640190fd5b600680549091019055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610f4d90849061102f565b505050565b6000610e1c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110e0565b6000610e1c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611184565b600082610fe557506000610e1f565b82820282848281610ff257fe5b0414610e1c5760405162461bcd60e51b815260040180806020018281038252602181526020018061140a6021913960400191505060405180910390fd5b6060611084826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166111de9092919063ffffffff16565b805190915015610f4d578080602001905160208110156110a357600080fd5b5051610f4d5760405162461bcd60e51b815260040180806020018281038252602a815260200180611472602a913960400191505060405180910390fd5b6000818361116c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611131578181015183820152602001611119565b50505050905090810190601f16801561115e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161117857fe5b049150505b9392505050565b600081848411156111d65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611131578181015183820152602001611119565b505050900390565b60606111ed84846000856111f5565b949350505050565b6060824710156112365760405162461bcd60e51b81526004018080602001828103825260268152602001806113e46026913960400191505060405180910390fd5b61123f85611351565b611290576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106112cf5780518252601f1990920191602091820191016112b0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611331576040519150601f19603f3d011682016040523d82523d6000602084013e611336565b606091505b5091509150611346828286611357565b979650505050505050565b3b151590565b6060831561136657508161117d565b8251156113765782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561113157818101518382015260200161111956fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726e6f7420656e6f756768206d696e74416d6f756e742c706c6561736520636865636b20636f64655361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565646e6f7420656e6f7567682049455243323053756d737761702c706c6561736520636865636b20636f6465a26469706673582212201ba9c1ab6146f6c4ff698a7639de26f0f22298a32959926c3d95cf115a908ad864736f6c63430006040033000000000000000000000000043c308bb8a5ae96d0093444be7f56459f1340b10000000000000000000000006631dc49eb860eafd61777b92e42fe2bef84596b
Deployed Bytecode
0x6080604052600436106101385760003560e01c80638da5cb5b116100ab578063b62697571161006f578063b626975714610324578063b7c408d11461034e578063d642e5c714610363578063e086e5ec14610378578063f2fde38b1461038d578063f4a814fd146103c05761013f565b80638da5cb5b1461029f578063949c67e5146102d05780639b58cf18146102e5578063a2d7f5e3146102fa578063b5269cad1461030f5761013f565b806345138eb8116100fd57806345138eb8146102035780635a2bcc18146102185780635a2d34901461022d578063715018a6146102425780637d24af6614610257578063894760691461026c5761013f565b8062011b971461014457806304b776af146101795780632553fd8f146101a05780632fe5e3a6146101b557806335975a37146101ee5761013f565b3661013f57005b600080fd5b34801561015057600080fd5b506101776004803603604081101561016757600080fd5b5060ff81351690602001356103d5565b005b34801561018557600080fd5b5061018e61044e565b60408051918252519081900360200190f35b3480156101ac57600080fd5b50610177610470565b3480156101c157600080fd5b50610177600480360360408110156101d857600080fd5b506001600160a01b0381351690602001356104a4565b3480156101fa57600080fd5b506101776106d6565b34801561020f57600080fd5b5061018e61073f565b34801561022457600080fd5b5061018e610744565b34801561023957600080fd5b5061018e61074a565b34801561024e57600080fd5b50610177610751565b34801561026357600080fd5b5061018e6107f3565b34801561027857600080fd5b506101776004803603602081101561028f57600080fd5b50356001600160a01b03166107f9565b3480156102ab57600080fd5b506102b46108d4565b604080516001600160a01b039092168252519081900360200190f35b3480156102dc57600080fd5b5061018e6108e3565b3480156102f157600080fd5b506102b4610a76565b34801561030657600080fd5b5061018e610a85565b34801561031b57600080fd5b5061018e610b01565b34801561033057600080fd5b5061018e6004803603602081101561034757600080fd5b5035610c08565b34801561035a57600080fd5b506102b4610c26565b34801561036f57600080fd5b5061018e610c35565b34801561038457600080fd5b50610177610c3b565b34801561039957600080fd5b50610177600480360360208110156103b057600080fd5b50356001600160a01b0316610cbf565b3480156103cc57600080fd5b5061018e610db7565b6103dd610dbe565b6000546001600160a01b0390811691161461042d576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b8060058360ff168154811061043e57fe5b6000918252602090912001555050565b60408051695452414e535f524f4c4560b01b8152905190819003600a01902081565b600061047a610b01565b905080156104a157600154610495908263ffffffff610dc216565b6001556104a181610e25565b50565b60045460408051695452414e535f524f4c4560b01b8152905190819003600a0190206001600160a01b03909116906391d14854906104e0610dbe565b6040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b15801561052d57600080fd5b505afa158015610541573d6000803e3d6000fd5b505050506040513d602081101561055757600080fd5b50516105aa576040805162461bcd60e51b815260206004820152601d60248201527f43616c6c6572206973206e6f742061207472616e7366657220726f6c65000000604482015290519081900360640190fd5b6006548111156105bc576105bc610470565b6006548111156105fd5760405162461bcd60e51b815260040180806020018281038252602781526020018061144b6027913960400191505060405180910390fd5b600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561064857600080fd5b505afa15801561065c573d6000803e3d6000fd5b505050506040513d602081101561067257600080fd5b50518111156106b25760405162461bcd60e51b815260040180806020018281038252602a81526020018061149c602a913960400191505060405180910390fd5b6006805482900390556003546106d2906001600160a01b03168383610efb565b5050565b6106de610dbe565b6000546001600160a01b0390811691161461072e576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b60006002541161073d57436002555b565b600081565b60065481565b6005545b90565b610759610dbe565b6000546001600160a01b039081169116146107a9576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60025481565b610801610dbe565b6000546001600160a01b03908116911614610851576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b6104a18161085d610dbe565b604080516370a0823160e01b815230600482015290516001600160a01b038616916370a08231916024808301926020929190829003018186803b1580156108a357600080fd5b505afa1580156108b7573d6000803e3d6000fd5b505050506040513d60208110156108cd57600080fd5b5051610efb565b6000546001600160a01b031690565b6002546000904390811115806108f95750600254155b1561090857600091505061074e565b6002548103600061092282620278d063ffffffff610f5216565b905060018110156109765761096c600154610960620278d06005858154811061094757fe5b9060005260206000200154610f5290919063ffffffff16565b9063ffffffff610f9416565b935050505061074e565b600554811015610a6a576000805b828110156109c0576109b66005828154811061099c57fe5b906000526020600020015483610dc290919063ffffffff16565b9150600101610984565b5060006109d7620278d06005858154811061094757fe5b90506000610a3760015461096085610a2b6109fc620278d060058b8154811061094757fe5b610a1f610a128b620278d063ffffffff610fd616565b8c9063ffffffff610f9416565b9063ffffffff610fd616565b9063ffffffff610dc216565b9050610a41610a85565b811115610a5d57610a50610a85565b965050505050505061074e565b50945061074e9350505050565b6000935050505061074e565b6004546001600160a01b031681565b600354604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610ad057600080fd5b505afa158015610ae4573d6000803e3d6000fd5b505050506040513d6020811015610afa57600080fd5b5051905090565b600254600090439081111580610b175750600254155b15610b2657600091505061074e565b60025481036000610b4082620278d063ffffffff610f5216565b90506001811015610b6e5761096c6001546109606000610a2b86610a1f620278d06005898154811061094757fe5b600554811015610a6a576000805b82811015610b9e57610b946005828154811061099c57fe5b9150600101610b7c565b506000610be560015461096084610a2b610bc2620278d060058a8154811061094757fe5b610a1f610bd88a620278d063ffffffff610fd616565b8b9063ffffffff610f9416565b9050610bfc60015482610f9490919063ffffffff16565b9550505050505061074e565b60058181548110610c1557fe5b600091825260209091200154905081565b6003546001600160a01b031681565b60015481565b610c43610dbe565b6000546001600160a01b03908116911614610c93576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b60405133904780156108fc02916000818181858888f193505050501580156104a1573d6000803e3d6000fd5b610cc7610dbe565b6000546001600160a01b03908116911614610d17576040805162461bcd60e51b8152602060048201819052602482015260008051602061142b833981519152604482015290519081900360640190fd5b6001600160a01b038116610d5c5760405162461bcd60e51b81526004018080602001828103825260268152602001806113be6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b620278d081565b3390565b600082820183811015610e1c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b5051811115610ef0576040805162461bcd60e51b815260206004820152601c60248201527f6e6f7420656e6f7567682c706c6561736520636865636b20636f646500000000604482015290519081900360640190fd5b600680549091019055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610f4d90849061102f565b505050565b6000610e1c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110e0565b6000610e1c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611184565b600082610fe557506000610e1f565b82820282848281610ff257fe5b0414610e1c5760405162461bcd60e51b815260040180806020018281038252602181526020018061140a6021913960400191505060405180910390fd5b6060611084826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166111de9092919063ffffffff16565b805190915015610f4d578080602001905160208110156110a357600080fd5b5051610f4d5760405162461bcd60e51b815260040180806020018281038252602a815260200180611472602a913960400191505060405180910390fd5b6000818361116c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611131578181015183820152602001611119565b50505050905090810190601f16801561115e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161117857fe5b049150505b9392505050565b600081848411156111d65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611131578181015183820152602001611119565b505050900390565b60606111ed84846000856111f5565b949350505050565b6060824710156112365760405162461bcd60e51b81526004018080602001828103825260268152602001806113e46026913960400191505060405180910390fd5b61123f85611351565b611290576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106112cf5780518252601f1990920191602091820191016112b0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611331576040519150601f19603f3d011682016040523d82523d6000602084013e611336565b606091505b5091509150611346828286611357565b979650505050505050565b3b151590565b6060831561136657508161117d565b8251156113765782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561113157818101518382015260200161111956fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726e6f7420656e6f756768206d696e74416d6f756e742c706c6561736520636865636b20636f64655361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565646e6f7420656e6f7567682049455243323053756d737761702c706c6561736520636865636b20636f6465a26469706673582212201ba9c1ab6146f6c4ff698a7639de26f0f22298a32959926c3d95cf115a908ad864736f6c63430006040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000043c308bb8a5ae96d0093444be7f56459f1340b10000000000000000000000006631dc49eb860eafd61777b92e42fe2bef84596b
-----Decoded View---------------
Arg [0] : _summa (address): 0x043C308BB8a5aE96D0093444be7f56459F1340b1
Arg [1] : _summaPri (address): 0x6631DC49EB860eaFd61777b92e42fe2bEf84596B
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000043c308bb8a5ae96d0093444be7f56459f1340b1
Arg [1] : 0000000000000000000000006631dc49eb860eafd61777b92e42fe2bef84596b
Deployed Bytecode Sourcemap
22451:5289:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;23707:119:0;;5:9:-1;2:2;;;27:1;24;17:12;2:2;23707:119:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;23707:119:0;;;;;;;;;:::i;:::-;;22694:60;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22694:60:0;;;:::i;:::-;;;;;;;;;;;;;;;;26106:251;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26106:251:0;;;:::i;26983:544::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26983:544:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;26983:544:0;;;;;;;;:::i;26839:136::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26839:136:0;;;:::i;22528:44::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22528:44:0;;;:::i;23069:25::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;23069:25:0;;;:::i;23832:101::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;23832:101:0;;;:::i;16162:148::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16162:148:0;;;:::i;22931:33::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22931:33:0;;;:::i;27535:161::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;27535:161:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;27535:161:0;-1:-1:-1;;;;;27535:161:0;;:::i;15520:79::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15520:79:0;;;:::i;:::-;;;;-1:-1:-1;;;;;15520:79:0;;;;;;;;;;;;;;24955:1145;;5:9:-1;2:2;;;27:1;24;17:12;2:2;24955:1145:0;;;:::i;23002:23::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;23002:23:0;;;:::i;26607:117::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26607:117:0;;;:::i;23941:1006::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;23941:1006:0;;;:::i;23034:26::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;23034:26:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;23034:26:0;;:::i;22973:20::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22973:20:0;;;:::i;22581:46::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22581:46:0;;;:::i;26730:101::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26730:101:0;;;:::i;16465:244::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16465:244:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16465:244:0;-1:-1:-1;;;;;16465:244:0;;:::i;22636:49::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22636:49:0;;;:::i;23707:119::-;15742:12;:10;:12::i;:::-;15732:6;;-1:-1:-1;;;;;15732:6:0;;;:22;;;15724:67;;;;;-1:-1:-1;;;15724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15724:67:0;;;;;;;;;;;;;;;23808:10:::1;23790:9;23800:4;23790:15;;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;:28:::0;-1:-1:-1;;23707:119:0:o;22694:60::-;22731:23;;;-1:-1:-1;;;22731:23:0;;;;;;;;;;;;22694:60;:::o;26106:251::-;26147:23;26173;:21;:23::i;:::-;26147:49;-1:-1:-1;26211:19:0;;26207:143;;26262:12;;:33;;26279:15;26262:33;:16;:33;:::i;:::-;26247:12;:48;26310:28;26322:15;26310:11;:28::i;:::-;26106:251;:::o;26983:544::-;27075:8;;22731:23;;;-1:-1:-1;;;22731:23:0;;;;;;;;;;;;-1:-1:-1;;;;;27075:8:0;;;;27060:32;;27105:12;:10;:12::i;:::-;27060:58;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27060:58:0;-1:-1:-1;;;;;27060:58:0;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;27060:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27060:58:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;27060:58:0;27052:100;;;;;-1:-1:-1;;;27052:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;27175:10;;27166:6;:19;27163:63;;;27201:13;:11;:13::i;:::-;27254:10;;27244:6;:20;;27236:71;;;;-1:-1:-1;;;27236:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27343:5;;27336:38;;;-1:-1:-1;;;27336:38:0;;27368:4;27336:38;;;;;;-1:-1:-1;;;;;27343:5:0;;;;27336:23;;:38;;;;;;;;;;;;;;;27343:5;27336:38;;;2:2:-1;;;;27:1;24;17:12;2:2;27336:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27336:38:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;27336:38:0;27326:48;;;27318:102;;;;-1:-1:-1;;;27318:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27444:10;;;:17;;;27431:30;;27502:5;;27472:47;;-1:-1:-1;;;;;27502:5:0;27509:2;27455:6;27472:22;:47::i;:::-;26983:544;;:::o;26839:136::-;15742:12;:10;:12::i;:::-;15732:6;;-1:-1:-1;;;;;15732:6:0;;;:22;;;15724:67;;;;;-1:-1:-1;;;15724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15724:67:0;;;;;;;;;;;;;;;26909:1:::1;26891:14;;:19;26887:81;;26944:12;26927:14;:29:::0;26887:81:::1;26839:136::o:0;22528:44::-;22571:1;22528:44;:::o;23069:25::-;;;;:::o;23832:101::-;23909:9;:16;23832:101;;:::o;16162:148::-;15742:12;:10;:12::i;:::-;15732:6;;-1:-1:-1;;;;;15732:6:0;;;:22;;;15724:67;;;;;-1:-1:-1;;;15724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15724:67:0;;;;;;;;;;;;;;;16269:1:::1;16253:6:::0;;16232:40:::1;::::0;-1:-1:-1;;;;;16253:6:0;;::::1;::::0;16232:40:::1;::::0;16269:1;;16232:40:::1;16300:1;16283:19:::0;;-1:-1:-1;;;;;;16283:19:0::1;::::0;;16162:148::o;22931:33::-;;;;:::o;27535:161::-;15742:12;:10;:12::i;:::-;15732:6;;-1:-1:-1;;;;;15732:6:0;;;:22;;;15724:67;;;;;-1:-1:-1;;;15724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15724:67:0;;;;;;;;;;;;;;;27600:88:::1;27630:4;27636:12;:10;:12::i;:::-;27650:37;::::0;;-1:-1:-1;;;27650:37:0;;27681:4:::1;27650:37;::::0;::::1;::::0;;;-1:-1:-1;;;;;27650:22:0;::::1;::::0;::::1;::::0;:37;;;;;::::1;::::0;;;;;;;;:22;:37;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;27650:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;27650:37:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;27650:37:0;27600:22:::1;:88::i;15520:79::-:0;15558:7;15585:6;-1:-1:-1;;;;;15585:6:0;15520:79;:::o;24955:1145::-;25097:14;;25014:7;;25055:12;;25082:29;;;;:52;;-1:-1:-1;25115:14:0;;:19;25082:52;25078:93;;;25158:1;25151:8;;;;;25078:93;25218:14;;25204:28;;25181:20;25264:31;25204:28;22676:9;25264:31;:16;:31;:::i;:::-;25243:52;;25323:1;25310:10;:14;25306:785;;;25348:58;25393:12;;25348:40;22676:9;25348;25358:10;25348:21;;;;;;;;;;;;;;;;:25;;:40;;;;:::i;:::-;:44;:58;:44;:58;:::i;:::-;25341:65;;;;;;;25306:785;25441:9;:16;25428:29;;25424:667;;;25474:17;;25525:115;25549:10;25545:1;:14;25525:115;;;25597:27;25611:9;25621:1;25611:12;;;;;;;;;;;;;;;;25597:9;:13;;:27;;;;:::i;:::-;25585:39;-1:-1:-1;25561:3:0;;25525:115;;;;25654:24;25681:40;22676:9;25681;25691:10;25681:21;;;;;;;:40;25654:67;;25736:18;25757:140;25884:12;;25757:108;25855:9;25757:93;25809:40;22676:9;25809;25819:10;25809:21;;;;;;;:40;25757:47;25774:29;:10;22676:9;25774:29;:14;:29;:::i;:::-;25757:12;;:47;:16;:47;:::i;:::-;:51;:93;:51;:93;:::i;:::-;:97;:108;:97;:108;:::i;:140::-;25736:161;;25929:14;:12;:14::i;:::-;25916:10;:27;25912:89;;;25971:14;:12;:14::i;:::-;25964:21;;;;;;;;;;25912:89;-1:-1:-1;26022:16:0;-1:-1:-1;26015:23:0;;-1:-1:-1;;;;26015:23:0;25424:667;26078:1;26071:8;;;;;;;23002:23;;;-1:-1:-1;;;;;23002:23:0;;:::o;26607:117::-;26685:5;;26678:38;;;-1:-1:-1;;;26678:38:0;;26710:4;26678:38;;;;;;26652:7;;-1:-1:-1;;;;;26685:5:0;;26678:23;;:38;;;;;;;;;;;;;;26685:5;26678:38;;;2:2:-1;;;;27:1;24;17:12;2:2;26678:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26678:38:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;26678:38:0;;-1:-1:-1;26607:117:0;:::o;23941:1006::-;24078:14;;23995:7;;24036:12;;24063:29;;;;:52;;-1:-1:-1;24096:14:0;;:19;24063:52;24059:108;;;22571:1;24132:23;;;;;24059:108;24214:14;;24200:28;;24177:20;24260:31;24200:28;22676:9;24260:31;:16;:31;:::i;:::-;24239:52;;24319:1;24306:10;:14;24302:638;;;24344:98;24429:12;;24344:80;22571:1;24344:58;24389:12;24344:40;22676:9;24344;24354:10;24344:21;;;;;;;24302:638;24477:9;:16;24464:29;;24460:480;;;24510:17;;24561:115;24585:10;24581:1;:14;24561:115;;;24633:27;24647:9;24657:1;24647:12;;;;;;;24633:27;24621:39;-1:-1:-1;24597:3:0;;24561:115;;;;24690:18;24711:126;24824:12;;24711:108;24809:9;24711:93;24763:40;22676:9;24763;24773:10;24763:21;;;;;;;:40;24711:47;24728:29;:10;22676:9;24728:29;:14;:29;:::i;:::-;24711:12;;:47;:16;:47;:::i;:126::-;24690:147;;24859:28;24874:12;;24859:10;:14;;:28;;;;:::i;:::-;24852:35;;;;;;;;;23034:26;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23034:26:0;:::o;22973:20::-;;;-1:-1:-1;;;;;22973:20:0;;:::o;22581:46::-;;;;:::o;26730:101::-;15742:12;:10;:12::i;:::-;15732:6;;-1:-1:-1;;;;;15732:6:0;;;:22;;;15724:67;;;;;-1:-1:-1;;;15724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15724:67:0;;;;;;;;;;;;;;;26781:42:::1;::::0;:10:::1;::::0;26801:21:::1;26781:42:::0;::::1;;;::::0;::::1;::::0;;;26801:21;26781:10;:42;::::1;;;;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;16465:244:0::0;15742:12;:10;:12::i;:::-;15732:6;;-1:-1:-1;;;;;15732:6:0;;;:22;;;15724:67;;;;;-1:-1:-1;;;15724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15724:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;16554:22:0;::::1;16546:73;;;;-1:-1:-1::0;;;16546:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16656:6;::::0;;16635:38:::1;::::0;-1:-1:-1;;;;;16635:38:0;;::::1;::::0;16656:6;::::1;::::0;16635:38:::1;::::0;::::1;16684:6;:17:::0;;-1:-1:-1;;;;;;16684:17:0::1;-1:-1:-1::0;;;;;16684:17:0;;;::::1;::::0;;;::::1;::::0;;16465:244::o;22636:49::-;22676:9;22636:49;:::o;578:106::-;666:10;578:106;:::o;17643:181::-;17701:7;17733:5;;;17757:6;;;;17749:46;;;;;-1:-1:-1;;;17749:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17815:1;-1:-1:-1;17643:181:0;;;;;:::o;26363:238::-;26474:5;;26467:38;;;-1:-1:-1;;;26467:38:0;;26499:4;26467:38;;;;;;-1:-1:-1;;;;;26474:5:0;;;;26467:23;;:38;;;;;;;;;;;;;;;26474:5;26467:38;;;2:2:-1;;;;27:1;24;17:12;2:2;26467:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26467:38:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;26467:38:0;26442:63;;;26434:103;;;;;-1:-1:-1;;;26434:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;26561:10;;;:32;;;26548:45;;26363:238::o;11340:177::-;11450:58;;;-1:-1:-1;;;;;11450:58:0;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;11450:58:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;11423:86:0;;11443:5;;11423:19;:86::i;:::-;11340:177;;;:::o;19944:132::-;20002:7;20029:39;20033:1;20036;20029:39;;;;;;;;;;;;;;;;;:3;:39::i;18107:136::-;18165:7;18192:43;18196:1;18199;18192:43;;;;;;;;;;;;;;;;;:3;:43::i;18997:471::-;19055:7;19300:6;19296:47;;-1:-1:-1;19330:1:0;19323:8;;19296:47;19367:5;;;19371:1;19367;:5;:1;19391:5;;;;;:10;19383:56;;;;-1:-1:-1;;;19383:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13645:761;14069:23;14095:69;14123:4;14095:69;;;;;;;;;;;;;;;;;14103:5;-1:-1:-1;;;;;14095:27:0;;;:69;;;;;:::i;:::-;14179:17;;14069:95;;-1:-1:-1;14179:21:0;14175:224;;14321:10;14310:30;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14310:30:0;14302:85;;;;-1:-1:-1;;;14302:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20572:278;20658:7;20693:12;20686:5;20678:28;;;;-1:-1:-1;;;20678:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;20678:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20717:9;20733:1;20729;:5;;;;;;;-1:-1:-1;;20572:278:0;;;;;;:::o;18546:192::-;18632:7;18668:12;18660:6;;;;18652:29;;;;-1:-1:-1;;;18652:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;18652:29:0;-1:-1:-1;;;18704:5:0;;;18546:192::o;7337:195::-;7440:12;7472:52;7494:6;7502:4;7508:1;7511:12;7472:21;:52::i;:::-;7465:59;7337:195;-1:-1:-1;;;;7337:195:0:o;8389:530::-;8516:12;8574:5;8549:21;:30;;8541:81;;;;-1:-1:-1;;;8541:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8641:18;8652:6;8641:10;:18::i;:::-;8633:60;;;;;-1:-1:-1;;;8633:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8767:12;8781:23;8808:6;-1:-1:-1;;;;;8808:11:0;8828:5;8836:4;8808:33;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;8808:33:0;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;8766:75:0;;;;8859:52;8877:7;8886:10;8898:12;8859:17;:52::i;:::-;8852:59;8389:530;-1:-1:-1;;;;;;;8389:530:0:o;4417:422::-;4784:20;4823:8;;;4417:422::o;9925:742::-;10040:12;10069:7;10065:595;;;-1:-1:-1;10100:10:0;10093:17;;10065:595;10214:17;;:21;10210:439;;10477:10;10471:17;10538:15;10525:10;10521:2;10517:19;10510:44;10425:148;10613:20;;-1:-1:-1;;;10613:20:0;;;;;;;;;;;;;;;;;10620:12;;10613:20;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;
Swarm Source
ipfs://1ba9c1ab6146f6c4ff698a7639de26f0f22298a32959926c3d95cf115a908ad8
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 29 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $2,636.63 | 0.1 | $263.66 |
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.