Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 36,160 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 18518159 | 518 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18511023 | 519 days ago | IN | 0 ETH | 0.0026595 | ||||
Transfer | 18511022 | 519 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18503891 | 520 days ago | IN | 0 ETH | 0.0026595 | ||||
Transfer | 18503885 | 520 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18496757 | 521 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18496756 | 521 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18489621 | 522 days ago | IN | 0 ETH | 0.0026595 | ||||
Transfer | 18489619 | 522 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18482485 | 523 days ago | IN | 0 ETH | 0.0026595 | ||||
Transfer | 18482482 | 523 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18475336 | 524 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18475335 | 524 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18468193 | 525 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18468192 | 525 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18461050 | 526 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18453928 | 527 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18453926 | 527 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18446782 | 528 days ago | IN | 0 ETH | 0.0026583 | ||||
Transfer | 18446780 | 528 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18446778 | 528 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18439622 | 529 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18439620 | 529 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18432474 | 530 days ago | IN | 0 ETH | 0.0026589 | ||||
Transfer | 18432472 | 530 days ago | IN | 0 ETH | 0.0026589 |
Loading...
Loading
Contract Name:
Mobilio
Compiler Version
v0.5.7+commit.6da8b019
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-08-07 */ /* * Drive safe, get paid. Do not use your phone while driving and we reward you with our currency MOBILIO. The earlier you join, the more you can earn! * * for https://www.mobilio.cc * powered by https://capacity.at */ // File: node_modules/openzeppelin-solidity/contracts/introspection/IERC165.sol pragma solidity ^0.5.2; /** * @title IERC165 * @dev https://eips.ethereum.org/EIPS/eip-165 */ interface IERC165 { /** * @notice Query if a contract implements an interface * @param interfaceId The interface identifier, as specified in ERC-165 * @dev Interface identification is specified in ERC-165. This function * uses less than 30,000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); } // File: openzeppelin-solidity/contracts/token/ERC721/IERC721.sol pragma solidity ^0.5.2; /** * @title ERC721 Non-Fungible Token Standard basic interface * @dev see https://eips.ethereum.org/EIPS/eip-721 */ contract IERC721 is IERC165 { event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); function balanceOf(address owner) public view returns (uint256 balance); function ownerOf(uint256 tokenId) public view returns (address owner); function approve(address to, uint256 tokenId) public; function getApproved(uint256 tokenId) public view returns (address operator); function setApprovalForAll(address operator, bool _approved) public; function isApprovedForAll(address owner, address operator) public view returns (bool); function transferFrom(address from, address to, uint256 tokenId) public; function safeTransferFrom(address from, address to, uint256 tokenId) public; function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public; } // File: node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol pragma solidity ^0.5.2; /** * @title ERC20 interface * @dev see https://eips.ethereum.org/EIPS/eip-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: openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol pragma solidity ^0.5.2; /** * @title ERC20Detailed token * @dev The decimals are only for visualization purposes. * All the operations are done using the smallest and indivisible token unit, * just as on Ethereum all the operations are done in wei. */ contract ERC20Detailed is IERC20 { string private _name; string private _symbol; uint8 private _decimals; constructor (string memory name, string memory symbol, uint8 decimals) public { _name = name; _symbol = symbol; _decimals = decimals; } /** * @return the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @return the symbol of the token. */ function symbol() public view returns (string memory) { return _symbol; } /** * @return the number of decimals of the token. */ function decimals() public view returns (uint8) { return _decimals; } } // File: node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol pragma solidity ^0.5.2; /** * @title SafeMath * @dev Unsigned math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two unsigned integers, 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 unsigned integers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 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 unsigned integers, 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 unsigned integers, 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 unsigned integers 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; } } // File: node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol pragma solidity ^0.5.2; /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * https://eips.ethereum.org/EIPS/eip-20 * Originally based on code by FirstBlood: * https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol * * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for * all accounts just by listening to said events. Note that this isn't required by the specification, and other * compliant implementations may not do it. */ contract ERC20 is IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowed; uint256 private _totalSupply; /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @dev Gets the balance of the specified address. * @param owner The address to query the balance of. * @return A uint256 representing the amount owned by the passed address. */ function balanceOf(address owner) public view returns (uint256) { return _balances[owner]; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param owner address The address which owns the funds. * @param spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address owner, address spender) public view returns (uint256) { return _allowed[owner][spender]; } /** * @dev Transfer token to a specified address * @param to The address to transfer to. * @param value The amount to be transferred. */ function transfer(address to, uint256 value) public returns (bool) { _transfer(msg.sender, to, value); 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 spender The address which will spend the funds. * @param value The amount of tokens to be spent. */ function approve(address spender, uint256 value) public returns (bool) { _approve(msg.sender, spender, value); return true; } /** * @dev Transfer tokens from one address to another. * Note that while this function emits an Approval event, this is not required as per the specification, * and other compliant implementations may not emit the event. * @param from address The address which you want to send tokens from * @param to address The address which you want to transfer to * @param value uint256 the amount of tokens to be transferred */ function transferFrom(address from, address to, uint256 value) public returns (bool) { _transfer(from, to, value); _approve(from, msg.sender, _allowed[from][msg.sender].sub(value)); return true; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * approve should be called when _allowed[msg.sender][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 * Emits an Approval event. * @param spender The address which will spend the funds. * @param addedValue The amount of tokens to increase the allowance by. */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(msg.sender, spender, _allowed[msg.sender][spender].add(addedValue)); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * approve should be called when _allowed[msg.sender][spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * Emits an Approval event. * @param spender The address which will spend the funds. * @param subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(msg.sender, spender, _allowed[msg.sender][spender].sub(subtractedValue)); return true; } /** * @dev Transfer token for a specified addresses * @param from The address to transfer from. * @param to The address to transfer to. * @param value The amount to be transferred. */ function _transfer(address from, address to, uint256 value) internal { require(to != address(0)); _balances[from] = _balances[from].sub(value); _balances[to] = _balances[to].add(value); emit Transfer(from, to, value); } /** * @dev Internal function that mints an amount of the token and assigns it to * an account. This encapsulates the modification of balances such that the * proper events are emitted. * @param account The account that will receive the created tokens. * @param value The amount that will be created. */ function _mint(address account, uint256 value) internal { require(account != address(0)); _totalSupply = _totalSupply.add(value); _balances[account] = _balances[account].add(value); emit Transfer(address(0), account, value); } /** * @dev Internal function that burns an amount of the token of a given * account. * @param account The account whose tokens will be burnt. * @param value The amount that will be burnt. */ function _burn(address account, uint256 value) internal { require(account != address(0)); _totalSupply = _totalSupply.sub(value); _balances[account] = _balances[account].sub(value); emit Transfer(account, address(0), value); } /** * @dev Approve an address to spend another addresses' tokens. * @param owner The address that owns the tokens. * @param spender The address that will spend the tokens. * @param value The number of tokens that can be spent. */ function _approve(address owner, address spender, uint256 value) internal { require(spender != address(0)); require(owner != address(0)); _allowed[owner][spender] = value; emit Approval(owner, spender, value); } /** * @dev Internal function that burns an amount of the token of a given * account, deducting from the sender's allowance for said account. Uses the * internal burn function. * Emits an Approval event (reflecting the reduced allowance). * @param account The account whose tokens will be burnt. * @param value The amount that will be burnt. */ function _burnFrom(address account, uint256 value) internal { _burn(account, value); _approve(account, msg.sender, _allowed[account][msg.sender].sub(value)); } } // File: node_modules/openzeppelin-solidity/contracts/access/Roles.sol pragma solidity ^0.5.2; /** * @title Roles * @dev Library for managing addresses assigned to a Role. */ library Roles { struct Role { mapping (address => bool) bearer; } /** * @dev give an account access to this role */ function add(Role storage role, address account) internal { require(account != address(0)); require(!has(role, account)); role.bearer[account] = true; } /** * @dev remove an account's access to this role */ function remove(Role storage role, address account) internal { require(account != address(0)); require(has(role, account)); role.bearer[account] = false; } /** * @dev check if an account has this role * @return bool */ function has(Role storage role, address account) internal view returns (bool) { require(account != address(0)); return role.bearer[account]; } } // File: node_modules/openzeppelin-solidity/contracts/access/roles/MinterRole.sol pragma solidity ^0.5.2; contract MinterRole { using Roles for Roles.Role; event MinterAdded(address indexed account); event MinterRemoved(address indexed account); Roles.Role private _minters; constructor () internal { _addMinter(msg.sender); } modifier onlyMinter() { require(isMinter(msg.sender)); _; } function isMinter(address account) public view returns (bool) { return _minters.has(account); } function addMinter(address account) public onlyMinter { _addMinter(account); } function renounceMinter() public { _removeMinter(msg.sender); } function _addMinter(address account) internal { _minters.add(account); emit MinterAdded(account); } function _removeMinter(address account) internal { _minters.remove(account); emit MinterRemoved(account); } } // File: openzeppelin-solidity/contracts/token/ERC20/ERC20Mintable.sol pragma solidity ^0.5.2; /** * @title ERC20Mintable * @dev ERC20 minting logic */ contract ERC20Mintable is ERC20, MinterRole { /** * @dev Function to mint tokens * @param to The address that will receive the minted tokens. * @param value The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint(address to, uint256 value) public onlyMinter returns (bool) { _mint(to, value); return true; } } // File: contracts/ENSReverseRegistrarI.sol /* * Interfaces for ENS Reverse Registrar * See https://github.com/ensdomains/ens/blob/master/contracts/ReverseRegistrar.sol for full impl * Also see https://github.com/wealdtech/wealdtech-solidity/blob/master/contracts/ens/ENSReverseRegister.sol * * Use this as follows (registryAddress is the address of the ENS registry to use): * ----- * // This hex value is caclulated by namehash('addr.reverse') * bytes32 public constant ENS_ADDR_REVERSE_NODE = 0x91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2; * function registerReverseENS(address registryAddress, string memory calldata) external { * require(registryAddress != address(0), "need a valid registry"); * address reverseRegistrarAddress = ENSRegistryOwnerI(registryAddress).owner(ENS_ADDR_REVERSE_NODE) * require(reverseRegistrarAddress != address(0), "need a valid reverse registrar"); * ENSReverseRegistrarI(reverseRegistrarAddress).setName(name); * } * ----- * or * ----- * function registerReverseENS(address reverseRegistrarAddress, string memory calldata) external { * require(reverseRegistrarAddress != address(0), "need a valid reverse registrar"); * ENSReverseRegistrarI(reverseRegistrarAddress).setName(name); * } * ----- * ENS deployments can be found at https://docs.ens.domains/ens-deployments * For Mainnet, 0x9062c0a6dbd6108336bcbe4593a3d1ce05512069 is the reverseRegistrarAddress, * for Ropsten, it is at 0x67d5418a000534a8F1f5FF4229cC2f439e63BBe2. */ pragma solidity ^0.5.2; contract ENSRegistryOwnerI { function owner(bytes32 node) public view returns (address); } contract ENSReverseRegistrarI { function setName(string memory name) public returns (bytes32 node); } // File: contracts/TimestampL.sol pragma solidity ^0.5.2; library TimestampL { uint16 constant ORIGIN_YEAR = 1970; function toTimestamp(uint16 year, uint8 month, uint8 day) internal pure returns (uint timestamp) { uint16 i; // Year timestamp += uint(year - ORIGIN_YEAR) * 365 days; timestamp += (leapYearsBefore(year) - leapYearsBefore(ORIGIN_YEAR)) * 1 days; // Month uint8[12] memory monthDayCounts; monthDayCounts[0] = 31; if (isLeapYear(year)) { monthDayCounts[1] = 29; } else { monthDayCounts[1] = 28; } monthDayCounts[2] = 31; monthDayCounts[3] = 30; monthDayCounts[4] = 31; monthDayCounts[5] = 30; monthDayCounts[6] = 31; monthDayCounts[7] = 31; monthDayCounts[8] = 30; monthDayCounts[9] = 31; monthDayCounts[10] = 30; monthDayCounts[11] = 31; for (i = 1; i < month; i++) { timestamp += monthDayCounts[i - 1] * 1 days; } // Day timestamp += (day - 1) * 1 days; // Hour, Minute, and Second are assumed as 0 (we calculate in GMT) return timestamp; } function leapYearsBefore(uint year) internal pure returns (uint) { year -= 1; return year / 4 - year / 100 + year / 400; } function isLeapYear(uint16 year) internal pure returns (bool) { if (year % 4 != 0) { return false; } if (year % 100 != 0) { return true; } if (year % 400 != 0) { return false; } return true; } } // File: contracts/Mobilio.sol pragma solidity ^0.5.2; contract Mobilio is ERC20, ERC20Detailed { using SafeMath for uint256; address payable public bank; uint private launch_date; uint private seconds_minting; uint256 private trautsch_total; uint private trautsch_pre_minted; modifier onlyBank() { require(msg.sender == bank, "Only the bank account can perform this action."); _; } constructor(address payable _bank, address payable _dolphin) ERC20Detailed("Mobilio", "MOB", 18) public { bank = _bank; launch_date = TimestampL.toTimestamp(2019, 8, 7); seconds_minting = TimestampL.toTimestamp(2119, 1, 1) - TimestampL.toTimestamp(2019, 1, 1); // 100 years trautsch_total = 50_000_000_000 * (uint256(10) ** decimals()); _mint(_dolphin, 5_000_000_000 * (uint256(10) ** decimals())); trautsch_pre_minted = super.totalSupply(); } function unmintedBalance(address _sender) internal view returns (uint256) { if (_sender == bank) { // super.totalSupply() is the actually minted amount. uint256 missing = totalSupply() - super.totalSupply(); return missing; } else { return 0; } } modifier adjustMinting(address _sender) { uint256 missing = unmintedBalance(_sender); if (missing != 0) { _mint(bank, missing); } _; } /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { uint seconds_since_launch = now - launch_date; if (seconds_since_launch < seconds_minting) { return trautsch_pre_minted + (trautsch_total - trautsch_pre_minted) * seconds_since_launch / seconds_minting; } else { return trautsch_total; } } /** * @dev Gets the balance of the specified address. * @param owner The address to query the balance of. * @return A uint256 representing the amount owned by the passed address. */ function balanceOf(address owner) public view returns (uint256) { return super.balanceOf(owner) + unmintedBalance(owner); } /** * @dev Transfer token for a specified addresses * @param from The address to transfer from. * @param to The address to transfer to. * @param value The amount to be transferred. */ function _transfer(address from, address to, uint256 value) internal adjustMinting(from) { super._transfer(from, to, value); } /*** Enable reverse ENS registration ***/ // Call this with the address of the reverse registrar for the respecitve network and the ENS name to register. // The reverse registrar can be found as the owner of 'addr.reverse' in the ENS system. // For Mainnet, the address needed is 0x9062c0a6dbd6108336bcbe4593a3d1ce05512069 function registerReverseENS(address reverseRegistrarAddress, string calldata name) external onlyBank { require(reverseRegistrarAddress != address(0), "need a valid reverse registrar"); ENSReverseRegistrarI(reverseRegistrarAddress).setName(name); } /*** Make sure currency or NFT doesn't get stranded in this contract ***/ // If this contract gets a balance in some ERC20 contract after it's finished, then we can rescue it. function rescueToken(IERC20 _foreignToken, address _to) external onlyBank { _foreignToken.transfer(_to, _foreignToken.balanceOf(address(this))); } // If this contract gets a balance in some ERC721 contract after it's finished, then we can rescue it. function approveNFTrescue(IERC721 _foreignNFT, address _to) external onlyBank { _foreignNFT.setApprovalForAll(_to, true); } // if a new bank key is needed, call this function function rotateBankKey(address payable _newBank) external onlyBank { //using super._transfer to not tamper with super._transfer(bank, _newBank, super.balanceOf(bank)); bank = _newBank; } // Make sure this contract cannot receive ETH. function() external payable { revert("The contract cannot receive ETH payments."); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"_newBank","type":"address"}],"name":"rotateBankKey","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"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":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_foreignToken","type":"address"},{"name":"_to","type":"address"}],"name":"rescueToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bank","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"reverseRegistrarAddress","type":"address"},{"name":"name","type":"string"}],"name":"registerReverseENS","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_foreignNFT","type":"address"},{"name":"_to","type":"address"}],"name":"approveNFTrescue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_bank","type":"address"},{"name":"_dolphin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051604080620015d0833981018060405260408110156200003357600080fd5b508051602091820151604080518082018252600781527f4d6f62696c696f00000000000000000000000000000000000000000000000000818601908152825180840190935260038084527f4d4f420000000000000000000000000000000000000000000000000000000000968401969096528151949593949193601292620000bc92906200045b565b508151620000d29060049060208501906200045b565b506005805460ff191660ff9290921691909117610100600160a81b0319166101006001600160a01b03871602179055506200012190506107e360086007620001d4602090811b62000e8317901c565b600681905550620001426107e3600180620001d460201b62000e831760201c565b6200015d610847600180620001d460201b62000e831760201c565b036007556200017262000307602090811b901c565b60ff16600a0a640ba43b740002600881905550620001b3816200019a6200030760201b60201c565b60ff16600a0a64012a05f200026200031160201b60201c565b620001c8620003ca60201b62000e7d1760201c565b600955506200051c9050565b6301e1338061ffff6107b119850116026000620001fa6107b2620003d0602090811b901c565b6200020f8661ffff16620003d060201b60201c565b0362015180028201915062000223620004e0565b601f81526200023986620003e9602090811b901c565b156200024c57601d602082015262000254565b601c60208201525b601f60408201819052601e606083018190526080830182905260a0830181905260c0830182905260e0830182905261010083018190526101208301829052610140830152610160820152600191505b8460ff168261ffff161015620002eb57806001830361ffff16600c8110620002c757fe5b602002015160ff16620151800262ffffff16830192508180600101925050620002a3565b505062ffffff6201518060ff6000198501160216019392505050565b60055460ff165b90565b6001600160a01b0382166200032557600080fd5b62000341816002546200044160201b62000d7a1790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200037491839062000d7a62000441821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60025490565b600019016064810460048204036101908204015b919050565b60006003821615620003fe57506000620003e4565b606461ffff83160661ffff166000146200041b57506001620003e4565b61019061ffff83160661ffff166000146200043957506000620003e4565b506001919050565b6000828201838110156200045457600080fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049e57805160ff1916838001178555620004ce565b82800160010185558215620004ce579182015b82811115620004ce578251825591602001919060010190620004b1565b50620004dc929150620004ff565b5090565b604051806101800160405280600c906020820280388339509192915050565b6200030e91905b80821115620004dc576000815560010162000506565b6110a4806200052c6000396000f3fe6080604052600436106100f35760003560e01c806370a082311161008a578063a457c2d711610059578063a457c2d714610448578063a9059cbb14610481578063dd48f774146104ba578063dd62ed3e146104f5576100f3565b806370a082311461034257806376cdb03b146103755780638e8fa11f146103a657806395d89b4114610433576100f3565b806323b872dd116100c657806323b872dd14610260578063313ce567146102a357806339509351146102ce5780634707d00014610307576100f3565b806302dd1e9b1461012d57806306fdde0314610162578063095ea7b3146101ec57806318160ddd14610239575b604051600160e51b62461bcd0281526004018080602001828103825260298152602001806110226029913960400191505060405180910390fd5b34801561013957600080fd5b506101606004803603602081101561015057600080fd5b50356001600160a01b0316610530565b005b34801561016e57600080fd5b506101776105cd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101b1578181015183820152602001610199565b50505050905090810190601f1680156101de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f857600080fd5b506102256004803603604081101561020f57600080fd5b506001600160a01b038135169060200135610664565b604080519115158252519081900360200190f35b34801561024557600080fd5b5061024e61067a565b60408051918252519081900360200190f35b34801561026c57600080fd5b506102256004803603606081101561028357600080fd5b506001600160a01b038135811691602081013590911690604001356106b7565b3480156102af57600080fd5b506102b861070e565b6040805160ff9092168252519081900360200190f35b3480156102da57600080fd5b50610225600480360360408110156102f157600080fd5b506001600160a01b038135169060200135610717565b34801561031357600080fd5b506101606004803603604081101561032a57600080fd5b506001600160a01b0381358116916020013516610753565b34801561034e57600080fd5b5061024e6004803603602081101561036557600080fd5b50356001600160a01b031661089e565b34801561038157600080fd5b5061038a6108bb565b604080516001600160a01b039092168252519081900360200190f35b3480156103b257600080fd5b50610160600480360360408110156103c957600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156103f457600080fd5b82018360208201111561040657600080fd5b8035906020019184600183028401116401000000008311171561042857600080fd5b5090925090506108cf565b34801561043f57600080fd5b50610177610a26565b34801561045457600080fd5b506102256004803603604081101561046b57600080fd5b506001600160a01b038135169060200135610a87565b34801561048d57600080fd5b50610225600480360360408110156104a457600080fd5b506001600160a01b038135169060200135610ac3565b3480156104c657600080fd5b50610160600480360360408110156104dd57600080fd5b506001600160a01b0381358116916020013516610ad0565b34801561050157600080fd5b5061024e6004803603604081101561051857600080fd5b506001600160a01b0381358116916020013516610b92565b60055461010090046001600160a01b0316331461058157604051600160e51b62461bcd02815260040180806020018281038252602e81526020018061104b602e913960400191505060405180910390fd5b6005546105a59061010090046001600160a01b0316826105a082610bbd565b610bd8565b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106595780601f1061062e57610100808354040283529160200191610659565b820191906000526020600020905b81548152906001019060200180831161063c57829003601f168201915b505050505090505b90565b6000610671338484610ca3565b50600192915050565b6006546007546000914203908110156106ad57600754816009546008540302816106a057fe5b0460095401915050610661565b5050600854610661565b60006106c4848484610d2b565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546107049186916106ff908663ffffffff610d6516565b610ca3565b5060019392505050565b60055460ff1690565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106719185906106ff908663ffffffff610d7a16565b60055461010090046001600160a01b031633146107a457604051600160e51b62461bcd02815260040180806020018281038252602e81526020018061104b602e913960400191505060405180910390fd5b60408051600160e01b6370a0823102815230600482015290516001600160a01b0384169163a9059cbb91849184916370a0823191602480820192602092909190829003018186803b1580156107f857600080fd5b505afa15801561080c573d6000803e3d6000fd5b505050506040513d602081101561082257600080fd5b50516040805163ffffffff851660e01b81526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561086e57600080fd5b505af1158015610882573d6000803e3d6000fd5b505050506040513d602081101561089857600080fd5b50505050565b60006108a982610d93565b6108b283610bbd565b0190505b919050565b60055461010090046001600160a01b031681565b60055461010090046001600160a01b0316331461092057604051600160e51b62461bcd02815260040180806020018281038252602e81526020018061104b602e913960400191505060405180910390fd5b6001600160a01b03831661097e5760408051600160e51b62461bcd02815260206004820152601e60248201527f6e65656420612076616c69642072657665727365207265676973747261720000604482015290519081900360640190fd5b604051600160e01b63c47f0027028152602060048201908152602482018390526001600160a01b0385169163c47f00279185918591908190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b1580156109f557600080fd5b505af1158015610a09573d6000803e3d6000fd5b505050506040513d6020811015610a1f57600080fd5b5050505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106595780601f1061062e57610100808354040283529160200191610659565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106719185906106ff908663ffffffff610d6516565b6000610671338484610d2b565b60055461010090046001600160a01b03163314610b2157604051600160e51b62461bcd02815260040180806020018281038252602e81526020018061104b602e913960400191505060405180910390fd5b60408051600160e01b63a22cb4650281526001600160a01b0383811660048301526001602483015291519184169163a22cb4659160448082019260009290919082900301818387803b158015610b7657600080fd5b505af1158015610b8a573d6000803e3d6000fd5b505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b038216610beb57600080fd5b6001600160a01b038316600090815260208190526040902054610c14908263ffffffff610d6516565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610c49908263ffffffff610d7a16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b038216610cb657600080fd5b6001600160a01b038316610cc957600080fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b826000610d3782610d93565b90508015610d5a57600554610d5a9061010090046001600160a01b031682610dd5565b610a1f858585610bd8565b600082821115610d7457600080fd5b50900390565b600082820183811015610d8c57600080fd5b9392505050565b6005546000906001600160a01b03838116610100909204161415610dcd576000610dbb610e7d565b610dc361067a565b0391506108b69050565b5060006108b6565b6001600160a01b038216610de857600080fd5b600254610dfb908263ffffffff610d7a16565b6002556001600160a01b038216600090815260208190526040902054610e27908263ffffffff610d7a16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60025490565b6301e1338061ffff6107b119850116026000610ea06107b2610f95565b610ead8661ffff16610f95565b03620151800282019150610ebf611002565b601f8152610ecc86610fb0565b15610edd57601d6020820152610ee5565b601c60208201525b601f60408201819052601e606083018190526080830182905260a0830181905260c0830182905260e0830182905261010083018190526101208301829052610140830152610160820152600191505b8460ff168261ffff161015610f7957806001830361ffff16600c8110610f5657fe5b602002015160ff16620151800262ffffff16830192508180600101925050610f34565b505062ffffff6201518060ff6000198501160216019392505050565b60001901600061019082046064830460048404030192915050565b60006003821615610fc3575060006108b6565b606461ffff83160661ffff16600014610fde575060016108b6565b61019061ffff83160661ffff16600014610ffa575060006108b6565b506001919050565b604051806101800160405280600c90602082028038833950919291505056fe54686520636f6e74726163742063616e6e6f74207265636569766520455448207061796d656e74732e4f6e6c79207468652062616e6b206163636f756e742063616e20706572666f726d207468697320616374696f6e2ea165627a7a72305820aa35cce3a9b2b13c175ce4a4e31db465924a709308a6d6b4116bdaba2f298cf800290000000000000000000000002a68bdc41e98ab0fb60c9610e62d83ab29312d060000000000000000000000004509ab400d81c759fb9b8f8eb032ba79b8ba6bc2
Deployed Bytecode
0x6080604052600436106100f35760003560e01c806370a082311161008a578063a457c2d711610059578063a457c2d714610448578063a9059cbb14610481578063dd48f774146104ba578063dd62ed3e146104f5576100f3565b806370a082311461034257806376cdb03b146103755780638e8fa11f146103a657806395d89b4114610433576100f3565b806323b872dd116100c657806323b872dd14610260578063313ce567146102a357806339509351146102ce5780634707d00014610307576100f3565b806302dd1e9b1461012d57806306fdde0314610162578063095ea7b3146101ec57806318160ddd14610239575b604051600160e51b62461bcd0281526004018080602001828103825260298152602001806110226029913960400191505060405180910390fd5b34801561013957600080fd5b506101606004803603602081101561015057600080fd5b50356001600160a01b0316610530565b005b34801561016e57600080fd5b506101776105cd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101b1578181015183820152602001610199565b50505050905090810190601f1680156101de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f857600080fd5b506102256004803603604081101561020f57600080fd5b506001600160a01b038135169060200135610664565b604080519115158252519081900360200190f35b34801561024557600080fd5b5061024e61067a565b60408051918252519081900360200190f35b34801561026c57600080fd5b506102256004803603606081101561028357600080fd5b506001600160a01b038135811691602081013590911690604001356106b7565b3480156102af57600080fd5b506102b861070e565b6040805160ff9092168252519081900360200190f35b3480156102da57600080fd5b50610225600480360360408110156102f157600080fd5b506001600160a01b038135169060200135610717565b34801561031357600080fd5b506101606004803603604081101561032a57600080fd5b506001600160a01b0381358116916020013516610753565b34801561034e57600080fd5b5061024e6004803603602081101561036557600080fd5b50356001600160a01b031661089e565b34801561038157600080fd5b5061038a6108bb565b604080516001600160a01b039092168252519081900360200190f35b3480156103b257600080fd5b50610160600480360360408110156103c957600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156103f457600080fd5b82018360208201111561040657600080fd5b8035906020019184600183028401116401000000008311171561042857600080fd5b5090925090506108cf565b34801561043f57600080fd5b50610177610a26565b34801561045457600080fd5b506102256004803603604081101561046b57600080fd5b506001600160a01b038135169060200135610a87565b34801561048d57600080fd5b50610225600480360360408110156104a457600080fd5b506001600160a01b038135169060200135610ac3565b3480156104c657600080fd5b50610160600480360360408110156104dd57600080fd5b506001600160a01b0381358116916020013516610ad0565b34801561050157600080fd5b5061024e6004803603604081101561051857600080fd5b506001600160a01b0381358116916020013516610b92565b60055461010090046001600160a01b0316331461058157604051600160e51b62461bcd02815260040180806020018281038252602e81526020018061104b602e913960400191505060405180910390fd5b6005546105a59061010090046001600160a01b0316826105a082610bbd565b610bd8565b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106595780601f1061062e57610100808354040283529160200191610659565b820191906000526020600020905b81548152906001019060200180831161063c57829003601f168201915b505050505090505b90565b6000610671338484610ca3565b50600192915050565b6006546007546000914203908110156106ad57600754816009546008540302816106a057fe5b0460095401915050610661565b5050600854610661565b60006106c4848484610d2b565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546107049186916106ff908663ffffffff610d6516565b610ca3565b5060019392505050565b60055460ff1690565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106719185906106ff908663ffffffff610d7a16565b60055461010090046001600160a01b031633146107a457604051600160e51b62461bcd02815260040180806020018281038252602e81526020018061104b602e913960400191505060405180910390fd5b60408051600160e01b6370a0823102815230600482015290516001600160a01b0384169163a9059cbb91849184916370a0823191602480820192602092909190829003018186803b1580156107f857600080fd5b505afa15801561080c573d6000803e3d6000fd5b505050506040513d602081101561082257600080fd5b50516040805163ffffffff851660e01b81526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561086e57600080fd5b505af1158015610882573d6000803e3d6000fd5b505050506040513d602081101561089857600080fd5b50505050565b60006108a982610d93565b6108b283610bbd565b0190505b919050565b60055461010090046001600160a01b031681565b60055461010090046001600160a01b0316331461092057604051600160e51b62461bcd02815260040180806020018281038252602e81526020018061104b602e913960400191505060405180910390fd5b6001600160a01b03831661097e5760408051600160e51b62461bcd02815260206004820152601e60248201527f6e65656420612076616c69642072657665727365207265676973747261720000604482015290519081900360640190fd5b604051600160e01b63c47f0027028152602060048201908152602482018390526001600160a01b0385169163c47f00279185918591908190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b1580156109f557600080fd5b505af1158015610a09573d6000803e3d6000fd5b505050506040513d6020811015610a1f57600080fd5b5050505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106595780601f1061062e57610100808354040283529160200191610659565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106719185906106ff908663ffffffff610d6516565b6000610671338484610d2b565b60055461010090046001600160a01b03163314610b2157604051600160e51b62461bcd02815260040180806020018281038252602e81526020018061104b602e913960400191505060405180910390fd5b60408051600160e01b63a22cb4650281526001600160a01b0383811660048301526001602483015291519184169163a22cb4659160448082019260009290919082900301818387803b158015610b7657600080fd5b505af1158015610b8a573d6000803e3d6000fd5b505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b038216610beb57600080fd5b6001600160a01b038316600090815260208190526040902054610c14908263ffffffff610d6516565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610c49908263ffffffff610d7a16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b038216610cb657600080fd5b6001600160a01b038316610cc957600080fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b826000610d3782610d93565b90508015610d5a57600554610d5a9061010090046001600160a01b031682610dd5565b610a1f858585610bd8565b600082821115610d7457600080fd5b50900390565b600082820183811015610d8c57600080fd5b9392505050565b6005546000906001600160a01b03838116610100909204161415610dcd576000610dbb610e7d565b610dc361067a565b0391506108b69050565b5060006108b6565b6001600160a01b038216610de857600080fd5b600254610dfb908263ffffffff610d7a16565b6002556001600160a01b038216600090815260208190526040902054610e27908263ffffffff610d7a16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60025490565b6301e1338061ffff6107b119850116026000610ea06107b2610f95565b610ead8661ffff16610f95565b03620151800282019150610ebf611002565b601f8152610ecc86610fb0565b15610edd57601d6020820152610ee5565b601c60208201525b601f60408201819052601e606083018190526080830182905260a0830181905260c0830182905260e0830182905261010083018190526101208301829052610140830152610160820152600191505b8460ff168261ffff161015610f7957806001830361ffff16600c8110610f5657fe5b602002015160ff16620151800262ffffff16830192508180600101925050610f34565b505062ffffff6201518060ff6000198501160216019392505050565b60001901600061019082046064830460048404030192915050565b60006003821615610fc3575060006108b6565b606461ffff83160661ffff16600014610fde575060016108b6565b61019061ffff83160661ffff16600014610ffa575060006108b6565b506001919050565b604051806101800160405280600c90602082028038833950919291505056fe54686520636f6e74726163742063616e6e6f74207265636569766520455448207061796d656e74732e4f6e6c79207468652062616e6b206163636f756e742063616e20706572666f726d207468697320616374696f6e2ea165627a7a72305820aa35cce3a9b2b13c175ce4a4e31db465924a709308a6d6b4116bdaba2f298cf80029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002a68bdc41e98ab0fb60c9610e62d83ab29312d060000000000000000000000004509ab400d81c759fb9b8f8eb032ba79b8ba6bc2
-----Decoded View---------------
Arg [0] : _bank (address): 0x2A68bDc41e98ab0FB60c9610E62D83AB29312d06
Arg [1] : _dolphin (address): 0x4509Ab400D81C759fb9b8F8eB032ba79b8bA6bc2
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000002a68bdc41e98ab0fb60c9610e62d83ab29312d06
Arg [1] : 0000000000000000000000004509ab400d81c759fb9b8f8eb032ba79b8ba6bc2
Deployed Bytecode Sourcemap
20250:4346:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24532:51;;-1:-1:-1;;;;;24532:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24191:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24191:232:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24191:232:0;-1:-1:-1;;;;;24191:232:0;;:::i;:::-;;3624:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3624:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3624:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8849:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8849:148:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8849:148:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;21768:360;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21768:360:0;;;:::i;:::-;;;;;;;;;;;;;;;;9470:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9470:228:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9470:228:0;;;;;;;;;;;;;;;;;:::i;3940:83::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3940:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10224:203;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10224:203:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10224:203:0;;;;;;;;:::i;23683:175::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23683:175:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;23683:175:0;;;;;;;;;;:::i;22347:137::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22347:137:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22347:137:0;-1:-1:-1;;;;;22347:137:0;;:::i;20335:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20335:27:0;;;:::i;:::-;;;;-1:-1:-1;;;;;20335:27:0;;;;;;;;;;;;;;23204:283;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23204:283:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;23204:283:0;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;23204:283:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;23204:283:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;23204:283:0;;-1:-1:-1;23204:283:0;-1:-1:-1;23204:283:0;:::i;3774:87::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3774:87:0;;;:::i;10958:213::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10958:213:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10958:213:0;;;;;;;;:::i;8062:140::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8062:140:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8062:140:0;;;;;;;;:::i;23974:152::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23974:152:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;23974:152:0;;;;;;;;;;:::i;7757:131::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7757:131:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7757:131:0;;;;;;;;;;:::i;24191:232::-;20574:4;;;;;-1:-1:-1;;;;;20574:4:0;20560:10;:18;20552:77;;;;-1:-1:-1;;;;;20552:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24352:4;;24336:54;;24352:4;;;-1:-1:-1;;;;;24352:4:0;24358:8;24368:21;24352:4;24368:15;:21::i;:::-;24336:15;:54::i;:::-;24400:4;:15;;-1:-1:-1;;;;;24400:15:0;;;;;-1:-1:-1;;;;;;24400:15:0;;;;;;;;;24191:232::o;3624:83::-;3694:5;3687:12;;;;;;;;-1:-1:-1;;3687:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3661:13;;3687:12;;3694:5;;3687:12;;3694:5;3687:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3624:83;;:::o;8849:148::-;8914:4;8931:36;8940:10;8952:7;8961:5;8931:8;:36::i;:::-;-1:-1:-1;8985:4:0;8849:148;;;;:::o;21768:360::-;21866:11;;21915:15;;21812:7;;21860:3;:17;;21892:38;;21888:233;;;22040:15;;22017:20;21994:19;;21977:14;;:36;21976:61;:79;;;;;;21954:19;;:101;21947:108;;;;;21888:233;-1:-1:-1;;22095:14:0;;22088:21;;9470:228;9549:4;9566:26;9576:4;9582:2;9586:5;9566:9;:26::i;:::-;-1:-1:-1;;;;;9630:14:0;;;;;;:8;:14;;;;;;;;9618:10;9630:26;;;;;;;;;9603:65;;9612:4;;9630:37;;9661:5;9630:37;:30;:37;:::i;:::-;9603:8;:65::i;:::-;-1:-1:-1;9686:4:0;9470:228;;;;;:::o;3940:83::-;4006:9;;;;3940:83;:::o;10224:203::-;10330:10;10304:4;10351:20;;;:8;:20;;;;;;;;-1:-1:-1;;;;;10351:29:0;;;;;;;;;;10304:4;;10321:76;;10342:7;;10351:45;;10385:10;10351:45;:33;:45;:::i;23683:175::-;20574:4;;;;;-1:-1:-1;;;;;20574:4:0;20560:10;:18;20552:77;;;;-1:-1:-1;;;;;20552:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23811:38;;;-1:-1:-1;;;;;23811:38:0;;23843:4;23811:38;;;;;;-1:-1:-1;;;;;23783:22:0;;;;;23806:3;;23783:22;;23811:23;;:38;;;;;;;;;;;;;;;23783:22;23811:38;;;5:2:-1;;;;30:1;27;20:12;5:2;23811:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23811:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23811:38:0;23783:67;;;;;;;;;;-1:-1:-1;;;;;23783:67:0;;;;;;;;;;;;;;;;;;;;23811:38;;23783:67;;;;;;;-1:-1:-1;23783:67:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;23783:67:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23783:67:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;23683:175:0:o;22347:137::-;22402:7;22454:22;22470:5;22454:15;:22::i;:::-;22429;22445:5;22429:15;:22::i;:::-;:47;22422:54;;22347:137;;;;:::o;20335:27::-;;;;;;-1:-1:-1;;;;;20335:27:0;;:::o;23204:283::-;20574:4;;;;;-1:-1:-1;;;;;20574:4:0;20560:10;:18;20552:77;;;;-1:-1:-1;;;;;20552:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23338:37:0;;23330:80;;;;;-1:-1:-1;;;;;23330:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;23420:59;;-1:-1:-1;;;;;23420:59:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;23420:53:0;;;;;23474:4;;;;23420:59;;;;;23474:4;;;;23420:59;1:33:-1;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;;23420:59:0;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23420:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23420:59:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;23204:283:0:o;3774:87::-;3846:7;3839:14;;;;;;;;-1:-1:-1;;3839:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3813:13;;3839:14;;3846:7;;3839:14;;3846:7;3839:14;;;;;;;;;;;;;;;;;;;;;;;;10958:213;11069:10;11043:4;11090:20;;;:8;:20;;;;;;;;-1:-1:-1;;;;;11090:29:0;;;;;;;;;;11043:4;;11060:81;;11081:7;;11090:50;;11124:15;11090:50;:33;:50;:::i;8062:140::-;8123:4;8140:32;8150:10;8162:2;8166:5;8140:9;:32::i;23974:152::-;20574:4;;;;;-1:-1:-1;;;;;20574:4:0;20560:10;:18;20552:77;;;;-1:-1:-1;;;;;20552:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24078:40;;;-1:-1:-1;;;;;24078:40:0;;-1:-1:-1;;;;;24078:40:0;;;;;;;24113:4;24078:40;;;;;;:29;;;;;;:40;;;;;-1:-1:-1;;24078:40:0;;;;;;;;-1:-1:-1;24078:29:0;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;24078:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24078:40:0;;;;23974:152;;:::o;7757:131::-;-1:-1:-1;;;;;7856:15:0;;;7829:7;7856:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;7757:131::o;7312:106::-;-1:-1:-1;;;;;7394:16:0;7367:7;7394:16;;;;;;;;;;;;7312:106::o;11398:262::-;-1:-1:-1;;;;;11486:16:0;;11478:25;;;;;;-1:-1:-1;;;;;11534:15:0;;:9;:15;;;;;;;;;;;:26;;11554:5;11534:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;11516:15:0;;;:9;:15;;;;;;;;;;;:44;;;;11587:13;;;;;;;:24;;11605:5;11587:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;11571:13:0;;;:9;:13;;;;;;;;;;;;:40;;;;11627:25;;;;;;;11571:13;;11627:25;;;;;;;;;;;;;11398:262;;;:::o;13057:254::-;-1:-1:-1;;;;;13150:21:0;;13142:30;;;;;;-1:-1:-1;;;;;13191:19:0;;13183:28;;;;;;-1:-1:-1;;;;;13224:15:0;;;;;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;:32;;;13272:31;;;;;;;;;;;;;;;;;13057:254;;;:::o;22711:140::-;22794:4;21556:15;21574:24;21590:7;21574:15;:24::i;:::-;21556:42;-1:-1:-1;21613:12:0;;21609:65;;21648:4;;21642:20;;21648:4;;;-1:-1:-1;;;;;21648:4:0;21654:7;21642:5;:20::i;:::-;22811:32;22827:4;22833:2;22837:5;22811:15;:32::i;5355:150::-;5413:7;5446:1;5441;:6;;5433:15;;;;;;-1:-1:-1;5471:5:0;;;5355:150::o;5593:::-;5651:7;5683:5;;;5707:6;;;;5699:15;;;;;;5734:1;5593:150;-1:-1:-1;;;5593:150:0:o;21167:330::-;21267:4;;21232:7;;-1:-1:-1;;;;;21256:15:0;;;21267:4;;;;;21256:15;21252:238;;;21355:15;21389:19;:17;:19::i;:::-;21373:13;:11;:13::i;:::-;:35;;-1:-1:-1;21423:14:0;;-1:-1:-1;21423:14:0;21252:238;-1:-1:-1;21477:1:0;21470:8;;12012:269;-1:-1:-1;;;;;12087:21:0;;12079:30;;;;;;12137:12;;:23;;12154:5;12137:23;:16;:23;:::i;:::-;12122:12;:38;-1:-1:-1;;;;;12192:18:0;;:9;:18;;;;;;;;;;;:29;;12215:5;12192:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;12171:18:0;;:9;:18;;;;;;;;;;;:50;;;;12237:36;;;;;;;12171:18;;:9;;12237:36;;;;;;;;;;12012:269;;:::o;7002:91::-;7073:12;;7002:91;:::o;18555:1143::-;18746:8;18719:24;-1:-1:-1;;18724:18:0;;18719:24;:35;18641:14;18803:28;18542:4;18803:15;:28::i;:::-;18779:21;18795:4;18779:21;;:15;:21::i;:::-;:52;18835:6;18778:63;18765:76;;;;18872:31;;:::i;:::-;18934:2;18914:22;;18951:16;18962:4;18951:10;:16::i;:::-;18947:135;;;19004:2;18984:17;;;:22;18947:135;;;19068:2;19048:17;;;:22;18947:135;19112:2;19092:17;;;:22;;;19145:2;19125:17;;;:22;;;19158:17;;;:22;;;19191:17;;;:22;;;19224:17;;;:22;;;19257:17;;;:22;;;19290:17;;;:22;;;19323:17;;;:22;;;19356:18;;;:23;19390:18;;;:23;19435:1;;-1:-1:-1;19426:98:0;19442:5;19438:9;;:1;:9;;;19426:98;;;19482:14;19501:1;19497;:5;19482:21;;;;;;;;;;;;;:30;;19506:6;19482:30;19469:43;;;;;;19449:3;;;;;;;19426:98;;;-1:-1:-1;;19552:31:0;19577:6;19565:18;-1:-1:-1;;19566:7:0;;19565:18;;19552:31;;18555:1143;;;;;:::o;19708:150::-;-1:-1:-1;;19789:9:0;19772:4;19847:3;19789:9;19840:10;19834:3;19827:4;:10;19823:1;19816:4;:8;:21;:34;;19708:150;-1:-1:-1;;19708:150:0:o;19866:304::-;19927:4;19948:8;;;:13;19944:58;;-1:-1:-1;19985:5:0;19978:12;;19944:58;20023:3;20016:10;;;;:15;;20030:1;20016:15;20012:59;;-1:-1:-1;20055:4:0;20048:11;;20012:59;20092:3;20085:10;;;;:15;;20099:1;20085:15;20081:60;;-1:-1:-1;20124:5:0;20117:12;;20081:60;-1:-1:-1;20158:4:0;19866:304;;;:::o;-1:-1:-1:-;;;;;;;;;;;29:2;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;;;;;;:::o
Swarm Source
bzzr://aa35cce3a9b2b13c175ce4a4e31db465924a709308a6d6b4116bdaba2f298cf8
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 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.