Source Code
Latest 25 from a total of 3,270 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Buyback | 6673788 | 2686 days ago | IN | 0 ETH | 0.00014231 | ||||
| Buyback | 6586365 | 2701 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580226 | 2702 days ago | IN | 0 ETH | 0.00019212 | ||||
| Buyback | 6580212 | 2702 days ago | IN | 0 ETH | 0.00019212 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00028462 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00069012 | ||||
| Buyback | 6580208 | 2702 days ago | IN | 0 ETH | 0.00050086 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 6580208 | 2702 days ago | 0.00534899 ETH | ||||
| Transfer | 6580208 | 2702 days ago | 0.0691085 ETH | ||||
| Transfer | 6580208 | 2702 days ago | 0.0691085 ETH | ||||
| Transfer | 6580208 | 2702 days ago | 0.0691085 ETH | ||||
| Transfer | 6580208 | 2702 days ago | 0.0691085 ETH | ||||
| Transfer | 6580208 | 2702 days ago | 0.0691085 ETH | ||||
| Transfer | 6580208 | 2702 days ago | 0.0691085 ETH | ||||
| Transfer | 6574092 | 2703 days ago | 0.06678299 ETH | ||||
| Transfer | 6574092 | 2703 days ago | 0.0691085 ETH | ||||
| Transfer | 6574092 | 2703 days ago | 0.0691085 ETH | ||||
| Transfer | 6570001 | 2703 days ago | 0.02267449 ETH | ||||
| Transfer | 6570001 | 2703 days ago | 0.0691085 ETH | ||||
| Transfer | 6570001 | 2703 days ago | 0.0691085 ETH | ||||
| Transfer | 6570001 | 2703 days ago | 0.0691085 ETH | ||||
| Transfer | 6567978 | 2704 days ago | 0.06138797 ETH | ||||
| Transfer | 6567978 | 2704 days ago | 0.06830601 ETH | ||||
| Transfer | 6567978 | 2704 days ago | 0.06830601 ETH | ||||
| Transfer | 6563844 | 2704 days ago | 0.05277595 ETH | ||||
| Transfer | 6563844 | 2704 days ago | 0.06830601 ETH | ||||
| Transfer | 6563842 | 2704 days ago | 0.06830601 ETH | ||||
| Transfer | 6563842 | 2704 days ago | 0.06830601 ETH | ||||
| Transfer | 6563842 | 2704 days ago | 0.06830601 ETH | ||||
| Transfer | 6561864 | 2705 days ago | 0.00280327 ETH | ||||
| Transfer | 6561864 | 2705 days ago | 0.06489071 ETH | ||||
| Transfer | 6561864 | 2705 days ago | 0.06830601 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BobBuyback
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-08-17
*/
pragma solidity ^0.4.24;
/**
* @title SafeMath
* @dev Math operations with safety checks that revert on error
*/
library SafeMath {
/**
* @dev Multiplies two numbers, reverts on overflow.
*/
function mul(uint256 _a, uint256 _b) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
if (_a == 0) {
return 0;
}
uint256 c = _a * _b;
require(c / _a == _b);
return c;
}
/**
* @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
*/
function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
require(_b > 0); // Solidity only automatically asserts when dividing by 0
uint256 c = _a / _b;
// assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
*/
function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
require(_b <= _a);
uint256 c = _a - _b;
return c;
}
/**
* @dev Adds two numbers, reverts on overflow.
*/
function add(uint256 _a, uint256 _b) internal pure returns (uint256) {
uint256 c = _a + _b;
require(c >= _a);
return c;
}
/**
* @dev Divides two numbers and returns the remainder (unsigned integer modulo),
* reverts when dividing by zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
require(b != 0);
return a % b;
}
}
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
*/
contract ERC20 {
function totalSupply() public view returns (uint256);
function balanceOf(address _who) public view returns (uint256);
function allowance(address _owner, address _spender)
public view returns (uint256);
function transfer(address _to, uint256 _value) public returns (bool);
function approve(address _spender, uint256 _value)
public returns (bool);
function transferFrom(address _from, address _to, uint256 _value)
public returns (bool);
event Transfer(
address indexed from,
address indexed to,
uint256 value
);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
/**
* @title SafeERC20
* @dev Wrappers around ERC20 operations that throw on failure.
* To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
* which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
*/
library SafeERC20 {
function safeTransfer(
ERC20 _token,
address _to,
uint256 _value
)
internal
{
require(_token.transfer(_to, _value));
}
function safeTransferFrom(
ERC20 _token,
address _from,
address _to,
uint256 _value
)
internal
{
require(_token.transferFrom(_from, _to, _value));
}
function safeApprove(
ERC20 _token,
address _spender,
uint256 _value
)
internal
{
require(_token.approve(_spender, _value));
}
}
/**
* @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 public owner;
event OwnershipRenounced(address indexed previousOwner);
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor() public {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(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 OwnershipRenounced(owner);
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;
}
}
/**
* @title Destructible
* @dev Base contract that can be destroyed by owner. All funds in contract will be sent to the owner.
*/
contract Destructible is Ownable {
/**
* @dev Transfers the current balance to the owner and terminates the contract.
*/
function destroy() public onlyOwner {
selfdestruct(owner);
}
function destroyAndSend(address _recipient) public onlyOwner {
selfdestruct(_recipient);
}
}
/**
* @title Pausable
* @dev Base contract which allows children to implement an emergency stop mechanism.
*/
contract Pausable is Ownable {
event Pause();
event Unpause();
bool public paused = false;
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*/
modifier whenNotPaused() {
require(!paused);
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*/
modifier whenPaused() {
require(paused);
_;
}
/**
* @dev called by the owner to pause, triggers stopped state
*/
function pause() onlyOwner whenNotPaused public {
paused = true;
emit Pause();
}
/**
* @dev called by the owner to unpause, returns to normal state
*/
function unpause() onlyOwner whenPaused public {
paused = false;
emit Unpause();
}
}
/**
* @title Claimable
* @dev Extension for the Ownable contract, where the ownership needs to be claimed.
* This allows the new owner to accept the transfer.
*/
contract Claimable is Ownable {
address public pendingOwner;
/**
* @dev Modifier throws if called by any account other than the pendingOwner.
*/
modifier onlyPendingOwner() {
require(msg.sender == pendingOwner);
_;
}
/**
* @dev Allows the current owner to set the pendingOwner address.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
pendingOwner = newOwner;
}
/**
* @dev Allows the pendingOwner address to finalize the transfer.
*/
function claimOwnership() public onlyPendingOwner {
emit OwnershipTransferred(owner, pendingOwner);
owner = pendingOwner;
pendingOwner = address(0);
}
}
/**
* @title Contracts that should not own Contracts
* @author Remco Bloemen <remco@2π.com>
* @dev Should contracts (anything Ownable) end up being owned by this contract, it allows the owner
* of this contract to reclaim ownership of the contracts.
*/
contract HasNoContracts is Ownable {
/**
* @dev Reclaim ownership of Ownable contracts
* @param _contractAddr The address of the Ownable to be reclaimed.
*/
function reclaimContract(address _contractAddr) external onlyOwner {
Ownable contractInst = Ownable(_contractAddr);
contractInst.transferOwnership(owner);
}
}
/**
* @title Contracts that should be able to recover tokens
* @author SylTi
* @dev This allow a contract to recover any ERC20 token received in a contract by transferring the balance to the contract owner.
* This will prevent any accidental loss of tokens.
*/
contract CanReclaimToken is Ownable {
using SafeERC20 for ERC20;
/**
* @dev Reclaim all ERC20 compatible tokens
* @param _token ERC20 The address of the token contract
*/
function reclaimToken(ERC20 _token) external onlyOwner {
uint256 balance = _token.balanceOf(this);
_token.safeTransfer(owner, balance);
}
}
/**
* Automated buy back BOB tokens
*/
contract BobBuyback is Claimable, HasNoContracts, CanReclaimToken, Destructible {
using SafeMath for uint256;
ERC20 public token; //Address of BOB token contract
uint256 public maxGasPrice; //Highest gas price allowed for buyback transaction
uint256 public maxTxValue; //Highest amount of BOB sent in one transaction
uint256 public roundStartTime; //Timestamp when buyback starts (timestamp of the first block where buyback allowed)
uint256 public rate; //1 ETH = rate BOB
event Buyback(address indexed from, uint256 amountBob, uint256 amountEther);
constructor(ERC20 _token, uint256 _maxGasPrice, uint256 _maxTxValue) public {
token = _token;
maxGasPrice = _maxGasPrice;
maxTxValue = _maxTxValue;
roundStartTime = 0;
rate = 0;
}
/**
* @notice Somebody may call this to sell his tokens
* @param _amount How much tokens to sell
* Call to token.approve() required before calling this function
*/
function buyback(uint256 _amount) external {
require(tx.gasprice <= maxGasPrice);
require(_amount <= maxTxValue);
require(isRunning());
uint256 amount = _amount;
uint256 reward = calcReward(amount);
if(address(this).balance < reward) {
//If not enough money to fill request, handle it partially
reward = address(this).balance;
amount = reward.mul(rate);
}
require(token.transferFrom(msg.sender, address(this), amount));
msg.sender.transfer(reward);
emit Buyback(msg.sender, amount, reward);
}
/**
* @notice Calculates how much ETH somebody can receive for selling amount BOB
* @param amount How much tokens to sell
*/
function calcReward(uint256 amount) view public returns(uint256) {
if(rate == 0) return 0; //Handle situation when no Buyback is planned
return amount.div(rate); //This operation may result in rounding. Which is fine here (rounded amount < rate / 10**18)
}
/**
* @notice Calculates how much BOB tokens this contract can buy (during current buyback round)
*/
function calcTokensAvailableToBuyback() view public returns(uint256) {
return address(this).balance.mul(rate);
}
/**
* @notice Checks if Buyback round is running
*/
function isRunning() view public returns(bool) {
return (rate > 0) && (now >= roundStartTime) && (address(this).balance > 0);
}
/**
* @notice Changes buyback parameters
* @param _maxGasPrice Max gas price one ca use to sell is tokens.
* @param _maxTxValue Max amount of tokens to sell in one transaction
*/
function setup(uint256 _maxGasPrice, uint256 _maxTxValue) onlyOwner external {
maxGasPrice = _maxGasPrice;
maxTxValue = _maxTxValue;
}
/**
* @notice Starts buyback at specified time, with specified rate
* @param _roundStartTime Time when Buyback round starts
* @param _rate Rate of current Buyback round (1 ETH = rate BOB). Zero means no buyback is planned.
*/
function startBuyback(uint256 _roundStartTime, uint256 _rate) onlyOwner external payable {
require(_roundStartTime > now);
roundStartTime = _roundStartTime;
rate = _rate; //Rate is not required to be > 0
}
/**
* @notice Claim all BOB tokens stored on the contract and send them to owner
*/
function claimTokens() onlyOwner external {
require(token.transfer(owner, token.balanceOf(address(this))));
}
/**
* @notice Claim some of tokens stored on the contract
* @param amount How much tokens to claim
* @param beneficiary Who to send this tokens
*/
function claimTokens(uint256 amount, address beneficiary) onlyOwner external {
require(token.transfer(beneficiary, amount));
}
/**
* @notice Transfer all Ether held by the contract to the owner.
*/
function reclaimEther() onlyOwner external {
owner.transfer(address(this).balance);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"_maxGasPrice","type":"uint256"},{"name":"_maxTxValue","type":"uint256"}],"name":"setup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"reclaimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isRunning","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_contractAddr","type":"address"}],"name":"reclaimContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_roundStartTime","type":"uint256"},{"name":"_rate","type":"uint256"}],"name":"startBuyback","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"calcTokensAvailableToBuyback","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxGasPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"amount","type":"uint256"}],"name":"calcReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"beneficiary","type":"address"}],"name":"claimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"buyback","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reclaimEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"roundStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxTxValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"destroyAndSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_token","type":"address"},{"name":"_maxGasPrice","type":"uint256"},{"name":"_maxTxValue","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"amountBob","type":"uint256"},{"indexed":false,"name":"amountEther","type":"uint256"}],"name":"Buyback","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]Contract Creation Code
608060405234801561001057600080fd5b50604051606080610ce883398101604090815281516020830151919092015160008054600160a060020a03199081163317825560028054600160a060020a0390961695909116949094179093556003919091556004556005819055600655610c6b8061007d6000396000f3006080604052600436106101195763ffffffff60e060020a6000350416630a8fed89811461011e57806317ffc3201461013b5780632014e5d11461015c5780632aed7f3f146101855780632c4e722e146101a65780632cb71af3146101cd5780633b29c470146101db5780633de39c11146101f057806348c54b9d146102055780634e71e0c81461021a578063544c465c1461022f5780636e164e2314610247578063715018a61461026b57806379a9fa1c1461028057806383197ef0146102985780638da5cb5b146102ad5780639f727c27146102de578063dd4f8f74146102f3578063e30c397814610308578063e8eecf4c1461031d578063f2fde38b14610332578063f5074f4114610353578063fc0c546a14610374575b600080fd5b34801561012a57600080fd5b50610139600435602435610389565b005b34801561014757600080fd5b50610139600160a060020a03600435166103ab565b34801561016857600080fd5b50610171610477565b604080519115158252519081900360200190f35b34801561019157600080fd5b50610139600160a060020a036004351661049e565b3480156101b257600080fd5b506101bb610538565b60408051918252519081900360200190f35b61013960043560243561053e565b3480156101e757600080fd5b506101bb61056c565b3480156101fc57600080fd5b506101bb610584565b34801561021157600080fd5b5061013961058a565b34801561022657600080fd5b506101396106c7565b34801561023b57600080fd5b506101bb60043561074f565b34801561025357600080fd5b50610139600435600160a060020a0360243516610780565b34801561027757600080fd5b5061013961083d565b34801561028c57600080fd5b506101396004356108a9565b3480156102a457600080fd5b50610139610a28565b3480156102b957600080fd5b506102c2610a4d565b60408051600160a060020a039092168252519081900360200190f35b3480156102ea57600080fd5b50610139610a5c565b3480156102ff57600080fd5b506101bb610ab1565b34801561031457600080fd5b506102c2610ab7565b34801561032957600080fd5b506101bb610ac6565b34801561033e57600080fd5b50610139600160a060020a0360043516610acc565b34801561035f57600080fd5b50610139600160a060020a0360043516610b12565b34801561038057600080fd5b506102c2610b35565b600054600160a060020a031633146103a057600080fd5b600391909155600455565b60008054600160a060020a031633146103c357600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561042457600080fd5b505af1158015610438573d6000803e3d6000fd5b505050506040513d602081101561044e57600080fd5b505160005490915061047390600160a060020a0384811691168363ffffffff610b4416565b5050565b60008060065411801561048c57506005544210155b8015610499575060003031115b905090565b60008054600160a060020a031633146104b657600080fd5b5060008054604080517ff2fde38b000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152905184939284169263f2fde38b926024808201939182900301818387803b15801561051c57600080fd5b505af1158015610530573d6000803e3d6000fd5b505050505050565b60065481565b600054600160a060020a0316331461055557600080fd5b42821161056157600080fd5b600591909155600655565b6006546000906104999030319063ffffffff610be316565b60035481565b600054600160a060020a031633146105a157600080fd5b60025460008054604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a039485169463a9059cbb9493169285926370a082319260248083019360209383900390910190829087803b15801561061557600080fd5b505af1158015610629573d6000803e3d6000fd5b505050506040513d602081101561063f57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561068e57600080fd5b505af11580156106a2573d6000803e3d6000fd5b505050506040513d60208110156106b857600080fd5b505115156106c557600080fd5b565b600154600160a060020a031633146106de57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b6000600654600014156107645750600061077b565b60065461077890839063ffffffff610c1c16565b90505b919050565b600054600160a060020a0316331461079757600080fd5b600254604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830152602482018690529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b505050506040513d602081101561083057600080fd5b5051151561047357600080fd5b600054600160a060020a0316331461085457600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000806003543a111515156108bd57600080fd5b6004548311156108cc57600080fd5b6108d4610477565b15156108df57600080fd5b8291506108eb8261074f565b90503031811115610911575060065430319061090e90829063ffffffff610be316565b91505b600254604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561098457600080fd5b505af1158015610998573d6000803e3d6000fd5b505050506040513d60208110156109ae57600080fd5b505115156109bb57600080fd5b604051339082156108fc029083906000818181858888f193505050501580156109e8573d6000803e3d6000fd5b506040805183815260208101839052815133927f2dcc2439519c7d06fca9f8ae01e07f4f3c6ca21b5cdf8eff42cb75cf34d223c9928290030190a2505050565b600054600160a060020a03163314610a3f57600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b600054600160a060020a03163314610a7357600080fd5b60008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015610aae573d6000803e3d6000fd5b50565b60055481565b600154600160a060020a031681565b60045481565b600054600160a060020a03163314610ae357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314610b2957600080fd5b80600160a060020a0316ff5b600254600160a060020a031681565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610ba757600080fd5b505af1158015610bbb573d6000803e3d6000fd5b505050506040513d6020811015610bd157600080fd5b50511515610bde57600080fd5b505050565b600080831515610bf65760009150610c15565b50828202828482811515610c0657fe5b0414610c1157600080fd5b8091505b5092915050565b600080808311610c2b57600080fd5b8284811515610c3657fe5b049493505050505600a165627a7a72305820e6f6a3ab465497fe02d2e531cf9fb68e7d68b72dec903e027ee9de8bb9b877690029000000000000000000000000df347911910b6c9a4286ba8e2ee5ea4a39eb21340000000000000000000000000000000000000000000000000000000ba43b74000000000000000000000000000000000000000000000000056bc75e2d63100000
Deployed Bytecode
0x6080604052600436106101195763ffffffff60e060020a6000350416630a8fed89811461011e57806317ffc3201461013b5780632014e5d11461015c5780632aed7f3f146101855780632c4e722e146101a65780632cb71af3146101cd5780633b29c470146101db5780633de39c11146101f057806348c54b9d146102055780634e71e0c81461021a578063544c465c1461022f5780636e164e2314610247578063715018a61461026b57806379a9fa1c1461028057806383197ef0146102985780638da5cb5b146102ad5780639f727c27146102de578063dd4f8f74146102f3578063e30c397814610308578063e8eecf4c1461031d578063f2fde38b14610332578063f5074f4114610353578063fc0c546a14610374575b600080fd5b34801561012a57600080fd5b50610139600435602435610389565b005b34801561014757600080fd5b50610139600160a060020a03600435166103ab565b34801561016857600080fd5b50610171610477565b604080519115158252519081900360200190f35b34801561019157600080fd5b50610139600160a060020a036004351661049e565b3480156101b257600080fd5b506101bb610538565b60408051918252519081900360200190f35b61013960043560243561053e565b3480156101e757600080fd5b506101bb61056c565b3480156101fc57600080fd5b506101bb610584565b34801561021157600080fd5b5061013961058a565b34801561022657600080fd5b506101396106c7565b34801561023b57600080fd5b506101bb60043561074f565b34801561025357600080fd5b50610139600435600160a060020a0360243516610780565b34801561027757600080fd5b5061013961083d565b34801561028c57600080fd5b506101396004356108a9565b3480156102a457600080fd5b50610139610a28565b3480156102b957600080fd5b506102c2610a4d565b60408051600160a060020a039092168252519081900360200190f35b3480156102ea57600080fd5b50610139610a5c565b3480156102ff57600080fd5b506101bb610ab1565b34801561031457600080fd5b506102c2610ab7565b34801561032957600080fd5b506101bb610ac6565b34801561033e57600080fd5b50610139600160a060020a0360043516610acc565b34801561035f57600080fd5b50610139600160a060020a0360043516610b12565b34801561038057600080fd5b506102c2610b35565b600054600160a060020a031633146103a057600080fd5b600391909155600455565b60008054600160a060020a031633146103c357600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561042457600080fd5b505af1158015610438573d6000803e3d6000fd5b505050506040513d602081101561044e57600080fd5b505160005490915061047390600160a060020a0384811691168363ffffffff610b4416565b5050565b60008060065411801561048c57506005544210155b8015610499575060003031115b905090565b60008054600160a060020a031633146104b657600080fd5b5060008054604080517ff2fde38b000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152905184939284169263f2fde38b926024808201939182900301818387803b15801561051c57600080fd5b505af1158015610530573d6000803e3d6000fd5b505050505050565b60065481565b600054600160a060020a0316331461055557600080fd5b42821161056157600080fd5b600591909155600655565b6006546000906104999030319063ffffffff610be316565b60035481565b600054600160a060020a031633146105a157600080fd5b60025460008054604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a039485169463a9059cbb9493169285926370a082319260248083019360209383900390910190829087803b15801561061557600080fd5b505af1158015610629573d6000803e3d6000fd5b505050506040513d602081101561063f57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561068e57600080fd5b505af11580156106a2573d6000803e3d6000fd5b505050506040513d60208110156106b857600080fd5b505115156106c557600080fd5b565b600154600160a060020a031633146106de57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b6000600654600014156107645750600061077b565b60065461077890839063ffffffff610c1c16565b90505b919050565b600054600160a060020a0316331461079757600080fd5b600254604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830152602482018690529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b505050506040513d602081101561083057600080fd5b5051151561047357600080fd5b600054600160a060020a0316331461085457600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000806003543a111515156108bd57600080fd5b6004548311156108cc57600080fd5b6108d4610477565b15156108df57600080fd5b8291506108eb8261074f565b90503031811115610911575060065430319061090e90829063ffffffff610be316565b91505b600254604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561098457600080fd5b505af1158015610998573d6000803e3d6000fd5b505050506040513d60208110156109ae57600080fd5b505115156109bb57600080fd5b604051339082156108fc029083906000818181858888f193505050501580156109e8573d6000803e3d6000fd5b506040805183815260208101839052815133927f2dcc2439519c7d06fca9f8ae01e07f4f3c6ca21b5cdf8eff42cb75cf34d223c9928290030190a2505050565b600054600160a060020a03163314610a3f57600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b600054600160a060020a03163314610a7357600080fd5b60008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015610aae573d6000803e3d6000fd5b50565b60055481565b600154600160a060020a031681565b60045481565b600054600160a060020a03163314610ae357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314610b2957600080fd5b80600160a060020a0316ff5b600254600160a060020a031681565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610ba757600080fd5b505af1158015610bbb573d6000803e3d6000fd5b505050506040513d6020811015610bd157600080fd5b50511515610bde57600080fd5b505050565b600080831515610bf65760009150610c15565b50828202828482811515610c0657fe5b0414610c1157600080fd5b8091505b5092915050565b600080808311610c2b57600080fd5b8284811515610c3657fe5b049493505050505600a165627a7a72305820e6f6a3ab465497fe02d2e531cf9fb68e7d68b72dec903e027ee9de8bb9b877690029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000df347911910b6c9a4286ba8e2ee5ea4a39eb21340000000000000000000000000000000000000000000000000000000ba43b74000000000000000000000000000000000000000000000000056bc75e2d63100000
-----Decoded View---------------
Arg [0] : _token (address): 0xDF347911910b6c9A4286bA8E2EE5ea4a39eB2134
Arg [1] : _maxGasPrice (uint256): 50000000000
Arg [2] : _maxTxValue (uint256): 100000000000000000000
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000df347911910b6c9a4286ba8e2ee5ea4a39eb2134
Arg [1] : 0000000000000000000000000000000000000000000000000000000ba43b7400
Arg [2] : 0000000000000000000000000000000000000000000000056bc75e2d63100000
Swarm Source
bzzr://e6f6a3ab465497fe02d2e531cf9fb68e7d68b72dec903e027ee9de8bb9b87769
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.19
Net Worth in ETH
0.000088
Token Allocations
BOB
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $0.000077 | 2,407.889 | $0.1862 |
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.