Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 from a total of 1 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 7868001 | 2485 days ago | IN | 0 ETH | 0.0001493 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Exchanger
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-05-31
*/
pragma solidity ^0.4.25;
/*
Name: Exchanger
Symbol: EXS
*/
contract DSAuthority {
function canCall(
address src, address dst, bytes4 sig
) public view returns (bool);
}
contract DSAuthEvents {
event LogSetAuthority (address indexed authority);
event LogSetOwner (address indexed owner);
}
contract DSAuth is DSAuthEvents {
DSAuthority public authority;
address public owner;
constructor() public {
owner = 0x2E4987e4e1C4DA0236E20dd2aaB433ABaa24193d;
emit LogSetOwner(0x2E4987e4e1C4DA0236E20dd2aaB433ABaa24193d);
}
function setOwner(address owner_0x2E4987e4e1C4DA0236E20dd2aaB433ABaa24193d)
public
auth
{
owner = owner_0x2E4987e4e1C4DA0236E20dd2aaB433ABaa24193d;
emit LogSetOwner(owner);
}
function setAuthority(DSAuthority authority_)
public
auth
{
authority = authority_;
emit LogSetAuthority(authority);
}
modifier auth {
require(isAuthorized(msg.sender, msg.sig));
_;
}
function isAuthorized(address src, bytes4 sig) internal view returns (bool) {
if (src == address(this)) {
return true;
} else if (src == owner) {
return true;
} else if (authority == DSAuthority(0)) {
return false;
} else {
return authority.canCall(src, this, sig);
}
}
}
contract DSMath {
function add(uint x, uint y) internal pure returns (uint z) {
require((z = x + y) >= x);
}
function sub(uint x, uint y) internal pure returns (uint z) {
require((z = x - y) <= x);
}
function mul(uint x, uint y) internal pure returns (uint z) {
require(y == 0 || (z = x * y) / y == x);
}
function min(uint x, uint y) internal pure returns (uint z) {
return x <= y ? x : y;
}
function max(uint x, uint y) internal pure returns (uint z) {
return x >= y ? x : y;
}
function imin(int x, int y) internal pure returns (int z) {
return x <= y ? x : y;
}
function imax(int x, int y) internal pure returns (int z) {
return x >= y ? x : y;
}
uint constant WAD = 10 ** 18;
uint constant RAY = 10 ** 27;
function wmul(uint x, uint y) internal pure returns (uint z) {
z = add(mul(x, y), WAD / 2) / WAD;
}
function rmul(uint x, uint y) internal pure returns (uint z) {
z = add(mul(x, y), RAY / 2) / RAY;
}
function wdiv(uint x, uint y) internal pure returns (uint z) {
z = add(mul(x, WAD), y / 2) / y;
}
function rdiv(uint x, uint y) internal pure returns (uint z) {
z = add(mul(x, RAY), y / 2) / y;
}
// This famous algorithm is called "exponentiation by squaring"
// and calculates x^n with x as fixed-point and n as regular unsigned.
//
// It's O(log n), instead of O(n) for naive repeated multiplication.
//
// These facts are why it works:
//
// If n is even, then x^n = (x^2)^(n/2).
// If n is odd, then x^n = x * x^(n-1),
// and applying the equation for even x gives
// x^n = x * (x^2)^((n-1) / 2).
//
// Also, EVM division is flooring and
// floor[(n-1) / 2] = floor[n / 2].
//
function rpow(uint x, uint n) internal pure returns (uint z) {
z = n % 2 != 0 ? x : RAY;
for (n /= 2; n != 0; n /= 2) {
x = rmul(x, x);
if (n % 2 != 0) {
z = rmul(z, x);
}
}
}
}
contract ERC20Events {
event Approval(address indexed src, address indexed guy, uint wad);
event Transfer(address indexed src, address indexed dst, uint wad);
}
contract ERC20 is ERC20Events {
function totalSupply() public view returns (uint);
function balanceOf(address guy) public view returns (uint);
function allowance(address src, address guy) public view returns (uint);
function approve(address guy, uint wad) public returns (bool);
function transfer(address dst, uint wad) public returns (bool);
function transferFrom(
address src, address dst, uint wad
) public returns (bool);
}
contract DSTokenBase is ERC20, DSMath {
uint256 _supply;
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) _approvals;
constructor(uint supply) public {
_balances[msg.sender] = supply;
_supply = supply;
}
/**
* @dev Total number of tokens in existence
*/
function totalSupply() public view returns (uint) {
return _supply;
}
/**
* @dev Gets the balance of the specified address.
* @param src The address to query the balance of.
* @return An uint256 representing the amount owned by the passed address.
*/
function balanceOf(address src) public view returns (uint) {
return _balances[src];
}
/**
* @dev Function to check the amount of tokens that an owner allowed to a spender.
* @param src address The address which owns the funds.
* @param guy address The address which will spend the funds.
*/
function allowance(address src, address guy) public view returns (uint) {
return _approvals[src][guy];
}
/**
* @dev Transfer token for a specified address
* @param dst The address to transfer to.
* @param wad The amount to be transferred.
*/
function transfer(address dst, uint wad) public returns (bool) {
return transferFrom(msg.sender, dst, wad);
}
/**
* @dev Transfer tokens from one address to another
* @param src address The address which you want to send tokens from
* @param dst address The address which you want to transfer to
* @param wad uint256 the amount of tokens to be transferred
*/
function transferFrom(address src, address dst, uint wad)
public
returns (bool)
{
if (src != msg.sender) {
_approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad);
}
_balances[src] = sub(_balances[src], wad);
_balances[dst] = add(_balances[dst], wad);
emit Transfer(src, dst, wad);
return true;
}
/**
* @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
* Beware that changing an allowance with this method brings the risk that someone may use both the old
* and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
* race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
* @param guy The address which will spend the funds.
* @param wad The amount of tokens to be spent.
*/
function approve(address guy, uint wad) public returns (bool) {
_approvals[msg.sender][guy] = wad;
emit Approval(msg.sender, guy, wad);
return true;
}
/**
* @dev Increase the amount of tokens that an owner allowed to a spender.
* approve should be called when allowed_[_spender] == 0. To increment
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param src The address which will spend the funds.
* @param wad The amount of tokens to increase the allowance by.
*/
function increaseAllowance(
address src,
uint256 wad
)
public
returns (bool)
{
require(src != address(0));
_approvals[src][msg.sender] = add(_approvals[src][msg.sender], wad);
emit Approval(msg.sender, src, _approvals[msg.sender][src]);
return true;
}
/**
* @dev Decrese the amount of tokens that an owner allowed to a spender.
* approve should be called when allowed_[_spender] == 0. To increment
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param src The address which will spend the funds.
* @param wad The amount of tokens to increase the allowance by.
*/
function decreaseAllowance(
address src,
uint256 wad
)
public
returns (bool)
{
require(src != address(0));
_approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad);
emit Approval(msg.sender, src, _approvals[msg.sender][src]);
return true;
}
}
contract DSNote {
event LogNote(
bytes4 indexed sig,
address indexed guy,
bytes32 indexed foo,
bytes32 indexed bar,
uint wad,
bytes fax
) anonymous;
modifier note {
bytes32 foo;
bytes32 bar;
assembly {
foo := calldataload(4)
bar := calldataload(36)
}
emit LogNote(msg.sig, msg.sender, foo, bar, msg.value, msg.data);
_;
}
}
contract DSStop is DSNote, DSAuth {
bool public stopped;
modifier stoppable {
require(!stopped);
_;
}
function stop() public auth note {
stopped = true;
}
function start() public auth note {
stopped = false;
}
}
contract Exchanger is DSTokenBase , DSStop {
string public symbol="EXS";
string public name="Exchanger";
uint256 public decimals = 18; // Standard Token Precision
uint256 public initialSupply=5000000000000000000000000;
address public burnAdmin;
constructor() public
DSTokenBase(initialSupply)
{
burnAdmin=0x2E4987e4e1C4DA0236E20dd2aaB433ABaa24193d;
}
event Burn(address indexed guy, uint wad);
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyAdmin() {
require(isAdmin());
_;
}
/**
* @return true if `msg.sender` is the owner of the contract.
*/
function isAdmin() public view returns(bool) {
return msg.sender == burnAdmin;
}
/**
* @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 onlyAdmin {
burnAdmin = address(0);
}
function approve(address guy) public stoppable returns (bool) {
return super.approve(guy, uint(-1));
}
function approve(address guy, uint wad) public stoppable returns (bool) {
return super.approve(guy, wad);
}
function transferFrom(address src, address dst, uint wad)
public
stoppable
returns (bool)
{
if (src != msg.sender && _approvals[src][msg.sender] != uint(-1)) {
_approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad);
}
_balances[src] = sub(_balances[src], wad);
_balances[dst] = add(_balances[dst], wad);
emit Transfer(src, dst, wad);
return true;
}
/**
* @dev Burns a specific amount of tokens from the target address
* @param guy address The address which you want to send tokens from
* @param wad uint256 The amount of token to be burned
*/
function burnfromAdmin(address guy, uint wad) public onlyAdmin {
require(guy != address(0));
_balances[guy] = sub(_balances[guy], wad);
_supply = sub(_supply, wad);
emit Burn(guy, wad);
emit Transfer(guy, address(0), wad);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"},{"name":"wad","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"owner_0x2E4987e4e1C4DA0236E20dd2aaB433ABaa24193d","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"wad","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burnAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"},{"name":"wad","type":"uint256"}],"name":"burnfromAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"wad","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"},{"name":"guy","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"guy","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":true,"name":"guy","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Transfer","type":"event"}]Contract Creation Code
60c0604052600360808190527f455853000000000000000000000000000000000000000000000000000000000060a090815261003e9160059190610138565b506040805180820190915260098082527f45786368616e6765720000000000000000000000000000000000000000000000602090920191825261008391600691610138565b5060126007556a0422ca8b0a00a4250000006008553480156100a457600080fd5b506008543360009081526001602052604080822083905591815560048054600160a060020a031916732e4987e4e1c4da0236e20dd2aab433abaa24193d90811790915591517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed949190a260098054600160a060020a031916732e4987e4e1c4da0236e20dd2aab433abaa24193d1790556101d3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061017957805160ff19168380011785556101a6565b828001600101855582156101a6579182015b828111156101a657825182559160200191906001019061018b565b506101b29291506101b6565b5090565b6101d091905b808211156101b257600081556001016101bc565b90565b610df3806101e26000396000f30060806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014257806307da68f5146101cc578063095ea7b3146101e357806313af40351461021b57806318160ddd1461023c57806323b872dd14610263578063313ce5671461028d578063378dc3dc146102a257806339509351146102b757806370a08231146102db578063715018a6146102fc57806375f12b21146103115780637a9e5e4b1461032657806381bdf98c146103475780638da5cb5b1461037857806395d89b411461038d5780639a599e37146103a2578063a457c2d7146103c6578063a9059cbb146103ea578063b6db75a01461040e578063be9a655514610423578063bf7e214f14610438578063daea85c51461044d578063dd62ed3e1461046e575b600080fd5b34801561014e57600080fd5b50610157610495565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610191578181015183820152602001610179565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d857600080fd5b506101e1610523565b005b3480156101ef57600080fd5b50610207600160a060020a03600435166024356105bd565b604080519115158252519081900360200190f35b34801561022757600080fd5b506101e1600160a060020a03600435166105ea565b34801561024857600080fd5b50610251610668565b60408051918252519081900360200190f35b34801561026f57600080fd5b50610207600160a060020a036004358116906024351660443561066e565b34801561029957600080fd5b506102516107d1565b3480156102ae57600080fd5b506102516107d7565b3480156102c357600080fd5b50610207600160a060020a03600435166024356107dd565b3480156102e757600080fd5b50610251600160a060020a0360043516610899565b34801561030857600080fd5b506101e16108b4565b34801561031d57600080fd5b506102076108e6565b34801561033257600080fd5b506101e1600160a060020a03600435166108f6565b34801561035357600080fd5b5061035c610974565b60408051600160a060020a039092168252519081900360200190f35b34801561038457600080fd5b5061035c610983565b34801561039957600080fd5b50610157610992565b3480156103ae57600080fd5b506101e1600160a060020a03600435166024356109ed565b3480156103d257600080fd5b50610207600160a060020a0360043516602435610ae6565b3480156103f657600080fd5b50610207600160a060020a0360043516602435610b2b565b34801561041a57600080fd5b50610207610b38565b34801561042f57600080fd5b506101e1610b49565b34801561044457600080fd5b5061035c610bdd565b34801561045957600080fd5b50610207600160a060020a0360043516610bec565b34801561047a57600080fd5b50610251600160a060020a0360043581169060243516610c12565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561051b5780601f106104f05761010080835404028352916020019161051b565b820191906000526020600020905b8154815290600101906020018083116104fe57829003601f168201915b505050505081565b61053933600035600160e060020a031916610c3d565b151561054457600080fd5b60408051348082526020820183815236938301849052600435936024359384938693339360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a450506004805474ff0000000000000000000000000000000000000000191660a060020a179055565b60045460009060a060020a900460ff16156105d757600080fd5b6105e18383610d41565b90505b92915050565b61060033600035600160e060020a031916610c3d565b151561060b57600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b60005490565b60045460009060a060020a900460ff161561068857600080fd5b600160a060020a03841633148015906106c65750600160a060020a038416600090815260026020908152604080832033845290915290205460001914155b1561071e57600160a060020a03841660009081526002602090815260408083203384529091529020546106f99083610da7565b600160a060020a03851660009081526002602090815260408083203384529091529020555b600160a060020a0384166000908152600160205260409020546107419083610da7565b600160a060020a0380861660009081526001602052604080822093909355908516815220546107709083610db7565b600160a060020a0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60075481565b60085481565b6000600160a060020a03831615156107f457600080fd5b600160a060020a03831660009081526002602090815260408083203384529091529020546108229083610db7565b600160a060020a0384166000818152600260208181526040808420338086529083528185209690965591815281832084845281529181902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600160a060020a031660009081526001602052604090205490565b6108bc610b38565b15156108c757600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff19169055565b60045460a060020a900460ff1681565b61090c33600035600160e060020a031916610c3d565b151561091757600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada490600090a250565b600954600160a060020a031681565b600454600160a060020a031681565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561051b5780601f106104f05761010080835404028352916020019161051b565b6109f5610b38565b1515610a0057600080fd5b600160a060020a0382161515610a1557600080fd5b600160a060020a038216600090815260016020526040902054610a389082610da7565b600160a060020a03831660009081526001602052604081209190915554610a5f9082610da7565b600055604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000600160a060020a0383161515610afd57600080fd5b600160a060020a03831660009081526002602090815260408083203384529091529020546108229083610da7565b60006105e133848461066e565b600954600160a060020a0316331490565b610b5f33600035600160e060020a031916610c3d565b1515610b6a57600080fd5b60408051348082526020820183815236938301849052600435936024359384938693339360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a450506004805474ff000000000000000000000000000000000000000019169055565b600354600160a060020a031681565b60045460009060a060020a900460ff1615610c0657600080fd5b6105e482600019610d41565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6000600160a060020a038316301415610c58575060016105e4565b600454600160a060020a0384811691161415610c76575060016105e4565b600354600160a060020a03161515610c90575060006105e4565b600354604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152306024830152600160e060020a0319861660448301529151919092169163b70096139160648083019260209291908290030181600087803b158015610d0e57600080fd5b505af1158015610d22573d6000803e3d6000fd5b505050506040513d6020811015610d3857600080fd5b505190506105e4565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b808203828111156105e457600080fd5b808201828110156105e457600080fd00a165627a7a7230582039558e1d0480c9870bef5fc2a0d4582c50048479accd56358d26b09a452b13d60029
Deployed Bytecode
0x60806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014257806307da68f5146101cc578063095ea7b3146101e357806313af40351461021b57806318160ddd1461023c57806323b872dd14610263578063313ce5671461028d578063378dc3dc146102a257806339509351146102b757806370a08231146102db578063715018a6146102fc57806375f12b21146103115780637a9e5e4b1461032657806381bdf98c146103475780638da5cb5b1461037857806395d89b411461038d5780639a599e37146103a2578063a457c2d7146103c6578063a9059cbb146103ea578063b6db75a01461040e578063be9a655514610423578063bf7e214f14610438578063daea85c51461044d578063dd62ed3e1461046e575b600080fd5b34801561014e57600080fd5b50610157610495565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610191578181015183820152602001610179565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d857600080fd5b506101e1610523565b005b3480156101ef57600080fd5b50610207600160a060020a03600435166024356105bd565b604080519115158252519081900360200190f35b34801561022757600080fd5b506101e1600160a060020a03600435166105ea565b34801561024857600080fd5b50610251610668565b60408051918252519081900360200190f35b34801561026f57600080fd5b50610207600160a060020a036004358116906024351660443561066e565b34801561029957600080fd5b506102516107d1565b3480156102ae57600080fd5b506102516107d7565b3480156102c357600080fd5b50610207600160a060020a03600435166024356107dd565b3480156102e757600080fd5b50610251600160a060020a0360043516610899565b34801561030857600080fd5b506101e16108b4565b34801561031d57600080fd5b506102076108e6565b34801561033257600080fd5b506101e1600160a060020a03600435166108f6565b34801561035357600080fd5b5061035c610974565b60408051600160a060020a039092168252519081900360200190f35b34801561038457600080fd5b5061035c610983565b34801561039957600080fd5b50610157610992565b3480156103ae57600080fd5b506101e1600160a060020a03600435166024356109ed565b3480156103d257600080fd5b50610207600160a060020a0360043516602435610ae6565b3480156103f657600080fd5b50610207600160a060020a0360043516602435610b2b565b34801561041a57600080fd5b50610207610b38565b34801561042f57600080fd5b506101e1610b49565b34801561044457600080fd5b5061035c610bdd565b34801561045957600080fd5b50610207600160a060020a0360043516610bec565b34801561047a57600080fd5b50610251600160a060020a0360043581169060243516610c12565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561051b5780601f106104f05761010080835404028352916020019161051b565b820191906000526020600020905b8154815290600101906020018083116104fe57829003601f168201915b505050505081565b61053933600035600160e060020a031916610c3d565b151561054457600080fd5b60408051348082526020820183815236938301849052600435936024359384938693339360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a450506004805474ff0000000000000000000000000000000000000000191660a060020a179055565b60045460009060a060020a900460ff16156105d757600080fd5b6105e18383610d41565b90505b92915050565b61060033600035600160e060020a031916610c3d565b151561060b57600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b60005490565b60045460009060a060020a900460ff161561068857600080fd5b600160a060020a03841633148015906106c65750600160a060020a038416600090815260026020908152604080832033845290915290205460001914155b1561071e57600160a060020a03841660009081526002602090815260408083203384529091529020546106f99083610da7565b600160a060020a03851660009081526002602090815260408083203384529091529020555b600160a060020a0384166000908152600160205260409020546107419083610da7565b600160a060020a0380861660009081526001602052604080822093909355908516815220546107709083610db7565b600160a060020a0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60075481565b60085481565b6000600160a060020a03831615156107f457600080fd5b600160a060020a03831660009081526002602090815260408083203384529091529020546108229083610db7565b600160a060020a0384166000818152600260208181526040808420338086529083528185209690965591815281832084845281529181902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600160a060020a031660009081526001602052604090205490565b6108bc610b38565b15156108c757600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff19169055565b60045460a060020a900460ff1681565b61090c33600035600160e060020a031916610c3d565b151561091757600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada490600090a250565b600954600160a060020a031681565b600454600160a060020a031681565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561051b5780601f106104f05761010080835404028352916020019161051b565b6109f5610b38565b1515610a0057600080fd5b600160a060020a0382161515610a1557600080fd5b600160a060020a038216600090815260016020526040902054610a389082610da7565b600160a060020a03831660009081526001602052604081209190915554610a5f9082610da7565b600055604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000600160a060020a0383161515610afd57600080fd5b600160a060020a03831660009081526002602090815260408083203384529091529020546108229083610da7565b60006105e133848461066e565b600954600160a060020a0316331490565b610b5f33600035600160e060020a031916610c3d565b1515610b6a57600080fd5b60408051348082526020820183815236938301849052600435936024359384938693339360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a450506004805474ff000000000000000000000000000000000000000019169055565b600354600160a060020a031681565b60045460009060a060020a900460ff1615610c0657600080fd5b6105e482600019610d41565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6000600160a060020a038316301415610c58575060016105e4565b600454600160a060020a0384811691161415610c76575060016105e4565b600354600160a060020a03161515610c90575060006105e4565b600354604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152306024830152600160e060020a0319861660448301529151919092169163b70096139160648083019260209291908290030181600087803b158015610d0e57600080fd5b505af1158015610d22573d6000803e3d6000fd5b505050506040513d6020811015610d3857600080fd5b505190506105e4565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b808203828111156105e457600080fd5b808201828110156105e457600080fd00a165627a7a7230582039558e1d0480c9870bef5fc2a0d4582c50048479accd56358d26b09a452b13d60029
Deployed Bytecode Sourcemap
9607:2374:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9694:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9694:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;9694:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9456:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9456:66:0;;;;;;10867:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10867:121:0;-1:-1:-1;;;;;10867:121:0;;;;;;;;;;;;;;;;;;;;;;;;;619:220;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;619:220:0;-1:-1:-1;;;;;619:220:0;;;;;4751:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4751:83:0;;;;;;;;;;;;;;;;;;;;10996:471;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10996:471:0;-1:-1:-1;;;;;10996:471:0;;;;;;;;;;;;9733:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9733:30:0;;;;9798:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9798:54:0;;;;7728:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7728:302:0;-1:-1:-1;;;;;7728:302:0;;;;;;;5039:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5039:99:0;-1:-1:-1;;;;;5039:99:0;;;;;10654:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10654:81:0;;;;9355:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9355:19:0;;;;847:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;847:164:0;-1:-1:-1;;;;;847:164:0;;;;;9859:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9859:24:0;;;;;;;;-1:-1:-1;;;;;9859:24:0;;;;;;;;;;;;;;415:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;415:26:0;;;;9659:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9659:28:0;;;;11694:280;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11694:280:0;-1:-1:-1;;;;;11694:280:0;;;;;;;8479:300;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8479:300:0;-1:-1:-1;;;;;8479:300:0;;;;;;;5653:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5653:123:0;-1:-1:-1;;;;;5653:123:0;;;;;;;10298:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10298:86:0;;;;9528:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9528:68:0;;;;378:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;378:30:0;;;;10743:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10743:116:0;-1:-1:-1;;;;;10743:116:0;;;;;5369:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5369:118:0;-1:-1:-1;;;;;5369:118:0;;;;;;;;;;9694:32;;;;;;;;;;;;;;;-1:-1:-1;;9694:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9456:66::-;1052:33;1065:10;1077:7;;-1:-1:-1;;;;;;1077:7:0;1052:12;:33::i;:::-;1044:42;;;;;;;;9224:59;;;9263:9;9224:59;;;;;;;;;9274:8;9224:59;;;;;;9157:1;9144:15;;9193:2;9180:16;;;;9144:15;;9241:10;;-1:-1:-1;9232:7:0;;-1:-1:-1;;;;;;9232:7:0;;-1:-1:-1;;9224:59:0;;;-1:-1:-1;9274:8:0;;-1:-1:-1;9224:59:0;;;;;;;;;;-1:-1:-1;9224:59:0;;-1:-1:-1;;;;;9224:59:0;-1:-1:-1;;9500:7:0;:14;;-1:-1:-1;;9500:14:0;-1:-1:-1;;;9500:14:0;;;9456:66::o;10867:121::-;9422:7;;10933:4;;-1:-1:-1;;;9422:7:0;;;;9421:8;9413:17;;;;;;10957:23;10971:3;10976;10957:13;:23::i;:::-;10950:30;;9441:1;10867:121;;;;:::o;619:220::-;1052:33;1065:10;1077:7;;-1:-1:-1;;;;;;1077:7:0;1052:12;:33::i;:::-;1044:42;;;;;;;;741:5;:56;;-1:-1:-1;;741:56:0;-1:-1:-1;;;;;741:56:0;;;;;;;;;;;813:18;;825:5;;;813:18;;-1:-1:-1;;813:18:0;619:220;:::o;4751:83::-;4795:4;4819:7;4751:83;:::o;10996:471::-;9422:7;;11107:4;;-1:-1:-1;;;9422:7:0;;;;9421:8;9413:17;;;;;;-1:-1:-1;;;;;11133:17:0;;11140:10;11133:17;;;;:60;;-1:-1:-1;;;;;;11154:15:0;;;;;;:10;:15;;;;;;;;11170:10;11154:27;;;;;;;;-1:-1:-1;;11154:39:0;;11133:60;11129:160;;;-1:-1:-1;;;;;11244:15:0;;;;;;:10;:15;;;;;;;;11260:10;11244:27;;;;;;;;11240:37;;11273:3;11240;:37::i;:::-;-1:-1:-1;;;;;11210:15:0;;;;;;:10;:15;;;;;;;;11226:10;11210:27;;;;;;;:67;11129:160;-1:-1:-1;;;;;11322:14:0;;;;;;:9;:14;;;;;;11318:24;;11338:3;11318;:24::i;:::-;-1:-1:-1;;;;;11301:14:0;;;;;;;:9;:14;;;;;;:41;;;;11374:14;;;;;;;11370:24;;11390:3;11370;:24::i;:::-;-1:-1:-1;;;;;11353:14:0;;;;;;;:9;:14;;;;;;;;;:41;;;;11412:23;;;;;;;11353:14;;11412:23;;;;;;;;;;;;;-1:-1:-1;11455:4:0;10996:471;;;;;:::o;9733:30::-;;;;:::o;9798:54::-;;;;:::o;7728:302::-;7822:4;-1:-1:-1;;;;;7846:17:0;;;;7838:26;;;;;;-1:-1:-1;;;;;7907:15:0;;;;;;:10;:15;;;;;;;;7923:10;7907:27;;;;;;;;7903:37;;7936:3;7903;:37::i;:::-;-1:-1:-1;;;;;7873:15:0;;;;;;:10;:15;;;;;;;;7889:10;7873:27;;;;;;;;;:67;;;;7978:22;;;;;;:27;;;;;;;;;;7952:54;;;;;;;7873:15;;7889:10;7952:54;;;;;;;;;;;-1:-1:-1;8020:4:0;7728:302;;;;:::o;5039:99::-;-1:-1:-1;;;;;5116:14:0;5092:4;5116:14;;;:9;:14;;;;;;;5039:99::o;10654:81::-;10189:9;:7;:9::i;:::-;10181:18;;;;;;;;10707:9;:22;;-1:-1:-1;;10707:22:0;;;10654:81::o;9355:19::-;;;-1:-1:-1;;;9355:19:0;;;;;:::o;847:164::-;1052:33;1065:10;1077:7;;-1:-1:-1;;;;;;1077:7:0;1052:12;:33::i;:::-;1044:42;;;;;;;;939:9;:22;;-1:-1:-1;;939:22:0;-1:-1:-1;;;;;939:22:0;;;;;;;;;;;977:26;;993:9;;;977:26;;-1:-1:-1;;977:26:0;847:164;:::o;9859:24::-;;;-1:-1:-1;;;;;9859:24:0;;:::o;415:26::-;;;-1:-1:-1;;;;;415:26:0;;:::o;9659:28::-;;;;;;;;;;;;;;;-1:-1:-1;;9659:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11694:280;10189:9;:7;:9::i;:::-;10181:18;;;;;;;;-1:-1:-1;;;;;11776:17:0;;;;11768:26;;;;;;-1:-1:-1;;;;;11830:14:0;;;;;;:9;:14;;;;;;11826:24;;11846:3;11826;:24::i;:::-;-1:-1:-1;;;;;11809:14:0;;;;;;:9;:14;;;;;:41;;;;11875:7;11871:17;;11884:3;11871;:17::i;:::-;11861:7;:27;11906:14;;;;;;;;-1:-1:-1;;;;;11906:14:0;;;;;;;;;;;;;11936:30;;;;;;;;11958:1;;-1:-1:-1;;;;;11936:30:0;;;;;;;;;;;;11694:280;;:::o;8479:300::-;8573:4;-1:-1:-1;;;;;8597:17:0;;;;8589:26;;;;;;-1:-1:-1;;;;;8656:15:0;;;;;;:10;:15;;;;;;;;8672:10;8656:27;;;;;;;;8652:37;;8685:3;8652;:37::i;5653:123::-;5710:4;5734:34;5747:10;5759:3;5764;5734:12;:34::i;10298:86::-;10371:9;;-1:-1:-1;;;;;10371:9:0;10357:10;:23;;10298:86::o;9528:68::-;1052:33;1065:10;1077:7;;-1:-1:-1;;;;;;1077:7:0;1052:12;:33::i;:::-;1044:42;;;;;;;;9224:59;;;9263:9;9224:59;;;;;;;;;9274:8;9224:59;;;;;;9157:1;9144:15;;9193:2;9180:16;;;;9144:15;;9241:10;;-1:-1:-1;9232:7:0;;-1:-1:-1;;;;;;9232:7:0;;-1:-1:-1;;9224:59:0;;;-1:-1:-1;9274:8:0;;-1:-1:-1;9224:59:0;;;;;;;;;;-1:-1:-1;9224:59:0;;-1:-1:-1;;;;;9224:59:0;-1:-1:-1;;9573:7:0;:15;;-1:-1:-1;;9573:15:0;;;9528:68::o;378:30::-;;;-1:-1:-1;;;;;378:30:0;;:::o;10743:116::-;9422:7;;10799:4;;-1:-1:-1;;;9422:7:0;;;;9421:8;9413:17;;;;;;10823:28;10837:3;-1:-1:-1;;10823:13:0;:28::i;5369:118::-;-1:-1:-1;;;;;5459:15:0;;;5435:4;5459:15;;;:10;:15;;;;;;;;:20;;;;;;;;;;;;;5369:118::o;1114:371::-;1184:4;-1:-1:-1;;;;;1205:20:0;;1220:4;1205:20;1201:277;;;-1:-1:-1;1249:4:0;1242:11;;1201:277;1282:5;;-1:-1:-1;;;;;1275:12:0;;;1282:5;;1275:12;1271:207;;;-1:-1:-1;1311:4:0;1304:11;;1271:207;1337:9;;-1:-1:-1;;;;;1337:9:0;:27;1333:145;;;-1:-1:-1;1388:5:0;1381:12;;1333:145;1433:9;;:33;;;;;;-1:-1:-1;;;;;1433:33:0;;;;;;;1456:4;1433:33;;;;-1:-1:-1;;;;;;1433:33:0;;;;;;;;:9;;;;;:17;;:33;;;;;;;;;;;;;;:9;;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;1433:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1433:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1433:33:0;;-1:-1:-1;1426:40:0;;7092:186;7176:10;7148:4;7165:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;7165:27:0;;;;;;;;;;;:33;;;7216:30;;;;;;;7148:4;;7165:27;;7176:10;;7216:30;;;;;;;;-1:-1:-1;7266:4:0;7092:186;;;;:::o;1627:104::-;1711:5;;;1706:16;;;;1698:25;;;;;1517:104;1601:5;;;1596:16;;;;1588:25;;;;
Swarm Source
bzzr://39558e1d0480c9870bef5fc2a0d4582c50048479accd56358d26b09a452b13d6
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 ]
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.