Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,210 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw All | 20823429 | 69 days ago | IN | 0 ETH | 0.0006434 | ||||
Purchase Package... | 20735844 | 82 days ago | IN | 0.22 ETH | 0.00031796 | ||||
Purchase Package... | 20734228 | 82 days ago | IN | 0.02 ETH | 0.00017149 | ||||
Purchase Package... | 20733928 | 82 days ago | IN | 0.02 ETH | 0.00026829 | ||||
Purchase Package... | 20731525 | 82 days ago | IN | 0.02 ETH | 0.00022188 | ||||
Purchase Package... | 20731521 | 82 days ago | IN | 0.02 ETH | 0.00026467 | ||||
Purchase Package... | 20731515 | 82 days ago | IN | 0.02 ETH | 0.00036058 | ||||
Purchase Package... | 20730569 | 82 days ago | IN | 0.02 ETH | 0.00035143 | ||||
Purchase Package... | 20730392 | 82 days ago | IN | 0.02 ETH | 0.00018104 | ||||
Purchase Package... | 20723050 | 83 days ago | IN | 0.02 ETH | 0.00067341 | ||||
Purchase Package... | 20723009 | 83 days ago | IN | 0.02 ETH | 0.00107699 | ||||
Purchase Package... | 20722608 | 83 days ago | IN | 0.09 ETH | 0.00041686 | ||||
Purchase Package... | 20722444 | 83 days ago | IN | 0.09 ETH | 0.00038024 | ||||
Purchase Package... | 20716950 | 84 days ago | IN | 0.02 ETH | 0.00017736 | ||||
Purchase Package... | 20716934 | 84 days ago | IN | 0.09 ETH | 0.00015301 | ||||
Purchase Package... | 20716924 | 84 days ago | IN | 0.09 ETH | 0.00014922 | ||||
Purchase Package... | 20716903 | 84 days ago | IN | 0.09 ETH | 0.00014088 | ||||
Purchase Package... | 20716901 | 84 days ago | IN | 0.09 ETH | 0.00014661 | ||||
Purchase Package... | 20710080 | 85 days ago | IN | 0.02 ETH | 0.00012357 | ||||
Purchase Package... | 20686761 | 88 days ago | IN | 0.02 ETH | 0.00070371 | ||||
Purchase Package... | 20677087 | 90 days ago | IN | 1.1 ETH | 0.00012095 | ||||
Purchase Package... | 20672742 | 90 days ago | IN | 0.09 ETH | 0.00028748 | ||||
Purchase Package... | 20671655 | 90 days ago | IN | 0.22 ETH | 0.00016417 | ||||
Purchase Package... | 20668193 | 91 days ago | IN | 0.09 ETH | 0.0000684 | ||||
Purchase Package... | 20666917 | 91 days ago | IN | 0.02 ETH | 0.00008836 |
Loading...
Loading
Contract Name:
ManaVendingMachine
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.18; import "@openzeppelin/contracts/access/Ownable.sol"; contract ManaVendingMachine is Ownable { /** * @notice Vault address. * @notice This address will receive all the funds after withdrawal. */ address payable public vaultAddress; /** * @notice Contract balance. * @notice This contract will hold funds after mana purchase until withdrawal. */ uint256 public contractBalance; /** * @notice Mana balances. * @notice This mapping stores the mana balance of each address. */ mapping(address => uint256) public manaBalances; /** * @notice Package struct. * @notice This struct defines the mana quantity and price of a package. */ struct Package { uint256 manaQty; uint256 price; } /** * @notice Define maximum integer value. */ uint256 MAX_INT = type(uint256).max; /** * @notice Number of packages. * @notice This number should be the same as the length of the packages array. */ uint8 public pkgQty = 3; Package[] public packages; /** * @dev Event for purchase packages. * @param buyer address The address of the buyer. * @param quantities uint256[] The quantity of each package purchased. * @param totalEth uint256 The total eth spent. * @param totalMana uint256 The total mana purchased. */ event PurchasePackages( address buyer, uint256[] quantities, uint256 totalEth, uint256 totalMana ); /** * @dev Constructor function. */ constructor() { // Set the owner and vaultAddress as the contract creator vaultAddress = payable(msg.sender); for (uint8 i = 0; i < pkgQty; i++) { packages.push(Package(0, MAX_INT)); } } /** * @dev Set the vault address. * @param _vaultAdress address The address of the vault. */ function setVaultAddress(address _vaultAdress) external onlyOwner { vaultAddress = payable(_vaultAdress); } /** * @dev Get the number of packages defined in contract. * @return uint8 The number of packages. */ function getPkgQty() public view returns (uint8) { return pkgQty; } /** * @dev Get the mana balance of an address. * @param _address address The address to check. * @return uint The mana balance. */ function getManaBalance(address _address) public view returns (uint) { return manaBalances[_address]; } /** * @dev Get the packages list. * @return Package[] The list of packages. */ function getPackages() public view returns (Package[] memory) { return packages; } /** * @dev Get a package from its id. * @param pkgId uint8 The id of the package. * @return Package The package. */ function getPackageFromId( uint8 pkgId ) public view returns (Package memory) { // Id should be in the size of the packages array require( pkgId < packages.length, "The pkgId must be in the size of the packages array" ); return packages[pkgId]; } /** * @dev Set the packages. * @param _manaQty uint256[] The quantity of mana of each package. * @param _prices uint256[] The price of each package. */ function setPackages( uint256[] calldata _manaQty, uint256[] calldata _prices ) external onlyOwner { // Arrays should be the same length require( _manaQty.length == _prices.length, "Mana quantity and prices arrays must have the same length" ); // Arrays should be the same size as pkgQty (packages quantity) require( _manaQty.length == pkgQty, "Mana quantity and prices arrays must be same length as pkgQty" ); // Loop through the arrays and create the packages for (uint8 i = 0; i < _manaQty.length; i++) { packages[i] = Package(_manaQty[i], _prices[i]); } } /** * @dev Purchase packages. * @param _qty uint256[] The quantity of each package to purchase. */ function purchasePackages(uint256[] memory _qty) public payable { // Array should be the same length as the number of packages require( _qty.length == packages.length, "The length of the array is not the same as the number of packages" ); // Loop through the array to calculate the total price uint256 totalEth = 0; uint256 totalMana = 0; for (uint8 i = 0; i < _qty.length; i++) { totalEth += packages[i].price * _qty[i]; totalMana += packages[i].manaQty * _qty[i]; } // Check if the value sent is enough require(msg.value == totalEth, "Value sent is not exact"); // Add the mana to the user's balance manaBalances[msg.sender] += totalMana; // Save the value to the contract balance contractBalance += totalEth; // Emit the event emit PurchasePackages(msg.sender, _qty, totalEth, totalMana); } /** * @dev Withdraw funds to the vault using call. * @param _amount uint256 The amount to withdraw. */ function withdraw(uint256 _amount) external onlyOwner { require(_amount <= contractBalance, "Insufficient contract balance"); contractBalance -= _amount; (bool success, ) = vaultAddress.call{value: _amount}(""); require(success, "Withdraw was not successful"); } /** * @dev Withdraw all the funds to the vaultAdress using call. */ function withdrawAll() external onlyOwner { uint256 _amount = contractBalance; contractBalance = 0; (bool success, ) = vaultAddress.call{value: _amount}(""); require(success, "Withdraw all was not successful"); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions 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 { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"quantities","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"totalEth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalMana","type":"uint256"}],"name":"PurchasePackages","type":"event"},{"inputs":[],"name":"contractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getManaBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"pkgId","type":"uint8"}],"name":"getPackageFromId","outputs":[{"components":[{"internalType":"uint256","name":"manaQty","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct ManaVendingMachine.Package","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPackages","outputs":[{"components":[{"internalType":"uint256","name":"manaQty","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct ManaVendingMachine.Package[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPkgQty","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"manaBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"packages","outputs":[{"internalType":"uint256","name":"manaQty","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pkgQty","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_qty","type":"uint256[]"}],"name":"purchasePackages","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_manaQty","type":"uint256[]"},{"internalType":"uint256[]","name":"_prices","type":"uint256[]"}],"name":"setPackages","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vaultAdress","type":"address"}],"name":"setVaultAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vaultAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawAll","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6004556003600560006101000a81548160ff021916908360ff1602179055503480156200005157600080fd5b5062000072620000666200014a60201b60201c565b6200015260201b60201c565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060005b600560009054906101000a900460ff1660ff168160ff1610156200014357600660405180604001604052806000815260200160045481525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010155505080806200013a9062000252565b915050620000b6565b5062000280565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff82169050919050565b60006200025f8262000245565b915060ff820362000275576200027462000216565b5b600182019050919050565b611be380620002906000396000f3fe6080604052600436106100fe5760003560e01c8063715018a61161009557806385535cc51161006457806385535cc5146103025780638b7afe2e1461032b5780638da5cb5b14610356578063c216212a14610381578063f2fde38b146103bf576100fe565b8063715018a6146102805780637946035114610297578063800a9cdd146102c2578063853828b6146102eb576100fe565b806349e51fad116100d157806349e51fad146101d157806358f1ed01146101ed5780635c05a89f1461022a5780636f7e05ea14610255576100fe565b80630e31b49f146101035780631f999818146101405780632e1a7d4d1461017d578063430bf08a146101a6575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190610e5e565b6103e8565b6040516101379190610ea4565b60405180910390f35b34801561014c57600080fd5b5061016760048036038101906101629190610ef8565b610400565b6040516101749190610f63565b60405180910390f35b34801561018957600080fd5b506101a4600480360381019061019f9190610faa565b61049d565b005b3480156101b257600080fd5b506101bb6105d5565b6040516101c89190610ff8565b60405180910390f35b6101eb60048036038101906101e6919061116c565b6105fb565b005b3480156101f957600080fd5b50610214600480360381019061020f9190610e5e565b610818565b6040516102219190610ea4565b60405180910390f35b34801561023657600080fd5b5061023f610861565b60405161024c9190611293565b60405180910390f35b34801561026157600080fd5b5061026a6108d4565b60405161027791906112c4565b60405180910390f35b34801561028c57600080fd5b506102956108e7565b005b3480156102a357600080fd5b506102ac6108fb565b6040516102b991906112c4565b60405180910390f35b3480156102ce57600080fd5b506102e960048036038101906102e4919061133a565b610912565b005b3480156102f757600080fd5b50610300610a6d565b005b34801561030e57600080fd5b5061032960048036038101906103249190610e5e565b610b56565b005b34801561033757600080fd5b50610340610ba2565b60405161034d9190610ea4565b60405180910390f35b34801561036257600080fd5b5061036b610ba8565b60405161037891906113ca565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a39190610faa565b610bd1565b6040516103b69291906113e5565b60405180910390f35b3480156103cb57600080fd5b506103e660048036038101906103e19190610e5e565b610c05565b005b60036020528060005260406000206000915090505481565b610408610dd2565b6006805490508260ff1610610452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044990611491565b60405180910390fd5b60068260ff1681548110610469576104686114b1565b5b9060005260206000209060020201604051806040016040529081600082015481526020016001820154815250509050919050565b6104a5610c88565b6002548111156104ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e19061152c565b60405180910390fd5b80600260008282546104fc919061157b565b925050819055506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161054b906115e0565b60006040518083038185875af1925050503d8060008114610588576040519150601f19603f3d011682016040523d82523d6000602084013e61058d565b606091505b50509050806105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611641565b60405180910390fd5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600680549050815114610643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063a906116f9565b60405180910390fd5b60008060005b83518160ff16101561072457838160ff168151811061066b5761066a6114b1565b5b602002602001015160068260ff168154811061068a576106896114b1565b5b9060005260206000209060020201600101546106a69190611719565b836106b1919061175b565b9250838160ff16815181106106c9576106c86114b1565b5b602002602001015160068260ff16815481106106e8576106e76114b1565b5b9060005260206000209060020201600001546107049190611719565b8261070f919061175b565b9150808061071c9061178f565b915050610649565b50813414610767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e90611804565b60405180910390fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107b6919061175b565b9250508190555081600260008282546107cf919061175b565b925050819055507f64131d7433d64d592fad1870936554cdb1b7276a745cb4795b36678fc5237f883384848460405161080b94939291906118d3565b60405180910390a1505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606006805480602002602001604051908101604052809291908181526020016000905b828210156108cb57838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610885565b50505050905090565b600560009054906101000a900460ff1681565b6108ef610c88565b6108f96000610d06565b565b6000600560009054906101000a900460ff16905090565b61091a610c88565b818190508484905014610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095990611991565b60405180910390fd5b600560009054906101000a900460ff1660ff1684849050146109b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b090611a23565b60405180910390fd5b60005b848490508160ff161015610a6657604051806040016040528086868460ff168181106109eb576109ea6114b1565b5b90506020020135815260200184848460ff16818110610a0d57610a0c6114b1565b5b9050602002013581525060068260ff1681548110610a2e57610a2d6114b1565b5b906000526020600020906002020160008201518160000155602082015181600101559050508080610a5e9061178f565b9150506109bc565b5050505050565b610a75610c88565b6000600254905060006002819055506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051610acc906115e0565b60006040518083038185875af1925050503d8060008114610b09576040519150601f19603f3d011682016040523d82523d6000602084013e610b0e565b606091505b5050905080610b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4990611a8f565b60405180910390fd5b5050565b610b5e610c88565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60025481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60068181548110610be157600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b610c0d610c88565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7390611b21565b60405180910390fd5b610c8581610d06565b50565b610c90610dca565b73ffffffffffffffffffffffffffffffffffffffff16610cae610ba8565b73ffffffffffffffffffffffffffffffffffffffff1614610d04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfb90611b8d565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b604051806040016040528060008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e2b82610e00565b9050919050565b610e3b81610e20565b8114610e4657600080fd5b50565b600081359050610e5881610e32565b92915050565b600060208284031215610e7457610e73610df6565b5b6000610e8284828501610e49565b91505092915050565b6000819050919050565b610e9e81610e8b565b82525050565b6000602082019050610eb96000830184610e95565b92915050565b600060ff82169050919050565b610ed581610ebf565b8114610ee057600080fd5b50565b600081359050610ef281610ecc565b92915050565b600060208284031215610f0e57610f0d610df6565b5b6000610f1c84828501610ee3565b91505092915050565b610f2e81610e8b565b82525050565b604082016000820151610f4a6000850182610f25565b506020820151610f5d6020850182610f25565b50505050565b6000604082019050610f786000830184610f34565b92915050565b610f8781610e8b565b8114610f9257600080fd5b50565b600081359050610fa481610f7e565b92915050565b600060208284031215610fc057610fbf610df6565b5b6000610fce84828501610f95565b91505092915050565b6000610fe282610e00565b9050919050565b610ff281610fd7565b82525050565b600060208201905061100d6000830184610fe9565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61106182611018565b810181811067ffffffffffffffff821117156110805761107f611029565b5b80604052505050565b6000611093610dec565b905061109f8282611058565b919050565b600067ffffffffffffffff8211156110bf576110be611029565b5b602082029050602081019050919050565b600080fd5b60006110e86110e3846110a4565b611089565b9050808382526020820190506020840283018581111561110b5761110a6110d0565b5b835b8181101561113457806111208882610f95565b84526020840193505060208101905061110d565b5050509392505050565b600082601f83011261115357611152611013565b5b81356111638482602086016110d5565b91505092915050565b60006020828403121561118257611181610df6565b5b600082013567ffffffffffffffff8111156111a05761119f610dfb565b5b6111ac8482850161113e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6040820160008201516111f76000850182610f25565b50602082015161120a6020850182610f25565b50505050565b600061121c83836111e1565b60408301905092915050565b6000602082019050919050565b6000611240826111b5565b61124a81856111c0565b9350611255836111d1565b8060005b8381101561128657815161126d8882611210565b975061127883611228565b925050600181019050611259565b5085935050505092915050565b600060208201905081810360008301526112ad8184611235565b905092915050565b6112be81610ebf565b82525050565b60006020820190506112d960008301846112b5565b92915050565b600080fd5b60008083601f8401126112fa576112f9611013565b5b8235905067ffffffffffffffff811115611317576113166112df565b5b602083019150836020820283011115611333576113326110d0565b5b9250929050565b6000806000806040858703121561135457611353610df6565b5b600085013567ffffffffffffffff81111561137257611371610dfb565b5b61137e878288016112e4565b9450945050602085013567ffffffffffffffff8111156113a1576113a0610dfb565b5b6113ad878288016112e4565b925092505092959194509250565b6113c481610e20565b82525050565b60006020820190506113df60008301846113bb565b92915050565b60006040820190506113fa6000830185610e95565b6114076020830184610e95565b9392505050565b600082825260208201905092915050565b7f54686520706b674964206d75737420626520696e207468652073697a65206f6660008201527f20746865207061636b6167657320617272617900000000000000000000000000602082015250565b600061147b60338361140e565b91506114868261141f565b604082019050919050565b600060208201905081810360008301526114aa8161146e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f496e73756666696369656e7420636f6e74726163742062616c616e6365000000600082015250565b6000611516601d8361140e565b9150611521826114e0565b602082019050919050565b6000602082019050818103600083015261154581611509565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061158682610e8b565b915061159183610e8b565b92508282039050818111156115a9576115a861154c565b5b92915050565b600081905092915050565b50565b60006115ca6000836115af565b91506115d5826115ba565b600082019050919050565b60006115eb826115bd565b9150819050919050565b7f576974686472617720776173206e6f74207375636365737366756c0000000000600082015250565b600061162b601b8361140e565b9150611636826115f5565b602082019050919050565b6000602082019050818103600083015261165a8161161e565b9050919050565b7f546865206c656e677468206f6620746865206172726179206973206e6f74207460008201527f68652073616d6520617320746865206e756d626572206f66207061636b61676560208201527f7300000000000000000000000000000000000000000000000000000000000000604082015250565b60006116e360418361140e565b91506116ee82611661565b606082019050919050565b60006020820190508181036000830152611712816116d6565b9050919050565b600061172482610e8b565b915061172f83610e8b565b925082820261173d81610e8b565b915082820484148315176117545761175361154c565b5b5092915050565b600061176682610e8b565b915061177183610e8b565b92508282019050808211156117895761178861154c565b5b92915050565b600061179a82610ebf565b915060ff82036117ad576117ac61154c565b5b600182019050919050565b7f56616c75652073656e74206973206e6f74206578616374000000000000000000600082015250565b60006117ee60178361140e565b91506117f9826117b8565b602082019050919050565b6000602082019050818103600083015261181d816117e1565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600061185c8383610f25565b60208301905092915050565b6000602082019050919050565b600061188082611824565b61188a818561182f565b935061189583611840565b8060005b838110156118c65781516118ad8882611850565b97506118b883611868565b925050600181019050611899565b5085935050505092915050565b60006080820190506118e860008301876113bb565b81810360208301526118fa8186611875565b90506119096040830185610e95565b6119166060830184610e95565b95945050505050565b7f4d616e61207175616e7469747920616e6420707269636573206172726179732060008201527f6d7573742068617665207468652073616d65206c656e67746800000000000000602082015250565b600061197b60398361140e565b91506119868261191f565b604082019050919050565b600060208201905081810360008301526119aa8161196e565b9050919050565b7f4d616e61207175616e7469747920616e6420707269636573206172726179732060008201527f6d7573742062652073616d65206c656e67746820617320706b67517479000000602082015250565b6000611a0d603d8361140e565b9150611a18826119b1565b604082019050919050565b60006020820190508181036000830152611a3c81611a00565b9050919050565b7f576974686472617720616c6c20776173206e6f74207375636365737366756c00600082015250565b6000611a79601f8361140e565b9150611a8482611a43565b602082019050919050565b60006020820190508181036000830152611aa881611a6c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611b0b60268361140e565b9150611b1682611aaf565b604082019050919050565b60006020820190508181036000830152611b3a81611afe565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b7760208361140e565b9150611b8282611b41565b602082019050919050565b60006020820190508181036000830152611ba681611b6a565b905091905056fea2646970667358221220467db2f80c28e3e50b91e4e8f4d14ce7a5a11b44984b68ec538f7b865a6b327664736f6c63430008120033
Deployed Bytecode
0x6080604052600436106100fe5760003560e01c8063715018a61161009557806385535cc51161006457806385535cc5146103025780638b7afe2e1461032b5780638da5cb5b14610356578063c216212a14610381578063f2fde38b146103bf576100fe565b8063715018a6146102805780637946035114610297578063800a9cdd146102c2578063853828b6146102eb576100fe565b806349e51fad116100d157806349e51fad146101d157806358f1ed01146101ed5780635c05a89f1461022a5780636f7e05ea14610255576100fe565b80630e31b49f146101035780631f999818146101405780632e1a7d4d1461017d578063430bf08a146101a6575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190610e5e565b6103e8565b6040516101379190610ea4565b60405180910390f35b34801561014c57600080fd5b5061016760048036038101906101629190610ef8565b610400565b6040516101749190610f63565b60405180910390f35b34801561018957600080fd5b506101a4600480360381019061019f9190610faa565b61049d565b005b3480156101b257600080fd5b506101bb6105d5565b6040516101c89190610ff8565b60405180910390f35b6101eb60048036038101906101e6919061116c565b6105fb565b005b3480156101f957600080fd5b50610214600480360381019061020f9190610e5e565b610818565b6040516102219190610ea4565b60405180910390f35b34801561023657600080fd5b5061023f610861565b60405161024c9190611293565b60405180910390f35b34801561026157600080fd5b5061026a6108d4565b60405161027791906112c4565b60405180910390f35b34801561028c57600080fd5b506102956108e7565b005b3480156102a357600080fd5b506102ac6108fb565b6040516102b991906112c4565b60405180910390f35b3480156102ce57600080fd5b506102e960048036038101906102e4919061133a565b610912565b005b3480156102f757600080fd5b50610300610a6d565b005b34801561030e57600080fd5b5061032960048036038101906103249190610e5e565b610b56565b005b34801561033757600080fd5b50610340610ba2565b60405161034d9190610ea4565b60405180910390f35b34801561036257600080fd5b5061036b610ba8565b60405161037891906113ca565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a39190610faa565b610bd1565b6040516103b69291906113e5565b60405180910390f35b3480156103cb57600080fd5b506103e660048036038101906103e19190610e5e565b610c05565b005b60036020528060005260406000206000915090505481565b610408610dd2565b6006805490508260ff1610610452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044990611491565b60405180910390fd5b60068260ff1681548110610469576104686114b1565b5b9060005260206000209060020201604051806040016040529081600082015481526020016001820154815250509050919050565b6104a5610c88565b6002548111156104ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e19061152c565b60405180910390fd5b80600260008282546104fc919061157b565b925050819055506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161054b906115e0565b60006040518083038185875af1925050503d8060008114610588576040519150601f19603f3d011682016040523d82523d6000602084013e61058d565b606091505b50509050806105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611641565b60405180910390fd5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600680549050815114610643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063a906116f9565b60405180910390fd5b60008060005b83518160ff16101561072457838160ff168151811061066b5761066a6114b1565b5b602002602001015160068260ff168154811061068a576106896114b1565b5b9060005260206000209060020201600101546106a69190611719565b836106b1919061175b565b9250838160ff16815181106106c9576106c86114b1565b5b602002602001015160068260ff16815481106106e8576106e76114b1565b5b9060005260206000209060020201600001546107049190611719565b8261070f919061175b565b9150808061071c9061178f565b915050610649565b50813414610767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e90611804565b60405180910390fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107b6919061175b565b9250508190555081600260008282546107cf919061175b565b925050819055507f64131d7433d64d592fad1870936554cdb1b7276a745cb4795b36678fc5237f883384848460405161080b94939291906118d3565b60405180910390a1505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606006805480602002602001604051908101604052809291908181526020016000905b828210156108cb57838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610885565b50505050905090565b600560009054906101000a900460ff1681565b6108ef610c88565b6108f96000610d06565b565b6000600560009054906101000a900460ff16905090565b61091a610c88565b818190508484905014610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095990611991565b60405180910390fd5b600560009054906101000a900460ff1660ff1684849050146109b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b090611a23565b60405180910390fd5b60005b848490508160ff161015610a6657604051806040016040528086868460ff168181106109eb576109ea6114b1565b5b90506020020135815260200184848460ff16818110610a0d57610a0c6114b1565b5b9050602002013581525060068260ff1681548110610a2e57610a2d6114b1565b5b906000526020600020906002020160008201518160000155602082015181600101559050508080610a5e9061178f565b9150506109bc565b5050505050565b610a75610c88565b6000600254905060006002819055506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051610acc906115e0565b60006040518083038185875af1925050503d8060008114610b09576040519150601f19603f3d011682016040523d82523d6000602084013e610b0e565b606091505b5050905080610b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4990611a8f565b60405180910390fd5b5050565b610b5e610c88565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60025481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60068181548110610be157600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b610c0d610c88565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7390611b21565b60405180910390fd5b610c8581610d06565b50565b610c90610dca565b73ffffffffffffffffffffffffffffffffffffffff16610cae610ba8565b73ffffffffffffffffffffffffffffffffffffffff1614610d04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfb90611b8d565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b604051806040016040528060008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e2b82610e00565b9050919050565b610e3b81610e20565b8114610e4657600080fd5b50565b600081359050610e5881610e32565b92915050565b600060208284031215610e7457610e73610df6565b5b6000610e8284828501610e49565b91505092915050565b6000819050919050565b610e9e81610e8b565b82525050565b6000602082019050610eb96000830184610e95565b92915050565b600060ff82169050919050565b610ed581610ebf565b8114610ee057600080fd5b50565b600081359050610ef281610ecc565b92915050565b600060208284031215610f0e57610f0d610df6565b5b6000610f1c84828501610ee3565b91505092915050565b610f2e81610e8b565b82525050565b604082016000820151610f4a6000850182610f25565b506020820151610f5d6020850182610f25565b50505050565b6000604082019050610f786000830184610f34565b92915050565b610f8781610e8b565b8114610f9257600080fd5b50565b600081359050610fa481610f7e565b92915050565b600060208284031215610fc057610fbf610df6565b5b6000610fce84828501610f95565b91505092915050565b6000610fe282610e00565b9050919050565b610ff281610fd7565b82525050565b600060208201905061100d6000830184610fe9565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61106182611018565b810181811067ffffffffffffffff821117156110805761107f611029565b5b80604052505050565b6000611093610dec565b905061109f8282611058565b919050565b600067ffffffffffffffff8211156110bf576110be611029565b5b602082029050602081019050919050565b600080fd5b60006110e86110e3846110a4565b611089565b9050808382526020820190506020840283018581111561110b5761110a6110d0565b5b835b8181101561113457806111208882610f95565b84526020840193505060208101905061110d565b5050509392505050565b600082601f83011261115357611152611013565b5b81356111638482602086016110d5565b91505092915050565b60006020828403121561118257611181610df6565b5b600082013567ffffffffffffffff8111156111a05761119f610dfb565b5b6111ac8482850161113e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6040820160008201516111f76000850182610f25565b50602082015161120a6020850182610f25565b50505050565b600061121c83836111e1565b60408301905092915050565b6000602082019050919050565b6000611240826111b5565b61124a81856111c0565b9350611255836111d1565b8060005b8381101561128657815161126d8882611210565b975061127883611228565b925050600181019050611259565b5085935050505092915050565b600060208201905081810360008301526112ad8184611235565b905092915050565b6112be81610ebf565b82525050565b60006020820190506112d960008301846112b5565b92915050565b600080fd5b60008083601f8401126112fa576112f9611013565b5b8235905067ffffffffffffffff811115611317576113166112df565b5b602083019150836020820283011115611333576113326110d0565b5b9250929050565b6000806000806040858703121561135457611353610df6565b5b600085013567ffffffffffffffff81111561137257611371610dfb565b5b61137e878288016112e4565b9450945050602085013567ffffffffffffffff8111156113a1576113a0610dfb565b5b6113ad878288016112e4565b925092505092959194509250565b6113c481610e20565b82525050565b60006020820190506113df60008301846113bb565b92915050565b60006040820190506113fa6000830185610e95565b6114076020830184610e95565b9392505050565b600082825260208201905092915050565b7f54686520706b674964206d75737420626520696e207468652073697a65206f6660008201527f20746865207061636b6167657320617272617900000000000000000000000000602082015250565b600061147b60338361140e565b91506114868261141f565b604082019050919050565b600060208201905081810360008301526114aa8161146e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f496e73756666696369656e7420636f6e74726163742062616c616e6365000000600082015250565b6000611516601d8361140e565b9150611521826114e0565b602082019050919050565b6000602082019050818103600083015261154581611509565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061158682610e8b565b915061159183610e8b565b92508282039050818111156115a9576115a861154c565b5b92915050565b600081905092915050565b50565b60006115ca6000836115af565b91506115d5826115ba565b600082019050919050565b60006115eb826115bd565b9150819050919050565b7f576974686472617720776173206e6f74207375636365737366756c0000000000600082015250565b600061162b601b8361140e565b9150611636826115f5565b602082019050919050565b6000602082019050818103600083015261165a8161161e565b9050919050565b7f546865206c656e677468206f6620746865206172726179206973206e6f74207460008201527f68652073616d6520617320746865206e756d626572206f66207061636b61676560208201527f7300000000000000000000000000000000000000000000000000000000000000604082015250565b60006116e360418361140e565b91506116ee82611661565b606082019050919050565b60006020820190508181036000830152611712816116d6565b9050919050565b600061172482610e8b565b915061172f83610e8b565b925082820261173d81610e8b565b915082820484148315176117545761175361154c565b5b5092915050565b600061176682610e8b565b915061177183610e8b565b92508282019050808211156117895761178861154c565b5b92915050565b600061179a82610ebf565b915060ff82036117ad576117ac61154c565b5b600182019050919050565b7f56616c75652073656e74206973206e6f74206578616374000000000000000000600082015250565b60006117ee60178361140e565b91506117f9826117b8565b602082019050919050565b6000602082019050818103600083015261181d816117e1565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600061185c8383610f25565b60208301905092915050565b6000602082019050919050565b600061188082611824565b61188a818561182f565b935061189583611840565b8060005b838110156118c65781516118ad8882611850565b97506118b883611868565b925050600181019050611899565b5085935050505092915050565b60006080820190506118e860008301876113bb565b81810360208301526118fa8186611875565b90506119096040830185610e95565b6119166060830184610e95565b95945050505050565b7f4d616e61207175616e7469747920616e6420707269636573206172726179732060008201527f6d7573742068617665207468652073616d65206c656e67746800000000000000602082015250565b600061197b60398361140e565b91506119868261191f565b604082019050919050565b600060208201905081810360008301526119aa8161196e565b9050919050565b7f4d616e61207175616e7469747920616e6420707269636573206172726179732060008201527f6d7573742062652073616d65206c656e67746820617320706b67517479000000602082015250565b6000611a0d603d8361140e565b9150611a18826119b1565b604082019050919050565b60006020820190508181036000830152611a3c81611a00565b9050919050565b7f576974686472617720616c6c20776173206e6f74207375636365737366756c00600082015250565b6000611a79601f8361140e565b9150611a8482611a43565b602082019050919050565b60006020820190508181036000830152611aa881611a6c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611b0b60268361140e565b9150611b1682611aaf565b604082019050919050565b60006020820190508181036000830152611b3a81611afe565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b7760208361140e565b9150611b8282611b41565b602082019050919050565b60006020820190508181036000830152611ba681611b6a565b905091905056fea2646970667358221220467db2f80c28e3e50b91e4e8f4d14ce7a5a11b44984b68ec538f7b865a6b327664736f6c63430008120033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 29 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.