More Info
Private Name Tags
ContractCreator
Latest 10 from a total of 10 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Create Receipt | 10813388 | 1422 days ago | IN | 0 ETH | 0.02128488 | ||||
Finish Receipt | 10734982 | 1434 days ago | IN | 0 ETH | 0.00518931 | ||||
Finish Receipt | 10734979 | 1434 days ago | IN | 0 ETH | 0.00555476 | ||||
Create Receipt | 10734965 | 1434 days ago | IN | 0 ETH | 0.02048577 | ||||
Fix Save Time | 10631455 | 1450 days ago | IN | 0 ETH | 0.00282292 | ||||
Create Receipt | 10631180 | 1450 days ago | IN | 0 ETH | 0.02740304 | ||||
Create Receipt | 10611771 | 1453 days ago | IN | 0 ETH | 0.01498007 | ||||
Finish Receipt | 10597266 | 1455 days ago | IN | 0 ETH | 0.00277692 | ||||
Create Receipt | 10468112 | 1475 days ago | IN | 0 ETH | 0.00933993 | ||||
0x60806040 | 10101047 | 1532 days ago | IN | 0 ETH | 0.03951969 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
LockMapping
Compiler Version
v0.4.26+commit.4563c3fc
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-05-20 */ pragma solidity ^0.4.26; contract Owned { address public owner; event OwnershipTransferred(address indexed _from, address indexed _to); constructor () public { owner = msg.sender; } modifier onlyOwner { require (msg.sender == owner); _; } function transferOwnership(address newOwner) public onlyOwner { emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract ERC20 { uint256 public totalSupply; function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); //real elf //function transfer(address _to, uint256 _value) public; function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); //function burnTokens(uint256 _amount) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract LockMapping is Owned { using SafeMath for uint256; event NewReceipt(uint256 receiptId, address asset, address owner, uint256 endTime); address public asset = 0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e; uint256 public saveTime = 86400*15; //15 days; uint256 public receiptCount = 0; struct Receipt { address asset; address owner; string targetAddress; uint256 amount; uint256 startTime; uint256 endTime; bool finished; } Receipt[] public receipts; mapping (uint256 => address) private receiptToOwner; mapping (address => uint256[]) private ownerToReceipts; modifier haveAllowance(address _asset, uint256 _amount) { uint256 allowance = ERC20(asset).allowance(msg.sender, address(this)); require(allowance >= _amount); _; } modifier exceedEndtime(uint256 _id) { require(receipts[_id].endTime != 0 && receipts[_id].endTime <= now); _; } modifier notFinished(uint256 _id) { require(receipts[_id].finished == false); _; } function _createReceipt( address _asset, address _owner, string _targetAddress, uint256 _amount, uint256 _startTime, uint256 _endTime, bool _finished ) internal { uint256 id = receipts.push(Receipt(_asset, _owner, _targetAddress, _amount, _startTime, _endTime, _finished)) - 1; receiptCount = id + 1; receiptToOwner[id] = msg.sender; ownerToReceipts[msg.sender].push(id); emit NewReceipt(id, _asset, _owner, _endTime); } //create new receipt function createReceipt(uint256 _amount, string targetAddress) external haveAllowance(asset,_amount) { //other processes //deposit token to this contract require (ERC20(asset).transferFrom(msg.sender, address(this), _amount)); // _createReceipt(asset, msg.sender, targetAddress, _amount, now, now + saveTime, false ); } //finish the receipt and withdraw bonus and token function finishReceipt(uint256 _id) external notFinished(_id) exceedEndtime(_id) { // only receipt owner can finish receipt require (msg.sender == receipts[_id].owner); ERC20(asset).transfer(receipts[_id].owner, receipts[_id].amount ); receipts[_id].finished = true; } function getMyReceipts(address _address) external view returns (uint256[]){ return ownerToReceipts[_address]; } function getLockTokens(address _address) external view returns (uint256){ uint256[] memory myReceipts = ownerToReceipts[_address!=address(0) ? _address:msg.sender]; uint256 amount = 0; for(uint256 i=0; i< myReceipts.length; i++) { if(receipts[myReceipts[i]].finished == false){ amount += receipts[myReceipts[i]].amount; } } return amount; } function fixSaveTime(uint256 _period) external onlyOwner { saveTime = _period; } function getReceiptInfo(uint256 index) public view returns(bytes32, string, uint256, bool){ return (sha256(index), receipts[index].targetAddress, receipts[index].amount, receipts[index].finished); } } library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. * * _Available since v2.4.0._ */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot 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-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"receipts","outputs":[{"name":"asset","type":"address"},{"name":"owner","type":"address"},{"name":"targetAddress","type":"string"},{"name":"amount","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"finished","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"saveTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"asset","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getMyReceipts","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"targetAddress","type":"string"}],"name":"createReceipt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_period","type":"uint256"}],"name":"fixSaveTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"receiptCount","outputs":[{"name":"","type":"uint256"}],"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":"_address","type":"address"}],"name":"getLockTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"finishReceipt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getReceiptInfo","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"string"},{"name":"","type":"uint256"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"receiptId","type":"uint256"},{"indexed":false,"name":"asset","type":"address"},{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"endTime","type":"uint256"}],"name":"NewReceipt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405273bf2179859fc6d5bee9bf9158632dc51678a4100e600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506213c6806002556000600355336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ba806100b46000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630f7ee1ec146100bf57806310e7b9f2146101eb57806338d52e0f1461021657806343c0948e1461026d5780634cc08a27146103055780636af3356b1461034a5780637f038f3c146103775780638da5cb5b146103a25780639b98a94b146103f95780639fcf4ff114610450578063b97912ff1461047d578063f2fde38b14610544575b600080fd5b3480156100cb57600080fd5b506100ea60048036038101908080359060200190929190505050610587565b604051808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200186815260200185815260200184815260200183151515158152602001828103825287818151815260200191508051906020019080838360005b838110156101aa57808201518184015260208101905061018f565b50505050905090810190601f1680156101d75780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b3480156101f757600080fd5b506102006106bd565b6040518082815260200191505060405180910390f35b34801561022257600080fd5b5061022b6106c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027957600080fd5b506102ae600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106e9565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102f15780820151818401526020810190506102d6565b505050509050019250505060405180910390f35b34801561031157600080fd5b5061034860048036038101908080359060200190929190803590602001908201803590602001919091929391929390505050610780565b005b34801561035657600080fd5b5061037560048036038101908080359060200190929190505050610a92565b005b34801561038357600080fd5b5061038c610af7565b6040518082815260200191505060405180910390f35b3480156103ae57600080fd5b506103b7610afd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040557600080fd5b5061043a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b22565b6040518082815260200191505060405180910390f35b34801561045c57600080fd5b5061047b60048036038101908080359060200190929190505050610cac565b005b34801561048957600080fd5b506104a860048036038101908080359060200190929190505050610f63565b6040518085600019166000191681526020018060200184815260200183151515158152602001828103825285818151815260200191508051906020019080838360005b838110156105065780820151818401526020810190506104eb565b50505050905090810190601f1680156105335780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561055057600080fd5b50610585600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110d9565b005b60048181548110151561059657fe5b90600052602060002090600702016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561068e5780601f106106635761010080835404028352916020019161068e565b820191906000526020600020905b81548152906001019060200180831161067157829003601f168201915b5050505050908060030154908060040154908060050154908060060160009054906101000a900460ff16905087565b60025481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561077457602002820191906000526020600020905b815481526020019060010190808311610760575b50505050509050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561089757600080fd5b505af11580156108ab573d6000803e3d6000fd5b505050506040513d60208110156108c157600080fd5b810190808051906020019092919050505090508181101515156108e357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156109dc57600080fd5b505af11580156109f0573d6000803e3d6000fd5b505050506040513d6020811015610a0657600080fd5b81019080805190602001909291905050501515610a2257600080fd5b610a8a600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff163387878080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508942600254420160006111f2565b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610aed57600080fd5b8060028190555050565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006060600080600660008073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415610b675733610b69565b865b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610bed57602002820191906000526020600020905b815481526020019060010190808311610bd9575b5050505050925060009150600090505b8251811015610ca1576000151560048483815181101515610c1a57fe5b90602001906020020151815481101515610c3057fe5b906000526020600020906007020160060160009054906101000a900460ff1615151415610c945760048382815181101515610c6757fe5b90602001906020020151815481101515610c7d57fe5b906000526020600020906007020160030154820191505b8080600101915050610bfd565b819350505050919050565b8060001515600482815481101515610cc057fe5b906000526020600020906007020160060160009054906101000a900460ff161515141515610ced57600080fd5b816000600482815481101515610cff57fe5b90600052602060002090600702016005015414158015610d3f575042600482815481101515610d2a57fe5b90600052602060002090600702016005015411155b1515610d4a57600080fd5b600483815481101515610d5957fe5b906000526020600020906007020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dc457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600485815481101515610e1157fe5b906000526020600020906007020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600486815481101515610e5257fe5b9060005260206000209060070201600301546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ee957600080fd5b505af1158015610efd573d6000803e3d6000fd5b505050506040513d6020811015610f1357600080fd5b8101908080519060200190929190505050506001600484815481101515610f3657fe5b906000526020600020906007020160060160006101000a81548160ff021916908315150217905550505050565b60006060600080600285604051808281526020019150506020604051808303816000865af1158015610f99573d6000803e3d6000fd5b5050506040513d6020811015610fae57600080fd5b8101908080519060200190929190505050600486815481101515610fce57fe5b9060005260206000209060070201600201600487815481101515610fee57fe5b90600052602060002090600702016003015460048881548110151561100f57fe5b906000526020600020906007020160060160009054906101000a900460ff16828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110c35780601f10611098576101008083540402835291602001916110c3565b820191906000526020600020905b8154815290600101906020018083116110a657829003601f168201915b5050505050925093509350935093509193509193565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561113457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006001600460e0604051908101604052808b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018981526020018881526020018781526020018681526020018515158152509080600181540180825580915050906001820390600052602060002090600702016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201908051906020019061132f9291906114e9565b50606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff021916908315150217905550505003905060018101600381905550336005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150509060018203906000526020600020016000909192909190915055507fe3b5ea43ee8fe1c736c8c1cbb87454d3cca6c7e1814756f9b720dd8b2dd2885781898986604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a15050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061152a57805160ff1916838001178555611558565b82800160010185558215611558579182015b8281111561155757825182559160200191906001019061153c565b5b5090506115659190611569565b5090565b61158b91905b8082111561158757600081600090555060010161156f565b5090565b905600a165627a7a72305820c6b5d6164ce58b9646c30d157e72e0b5f36afa7a70d6d1928aa67148b1c7dcc60029
Deployed Bytecode
0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630f7ee1ec146100bf57806310e7b9f2146101eb57806338d52e0f1461021657806343c0948e1461026d5780634cc08a27146103055780636af3356b1461034a5780637f038f3c146103775780638da5cb5b146103a25780639b98a94b146103f95780639fcf4ff114610450578063b97912ff1461047d578063f2fde38b14610544575b600080fd5b3480156100cb57600080fd5b506100ea60048036038101908080359060200190929190505050610587565b604051808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200186815260200185815260200184815260200183151515158152602001828103825287818151815260200191508051906020019080838360005b838110156101aa57808201518184015260208101905061018f565b50505050905090810190601f1680156101d75780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b3480156101f757600080fd5b506102006106bd565b6040518082815260200191505060405180910390f35b34801561022257600080fd5b5061022b6106c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027957600080fd5b506102ae600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106e9565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102f15780820151818401526020810190506102d6565b505050509050019250505060405180910390f35b34801561031157600080fd5b5061034860048036038101908080359060200190929190803590602001908201803590602001919091929391929390505050610780565b005b34801561035657600080fd5b5061037560048036038101908080359060200190929190505050610a92565b005b34801561038357600080fd5b5061038c610af7565b6040518082815260200191505060405180910390f35b3480156103ae57600080fd5b506103b7610afd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040557600080fd5b5061043a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b22565b6040518082815260200191505060405180910390f35b34801561045c57600080fd5b5061047b60048036038101908080359060200190929190505050610cac565b005b34801561048957600080fd5b506104a860048036038101908080359060200190929190505050610f63565b6040518085600019166000191681526020018060200184815260200183151515158152602001828103825285818151815260200191508051906020019080838360005b838110156105065780820151818401526020810190506104eb565b50505050905090810190601f1680156105335780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561055057600080fd5b50610585600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110d9565b005b60048181548110151561059657fe5b90600052602060002090600702016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561068e5780601f106106635761010080835404028352916020019161068e565b820191906000526020600020905b81548152906001019060200180831161067157829003601f168201915b5050505050908060030154908060040154908060050154908060060160009054906101000a900460ff16905087565b60025481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561077457602002820191906000526020600020905b815481526020019060010190808311610760575b50505050509050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561089757600080fd5b505af11580156108ab573d6000803e3d6000fd5b505050506040513d60208110156108c157600080fd5b810190808051906020019092919050505090508181101515156108e357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156109dc57600080fd5b505af11580156109f0573d6000803e3d6000fd5b505050506040513d6020811015610a0657600080fd5b81019080805190602001909291905050501515610a2257600080fd5b610a8a600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff163387878080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508942600254420160006111f2565b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610aed57600080fd5b8060028190555050565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006060600080600660008073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415610b675733610b69565b865b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610bed57602002820191906000526020600020905b815481526020019060010190808311610bd9575b5050505050925060009150600090505b8251811015610ca1576000151560048483815181101515610c1a57fe5b90602001906020020151815481101515610c3057fe5b906000526020600020906007020160060160009054906101000a900460ff1615151415610c945760048382815181101515610c6757fe5b90602001906020020151815481101515610c7d57fe5b906000526020600020906007020160030154820191505b8080600101915050610bfd565b819350505050919050565b8060001515600482815481101515610cc057fe5b906000526020600020906007020160060160009054906101000a900460ff161515141515610ced57600080fd5b816000600482815481101515610cff57fe5b90600052602060002090600702016005015414158015610d3f575042600482815481101515610d2a57fe5b90600052602060002090600702016005015411155b1515610d4a57600080fd5b600483815481101515610d5957fe5b906000526020600020906007020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dc457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600485815481101515610e1157fe5b906000526020600020906007020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600486815481101515610e5257fe5b9060005260206000209060070201600301546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ee957600080fd5b505af1158015610efd573d6000803e3d6000fd5b505050506040513d6020811015610f1357600080fd5b8101908080519060200190929190505050506001600484815481101515610f3657fe5b906000526020600020906007020160060160006101000a81548160ff021916908315150217905550505050565b60006060600080600285604051808281526020019150506020604051808303816000865af1158015610f99573d6000803e3d6000fd5b5050506040513d6020811015610fae57600080fd5b8101908080519060200190929190505050600486815481101515610fce57fe5b9060005260206000209060070201600201600487815481101515610fee57fe5b90600052602060002090600702016003015460048881548110151561100f57fe5b906000526020600020906007020160060160009054906101000a900460ff16828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110c35780601f10611098576101008083540402835291602001916110c3565b820191906000526020600020905b8154815290600101906020018083116110a657829003601f168201915b5050505050925093509350935093509193509193565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561113457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006001600460e0604051908101604052808b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018981526020018881526020018781526020018681526020018515158152509080600181540180825580915050906001820390600052602060002090600702016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201908051906020019061132f9291906114e9565b50606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff021916908315150217905550505003905060018101600381905550336005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150509060018203906000526020600020016000909192909190915055507fe3b5ea43ee8fe1c736c8c1cbb87454d3cca6c7e1814756f9b720dd8b2dd2885781898986604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a15050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061152a57805160ff1916838001178555611558565b82800160010185558215611558579182015b8281111561155757825182559160200191906001019061153c565b5b5090506115659190611569565b5090565b61158b91905b8082111561158757600081600090555060010161156f565b5090565b905600a165627a7a72305820c6b5d6164ce58b9646c30d157e72e0b5f36afa7a70d6d1928aa67148b1c7dcc60029
Deployed Bytecode Sourcemap
1209:3241:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1719:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1719:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1719:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1435:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1435:34:0;;;;;;;;;;;;;;;;;;;;;;;1366:65;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1366:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3551:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3551:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3551:129:0;;;;;;;;;;;;;;;;;2831:346;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2831:346:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4134:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4134:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;1487:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1487:31:0;;;;;;;;;;;;;;;;;;;;;;;52:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;52:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3688:439;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3688:439:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3238:305;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3238:305:0;;;;;;;;;;;;;;;;;;;;;;;;;;4231:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4231:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4231:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;312:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;312:150:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1719:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1435:34::-;;;;:::o;1366:65::-;;;;;;;;;;;;;:::o;3551:129::-;3615:9;3645:15;:25;3661:8;3645:25;;;;;;;;;;;;;;;3638:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3551:129;;;:::o;2831:346::-;2916:5;;;;;;;;;;;2922:7;1938:17;1964:5;;;;;;;;;;;1958:22;;;1981:10;2001:4;1958:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1958:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1958:49:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1958:49:0;;;;;;;;;;;;;;;;1938:69;;2036:7;2023:9;:20;;2015:29;;;;;;;;3012:5;;;;;;;;;;;3006:25;;;3032:10;3052:4;3059:7;3006:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3006:61:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3006:61:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3006:61:0;;;;;;;;;;;;;;;;2997:71;;;;;;;;3084:86;3099:5;;;;;;;;;;;3106:10;3118:13;;3084:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3133:7;3142:3;3153:8;;3147:3;:14;3163:5;3084:14;:86::i;:::-;2831:346;;;;;;:::o;4134:89::-;278:5;;;;;;;;;;;264:19;;:10;:19;;;255:29;;;;;;;;4209:7;4198:8;:18;;;;4134:89;:::o;1487:31::-;;;;:::o;52:20::-;;;;;;;;;;;;;:::o;3688:439::-;3752:7;3771:27;3871:14;3906:9;3801:15;:59;3835:1;3817:20;;:8;:20;;;;:42;;3849:10;3817:42;;;3840:8;3817:42;3801:59;;;;;;;;;;;;;;;3771:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3888:1;3871:18;;3916:1;3906:11;;3902:192;3922:10;:17;3919:1;:20;3902:192;;;4000:5;3964:41;;:8;3973:10;3984:1;3973:13;;;;;;;;;;;;;;;;;;3964:23;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;:41;;;3961:120;;;4035:8;4044:10;4055:1;4044:13;;;;;;;;;;;;;;;;;;4035:23;;;;;;;;;;;;;;;;;;;;:30;;;4025:40;;;;3961:120;3941:3;;;;;;;3902:192;;;4113:6;4106:13;;3688:439;;;;;;:::o;3238:305::-;3295:3;2273:5;2247:31;;:8;2256:3;2247:13;;;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:31;;;2239:40;;;;;;;;3314:3;2142:1;2117:8;2126:3;2117:13;;;;;;;;;;;;;;;;;;;;:21;;;:26;;:58;;;;;2172:3;2147:8;2156:3;2147:13;;;;;;;;;;;;;;;;;;;;:21;;;:28;;2117:58;2109:67;;;;;;;;3403:8;3412:3;3403:13;;;;;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;3389:33;;:10;:33;;;3380:43;;;;;;;;3440:5;;;;;;;;;;;3434:21;;;3456:8;3465:3;3456:13;;;;;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;3477:8;3486:3;3477:13;;;;;;;;;;;;;;;;;;;;:20;;;3434:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3434:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3434:65:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3434:65:0;;;;;;;;;;;;;;;;;3532:4;3507:8;3516:3;3507:13;;;;;;;;;;;;;;;;;;;;:22;;;:29;;;;;;;;;;;;;;;;;;2287:1;3238:305;;:::o;4231:216::-;4290:7;4299:6;4307:7;4316:4;4342:13;4349:5;4342:13;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4342:13:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4342:13:0;;;;;;;;;;;;;;;;4357:8;4366:5;4357:15;;;;;;;;;;;;;;;;;;;;:29;;4388:8;4397:5;4388:15;;;;;;;;;;;;;;;;;;;;:22;;;4412:8;4421:5;4412:15;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;4334:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4231:216;;;;;:::o;312:150::-;278:5;;;;;;;;;;;264:19;;:10;:19;;;255:29;;;;;;;;418:8;390:37;;411:5;;;;;;;;;;;390:37;;;;;;;;;;;;446:8;438:5;;:16;;;;;;;;;;;;;;;;;;312:150;:::o;2302:499::-;2513:10;2625:1;2526:8;2540:81;;;;;;;;;2548:6;2540:81;;;;;;2556:6;2540:81;;;;;;2564:14;2540:81;;;;2580:7;2540:81;;;;2589:10;2540:81;;;;2601:8;2540:81;;;;2611:9;2540:81;;;;;2526:96;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;2526:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:100;2513:113;;2659:1;2654:2;:6;2639:12;:21;;;;2689:10;2668:14;:18;2683:2;2668:18;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;2707:15;:27;2723:10;2707:27;;;;;;;;;;;;;;;2740:2;2707:36;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;2707:36:0;;;;;;;;;;;;;;;;;;;;;;2756:40;2767:2;2771:6;2779;2787:8;2756:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2302:499;;;;;;;;:::o;1209:3241::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://c6b5d6164ce58b9646c30d157e72e0b5f36afa7a70d6d1928aa67148b1c7dcc6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
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.