Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 231 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Multi Handler Sw... | 12839665 | 1688 days ago | IN | 0 ETH | 0.0018973 | ||||
| Multi Handler Sw... | 12832859 | 1689 days ago | IN | 0 ETH | 0.00279602 | ||||
| Multi Handler Sw... | 12820557 | 1691 days ago | IN | 0 ETH | 0.00159772 | ||||
| Multi Handler Sw... | 12820322 | 1691 days ago | IN | 0 ETH | 0.00163118 | ||||
| Multi Handler Sw... | 12818968 | 1692 days ago | IN | 0 ETH | 0.00154779 | ||||
| Multi Handler Sw... | 12814516 | 1692 days ago | IN | 0 ETH | 0.00115335 | ||||
| Multi Handler Sw... | 12808368 | 1693 days ago | IN | 0 ETH | 0.00049929 | ||||
| Multi Handler Sw... | 12802463 | 1694 days ago | IN | 0 ETH | 0.00049929 | ||||
| Multi Handler Sw... | 12800327 | 1695 days ago | IN | 0 ETH | 0.00079886 | ||||
| Multi Handler Sw... | 12797978 | 1695 days ago | IN | 0 ETH | 0.00059914 | ||||
| Multi Handler Sw... | 12797151 | 1695 days ago | IN | 0 ETH | 0.00074893 | ||||
| Multi Handler Sw... | 12795758 | 1695 days ago | IN | 0 ETH | 0.00093367 | ||||
| Multi Handler Sw... | 12794933 | 1695 days ago | IN | 0 ETH | 0.00109843 | ||||
| Multi Handler Sw... | 12791480 | 1696 days ago | IN | 0 ETH | 0.0010485 | ||||
| Multi Handler Sw... | 12784780 | 1697 days ago | IN | 0 ETH | 0.0010485 | ||||
| Multi Handler Sw... | 12784220 | 1697 days ago | IN | 0 ETH | 0.00169758 | ||||
| Multi Handler Sw... | 12782637 | 1697 days ago | IN | 0 ETH | 0.00131812 | ||||
| Multi Handler Sw... | 12782378 | 1697 days ago | IN | 0 ETH | 0.00169758 | ||||
| Multi Handler Sw... | 12781847 | 1697 days ago | IN | 0 ETH | 0.00216192 | ||||
| Multi Handler Sw... | 12781382 | 1698 days ago | IN | 0 ETH | 0.0025963 | ||||
| Multi Handler Sw... | 12779124 | 1698 days ago | IN | 0 ETH | 0.0018973 | ||||
| Multi Handler Sw... | 12776240 | 1698 days ago | IN | 0 ETH | 0.0022468 | ||||
| Multi Handler Sw... | 12775672 | 1698 days ago | IN | 0 ETH | 0.00279602 | ||||
| Multi Handler Sw... | 12774622 | 1699 days ago | IN | 0 ETH | 0.00324538 | ||||
| Multi Handler Sw... | 12772494 | 1699 days ago | IN | 0 ETH | 0.00059914 |
Latest 25 internal transactions (View All)
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x069Fffc9...0E37167fE The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
PaymentMaster
Compiler Version
v0.5.1+commit.c8a2cb62
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-04-21
*/
// File: openzeppelin-solidity/contracts/ownership/Ownable.sol
pragma solidity ^0.5.0;
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor () internal {
_owner = msg.sender;
emit OwnershipTransferred(address(0), _owner);
}
/**
* @return the address of the owner.
*/
function owner() public view returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(isOwner());
_;
}
/**
* @return true if `msg.sender` is the owner of the contract.
*/
function isOwner() public view returns (bool) {
return msg.sender == _owner;
}
/**
* @dev Allows the current owner to relinquish control of the contract.
* @notice Renouncing to ownership will leave the contract without an owner.
* It will not be possible to call the functions with the `onlyOwner`
* modifier anymore.
*/
function renounceOwnership() public onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
_transferOwnership(newOwner);
}
/**
* @dev Transfers control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function _transferOwnership(address newOwner) internal {
require(newOwner != address(0));
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
// File: openzeppelin-solidity/contracts/token/ERC20/IERC20.sol
pragma solidity ^0.5.0;
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
*/
interface IERC20 {
function transfer(address to, uint256 value) external returns (bool);
function approve(address spender, uint256 value) external returns (bool);
function transferFrom(address from, address to, uint256 value) external returns (bool);
function totalSupply() external view returns (uint256);
function balanceOf(address who) external view returns (uint256);
function allowance(address owner, address spender) external view returns (uint256);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
// File: contracts/PaymentHandler.sol
pragma solidity ^0.5.0;
/**
* The payment handler is responsible for receiving payments.
* If the payment is in ETH, it auto forwards to its parent master's owner.
* If the payment is in ERC20, it holds the tokens until it is asked to sweep.
* It can only sweep ERC20s to the parent master's owner.
*/
contract PaymentHandler {
// Keep track of the parent master contract - cannot be changed once set
PaymentMaster public master;
/**
* General constructor called by the master
*/
constructor(PaymentMaster _master) public {
master = _master;
}
/**
* Helper function to return the parent master's address
*/
function getMasterAddress() public view returns (address) {
return address(master);
}
/**
* Default payable function - forwards to the owner and triggers event
*/
function() external payable {
// Get the parent master's owner address - explicity convert to payable
address payable ownerAddress = address(uint160(master.owner()));
// Forward the funds to the owner
ownerAddress.transfer(msg.value);
// Trigger the event notification in the parent master
master.firePaymentReceivedEvent(address(this), msg.sender, msg.value);
}
/**
* Sweep any tokens to the owner of the master
*/
function sweepTokens(IERC20 token) public {
// Get the owner address
address ownerAddress = master.owner();
// Get the current balance
uint balance = token.balanceOf(address(this));
// Transfer to the owner
token.transfer(ownerAddress, balance);
}
}
// File: contracts/PaymentMaster.sol
pragma solidity ^0.5.0;
/**
* The PaymentMaster sits above the payment handler contracts.
* It deploys and keeps track of all the handlers.
* It can trigger events by child handlers when they receive ETH.
* It allows ERC20 tokens to be swept in bulk to the owner account.
*/
contract PaymentMaster is Ownable {
// A list of handler addresses for retrieval
address[] public handlerList;
// A mapping of handler addresses for lookups
mapping(address => bool) public handlerMap;
// Events triggered for listeners
event HandlerCreated(address indexed _addr);
event EthPaymentReceived(address indexed _to, address indexed _from, uint256 _amount);
/**
* Anyone can call the function to deploy a new payment handler.
* The new contract will be created, added to the list, and an event fired.
*/
function deployNewHandler() public {
// Deploy the new contract
PaymentHandler createdHandler = new PaymentHandler(this);
// Add it to the list and the mapping
handlerList.push(address(createdHandler));
handlerMap[address(createdHandler)] = true;
// Emit event to let watchers know that a new handler was created
emit HandlerCreated(address(createdHandler));
}
/**
* This is a convenience method to allow watchers to get the entire list
*/
function getHandlerList() public view returns (address[] memory) {
// Return the entire list
return handlerList;
}
/**
* Allows caller to determine how long the handler list is for convenience
*/
function getHandlerListLength() public view returns (uint) {
return handlerList.length;
}
/**
* This function is called by handlers when they receive ETH payments.
*/
function firePaymentReceivedEvent(address to, address from, uint256 amount) public {
// Verify the call is coming from a handler
require(handlerMap[msg.sender], "Only payment handlers are allowed to trigger payment events.");
// Emit the event
emit EthPaymentReceived(to, from, amount);
}
/**
* Allows a caller to sweep multiple handlers in one transaction
*/
function multiHandlerSweep(address[] memory handlers, IERC20 tokenContract) public {
for (uint i = 0; i < handlers.length; i++) {
// Whitelist calls to only handlers
require(handlerMap[handlers[i]], "Only payment handlers are valid sweep targets.");
// Trigger sweep
PaymentHandler(address(uint160(handlers[i]))).sweepTokens(tokenContract);
}
}
/**
* Safety function to allow sweep of ERC20s if accidentally sent to this contract
*/
function sweepTokens(IERC20 token) public {
// Get the current balance
uint balance = token.balanceOf(address(this));
// Transfer to the owner
token.transfer(this.owner(), balance);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"handlers","type":"address[]"},{"name":"tokenContract","type":"address"}],"name":"multiHandlerSweep","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getHandlerListLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"handlerMap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"handlerList","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"from","type":"address"},{"name":"amount","type":"uint256"}],"name":"firePaymentReceivedEvent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getHandlerList","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"deployNewHandler","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"}],"name":"sweepTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_addr","type":"address"}],"name":"HandlerCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"EthPaymentReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]Contract Creation Code
0x6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3611674806100cf6000396000f3fe6080604052600436106100b4576000357c0100000000000000000000000000000000000000000000000000000000900480630767abb8146100b957806323e776d31461019e5780634592e804146101c9578063715018a6146102325780638da5cb5b146102495780638f32d59b146102a0578063a453b36a146102cf578063a7f068191461034a578063abb82dc1146103c5578063adbbea0114610431578063f2fde38b14610448578063f5f6d3af14610499575b600080fd5b3480156100c557600080fd5b5061019c600480360360408110156100dc57600080fd5b81019080803590602001906401000000008111156100f957600080fd5b82018360208201111561010b57600080fd5b8035906020019184602083028401116401000000008311171561012d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104ea565b005b3480156101aa57600080fd5b506101b36106d3565b6040518082815260200191505060405180910390f35b3480156101d557600080fd5b50610218600480360360208110156101ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106e0565b604051808215151515815260200191505060405180910390f35b34801561023e57600080fd5b50610247610700565b005b34801561025557600080fd5b5061025e6107d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ac57600080fd5b506102b56107fb565b604051808215151515815260200191505060405180910390f35b3480156102db57600080fd5b50610308600480360360208110156102f257600080fd5b8101908080359060200190929190505050610852565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035657600080fd5b506103c36004803603606081101561036d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610890565b005b3480156103d157600080fd5b506103da6109e1565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561041d578082015181840152602081019050610402565b505050509050019250505060405180910390f35b34801561043d57600080fd5b50610446610a6f565b005b34801561045457600080fd5b506104976004803603602081101561046b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bd3565b005b3480156104a557600080fd5b506104e8600480360360208110156104bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf2565b005b60008090505b82518110156106ce5760026000848381518110151561050b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f4f6e6c79207061796d656e742068616e646c657273206172652076616c69642081526020017f737765657020746172676574732e00000000000000000000000000000000000081525060400191505060405180910390fd5b828181518110151561060557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1663f5f6d3af836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156106a957600080fd5b505af11580156106bd573d6000803e3d6000fd5b5050505080806001019150506104f0565b505050565b6000600180549050905090565b60026020528060005260406000206000915054906101000a900460ff1681565b6107086107fb565b151561071357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60018181548110151561086157fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c8152602001807f4f6e6c79207061796d656e742068616e646c6572732061726520616c6c6f776581526020017f6420746f2074726967676572207061796d656e74206576656e74732e0000000081525060400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f70b67bbcbad3ba1d594851292e63d6c097ecab60959bc60ee58beb4a1c22c9ad836040518082815260200191505060405180910390a3505050565b60606001805480602002602001604051908101604052809291908181526020018280548015610a6557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610a1b575b5050505050905090565b600030610a7a610f43565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080158015610acc573d6000803e3d6000fd5b50905060018190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fef16b2ba030a7be9f6d0b1961285ee1b06631fc3a5bc49b1c9c3ed6a6018a22060405160405180910390a250565b610bdb6107fb565b1515610be657600080fd5b610bef81610e49565b50565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c8d57600080fd5b505afa158015610ca1573d6000803e3d6000fd5b505050506040513d6020811015610cb757600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015610d4857600080fd5b505afa158015610d5c573d6000803e3d6000fd5b505050506040513d6020811015610d7257600080fd5b8101908080519060200190929190505050836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610e0957600080fd5b505af1158015610e1d573d6000803e3d6000fd5b505050506040513d6020811015610e3357600080fd5b8101908080519060200190929190505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e8557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040516106f580610f548339019056fe608060405234801561001057600080fd5b506040516020806106f58339810180604052602081101561003057600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610664806100916000396000f3fe608060405260043610610051576000357c0100000000000000000000000000000000000000000000000000000000900480630d25a1411461026d578063ee97f7f3146102c4578063f5f6d3af1461031b575b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156100d657600080fd5b505afa1580156100ea573d6000803e3d6000fd5b505050506040513d602081101561010057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610159573d6000803e3d6000fd5b506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7f068193033346040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b5050505050005b34801561027957600080fd5b5061028261036c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d057600080fd5b506102d9610395565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032757600080fd5b5061036a6004803603602081101561033e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103ba565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561043f57600080fd5b505afa158015610453573d6000803e3d6000fd5b505050506040513d602081101561046957600080fd5b8101908080519060200190929190505050905060008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d602081101561054157600080fd5b810190808051906020019092919050505090508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156105f757600080fd5b505af115801561060b573d6000803e3d6000fd5b505050506040513d602081101561062157600080fd5b81019080805190602001909291905050505050505056fea165627a7a72305820b833b784363b7ddbba5ee67ac3f203a4e1e179dc3fd6cc76afd2e7d214ee00520029a165627a7a72305820e67c364817e6ffd0d4204ab5ffbaefa4b9920d4ba927692444d171d6739a0da20029
Deployed Bytecode
0x6080604052600436106100b4576000357c0100000000000000000000000000000000000000000000000000000000900480630767abb8146100b957806323e776d31461019e5780634592e804146101c9578063715018a6146102325780638da5cb5b146102495780638f32d59b146102a0578063a453b36a146102cf578063a7f068191461034a578063abb82dc1146103c5578063adbbea0114610431578063f2fde38b14610448578063f5f6d3af14610499575b600080fd5b3480156100c557600080fd5b5061019c600480360360408110156100dc57600080fd5b81019080803590602001906401000000008111156100f957600080fd5b82018360208201111561010b57600080fd5b8035906020019184602083028401116401000000008311171561012d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104ea565b005b3480156101aa57600080fd5b506101b36106d3565b6040518082815260200191505060405180910390f35b3480156101d557600080fd5b50610218600480360360208110156101ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106e0565b604051808215151515815260200191505060405180910390f35b34801561023e57600080fd5b50610247610700565b005b34801561025557600080fd5b5061025e6107d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ac57600080fd5b506102b56107fb565b604051808215151515815260200191505060405180910390f35b3480156102db57600080fd5b50610308600480360360208110156102f257600080fd5b8101908080359060200190929190505050610852565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035657600080fd5b506103c36004803603606081101561036d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610890565b005b3480156103d157600080fd5b506103da6109e1565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561041d578082015181840152602081019050610402565b505050509050019250505060405180910390f35b34801561043d57600080fd5b50610446610a6f565b005b34801561045457600080fd5b506104976004803603602081101561046b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bd3565b005b3480156104a557600080fd5b506104e8600480360360208110156104bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf2565b005b60008090505b82518110156106ce5760026000848381518110151561050b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f4f6e6c79207061796d656e742068616e646c657273206172652076616c69642081526020017f737765657020746172676574732e00000000000000000000000000000000000081525060400191505060405180910390fd5b828181518110151561060557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1663f5f6d3af836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156106a957600080fd5b505af11580156106bd573d6000803e3d6000fd5b5050505080806001019150506104f0565b505050565b6000600180549050905090565b60026020528060005260406000206000915054906101000a900460ff1681565b6107086107fb565b151561071357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60018181548110151561086157fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c8152602001807f4f6e6c79207061796d656e742068616e646c6572732061726520616c6c6f776581526020017f6420746f2074726967676572207061796d656e74206576656e74732e0000000081525060400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f70b67bbcbad3ba1d594851292e63d6c097ecab60959bc60ee58beb4a1c22c9ad836040518082815260200191505060405180910390a3505050565b60606001805480602002602001604051908101604052809291908181526020018280548015610a6557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610a1b575b5050505050905090565b600030610a7a610f43565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080158015610acc573d6000803e3d6000fd5b50905060018190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fef16b2ba030a7be9f6d0b1961285ee1b06631fc3a5bc49b1c9c3ed6a6018a22060405160405180910390a250565b610bdb6107fb565b1515610be657600080fd5b610bef81610e49565b50565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c8d57600080fd5b505afa158015610ca1573d6000803e3d6000fd5b505050506040513d6020811015610cb757600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015610d4857600080fd5b505afa158015610d5c573d6000803e3d6000fd5b505050506040513d6020811015610d7257600080fd5b8101908080519060200190929190505050836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610e0957600080fd5b505af1158015610e1d573d6000803e3d6000fd5b505050506040513d6020811015610e3357600080fd5b8101908080519060200190929190505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e8557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040516106f580610f548339019056fe608060405234801561001057600080fd5b506040516020806106f58339810180604052602081101561003057600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610664806100916000396000f3fe608060405260043610610051576000357c0100000000000000000000000000000000000000000000000000000000900480630d25a1411461026d578063ee97f7f3146102c4578063f5f6d3af1461031b575b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156100d657600080fd5b505afa1580156100ea573d6000803e3d6000fd5b505050506040513d602081101561010057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610159573d6000803e3d6000fd5b506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7f068193033346040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b5050505050005b34801561027957600080fd5b5061028261036c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d057600080fd5b506102d9610395565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032757600080fd5b5061036a6004803603602081101561033e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103ba565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561043f57600080fd5b505afa158015610453573d6000803e3d6000fd5b505050506040513d602081101561046957600080fd5b8101908080519060200190929190505050905060008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d602081101561054157600080fd5b810190808051906020019092919050505090508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156105f757600080fd5b505af115801561060b573d6000803e3d6000fd5b505050506040513d602081101561062157600080fd5b81019080805190602001909291905050505050505056fea165627a7a72305820b833b784363b7ddbba5ee67ac3f203a4e1e179dc3fd6cc76afd2e7d214ee00520029a165627a7a72305820e67c364817e6ffd0d4204ab5ffbaefa4b9920d4ba927692444d171d6739a0da20029
Deployed Bytecode Sourcemap
5033:2497:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6855:372;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6855:372:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6855:372:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6855:372:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6855:372:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6855:372:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6855:372:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6283:94;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6283:94:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5203:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5203:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5203:42:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1462:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1462:140:0;;;:::i;:::-;;749:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;749:79:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1084:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1084:92:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5121:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5121:28:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5121:28:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6467:304;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6467:304:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6467:304:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6061:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6061:128:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6061:128:0;;;;;;;;;;;;;;;;;5582:387;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5582:387:0;;;:::i;:::-;;1779:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1779:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1779:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7328:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7328:199:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7328:199:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6855:372;6948:6;6957:1;6948:10;;6943:280;6964:8;:15;6960:1;:19;6943:280;;;7042:10;:23;7053:8;7062:1;7053:11;;;;;;;;;;;;;;;;;;7042:23;;;;;;;;;;;;;;;;;;;;;;;;;7034:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7176:8;7185:1;7176:11;;;;;;;;;;;;;;;;;;7145:57;;;7203:13;7145:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7145:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7145:72:0;;;;6981:3;;;;;;;6943:280;;;;6855:372;;:::o;6283:94::-;6336:4;6354:11;:18;;;;6347:25;;6283:94;:::o;5203:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;1462:140::-;961:9;:7;:9::i;:::-;953:18;;;;;;;;1561:1;1524:40;;1545:6;;;;;;;;;;;1524:40;;;;;;;;;;;;1592:1;1575:6;;:19;;;;;;;;;;;;;;;;;;1462:140::o;749:79::-;787:7;814:6;;;;;;;;;;;807:13;;749:79;:::o;1084:92::-;1124:4;1162:6;;;;;;;;;;;1148:20;;:10;:20;;;1141:27;;1084:92;:::o;5121:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6467:304::-;6610:10;:22;6621:10;6610:22;;;;;;;;;;;;;;;;;;;;;;;;;6602:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6753:4;6730:36;;6749:2;6730:36;;;6759:6;6730:36;;;;;;;;;;;;;;;;;;6467:304;;;:::o;6061:128::-;6108:16;6172:11;6165:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6061:128;:::o;5582:387::-;5652:29;5703:4;5684:24;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5684:24:0;5652:56;;5756:11;5781:14;5756:41;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;5756:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5840:4;5802:10;:35;5821:14;5802:35;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;5948:14;5925:39;;;;;;;;;;;;5582:387;:::o;1779:109::-;961:9;:7;:9::i;:::-;953:18;;;;;;;;1852:28;1871:8;1852:18;:28::i;:::-;1779:109;:::o;7328:199::-;7405:12;7420:5;:15;;;7444:4;7420:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7420:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7420:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7420:30:0;;;;;;;;;;;;;;;;7405:45;;7485:5;:14;;;7500:4;:10;;;:12;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7500:12:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7500:12:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7500:12:0;;;;;;;;;;;;;;;;7514:7;7485:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7485:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7485:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7485:37:0;;;;;;;;;;;;;;;;;7328:199;;:::o;2038:187::-;2132:1;2112:22;;:8;:22;;;;2104:31;;;;;;;;2180:8;2151:38;;2172:6;;;;;;;;;;;2151:38;;;;;;;;;;;;2209:8;2200:6;;:17;;;;;;;;;;;;;;;;;;2038:187;:::o;5033:2497::-;;;;;;;;;;:::o
Swarm Source
bzzr://e67c364817e6ffd0d4204ab5ffbaefa4b9920d4ba927692444d171d6739a0da2
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.