Source Code
Overview
S Balance
More Info
ContractCreator
Latest 5 from a total of 5 transactions
Latest 12 internal transactions
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
21117776 | 17 days ago | 0 S | ||||
21117776 | 17 days ago | 0 S | ||||
21117776 | 17 days ago | 0 S | ||||
21117776 | 17 days ago | 0 S | ||||
21112949 | 17 days ago | 0 S | ||||
21112949 | 17 days ago | 0 S | ||||
21112949 | 17 days ago | 0 S | ||||
21112949 | 17 days ago | 0 S | ||||
21055747 | 17 days ago | 0 S | ||||
21055747 | 17 days ago | 0 S | ||||
21055747 | 17 days ago | 0 S | ||||
21055747 | 17 days ago | 0 S |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
FeedingContract
Compiler Version
v0.8.28+commit.7893614a
Contract Source Code (Solidity)
/** *Submitted for verification at testnet.sonicscan.org on 2025-02-17 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; interface IERC165 { function supportsInterface(bytes4 interfaceId) external view returns (bool); } interface IERC1155 is IERC165 { event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value); event TransferBatch( address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values ); event ApprovalForAll(address indexed account, address indexed operator, bool approved); event URI(string value, uint256 indexed id); function balanceOf(address account, uint256 id) external view returns (uint256); function balanceOfBatch( address[] calldata accounts, uint256[] calldata ids ) external view returns (uint256[] memory); function setApprovalForAll(address operator, bool approved) external; function isApprovedForAll(address account, address operator) external view returns (bool); function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) external; function safeBatchTransferFrom( address from, address to, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data ) external; } interface IERC1155Receiver is IERC165 { function onERC1155Received( address operator, address from, uint256 id, uint256 value, bytes calldata data ) external returns (bytes4); function onERC1155BatchReceived( address operator, address from, uint256[] calldata ids, uint256[] calldata values, bytes calldata data ) external returns (bytes4); } interface IERC1155MetadataURI is IERC1155 { function uri(uint256 id) external view returns (string memory); } pragma solidity ^0.8.1; library Address { function isContract(address account) internal view returns (bool) { return account.code.length > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, "Address: low-level call failed"); } function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } 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"); } 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"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } function verifyCallResultFromTarget( address target, bool success, bytes memory returndata, string memory errorMessage ) internal view returns (bytes memory) { if (success) { if (returndata.length == 0) { // only check isContract if the call was successful and the return data is empty // otherwise we already know that it was a contract require(isContract(target), "Address: call to non-contract"); } return returndata; } else { _revert(returndata, errorMessage); } } function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { _revert(returndata, errorMessage); } } function _revert(bytes memory returndata, string memory errorMessage) private pure { // 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 /// @solidity memory-safe-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract ERC165 is IERC165 { /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IERC165).interfaceId; } } interface IERC721 is IERC165 { event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); function balanceOf(address owner) external view returns (uint256 balance); function ownerOf(uint256 tokenId) external view returns (address owner); function safeTransferFrom( address from, address to, uint256 tokenId ) external; function transferFrom( address from, address to, uint256 tokenId ) external; function approve(address to, uint256 tokenId) external; function getApproved(uint256 tokenId) external view returns (address operator); function setApprovalForAll(address operator, bool _approved) external; function isApprovedForAll(address owner, address operator) external view returns (bool); function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; } interface INFT 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); } interface ITheBerps is INFT { function mintTo(address to) external; } interface ISnacks is IERC1155 { function feedDerp(uint256 snackId, uint256 amount, uint256 derpId) external; } 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() { _setOwner(_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 { _setOwner(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"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } abstract contract ERC1155Holder is ERC165, IERC1155Receiver { /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { return interfaceId == type(IERC1155Receiver).interfaceId || super.supportsInterface(interfaceId); } function onERC1155Received( address, address, uint256, uint256, bytes memory ) public virtual override returns (bytes4) { return this.onERC1155Received.selector; } function onERC1155BatchReceived( address, address, uint256[] memory, uint256[] memory, bytes memory ) public virtual override returns (bytes4) { return this.onERC1155BatchReceived.selector; } } contract FeedingContract is Ownable, ERC1155Holder { ITheBerps public berps; INFT public derps; ISnacks public snacks; uint256 public constant INITIAL_HUNGER = 3200; uint256 public cooldown = 24 hours; bool public isLive = false; mapping(uint256 => uint256) public hungerScore; // snackId → hunger reduction mapping(uint256 => uint256) public hungerLevel; // derpId → current hunger mapping(uint256 => uint256) public lastBerpTimestamp; // derpId → last Berp mint time event DerpFed(address indexed feeder, uint256 derpId, uint256 snackId, uint256 newHunger); event BerpMinted(address indexed recipient, uint256 derpId, uint256 timestamp); constructor(address _berps, address _derps, address _snacks) { berps = ITheBerps(_berps); derps = INFT(_derps); snacks = ISnacks(_snacks); } /** * @dev Sets the hunger score for a specific Snack ID. Only callable by the owner. * @param snackId The ID of the snack. * @param score The hunger reduction value. */ function setHungerScore(uint256 snackId, uint256 score) external onlyOwner { hungerScore[snackId] = score; } function setCooldown(uint256 newCooldown) external onlyOwner { cooldown = newCooldown; } function toggleFeeding() external onlyOwner { if (isLive) { isLive = false; } else { isLive = true; } } /** * @dev Feeds a Snack to a Derp, reducing its hunger level. If hunger reaches 0, mints a Berp. * @param derpId The ID of the Derp being fed. * @param snackId The ID of the Snack being used. */ function feedDerp( uint256 snackId, uint256 amount, uint256 derpId ) external { require(isLive,"feeding is not live"); require( block.timestamp >= lastBerpTimestamp[derpId] + cooldown, "Derp is on cooldown"); require( hungerScore[snackId] > 0, "Invalid snack"); // Initialize hunger if not set if (hungerLevel[derpId] == 0) { hungerLevel[derpId] = INITIAL_HUNGER; } snacks.safeTransferFrom( msg.sender, address(this), snackId, amount, bytes("")); snacks.feedDerp(snackId, amount, derpId); // Reduce hunger uint256 newHunger = hungerLevel[derpId] > hungerScore[snackId] ? hungerLevel[derpId] - hungerScore[snackId] : 0; hungerLevel[derpId] = newHunger; emit DerpFed(msg.sender, derpId, snackId, newHunger); // If hunger reaches zero, mint a Berp and start cooldown if (newHunger == 0) { berps.mintTo(msg.sender); lastBerpTimestamp[derpId] = block.timestamp; // Start cooldown emit BerpMinted(msg.sender, derpId, block.timestamp); } } }
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_berps","type":"address"},{"internalType":"address","name":"_derps","type":"address"},{"internalType":"address","name":"_snacks","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"derpId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"BerpMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"feeder","type":"address"},{"indexed":false,"internalType":"uint256","name":"derpId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"snackId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newHunger","type":"uint256"}],"name":"DerpFed","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"},{"inputs":[],"name":"INITIAL_HUNGER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"berps","outputs":[{"internalType":"contract ITheBerps","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"derps","outputs":[{"internalType":"contract INFT","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"snackId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"derpId","type":"uint256"}],"name":"feedDerp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"hungerLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"hungerScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"lastBerpTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newCooldown","type":"uint256"}],"name":"setCooldown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"snackId","type":"uint256"},{"internalType":"uint256","name":"score","type":"uint256"}],"name":"setHungerScore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snacks","outputs":[{"internalType":"contract ISnacks","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleFeeding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052620151806004556005805460ff19169055348015610020575f5ffd5b5060405161126338038061126383398101604081905261003f916100f4565b6100483361008a565b600180546001600160a01b039485166001600160a01b031991821617909155600280549385169382169390931790925560038054919093169116179055610134565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100ef575f5ffd5b919050565b5f5f5f60608486031215610106575f5ffd5b61010f846100d9565b925061011d602085016100d9565b915061012b604085016100d9565b90509250925092565b611122806101415f395ff3fe608060405234801561000f575f5ffd5b5060043610610149575f3560e01c806385652c60116100c7578063bc197c811161007d578063f23a6e6111610063578063f23a6e6114610336578063f2fde38b1461036e578063f61d315c14610381575f5ffd5b8063bc197c81146102ba578063d12a278614610323575f5ffd5b80638da5cb5b116100ad5780638da5cb5b14610287578063b8497bad146102a4578063b8f7a665146102ad575f5ffd5b806385652c601461024857806388c71c2d14610268575f5ffd5b8063366932b51161011c5780634fc3f41a116101025780634fc3f41a14610224578063715018a614610237578063787a08a61461023f575f5ffd5b8063366932b51461020757806341c6c7c41461021c575f5ffd5b806301ffc9a71461014d5780630244234f14610175578063139de2a5146101ba57806336555a34146101e7575b5f5ffd5b61016061015b366004610c8e565b6103a0565b60405190151581526020015b60405180910390f35b6003546101959073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016c565b6101d96101c8366004610cd4565b60076020525f908152604090205481565b60405190815260200161016c565b6002546101959073ffffffffffffffffffffffffffffffffffffffff1681565b61021a610215366004610ceb565b610438565b005b61021a610869565b61021a610232366004610cd4565b61094c565b61021a6109d1565b6101d960045481565b6001546101959073ffffffffffffffffffffffffffffffffffffffff1681565b6101d9610276366004610cd4565b60066020525f908152604090205481565b5f5473ffffffffffffffffffffffffffffffffffffffff16610195565b6101d9610c8081565b6005546101609060ff1681565b6102f26102c8366004610ec2565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161016c565b61021a610331366004610f71565b610a5a565b6102f2610344366004610f91565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b61021a61037c366004610fe5565b610aeb565b6101d961038f366004610cd4565b60086020525f908152604090205481565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000148061043257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60055460ff166104a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f66656564696e67206973206e6f74206c6976650000000000000000000000000060448201526064015b60405180910390fd5b6004545f828152600860205260409020546104c4919061102b565b42101561052d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f44657270206973206f6e20636f6f6c646f776e0000000000000000000000000060448201526064016104a0565b5f838152600660205260409020546105a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c696420736e61636b0000000000000000000000000000000000000060448201526064016104a0565b5f8181526007602052604081205490036105c8575f818152600760205260409020610c8090555b600354604080516020810182525f815290517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9092169163f242432a9161063091339130918991899160040161103e565b5f604051808303815f87803b158015610647575f5ffd5b505af1158015610659573d5f5f3e3d5ffd5b50506003546040517f366932b500000000000000000000000000000000000000000000000000000000815260048101879052602481018690526044810185905273ffffffffffffffffffffffffffffffffffffffff909116925063366932b591506064015f604051808303815f87803b1580156106d4575f5ffd5b505af11580156106e6573d5f5f3e3d5ffd5b5050505f84815260066020908152604080832054858452600790925282205491925010610713575f61073a565b5f8481526006602090815260408083205485845260079092529091205461073a91906110d9565b5f83815260076020908152604091829020839055815185815290810187905290810182905290915033907fd3172dd0517733c426f2549c4a6121c9944afec82d842945d205951e66b5841c9060600160405180910390a2805f03610863576001546040517f755edd1700000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091169063755edd17906024015f604051808303815f87803b158015610800575f5ffd5b505af1158015610812573d5f5f3e3d5ffd5b5050505f8381526008602090815260409182902042908190558251868152918201523392507f09b46fc0ac47f5c0a039163fcb373bffae10264999082447952d9d0c25310f3c910160405180910390a25b50505050565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146108e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a0565b60055460ff161561091e57600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146109cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a0565b600455565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610a51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a0565b61094a5f610c1a565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a0565b5f9182526006602052604090912055565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610b6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a0565b73ffffffffffffffffffffffffffffffffffffffff8116610c0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104a0565b610c1781610c1a565b50565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610c9e575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ccd575f5ffd5b9392505050565b5f60208284031215610ce4575f5ffd5b5035919050565b5f5f5f60608486031215610cfd575f5ffd5b505081359360208301359350604090920135919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d37575f5ffd5b919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610db057610db0610d3c565b604052919050565b5f82601f830112610dc7575f5ffd5b813567ffffffffffffffff811115610de157610de1610d3c565b8060051b610df160208201610d69565b91825260208185018101929081019086841115610e0c575f5ffd5b6020860192505b83831015610e2e578235825260209283019290910190610e13565b9695505050505050565b5f82601f830112610e47575f5ffd5b813567ffffffffffffffff811115610e6157610e61610d3c565b610e9260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610d69565b818152846020838601011115610ea6575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a08688031215610ed6575f5ffd5b610edf86610d14565b9450610eed60208701610d14565b9350604086013567ffffffffffffffff811115610f08575f5ffd5b610f1488828901610db8565b935050606086013567ffffffffffffffff811115610f30575f5ffd5b610f3c88828901610db8565b925050608086013567ffffffffffffffff811115610f58575f5ffd5b610f6488828901610e38565b9150509295509295909350565b5f5f60408385031215610f82575f5ffd5b50508035926020909101359150565b5f5f5f5f5f60a08688031215610fa5575f5ffd5b610fae86610d14565b9450610fbc60208701610d14565b93506040860135925060608601359150608086013567ffffffffffffffff811115610f58575f5ffd5b5f60208284031215610ff5575f5ffd5b610ccd82610d14565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561043257610432610ffe565b73ffffffffffffffffffffffffffffffffffffffff8616815273ffffffffffffffffffffffffffffffffffffffff8516602082015283604082015282606082015260a060808201525f82518060a0840152806020850160c085015e5f60c0828501015260c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509695505050505050565b8181038181111561043257610432610ffe56fea2646970667358221220640de2211da70d5666901273f1a7c59c99043232ab9546f6cbe5788e917b48c064736f6c634300081c003300000000000000000000000098f23e5f467b814e7336d30992d983cf9853c120000000000000000000000000f7ddc89c07c5e1e8ce8ba3821321543045e19e9c00000000000000000000000097df8dcb4306a7593b469cc87ef94eca0437eb79
Deployed Bytecode
0x608060405234801561000f575f5ffd5b5060043610610149575f3560e01c806385652c60116100c7578063bc197c811161007d578063f23a6e6111610063578063f23a6e6114610336578063f2fde38b1461036e578063f61d315c14610381575f5ffd5b8063bc197c81146102ba578063d12a278614610323575f5ffd5b80638da5cb5b116100ad5780638da5cb5b14610287578063b8497bad146102a4578063b8f7a665146102ad575f5ffd5b806385652c601461024857806388c71c2d14610268575f5ffd5b8063366932b51161011c5780634fc3f41a116101025780634fc3f41a14610224578063715018a614610237578063787a08a61461023f575f5ffd5b8063366932b51461020757806341c6c7c41461021c575f5ffd5b806301ffc9a71461014d5780630244234f14610175578063139de2a5146101ba57806336555a34146101e7575b5f5ffd5b61016061015b366004610c8e565b6103a0565b60405190151581526020015b60405180910390f35b6003546101959073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016c565b6101d96101c8366004610cd4565b60076020525f908152604090205481565b60405190815260200161016c565b6002546101959073ffffffffffffffffffffffffffffffffffffffff1681565b61021a610215366004610ceb565b610438565b005b61021a610869565b61021a610232366004610cd4565b61094c565b61021a6109d1565b6101d960045481565b6001546101959073ffffffffffffffffffffffffffffffffffffffff1681565b6101d9610276366004610cd4565b60066020525f908152604090205481565b5f5473ffffffffffffffffffffffffffffffffffffffff16610195565b6101d9610c8081565b6005546101609060ff1681565b6102f26102c8366004610ec2565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161016c565b61021a610331366004610f71565b610a5a565b6102f2610344366004610f91565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b61021a61037c366004610fe5565b610aeb565b6101d961038f366004610cd4565b60086020525f908152604090205481565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000148061043257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60055460ff166104a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f66656564696e67206973206e6f74206c6976650000000000000000000000000060448201526064015b60405180910390fd5b6004545f828152600860205260409020546104c4919061102b565b42101561052d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f44657270206973206f6e20636f6f6c646f776e0000000000000000000000000060448201526064016104a0565b5f838152600660205260409020546105a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c696420736e61636b0000000000000000000000000000000000000060448201526064016104a0565b5f8181526007602052604081205490036105c8575f818152600760205260409020610c8090555b600354604080516020810182525f815290517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9092169163f242432a9161063091339130918991899160040161103e565b5f604051808303815f87803b158015610647575f5ffd5b505af1158015610659573d5f5f3e3d5ffd5b50506003546040517f366932b500000000000000000000000000000000000000000000000000000000815260048101879052602481018690526044810185905273ffffffffffffffffffffffffffffffffffffffff909116925063366932b591506064015f604051808303815f87803b1580156106d4575f5ffd5b505af11580156106e6573d5f5f3e3d5ffd5b5050505f84815260066020908152604080832054858452600790925282205491925010610713575f61073a565b5f8481526006602090815260408083205485845260079092529091205461073a91906110d9565b5f83815260076020908152604091829020839055815185815290810187905290810182905290915033907fd3172dd0517733c426f2549c4a6121c9944afec82d842945d205951e66b5841c9060600160405180910390a2805f03610863576001546040517f755edd1700000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091169063755edd17906024015f604051808303815f87803b158015610800575f5ffd5b505af1158015610812573d5f5f3e3d5ffd5b5050505f8381526008602090815260409182902042908190558251868152918201523392507f09b46fc0ac47f5c0a039163fcb373bffae10264999082447952d9d0c25310f3c910160405180910390a25b50505050565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146108e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a0565b60055460ff161561091e57600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146109cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a0565b600455565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610a51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a0565b61094a5f610c1a565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a0565b5f9182526006602052604090912055565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610b6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a0565b73ffffffffffffffffffffffffffffffffffffffff8116610c0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104a0565b610c1781610c1a565b50565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610c9e575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ccd575f5ffd5b9392505050565b5f60208284031215610ce4575f5ffd5b5035919050565b5f5f5f60608486031215610cfd575f5ffd5b505081359360208301359350604090920135919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d37575f5ffd5b919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610db057610db0610d3c565b604052919050565b5f82601f830112610dc7575f5ffd5b813567ffffffffffffffff811115610de157610de1610d3c565b8060051b610df160208201610d69565b91825260208185018101929081019086841115610e0c575f5ffd5b6020860192505b83831015610e2e578235825260209283019290910190610e13565b9695505050505050565b5f82601f830112610e47575f5ffd5b813567ffffffffffffffff811115610e6157610e61610d3c565b610e9260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610d69565b818152846020838601011115610ea6575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a08688031215610ed6575f5ffd5b610edf86610d14565b9450610eed60208701610d14565b9350604086013567ffffffffffffffff811115610f08575f5ffd5b610f1488828901610db8565b935050606086013567ffffffffffffffff811115610f30575f5ffd5b610f3c88828901610db8565b925050608086013567ffffffffffffffff811115610f58575f5ffd5b610f6488828901610e38565b9150509295509295909350565b5f5f60408385031215610f82575f5ffd5b50508035926020909101359150565b5f5f5f5f5f60a08688031215610fa5575f5ffd5b610fae86610d14565b9450610fbc60208701610d14565b93506040860135925060608601359150608086013567ffffffffffffffff811115610f58575f5ffd5b5f60208284031215610ff5575f5ffd5b610ccd82610d14565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561043257610432610ffe565b73ffffffffffffffffffffffffffffffffffffffff8616815273ffffffffffffffffffffffffffffffffffffffff8516602082015283604082015282606082015260a060808201525f82518060a0840152806020850160c085015e5f60c0828501015260c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509695505050505050565b8181038181111561043257610432610ffe56fea2646970667358221220640de2211da70d5666901273f1a7c59c99043232ab9546f6cbe5788e917b48c064736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000098f23e5f467b814e7336d30992d983cf9853c120000000000000000000000000f7ddc89c07c5e1e8ce8ba3821321543045e19e9c00000000000000000000000097df8dcb4306a7593b469cc87ef94eca0437eb79
-----Decoded View---------------
Arg [0] : _berps (address): 0x98F23E5f467B814E7336d30992D983CF9853C120
Arg [1] : _derps (address): 0xf7DDC89c07C5e1E8cE8BA3821321543045e19e9c
Arg [2] : _snacks (address): 0x97df8Dcb4306A7593b469CC87ef94ECA0437Eb79
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000098f23e5f467b814e7336d30992d983cf9853c120
Arg [1] : 000000000000000000000000f7ddc89c07c5e1e8ce8ba3821321543045e19e9c
Arg [2] : 00000000000000000000000097df8dcb4306a7593b469cc87ef94eca0437eb79
Deployed Bytecode Sourcemap
11380:3057:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10652:223;;;;;;:::i;:::-;;:::i;:::-;;;516:14:1;;509:22;491:41;;479:2;464:18;10652:223:0;;;;;;;;11491:21;;;;;;;;;;;;734:42:1;722:55;;;704:74;;692:2;677:18;11491:21:0;543:241:1;11734:46:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1166:25:1;;;1154:2;1139:18;11734:46:0;1020:177:1;11467:17:0;;;;;;;;;13116:1318;;;;;;:::i;:::-;;:::i;:::-;;12713:170;;;:::i;12603:102::-;;;;;;:::i;:::-;;:::i;9890:94::-;;;:::i;11573:34::-;;;;;;11438:22;;;;;;;;;11649:46;;;;;;:::i;:::-;;;;;;;;;;;;;;9239:87;9285:7;9312:6;;;9239:87;;11521:45;;11562:4;11521:45;;11614:26;;;;;;;;;11118:255;;;;;;:::i;:::-;11329:36;11118:255;;;;;;;;;;;5659:66:1;5647:79;;;5629:98;;5617:2;5602:18;11118:255:0;5485:248:1;12473:122:0;;;;;;:::i;:::-;;:::i;10883:227::-;;;;;;:::i;:::-;11071:31;10883:227;;;;;;;;10139:192;;;;;;:::i;:::-;;:::i;11816:52::-;;;;;;:::i;:::-;;;;;;;;;;;;;;10652:223;10754:4;10778:49;;;10793:34;10778:49;;:89;;-1:-1:-1;6698:25:0;6683:40;;;;10831:36;10771:96;10652:223;-1:-1:-1;;10652:223:0:o;13116:1318::-;13247:6;;;;13239:37;;;;;;;7191:2:1;13239:37:0;;;7173:21:1;7230:2;7210:18;;;7203:30;7269:21;7249:18;;;7242:49;7308:18;;13239:37:0;;;;;;;;;13356:8;;13328:25;;;;:17;:25;;;;;;:36;;13356:8;13328:36;:::i;:::-;13309:15;:55;;13287:115;;;;;;;7858:2:1;13287:115:0;;;7840:21:1;7897:2;7877:18;;;7870:30;7936:21;7916:18;;;7909:49;7975:18;;13287:115:0;7656:343:1;13287:115:0;13458:1;13435:20;;;:11;:20;;;;;;13413:78;;;;;;;8206:2:1;13413:78:0;;;8188:21:1;8245:2;8225:18;;;8218:30;8284:15;8264:18;;;8257:43;8317:18;;13413:78:0;8004:337:1;13413:78:0;13549:19;;;;:11;:19;;;;;;:24;;13545:93;;13590:19;;;;:11;:19;;;;;11562:4;13590:36;;13545:93;13650:6;;13784:9;;;;;;;;13650:6;13784:9;;13650:144;;;;;:6;;;;;:23;;:144;;13688:10;;13721:4;;13741:7;;13763:6;;13650:144;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13806:6:0;;:40;;;;;;;;9416:25:1;;;9457:18;;;9450:34;;;9500:18;;;9493:34;;;13806:6:0;;;;;-1:-1:-1;13806:15:0;;-1:-1:-1;9389:18:1;;13806:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13885:17:0;13927:20;;;:11;:20;;;;;;;;;13905:19;;;:11;:19;;;;;;13885:17;;-1:-1:-1;;13905:119:0;;14023:1;13905:119;;;13986:20;;;;:11;:20;;;;;;;;;13964:19;;;:11;:19;;;;;;;:42;;13986:20;13964:42;:::i;:::-;14037:19;;;;:11;:19;;;;;;;;;:31;;;14086:47;;9416:25:1;;;9457:18;;;9450:34;;;9500:18;;;9493:34;;;14037:31:0;;-1:-1:-1;14094:10:0;;14086:47;;9404:2:1;9389:18;14086:47:0;;;;;;;14217:9;14230:1;14217:14;14213:214;;14248:5;;:24;;;;;14261:10;14248:24;;;704:74:1;14248:5:0;;;;;:12;;677:18:1;;14248:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14287:25:0;;;;:17;:25;;;;;;;;;14315:15;14287:43;;;;14368:47;;9845:25:1;;;9886:18;;;9879:34;14379:10:0;;-1:-1:-1;14368:47:0;;9818:18:1;14368:47:0;;;;;;;14213:214;13228:1206;13116:1318;;;:::o;12713:170::-;9285:7;9312:6;9459:23;9312:6;6333:10;9459:23;9451:68;;;;;;;10126:2:1;9451:68:0;;;10108:21:1;;;10145:18;;;10138:30;10204:34;10184:18;;;10177:62;10256:18;;9451:68:0;9924:356:1;9451:68:0;12772:6:::1;::::0;::::1;;12768:108;;;12795:6;:14:::0;;;::::1;::::0;;12713:170::o;12768:108::-:1;12851:6;:13:::0;;;::::1;12860:4;12851:13;::::0;;12768:108:::1;12713:170::o:0;12603:102::-;9285:7;9312:6;9459:23;9312:6;6333:10;9459:23;9451:68;;;;;;;10126:2:1;9451:68:0;;;10108:21:1;;;10145:18;;;10138:30;10204:34;10184:18;;;10177:62;10256:18;;9451:68:0;9924:356:1;9451:68:0;12675:8:::1;:22:::0;12603:102::o;9890:94::-;9285:7;9312:6;9459:23;9312:6;6333:10;9459:23;9451:68;;;;;;;10126:2:1;9451:68:0;;;10108:21:1;;;10145:18;;;10138:30;10204:34;10184:18;;;10177:62;10256:18;;9451:68:0;9924:356:1;9451:68:0;9955:21:::1;9973:1;9955:9;:21::i;12473:122::-:0;9285:7;9312:6;9459:23;9312:6;6333:10;9459:23;9451:68;;;;;;;10126:2:1;9451:68:0;;;10108:21:1;;;10145:18;;;10138:30;10204:34;10184:18;;;10177:62;10256:18;;9451:68:0;9924:356:1;9451:68:0;12559:20:::1;::::0;;;:11:::1;:20;::::0;;;;;:28;12473:122::o;10139:192::-;9285:7;9312:6;9459:23;9312:6;6333:10;9459:23;9451:68;;;;;;;10126:2:1;9451:68:0;;;10108:21:1;;;10145:18;;;10138:30;10204:34;10184:18;;;10177:62;10256:18;;9451:68:0;9924:356:1;9451:68:0;10228:22:::1;::::0;::::1;10220:73;;;::::0;::::1;::::0;;10487:2:1;10220:73:0::1;::::0;::::1;10469:21:1::0;10526:2;10506:18;;;10499:30;10565:34;10545:18;;;10538:62;10636:8;10616:18;;;10609:36;10662:19;;10220:73:0::1;10285:402:1::0;10220:73:0::1;10304:19;10314:8;10304:9;:19::i;:::-;10139:192:::0;:::o;10339:173::-;10395:16;10414:6;;;10431:17;;;;;;;;;;10464:40;;10414:6;;;;;;;10464:40;;10395:16;10464:40;10384:128;10339:173;:::o;14:332:1:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:1:o;789:226::-;848:6;901:2;889:9;880:7;876:23;872:32;869:52;;;917:1;914;907:12;869:52;-1:-1:-1;962:23:1;;789:226;-1:-1:-1;789:226:1:o;1445:466::-;1522:6;1530;1538;1591:2;1579:9;1570:7;1566:23;1562:32;1559:52;;;1607:1;1604;1597:12;1559:52;-1:-1:-1;;1652:23:1;;;1772:2;1757:18;;1744:32;;-1:-1:-1;1875:2:1;1860:18;;;1847:32;;1445:466;-1:-1:-1;1445:466:1:o;2395:196::-;2463:20;;2523:42;2512:54;;2502:65;;2492:93;;2581:1;2578;2571:12;2492:93;2395:196;;;:::o;2596:184::-;2648:77;2645:1;2638:88;2745:4;2742:1;2735:15;2769:4;2766:1;2759:15;2785:334;2856:2;2850:9;2912:2;2902:13;;2917:66;2898:86;2886:99;;3015:18;3000:34;;3036:22;;;2997:62;2994:88;;;3062:18;;:::i;:::-;3098:2;3091:22;2785:334;;-1:-1:-1;2785:334:1:o;3124:775::-;3178:5;3231:3;3224:4;3216:6;3212:17;3208:27;3198:55;;3249:1;3246;3239:12;3198:55;3289:6;3276:20;3319:18;3311:6;3308:30;3305:56;;;3341:18;;:::i;:::-;3387:6;3384:1;3380:14;3414:30;3438:4;3434:2;3430:13;3414:30;:::i;:::-;3480:19;;;3524:4;3556:15;;;3552:26;;;3515:14;;;;3590:15;;;3587:35;;;3618:1;3615;3608:12;3587:35;3654:4;3646:6;3642:17;3631:28;;3668:200;3684:6;3679:3;3676:15;3668:200;;;3776:17;;3806:18;;3853:4;3701:14;;;;3844;;;;3668:200;;;3886:7;3124:775;-1:-1:-1;;;;;;3124:775:1:o;3904:617::-;3946:5;3999:3;3992:4;3984:6;3980:17;3976:27;3966:55;;4017:1;4014;4007:12;3966:55;4057:6;4044:20;4087:18;4079:6;4076:30;4073:56;;;4109:18;;:::i;:::-;4153:118;4265:4;4196:66;4189:4;4181:6;4177:17;4173:90;4169:101;4153:118;:::i;:::-;4296:6;4287:7;4280:23;4350:3;4343:4;4334:6;4326;4322:19;4318:30;4315:39;4312:59;;;4367:1;4364;4357:12;4312:59;4432:6;4425:4;4417:6;4413:17;4406:4;4397:7;4393:18;4380:59;4488:1;4459:20;;;4481:4;4455:31;4448:42;;;;4463:7;3904:617;-1:-1:-1;;;3904:617:1:o;4526:954::-;4680:6;4688;4696;4704;4712;4765:3;4753:9;4744:7;4740:23;4736:33;4733:53;;;4782:1;4779;4772:12;4733:53;4805:29;4824:9;4805:29;:::i;:::-;4795:39;;4853:38;4887:2;4876:9;4872:18;4853:38;:::i;:::-;4843:48;;4942:2;4931:9;4927:18;4914:32;4969:18;4961:6;4958:30;4955:50;;;5001:1;4998;4991:12;4955:50;5024:61;5077:7;5068:6;5057:9;5053:22;5024:61;:::i;:::-;5014:71;;;5138:2;5127:9;5123:18;5110:32;5167:18;5157:8;5154:32;5151:52;;;5199:1;5196;5189:12;5151:52;5222:63;5277:7;5266:8;5255:9;5251:24;5222:63;:::i;:::-;5212:73;;;5338:3;5327:9;5323:19;5310:33;5368:18;5358:8;5355:32;5352:52;;;5400:1;5397;5390:12;5352:52;5423:51;5466:7;5455:8;5444:9;5440:24;5423:51;:::i;:::-;5413:61;;;4526:954;;;;;;;;:::o;5738:346::-;5806:6;5814;5867:2;5855:9;5846:7;5842:23;5838:32;5835:52;;;5883:1;5880;5873:12;5835:52;-1:-1:-1;;5928:23:1;;;6048:2;6033:18;;;6020:32;;-1:-1:-1;5738:346:1:o;6089:704::-;6193:6;6201;6209;6217;6225;6278:3;6266:9;6257:7;6253:23;6249:33;6246:53;;;6295:1;6292;6285:12;6246:53;6318:29;6337:9;6318:29;:::i;:::-;6308:39;;6366:38;6400:2;6389:9;6385:18;6366:38;:::i;:::-;6356:48;-1:-1:-1;6473:2:1;6458:18;;6445:32;;-1:-1:-1;6574:2:1;6559:18;;6546:32;;-1:-1:-1;6655:3:1;6640:19;;6627:33;6683:18;6672:30;;6669:50;;;6715:1;6712;6705:12;6798:186;6857:6;6910:2;6898:9;6889:7;6885:23;6881:32;6878:52;;;6926:1;6923;6916:12;6878:52;6949:29;6968:9;6949:29;:::i;7337:184::-;7389:77;7386:1;7379:88;7486:4;7483:1;7476:15;7510:4;7507:1;7500:15;7526:125;7591:9;;;7612:10;;;7609:36;;;7625:18;;:::i;8346:863::-;8617:42;8609:6;8605:55;8594:9;8587:74;8709:42;8701:6;8697:55;8692:2;8681:9;8677:18;8670:83;8789:6;8784:2;8773:9;8769:18;8762:34;8832:6;8827:2;8816:9;8812:18;8805:34;8876:3;8870;8859:9;8855:19;8848:32;8568:4;8909:6;8903:13;8953:6;8947:3;8936:9;8932:19;8925:35;9013:6;9008:2;9000:6;8996:15;8990:3;8979:9;8975:19;8969:51;9070:1;9064:3;9055:6;9044:9;9040:22;9036:32;9029:43;9199:3;9129:66;9124:2;9116:6;9112:15;9108:88;9097:9;9093:104;9089:114;9081:122;;;8346:863;;;;;;;;:::o;9538:128::-;9605:9;;;9626:11;;;9623:37;;;9640:18;;:::i
Swarm Source
ipfs://640de2211da70d5666901273f1a7c59c99043232ab9546f6cbe5788e917b48c0
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
[ 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.