Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
MAIDPAWAH
Compiler Version
v0.8.7+commit.e28d00a7
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.5; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol"; import "../interfaces/ICloneNurses.sol"; interface INurseRaid { function powerOfMaids(IERC721Enumerable maids, uint256 id) external view returns (uint256); } contract MAIDPAWAH is Ownable { INurseRaid public constant raid = INurseRaid(0x629d37B273c05597C8bEfB7B48525803B202D9Ea); IERC20 public constant omu = IERC20(0xD428F1050AdC29976d4339b1ec602832034dF701); ICloneNurses public constant cloneNurses = ICloneNurses(0x5eE657F5426484A777a1fC7Abd436DfDB13b1cc3); IERC721Enumerable public constant maids = IERC721Enumerable(0x42ED30f2c459601A4f74Ff831B76Be64195D3dE4); IERC721Enumerable public constant sushiGirls = IERC721Enumerable(0xEB3b418e4A4430392Cd57b1356c5B1d2205A56d9); IERC721Enumerable public constant lingerieGirls = IERC721Enumerable(0x579a60Fbc649d3398F13E0385dBE79b3Ffad757c); IERC721Enumerable[] public housekeepers; uint256 public maidLikeWeight; uint256 public nurseWeight; uint256 public omuWeight; event AddHousekeepers(uint256 indexed id, IERC721Enumerable indexed newHousekeeper); event SetHousekeepers(uint256 indexed id, IERC721Enumerable indexed newHousekeeper); event SetWeight(uint256 maidLikeWeight, uint256 nurseWeight, uint256 omuWeight); constructor( uint256 _maidLikeWeight, uint256 _nurseWeight, uint256 _omuWeight ) { maidLikeWeight = _maidLikeWeight; nurseWeight = _nurseWeight; omuWeight = _omuWeight; emit SetWeight(_maidLikeWeight, _nurseWeight, _omuWeight); } function addHousekeeper(IERC721Enumerable newHousekeeper) external onlyOwner { uint256 id = housekeepers.length; housekeepers.push(newHousekeeper); emit AddHousekeepers(id, newHousekeeper); } function setHousekeeper(uint256 id, IERC721Enumerable newHousekeeper) external onlyOwner { housekeepers[id] = newHousekeeper; emit SetHousekeepers(id, newHousekeeper); } function setWeight( uint256 _maidLikeWeight, uint256 _nurseWeight, uint256 _omuWeight ) external onlyOwner { maidLikeWeight = _maidLikeWeight; nurseWeight = _nurseWeight; omuWeight = _omuWeight; emit SetWeight(_maidLikeWeight, _nurseWeight, _omuWeight); } function powerOfMaidLike(address account) internal view returns (uint256 totalPower) { uint256 sGirlsBalance = sushiGirls.balanceOf(account); if (sGirlsBalance > 0) { for (uint256 i = 0; i < sGirlsBalance; i++) { totalPower += raid.powerOfMaids(sushiGirls, sushiGirls.tokenOfOwnerByIndex(account, i)); } } uint256 lGirlsBalance = lingerieGirls.balanceOf(account); if (lGirlsBalance > 0) { for (uint256 i = 0; i < lGirlsBalance; i++) { totalPower += raid.powerOfMaids(lingerieGirls, lingerieGirls.tokenOfOwnerByIndex(account, i)); } } uint256 maidsBalance = maids.balanceOf(account); if (maidsBalance > 0) { for (uint256 i = 0; i < maidsBalance; i++) { totalPower += raid.powerOfMaids(maids, maids.tokenOfOwnerByIndex(account, i)); } } uint256 keepers = housekeepers.length; if (keepers > 0) { for (uint256 i = 0; i < keepers; i++) { if (address(housekeepers[i]) != address(0)) { uint256 keepersBalance = housekeepers[i].balanceOf(account); if (keepersBalance > 0) { for (uint256 j = 0; j < keepersBalance; j++) { totalPower += raid.powerOfMaids( housekeepers[i], housekeepers[i].tokenOfOwnerByIndex(account, j) ); } } } } } } function powerOfNurses(address account) internal view returns (uint256 totalPower) { uint256 nursesBalance = cloneNurses.balanceOf(account); if (nursesBalance > 0) { for (uint256 i = 0; i < nursesBalance; i++) { uint256 id = cloneNurses.tokenOfOwnerByIndex(account, i); (uint256 _type, , ) = cloneNurses.nurses(id); (, , uint256 power, ) = cloneNurses.nurseTypes(_type); totalPower += (power + (cloneNurses.supportedPower(id) / 1e18)); } } } function powerOfOMU(address account) internal view returns (uint256 omuPower) { omuPower = omu.balanceOf(account) / 1e18; } function balanceOf(address account) external view returns (uint256 balance) { balance += powerOfMaidLike(account) * maidLikeWeight; balance += powerOfNurses(account) * nurseWeight; balance += powerOfOMU(account) * omuWeight; } }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; import "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol"; import "./ICloneNurseEnumerable.sol"; import "./ISupportable.sol"; import "./INursePart.sol"; import "./IMaidCoin.sol"; import "./ITheMaster.sol"; interface ICloneNurses is IERC721, IERC721Metadata, ICloneNurseEnumerable, ISupportable { event Claim(uint256 indexed id, address indexed claimer, uint256 reward); event ElongateLifetime(uint256 indexed id, uint256 rechargedLifetime, uint256 lastEndBlock, uint256 newEndBlock); function nursePart() external view returns (INursePart); function maidCoin() external view returns (IMaidCoin); function theMaster() external view returns (ITheMaster); function nurseTypes(uint256 typeId) external view returns ( uint256 partCount, uint256 destroyReturn, uint256 power, uint256 lifetime ); function nurseTypeCount() external view returns (uint256); function nurses(uint256 id) external view returns ( uint256 nurseType, uint256 endBlock, uint256 lastClaimedBlock ); function assemble(uint256 nurseType, uint256 parts) external; function assembleWithPermit( uint256 nurseType, uint256 parts, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; function elongateLifetime(uint256[] calldata ids, uint256[] calldata parts) external; function destroy(uint256[] calldata ids, uint256[] calldata toIds) external; function claim(uint256[] calldata ids) external; function pendingReward(uint256 id) external view returns (uint256); function findSupportingTo(address supporter) external view returns (address, uint256); function exists(uint256 id) external view returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../IERC721.sol"; /** * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension * @dev See https://eips.ethereum.org/EIPS/eip-721 */ interface IERC721Enumerable is IERC721 { /** * @dev Returns the total amount of tokens stored by the contract. */ function totalSupply() external view returns (uint256); /** * @dev Returns a token ID owned by `owner` at a given `index` of its token list. * Use along with {balanceOf} to enumerate all of ``owner``'s tokens. */ function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); /** * @dev Returns a token ID at a given `index` of all the tokens stored by the contract. * Use along with {totalSupply} to enumerate all tokens. */ function tokenByIndex(uint256 index) external view returns (uint256); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @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); }
// SPDX-License-Identifier: MIT 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 () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual 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; } }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; import "./IMaidCoin.sol"; import "./IRewardCalculator.sol"; import "./ISupportable.sol"; import "./IMasterChefModule.sol"; interface ITheMaster is IMasterChefModule { event ChangeRewardCalculator(address addr); event Add( uint256 indexed pid, address addr, bool indexed delegate, bool indexed mintable, address supportable, uint8 supportingRatio, uint256 allocPoint ); event Set(uint256 indexed pid, uint256 allocPoint); event Deposit(uint256 indexed userId, uint256 indexed pid, uint256 amount); event Withdraw(uint256 indexed userId, uint256 indexed pid, uint256 amount); event EmergencyWithdraw(address indexed user, uint256 indexed pid, uint256 amount); event Support(address indexed supporter, uint256 indexed pid, uint256 amount); event Desupport(address indexed supporter, uint256 indexed pid, uint256 amount); event EmergencyDesupport(address indexed user, uint256 indexed pid, uint256 amount); event SetIsSupporterPool(uint256 indexed pid, bool indexed status); function initialRewardPerBlock() external view returns (uint256); function decreasingInterval() external view returns (uint256); function startBlock() external view returns (uint256); function maidCoin() external view returns (IMaidCoin); function rewardCalculator() external view returns (IRewardCalculator); function poolInfo(uint256 pid) external view returns ( address addr, bool delegate, ISupportable supportable, uint8 supportingRatio, uint256 allocPoint, uint256 lastRewardBlock, uint256 accRewardPerShare, uint256 supply ); function poolCount() external view returns (uint256); function userInfo(uint256 pid, uint256 user) external view returns (uint256 amount, uint256 rewardDebt); function mintableByAddr(address addr) external view returns (bool); function totalAllocPoint() external view returns (uint256); function pendingReward(uint256 pid, uint256 userId) external view returns (uint256); function rewardPerBlock() external view returns (uint256); function changeRewardCalculator(address addr) external; function add( address addr, bool delegate, bool mintable, address supportable, uint8 supportingRatio, uint256 allocPoint ) external; function set(uint256[] calldata pid, uint256[] calldata allocPoint) external; function deposit( uint256 pid, uint256 amount, uint256 userId ) external; function depositWithPermit( uint256 pid, uint256 amount, uint256 userId, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; function depositWithPermitMax( uint256 pid, uint256 amount, uint256 userId, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; function withdraw( uint256 pid, uint256 amount, uint256 userId ) external; function emergencyWithdraw(uint256 pid) external; function support( uint256 pid, uint256 amount, uint256 supportTo ) external; function supportWithPermit( uint256 pid, uint256 amount, uint256 supportTo, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; function supportWithPermitMax( uint256 pid, uint256 amount, uint256 supportTo, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; function desupport(uint256 pid, uint256 amount) external; function emergencyDesupport(uint256 pid) external; function mint(address to, uint256 amount) external; function claimSushiReward(uint256 id) external; function pendingSushiReward(uint256 id) external view returns (uint256); }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface IMaidCoin { event Approval(address indexed owner, address indexed spender, uint256 value); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function INITIAL_SUPPLY() external pure returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; function mint(address to, uint256 amount) external; function burn(uint256 amount) external; }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol"; interface INursePart is IERC1155 { function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external view returns (bytes32); function nonces(address owner) external view returns (uint256); function mint( address to, uint256 id, uint256 amount ) external; function burn(uint256 id, uint256 amount) external; function permit( address owner, address spender, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface ISupportable { event SupportTo(address indexed supporter, uint256 indexed to); event ChangeSupportingRoute(uint256 indexed from, uint256 indexed to); event ChangeSupportedPower(uint256 indexed id, int256 power); event TransferSupportingRewards(address indexed supporter, uint256 indexed id, uint256 amounts); function supportingRoute(uint256 id) external view returns (uint256); function supportingTo(address supporter) external view returns (uint256); function supportedPower(uint256 id) external view returns (uint256); function totalRewardsFromSupporters(uint256 id) external view returns (uint256); function setSupportingTo( address supporter, uint256 to, uint256 amounts ) external; function checkSupportingRoute(address supporter) external returns (address, uint256); function changeSupportedPower(address supporter, int256 power) external; function shareRewards( uint256 pending, address supporter, uint8 supportingRatio ) external returns (address nurseOwner, uint256 amountToNurseOwner); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; /** * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension * @dev See https://eips.ethereum.org/EIPS/eip-721 */ interface ICloneNurseEnumerable is IERC721 { /** * @dev Returns the total amount of tokens stored by the contract. */ function totalSupply() external view returns (uint256); /** * @dev Returns a token ID owned by `owner` at a given `index` of its token list. * Use along with {balanceOf} to enumerate all of ``owner``'s tokens. */ function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../IERC721.sol"; /** * @title ERC-721 Non-Fungible Token Standard, optional metadata extension * @dev See https://eips.ethereum.org/EIPS/eip-721 */ interface IERC721Metadata is IERC721 { /** * @dev Returns the token collection name. */ function name() external view returns (string memory); /** * @dev Returns the token collection symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token. */ function tokenURI(uint256 tokenId) external view returns (string memory); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom(address from, address to, uint256 tokenId) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 tokenId) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external; }
// SPDX-License-Identifier: MIT 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) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; import "./IMasterChef.sol"; import "../uniswapv2/interfaces/IUniswapV2Pair.sol"; interface IMasterChefModule { function lpToken() external view returns (IUniswapV2Pair); function sushi() external view returns (IERC20); function sushiMasterChef() external view returns (IMasterChef); function masterChefPid() external view returns (uint256); function sushiLastRewardBlock() external view returns (uint256); function accSushiPerShare() external view returns (uint256); }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface IRewardCalculator { function rewardPerBlock() external view returns (uint256); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC1155 compliant contract, as defined in the * https://eips.ethereum.org/EIPS/eip-1155[EIP]. * * _Available since v3.1._ */ interface IERC1155 is IERC165 { /** * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`. */ event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value); /** * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all * transfers. */ event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values); /** * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to * `approved`. */ event ApprovalForAll(address indexed account, address indexed operator, bool approved); /** * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. * * If an {URI} event was emitted for `id`, the standard * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value * returned by {IERC1155MetadataURI-uri}. */ event URI(string value, uint256 indexed id); /** * @dev Returns the amount of tokens of token type `id` owned by `account`. * * Requirements: * * - `account` cannot be the zero address. */ function balanceOf(address account, uint256 id) external view returns (uint256); /** * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. * * Requirements: * * - `accounts` and `ids` must have the same length. */ function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids) external view returns (uint256[] memory); /** * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, * * Emits an {ApprovalForAll} event. * * Requirements: * * - `operator` cannot be the caller. */ function setApprovalForAll(address operator, bool approved) external; /** * @dev Returns true if `operator` is approved to transfer ``account``'s tokens. * * See {setApprovalForAll}. */ function isApprovedForAll(address account, address operator) external view returns (bool); /** * @dev Transfers `amount` tokens of token type `id` from `from` to `to`. * * Emits a {TransferSingle} event. * * Requirements: * * - `to` cannot be the zero address. * - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}. * - `from` must have a balance of tokens of type `id` of at least `amount`. * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the * acceptance magic value. */ function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) external; /** * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. * * Emits a {TransferBatch} event. * * Requirements: * * - `ids` and `amounts` must have the same length. * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the * acceptance magic value. */ function safeBatchTransferFrom(address from, address to, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint256 value); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.12; pragma experimental ABIEncoderV2; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; interface IMasterChef { struct UserInfo { uint256 amount; // How many LP tokens the user has provided. uint256 rewardDebt; // Reward debt. See explanation below. } struct PoolInfo { IERC20 lpToken; // Address of LP token contract. uint256 allocPoint; // How many allocation points assigned to this pool. SUSHI to distribute per block. uint256 lastRewardBlock; // Last block number that SUSHI distribution occurs. uint256 accSushiPerShare; // Accumulated SUSHI per share, times 1e12. See below. } function poolInfo(uint256 pid) external view returns (IMasterChef.PoolInfo memory); function userInfo(uint256 pid, address user) external view returns (IMasterChef.UserInfo memory); function pendingSushi(uint256 _pid, address _user) external view returns (uint256); function deposit(uint256 _pid, uint256 _amount) external; function withdraw(uint256 _pid, uint256 _amount) external; }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_maidLikeWeight","type":"uint256"},{"internalType":"uint256","name":"_nurseWeight","type":"uint256"},{"internalType":"uint256","name":"_omuWeight","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"contract IERC721Enumerable","name":"newHousekeeper","type":"address"}],"name":"AddHousekeepers","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"contract IERC721Enumerable","name":"newHousekeeper","type":"address"}],"name":"SetHousekeepers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maidLikeWeight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"nurseWeight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"omuWeight","type":"uint256"}],"name":"SetWeight","type":"event"},{"inputs":[{"internalType":"contract IERC721Enumerable","name":"newHousekeeper","type":"address"}],"name":"addHousekeeper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cloneNurses","outputs":[{"internalType":"contract ICloneNurses","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"housekeepers","outputs":[{"internalType":"contract IERC721Enumerable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lingerieGirls","outputs":[{"internalType":"contract IERC721Enumerable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maidLikeWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maids","outputs":[{"internalType":"contract IERC721Enumerable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nurseWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"omu","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"omuWeight","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":"raid","outputs":[{"internalType":"contract INurseRaid","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"contract IERC721Enumerable","name":"newHousekeeper","type":"address"}],"name":"setHousekeeper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maidLikeWeight","type":"uint256"},{"internalType":"uint256","name":"_nurseWeight","type":"uint256"},{"internalType":"uint256","name":"_omuWeight","type":"uint256"}],"name":"setWeight","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sushiGirls","outputs":[{"internalType":"contract IERC721Enumerable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516115a43803806115a483398101604081905261002f916100c8565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060028390556003829055600481905560408051848152602081018490529081018290527f903091cd4212709eea2687046bb95a81526c4c6e945dd93cd17d12a144e222179060600160405180910390a15050506100f6565b6000806000606084860312156100dd57600080fd5b8351925060208401519150604084015190509250925092565b61149f806101056000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638b14d685116100a2578063a43e57cf11610071578063a43e57cf14610232578063a7db742f1461023b578063bf2e484414610256578063c277642a1461025f578063f2fde38b1461027257600080fd5b80638b14d685146101d85780638da5cb5b146101f3578063a3418fe314610204578063a4305dcc1461021757600080fd5b806370a08231116100de57806370a082311461018b578063715018a6146101ac578063741bb185146101b45780638a4ddfa1146101cf57600080fd5b80630bc8324f1461011057806328eee4ba14610125578063419ec30714610138578063673217a914610170575b600080fd5b61012361011e3660046112ec565b610285565b005b610123610133366004611266565b61030d565b610153735ee657f5426484a777a1fc7abd436dfdb13b1cc381565b6040516001600160a01b0390911681526020015b60405180910390f35b61015373579a60fbc649d3398f13e0385dbe79b3ffad757c81565b61019e610199366004611266565b6103b4565b604051908152602001610167565b610123610420565b6101537342ed30f2c459601a4f74ff831b76be64195d3de481565b61019e60035481565b61015373eb3b418e4a4430392cd57b1356c5b1d2205a56d981565b6000546001600160a01b0316610153565b61015361021236600461128a565b610494565b61015373d428f1050adc29976d4339b1ec602832034df70181565b61019e60025481565b61015373629d37b273c05597c8befb7b48525803b202d9ea81565b61019e60045481565b61012361026d3660046112bc565b6104be565b610123610280366004611266565b610550565b6000546001600160a01b031633146102b85760405162461bcd60e51b81526004016102af9061137c565b60405180910390fd5b60028390556003829055600481905560408051848152602081018490529081018290527f903091cd4212709eea2687046bb95a81526c4c6e945dd93cd17d12a144e222179060600160405180910390a1505050565b6000546001600160a01b031633146103375760405162461bcd60e51b81526004016102af9061137c565b60018054808201825560009182527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6810180546001600160a01b0319166001600160a01b0385169081179091556040519192909183917fa1f6e3a736415103037a928cda2a8bacdf6ced1232e7624dfb3108f043f91ca491a35050565b60006002546103c28361063a565b6103cc91906113eb565b6103d690826113b1565b90506003546103e483610ea7565b6103ee91906113eb565b6103f890826113b1565b9050600454610406836111c4565b61041091906113eb565b61041a90826113b1565b92915050565b6000546001600160a01b0316331461044a5760405162461bcd60e51b81526004016102af9061137c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600181815481106104a457600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146104e85760405162461bcd60e51b81526004016102af9061137c565b80600183815481106104fc576104fc61143b565b6000918252602082200180546001600160a01b0319166001600160a01b039384161790556040519183169184917f2b8283bd62f69ed2bbd554978a017a5ec7767c9726a6609d47b71d29341f84ac91a35050565b6000546001600160a01b0316331461057a5760405162461bcd60e51b81526004016102af9061137c565b6001600160a01b0381166105df5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102af565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040516370a0823160e01b81526001600160a01b0382166004820152600090819073eb3b418e4a4430392cd57b1356c5b1d2205a56d9906370a082319060240160206040518083038186803b15801561069257600080fd5b505afa1580156106a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ca91906112a3565b905080156108295760005b8181101561082757604051632f745c5960e01b81526001600160a01b03851660048201526024810182905273629d37b273c05597c8befb7b48525803b202d9ea906396d32cdd9073eb3b418e4a4430392cd57b1356c5b1d2205a56d9908190632f745c599060440160206040518083038186803b15801561075557600080fd5b505afa158015610769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078d91906112a3565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186803b1580156107d157600080fd5b505afa1580156107e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080991906112a3565b61081390846113b1565b92508061081f8161140a565b9150506106d5565b505b6040516370a0823160e01b81526001600160a01b038416600482015260009073579a60fbc649d3398f13e0385dbe79b3ffad757c906370a082319060240160206040518083038186803b15801561087f57600080fd5b505afa158015610893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b791906112a3565b90508015610a165760005b81811015610a1457604051632f745c5960e01b81526001600160a01b03861660048201526024810182905273629d37b273c05597c8befb7b48525803b202d9ea906396d32cdd9073579a60fbc649d3398f13e0385dbe79b3ffad757c908190632f745c599060440160206040518083038186803b15801561094257600080fd5b505afa158015610956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097a91906112a3565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186803b1580156109be57600080fd5b505afa1580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f691906112a3565b610a0090856113b1565b935080610a0c8161140a565b9150506108c2565b505b6040516370a0823160e01b81526001600160a01b03851660048201526000907342ed30f2c459601a4f74ff831b76be64195d3de4906370a082319060240160206040518083038186803b158015610a6c57600080fd5b505afa158015610a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa491906112a3565b90508015610c035760005b81811015610c0157604051632f745c5960e01b81526001600160a01b03871660048201526024810182905273629d37b273c05597c8befb7b48525803b202d9ea906396d32cdd907342ed30f2c459601a4f74ff831b76be64195d3de4908190632f745c599060440160206040518083038186803b158015610b2f57600080fd5b505afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6791906112a3565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186803b158015610bab57600080fd5b505afa158015610bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be391906112a3565b610bed90866113b1565b945080610bf98161140a565b915050610aaf565b505b6001548015610e9e5760005b81811015610e9c5760006001600160a01b031660018281548110610c3557610c3561143b565b6000918252602090912001546001600160a01b031614610e8a57600060018281548110610c6457610c6461143b565b6000918252602090912001546040516370a0823160e01b81526001600160a01b038a81166004830152909116906370a082319060240160206040518083038186803b158015610cb257600080fd5b505afa158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea91906112a3565b90508015610e885760005b81811015610e865773629d37b273c05597c8befb7b48525803b202d9ea6001600160a01b03166396d32cdd60018581548110610d3357610d3361143b565b600091825260209091200154600180546001600160a01b039092169187908110610d5f57610d5f61143b565b600091825260209091200154604051632f745c5960e01b81526001600160a01b038e811660048301526024820187905290911690632f745c599060440160206040518083038186803b158015610db457600080fd5b505afa158015610dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dec91906112a3565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186803b158015610e3057600080fd5b505afa158015610e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6891906112a3565b610e7290896113b1565b975080610e7e8161140a565b915050610cf5565b505b505b80610e948161140a565b915050610c0f565b505b50505050919050565b6040516370a0823160e01b81526001600160a01b03821660048201526000908190735ee657f5426484a777a1fc7abd436dfdb13b1cc3906370a082319060240160206040518083038186803b158015610eff57600080fd5b505afa158015610f13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3791906112a3565b905080156111be5760005b818110156111bc57604051632f745c5960e01b81526001600160a01b038516600482015260248101829052600090735ee657f5426484a777a1fc7abd436dfdb13b1cc390632f745c599060440160206040518083038186803b158015610fa757600080fd5b505afa158015610fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdf91906112a3565b604051633a64e0d160e01b815260048101829052909150600090735ee657f5426484a777a1fc7abd436dfdb13b1cc390633a64e0d19060240160606040518083038186803b15801561103057600080fd5b505afa158015611044573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110689190611318565b50506040516366ad0a3760e11b815260048101829052909150600090735ee657f5426484a777a1fc7abd436dfdb13b1cc39063cd5a146e9060240160806040518083038186803b1580156110bb57600080fd5b505afa1580156110cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f39190611346565b506040516308dcf35960e11b815260048101879052909350670de0b6b3a76400009250735ee657f5426484a777a1fc7abd436dfdb13b1cc391506311b9e6b29060240160206040518083038186803b15801561114e57600080fd5b505afa158015611162573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118691906112a3565b61119091906113c9565b61119a90826113b1565b6111a490876113b1565b955050505080806111b49061140a565b915050610f42565b505b50919050565b6040516370a0823160e01b81526001600160a01b0382166004820152600090670de0b6b3a76400009073d428f1050adc29976d4339b1ec602832034df701906370a082319060240160206040518083038186803b15801561122457600080fd5b505afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c91906112a3565b61041a91906113c9565b60006020828403121561127857600080fd5b813561128381611451565b9392505050565b60006020828403121561129c57600080fd5b5035919050565b6000602082840312156112b557600080fd5b5051919050565b600080604083850312156112cf57600080fd5b8235915060208301356112e181611451565b809150509250929050565b60008060006060848603121561130157600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561132d57600080fd5b8351925060208401519150604084015190509250925092565b6000806000806080858703121561135c57600080fd5b505082516020840151604085015160609095015191969095509092509050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156113c4576113c4611425565b500190565b6000826113e657634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561140557611405611425565b500290565b600060001982141561141e5761141e611425565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461146657600080fd5b5056fea26469706673582212207df7b2b973fa7b60eadcc74c226d4e05ae526808bc3d257a628554321945826764736f6c634300080700330000000000000000000000000000000000000000000000000000000000000294000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000e7
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80638b14d685116100a2578063a43e57cf11610071578063a43e57cf14610232578063a7db742f1461023b578063bf2e484414610256578063c277642a1461025f578063f2fde38b1461027257600080fd5b80638b14d685146101d85780638da5cb5b146101f3578063a3418fe314610204578063a4305dcc1461021757600080fd5b806370a08231116100de57806370a082311461018b578063715018a6146101ac578063741bb185146101b45780638a4ddfa1146101cf57600080fd5b80630bc8324f1461011057806328eee4ba14610125578063419ec30714610138578063673217a914610170575b600080fd5b61012361011e3660046112ec565b610285565b005b610123610133366004611266565b61030d565b610153735ee657f5426484a777a1fc7abd436dfdb13b1cc381565b6040516001600160a01b0390911681526020015b60405180910390f35b61015373579a60fbc649d3398f13e0385dbe79b3ffad757c81565b61019e610199366004611266565b6103b4565b604051908152602001610167565b610123610420565b6101537342ed30f2c459601a4f74ff831b76be64195d3de481565b61019e60035481565b61015373eb3b418e4a4430392cd57b1356c5b1d2205a56d981565b6000546001600160a01b0316610153565b61015361021236600461128a565b610494565b61015373d428f1050adc29976d4339b1ec602832034df70181565b61019e60025481565b61015373629d37b273c05597c8befb7b48525803b202d9ea81565b61019e60045481565b61012361026d3660046112bc565b6104be565b610123610280366004611266565b610550565b6000546001600160a01b031633146102b85760405162461bcd60e51b81526004016102af9061137c565b60405180910390fd5b60028390556003829055600481905560408051848152602081018490529081018290527f903091cd4212709eea2687046bb95a81526c4c6e945dd93cd17d12a144e222179060600160405180910390a1505050565b6000546001600160a01b031633146103375760405162461bcd60e51b81526004016102af9061137c565b60018054808201825560009182527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6810180546001600160a01b0319166001600160a01b0385169081179091556040519192909183917fa1f6e3a736415103037a928cda2a8bacdf6ced1232e7624dfb3108f043f91ca491a35050565b60006002546103c28361063a565b6103cc91906113eb565b6103d690826113b1565b90506003546103e483610ea7565b6103ee91906113eb565b6103f890826113b1565b9050600454610406836111c4565b61041091906113eb565b61041a90826113b1565b92915050565b6000546001600160a01b0316331461044a5760405162461bcd60e51b81526004016102af9061137c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600181815481106104a457600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146104e85760405162461bcd60e51b81526004016102af9061137c565b80600183815481106104fc576104fc61143b565b6000918252602082200180546001600160a01b0319166001600160a01b039384161790556040519183169184917f2b8283bd62f69ed2bbd554978a017a5ec7767c9726a6609d47b71d29341f84ac91a35050565b6000546001600160a01b0316331461057a5760405162461bcd60e51b81526004016102af9061137c565b6001600160a01b0381166105df5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102af565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040516370a0823160e01b81526001600160a01b0382166004820152600090819073eb3b418e4a4430392cd57b1356c5b1d2205a56d9906370a082319060240160206040518083038186803b15801561069257600080fd5b505afa1580156106a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ca91906112a3565b905080156108295760005b8181101561082757604051632f745c5960e01b81526001600160a01b03851660048201526024810182905273629d37b273c05597c8befb7b48525803b202d9ea906396d32cdd9073eb3b418e4a4430392cd57b1356c5b1d2205a56d9908190632f745c599060440160206040518083038186803b15801561075557600080fd5b505afa158015610769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078d91906112a3565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186803b1580156107d157600080fd5b505afa1580156107e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080991906112a3565b61081390846113b1565b92508061081f8161140a565b9150506106d5565b505b6040516370a0823160e01b81526001600160a01b038416600482015260009073579a60fbc649d3398f13e0385dbe79b3ffad757c906370a082319060240160206040518083038186803b15801561087f57600080fd5b505afa158015610893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b791906112a3565b90508015610a165760005b81811015610a1457604051632f745c5960e01b81526001600160a01b03861660048201526024810182905273629d37b273c05597c8befb7b48525803b202d9ea906396d32cdd9073579a60fbc649d3398f13e0385dbe79b3ffad757c908190632f745c599060440160206040518083038186803b15801561094257600080fd5b505afa158015610956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097a91906112a3565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186803b1580156109be57600080fd5b505afa1580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f691906112a3565b610a0090856113b1565b935080610a0c8161140a565b9150506108c2565b505b6040516370a0823160e01b81526001600160a01b03851660048201526000907342ed30f2c459601a4f74ff831b76be64195d3de4906370a082319060240160206040518083038186803b158015610a6c57600080fd5b505afa158015610a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa491906112a3565b90508015610c035760005b81811015610c0157604051632f745c5960e01b81526001600160a01b03871660048201526024810182905273629d37b273c05597c8befb7b48525803b202d9ea906396d32cdd907342ed30f2c459601a4f74ff831b76be64195d3de4908190632f745c599060440160206040518083038186803b158015610b2f57600080fd5b505afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6791906112a3565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186803b158015610bab57600080fd5b505afa158015610bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be391906112a3565b610bed90866113b1565b945080610bf98161140a565b915050610aaf565b505b6001548015610e9e5760005b81811015610e9c5760006001600160a01b031660018281548110610c3557610c3561143b565b6000918252602090912001546001600160a01b031614610e8a57600060018281548110610c6457610c6461143b565b6000918252602090912001546040516370a0823160e01b81526001600160a01b038a81166004830152909116906370a082319060240160206040518083038186803b158015610cb257600080fd5b505afa158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea91906112a3565b90508015610e885760005b81811015610e865773629d37b273c05597c8befb7b48525803b202d9ea6001600160a01b03166396d32cdd60018581548110610d3357610d3361143b565b600091825260209091200154600180546001600160a01b039092169187908110610d5f57610d5f61143b565b600091825260209091200154604051632f745c5960e01b81526001600160a01b038e811660048301526024820187905290911690632f745c599060440160206040518083038186803b158015610db457600080fd5b505afa158015610dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dec91906112a3565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186803b158015610e3057600080fd5b505afa158015610e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6891906112a3565b610e7290896113b1565b975080610e7e8161140a565b915050610cf5565b505b505b80610e948161140a565b915050610c0f565b505b50505050919050565b6040516370a0823160e01b81526001600160a01b03821660048201526000908190735ee657f5426484a777a1fc7abd436dfdb13b1cc3906370a082319060240160206040518083038186803b158015610eff57600080fd5b505afa158015610f13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3791906112a3565b905080156111be5760005b818110156111bc57604051632f745c5960e01b81526001600160a01b038516600482015260248101829052600090735ee657f5426484a777a1fc7abd436dfdb13b1cc390632f745c599060440160206040518083038186803b158015610fa757600080fd5b505afa158015610fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdf91906112a3565b604051633a64e0d160e01b815260048101829052909150600090735ee657f5426484a777a1fc7abd436dfdb13b1cc390633a64e0d19060240160606040518083038186803b15801561103057600080fd5b505afa158015611044573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110689190611318565b50506040516366ad0a3760e11b815260048101829052909150600090735ee657f5426484a777a1fc7abd436dfdb13b1cc39063cd5a146e9060240160806040518083038186803b1580156110bb57600080fd5b505afa1580156110cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f39190611346565b506040516308dcf35960e11b815260048101879052909350670de0b6b3a76400009250735ee657f5426484a777a1fc7abd436dfdb13b1cc391506311b9e6b29060240160206040518083038186803b15801561114e57600080fd5b505afa158015611162573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118691906112a3565b61119091906113c9565b61119a90826113b1565b6111a490876113b1565b955050505080806111b49061140a565b915050610f42565b505b50919050565b6040516370a0823160e01b81526001600160a01b0382166004820152600090670de0b6b3a76400009073d428f1050adc29976d4339b1ec602832034df701906370a082319060240160206040518083038186803b15801561122457600080fd5b505afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c91906112a3565b61041a91906113c9565b60006020828403121561127857600080fd5b813561128381611451565b9392505050565b60006020828403121561129c57600080fd5b5035919050565b6000602082840312156112b557600080fd5b5051919050565b600080604083850312156112cf57600080fd5b8235915060208301356112e181611451565b809150509250929050565b60008060006060848603121561130157600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561132d57600080fd5b8351925060208401519150604084015190509250925092565b6000806000806080858703121561135c57600080fd5b505082516020840151604085015160609095015191969095509092509050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156113c4576113c4611425565b500190565b6000826113e657634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561140557611405611425565b500290565b600060001982141561141e5761141e611425565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461146657600080fd5b5056fea26469706673582212207df7b2b973fa7b60eadcc74c226d4e05ae526808bc3d257a628554321945826764736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000294000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000e7
-----Decoded View---------------
Arg [0] : _maidLikeWeight (uint256): 660
Arg [1] : _nurseWeight (uint256): 14
Arg [2] : _omuWeight (uint256): 231
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000294
Arg [1] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e7
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
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.