Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
17792474 | 519 days ago | 4.6656 ETH | ||||
8834110 | 1888 days ago | 0.8064 ETH | ||||
8834110 | 1888 days ago | 0.8064 ETH | ||||
8832794 | 1888 days ago | 3.6288 ETH | ||||
8832794 | 1888 days ago | 0.36288 ETH | ||||
8832794 | 1888 days ago | 4.032 ETH | ||||
8832794 | 1888 days ago | 3.6288 ETH | ||||
8832794 | 1888 days ago | 0.36288 ETH | ||||
8832794 | 1888 days ago | 4.032 ETH | ||||
8832794 | 1888 days ago | 3.6288 ETH | ||||
8832794 | 1888 days ago | 0.36288 ETH | ||||
8832794 | 1888 days ago | 4.032 ETH | ||||
8832779 | 1888 days ago | 0.0432 ETH | ||||
8832779 | 1888 days ago | 0.3888 ETH | ||||
8832779 | 1888 days ago | 0.432 ETH | ||||
8832749 | 1888 days ago | 0.02592 ETH | ||||
8832749 | 1888 days ago | 0.23328 ETH | ||||
8832749 | 1888 days ago | 0.2592 ETH | ||||
8832746 | 1888 days ago | 0.000864 ETH | ||||
8832746 | 1888 days ago | 0.07776 ETH | ||||
8832746 | 1888 days ago | 0.007776 ETH | ||||
8832746 | 1888 days ago | 0.0864 ETH | ||||
8832732 | 1888 days ago | 0.0864 ETH | ||||
8832732 | 1888 days ago | 0.0864 ETH | ||||
8832732 | 1888 days ago | 0.00864 ETH |
Loading...
Loading
Contract Name:
Processor
Compiler Version
v0.5.11+commit.c082d0b4
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-10-16 */ pragma solidity ^0.5.0; interface IReferrals { function getSplit(address user) external view returns (uint8 discount, uint8 referrer); } // from OZ /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { // Gas optimization: this is cheaper than asserting '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; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } contract Ownable { address payable public owner; constructor() public { owner = msg.sender; } function setOwner(address payable _owner) public onlyOwner { owner = _owner; } function getOwner() public view returns (address payable) { return owner; } modifier onlyOwner { require(msg.sender == owner, "must be owner to call this function"); _; } } contract Referrals is Ownable { using SafeMath for uint; uint public discountLimit; uint public defaultDiscount; uint public defaultRefer; mapping(address => Split) public splits; struct Split { bool set; uint8 discountPercentage; uint8 referrerPercentage; } event SplitChanged(address user, uint8 discount, uint8 referrer); constructor(uint _discountLimit, uint _defaultDiscount, uint _defaultRefer) public { setDiscountLimit(_discountLimit); setDefaults(_defaultDiscount, _defaultRefer); } // sets the discount and referral percentages for the current user // this is deliberately user-customisable function setSplit(uint8 discount, uint8 referrer) public { require(discountLimit >= discount + referrer, "can't give more than the limit"); require(discount + referrer >= discount, "can't overflow"); splits[msg.sender] = Split({ discountPercentage: discount, referrerPercentage: referrer, set: true }); emit SplitChanged(msg.sender, discount, referrer); } // override a user's split function overrideSplit(address user, uint8 discount, uint8 referrer) public onlyOwner { require(discountLimit >= discount + referrer, "can't give more than the limit"); require(discount + referrer >= discount, "can't overflow"); splits[user] = Split({ discountPercentage: discount, referrerPercentage: referrer, set: true }); emit SplitChanged(user, discount, referrer); } // sets the max purchase total discount function setDiscountLimit(uint _limit) public onlyOwner { require(_limit <= 100, "discount limit must be <= 100"); discountLimit = _limit; } // sets the default discount and referral percentages function setDefaults(uint _discount, uint _refer) public onlyOwner { require(discountLimit >= _discount + _refer, "can't be more than the limit"); require(_discount + _refer >= _discount, "can't overflow"); defaultDiscount = _discount; defaultRefer = _refer; } // gets the discount and referral rates for a particular user function getSplit(address user) public view returns (uint8 discount, uint8 referrer) { if (user == address(0)) { return (0, 0); } Split memory s = splits[user]; if (!s.set) { return (uint8(defaultDiscount), uint8(defaultRefer)); } return (s.discountPercentage, s.referrerPercentage); } } contract Processor is Ownable { using SafeMath for uint256; IReferrals public referrals; address payable public vault; uint public count; mapping(address => bool) public approvedSellers; event PaymentProcessed(uint id, address user, uint cost, uint items, address referrer, uint toVault, uint toReferrer); event SellerApprovalChanged(address seller, bool approved); constructor(address payable _vault, IReferrals _referrals) public { referrals = _referrals; vault = _vault; } function setCanSell(address seller, bool approved) public onlyOwner { approvedSellers[seller] = approved; emit SellerApprovalChanged(seller, approved); } function processPayment(address payable user, uint cost, uint items, address payable referrer) public payable returns (uint) { require(approvedSellers[msg.sender]); require(user != referrer, "can't refer yourself"); require(items != 0, "have to purchase at least one item"); require(cost > 0, "items must cost something"); // TODO: are these necessary for the simple percentage logic? require(cost >= 100, "items must cost at least 100 wei"); require(cost % 100 == 0, "costs must be multiples of 100"); uint toVault; uint toReferrer; (toVault, toReferrer) = getAllocations(cost, items, referrer); uint total = toVault.add(toReferrer); // check that the tx has enough value to complete the payment require(msg.value >= total, "not enough value sent to contract"); if (msg.value > total) { uint change = msg.value.sub(total); user.transfer(change); } vault.transfer(toVault); // pay the referral fee if (toReferrer > 0 && referrer != address(0)) { referrer.transfer(toReferrer); } // give this payment a unique ID uint id = count++; emit PaymentProcessed(id, user, cost, items, referrer, toVault, toReferrer); return id; } // get the amount of the purchase which will be allocated to // the vault and to the referrer function getAllocations(uint cost, uint items, address referrer) public view returns (uint toVault, uint toReferrer) { uint8 discount; uint8 refer; (discount, refer) = referrals.getSplit(referrer); require(discount + refer <= 100 && discount + refer >= discount, "invalid referral split"); // avoid overflow uint total = cost.mul(items); uint8 vaultPercentage = 100 - discount - refer; toVault = getPercentage(total, vaultPercentage); toReferrer = getPercentage(total, refer); uint discountedTotal = getPercentage(total, 100 - discount); require(discountedTotal == toVault.add(toReferrer), "not all funds allocated"); return (toVault, toReferrer); } // returns the price (including discount) which must be paid by the user function getPrice(uint cost, uint items, address referrer) public view returns (uint) { uint8 discount; (discount, ) = referrals.getSplit(referrer); return getPercentage(cost.mul(items), 100 - discount); } function getPercentage(uint amount, uint8 percentage) public pure returns (uint) { // TODO: are these necessary for the percentage logic? require(amount >= 100, "items must cost at least 100 wei"); require(amount % 100 == 0, "costs must be multiples of 100 wei"); return amount.mul(percentage).div(100); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setCanSell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"cost","type":"uint256"},{"internalType":"uint256","name":"items","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"}],"name":"getAllocations","outputs":[{"internalType":"uint256","name":"toVault","type":"uint256"},{"internalType":"uint256","name":"toReferrer","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"user","type":"address"},{"internalType":"uint256","name":"cost","type":"uint256"},{"internalType":"uint256","name":"items","type":"uint256"},{"internalType":"address payable","name":"referrer","type":"address"}],"name":"processPayment","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"cost","type":"uint256"},{"internalType":"uint256","name":"items","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"}],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"approvedSellers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"referrals","outputs":[{"internalType":"contract IReferrals","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"percentage","type":"uint8"}],"name":"getPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_vault","type":"address"},{"internalType":"contract IReferrals","name":"_referrals","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"cost","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"items","type":"uint256"},{"indexed":false,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"uint256","name":"toVault","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toReferrer","type":"uint256"}],"name":"PaymentProcessed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"SellerApprovalChanged","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516114a43803806114a48339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050611383806101216000396000f3fe6080604052600436106100a75760003560e01c8063893d20e811610064578063893d20e81461030a5780638da5cb5b14610361578063931e52ee146103b8578063d3dc753914610421578063f2bce73814610478578063fbfa77cf146104d4576100a7565b806306661abd146100ac57806313af4035146100d757806331ba7316146101285780633d8bee2e14610185578063733dad7d1461020557806373f773ff14610291575b600080fd5b3480156100b857600080fd5b506100c161052b565b6040518082815260200191505060405180910390f35b3480156100e357600080fd5b50610126600480360360208110156100fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610531565b005b34801561013457600080fd5b506101836004803603604081101561014b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610619565b005b34801561019157600080fd5b506101e8600480360360608110156101a857600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610788565b604051808381526020018281526020019250505060405180910390f35b61027b6004803603608081101561021b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ed565b6040518082815260200191505060405180910390f35b34801561029d57600080fd5b506102f4600480360360608110156102b457600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f72565b6040518082815260200191505060405180910390f35b34801561031657600080fd5b5061031f611086565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561036d57600080fd5b506103766110af565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103c457600080fd5b50610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110d4565b604051808215151515815260200191505060405180910390f35b34801561042d57600080fd5b506104366110f4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561048457600080fd5b506104be6004803603604081101561049b57600080fd5b8101908080359060200190929190803560ff16906020019092919050505061111a565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b506104e9611227565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061130b6023913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061130b6023913960400191505060405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fdf2391b643fd77dc8ef590df4aacb403f8466614b9a343023be39a8faa86a3be8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b600080600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166368800afd866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604080518083038186803b15801561082c57600080fd5b505afa158015610840573d6000803e3d6000fd5b505050506040513d604081101561085657600080fd5b8101908080519060200190929190805190602001909291905050508092508193505050606481830160ff161115801561089757508160ff1681830160ff1610155b610909576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f696e76616c696420726566657272616c2073706c69740000000000000000000081525060200191505060405180910390fd5b600061091e878961124d90919063ffffffff16565b905060008284606403039050610934828261111a565b9550610940828461111a565b94506000610951838660640361111a565b9050610966868861128190919063ffffffff16565b81146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6e6f7420616c6c2066756e647320616c6c6f636174656400000000000000000081525060200191505060405180910390fd5b8686965096505050505050935093915050565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a4557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610ae7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f63616e277420726566657220796f757273656c6600000000000000000000000081525060200191505060405180910390fd5b6000831415610b41576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806112e96022913960400191505060405180910390fd5b60008411610bb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f6974656d73206d75737420636f737420736f6d657468696e670000000000000081525060200191505060405180910390fd5b6064841015610c2e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6974656d73206d75737420636f7374206174206c65617374203130302077656981525060200191505060405180910390fd5b600060648581610c3a57fe5b0614610cae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f636f737473206d757374206265206d756c7469706c6573206f6620313030000081525060200191505060405180910390fd5b600080610cbc868686610788565b80925081935050506000610cd9828461128190919063ffffffff16565b905080341015610d34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061132e6021913960400191505060405180910390fd5b80341115610d9c576000610d51823461129b90919063ffffffff16565b90508873ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d99573d6000803e3d6000fd5b50505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015610e04573d6000803e3d6000fd5b50600082118015610e425750600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610e8f578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610e8d573d6000803e3d6000fd5b505b6000600360008154809291906001019190505590507f5315f07ba82e0d0c482f25963a3c8cd5b09b0c969a5f42821132ae2f570f25fa818a8a8a8a8989604051808881526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200197505050505050505060405180910390a180945050505050949350505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166368800afd846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604080518083038186803b15801561101357600080fd5b505afa158015611027573d6000803e3d6000fd5b505050506040513d604081101561103d57600080fd5b810190808051906020019092919080519060200190929190505050508091505061107c611073858761124d90919063ffffffff16565b8260640361111a565b9150509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006064831015611193576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6974656d73206d75737420636f7374206174206c65617374203130302077656981525060200191505060405180910390fd5b60006064848161119f57fe5b06146111f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806112c76022913960400191505060405180910390fd5b61121f60646112118460ff168661124d90919063ffffffff16565b6112b290919063ffffffff16565b905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080831415611260576000905061127b565b81830290508183828161126f57fe5b041461127757fe5b8090505b92915050565b600081830190508281101561129257fe5b80905092915050565b6000828211156112a757fe5b818303905092915050565b60008183816112bd57fe5b0490509291505056fe636f737473206d757374206265206d756c7469706c6573206f6620313030207765696861766520746f207075726368617365206174206c65617374206f6e65206974656d6d757374206265206f776e657220746f2063616c6c20746869732066756e6374696f6e6e6f7420656e6f7567682076616c75652073656e7420746f20636f6e7472616374a265627a7a7231582075598e3aa081960e05e1481885ebf7672a5457cfed10e03b23e81335084aab2e64736f6c634300050b003200000000000000000000000091b9d2835ad914bc1dcfe09bd1816febd04fd689000000000000000000000000a993559e69c5318f125d221736113737169b3b93
Deployed Bytecode
0x6080604052600436106100a75760003560e01c8063893d20e811610064578063893d20e81461030a5780638da5cb5b14610361578063931e52ee146103b8578063d3dc753914610421578063f2bce73814610478578063fbfa77cf146104d4576100a7565b806306661abd146100ac57806313af4035146100d757806331ba7316146101285780633d8bee2e14610185578063733dad7d1461020557806373f773ff14610291575b600080fd5b3480156100b857600080fd5b506100c161052b565b6040518082815260200191505060405180910390f35b3480156100e357600080fd5b50610126600480360360208110156100fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610531565b005b34801561013457600080fd5b506101836004803603604081101561014b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610619565b005b34801561019157600080fd5b506101e8600480360360608110156101a857600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610788565b604051808381526020018281526020019250505060405180910390f35b61027b6004803603608081101561021b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ed565b6040518082815260200191505060405180910390f35b34801561029d57600080fd5b506102f4600480360360608110156102b457600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f72565b6040518082815260200191505060405180910390f35b34801561031657600080fd5b5061031f611086565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561036d57600080fd5b506103766110af565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103c457600080fd5b50610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110d4565b604051808215151515815260200191505060405180910390f35b34801561042d57600080fd5b506104366110f4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561048457600080fd5b506104be6004803603604081101561049b57600080fd5b8101908080359060200190929190803560ff16906020019092919050505061111a565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b506104e9611227565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061130b6023913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061130b6023913960400191505060405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fdf2391b643fd77dc8ef590df4aacb403f8466614b9a343023be39a8faa86a3be8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b600080600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166368800afd866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604080518083038186803b15801561082c57600080fd5b505afa158015610840573d6000803e3d6000fd5b505050506040513d604081101561085657600080fd5b8101908080519060200190929190805190602001909291905050508092508193505050606481830160ff161115801561089757508160ff1681830160ff1610155b610909576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f696e76616c696420726566657272616c2073706c69740000000000000000000081525060200191505060405180910390fd5b600061091e878961124d90919063ffffffff16565b905060008284606403039050610934828261111a565b9550610940828461111a565b94506000610951838660640361111a565b9050610966868861128190919063ffffffff16565b81146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6e6f7420616c6c2066756e647320616c6c6f636174656400000000000000000081525060200191505060405180910390fd5b8686965096505050505050935093915050565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a4557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610ae7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f63616e277420726566657220796f757273656c6600000000000000000000000081525060200191505060405180910390fd5b6000831415610b41576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806112e96022913960400191505060405180910390fd5b60008411610bb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f6974656d73206d75737420636f737420736f6d657468696e670000000000000081525060200191505060405180910390fd5b6064841015610c2e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6974656d73206d75737420636f7374206174206c65617374203130302077656981525060200191505060405180910390fd5b600060648581610c3a57fe5b0614610cae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f636f737473206d757374206265206d756c7469706c6573206f6620313030000081525060200191505060405180910390fd5b600080610cbc868686610788565b80925081935050506000610cd9828461128190919063ffffffff16565b905080341015610d34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061132e6021913960400191505060405180910390fd5b80341115610d9c576000610d51823461129b90919063ffffffff16565b90508873ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d99573d6000803e3d6000fd5b50505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015610e04573d6000803e3d6000fd5b50600082118015610e425750600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610e8f578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610e8d573d6000803e3d6000fd5b505b6000600360008154809291906001019190505590507f5315f07ba82e0d0c482f25963a3c8cd5b09b0c969a5f42821132ae2f570f25fa818a8a8a8a8989604051808881526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200197505050505050505060405180910390a180945050505050949350505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166368800afd846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604080518083038186803b15801561101357600080fd5b505afa158015611027573d6000803e3d6000fd5b505050506040513d604081101561103d57600080fd5b810190808051906020019092919080519060200190929190505050508091505061107c611073858761124d90919063ffffffff16565b8260640361111a565b9150509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006064831015611193576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6974656d73206d75737420636f7374206174206c65617374203130302077656981525060200191505060405180910390fd5b60006064848161119f57fe5b06146111f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806112c76022913960400191505060405180910390fd5b61121f60646112118460ff168661124d90919063ffffffff16565b6112b290919063ffffffff16565b905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080831415611260576000905061127b565b81830290508183828161126f57fe5b041461127757fe5b8090505b92915050565b600081830190508281101561129257fe5b80905092915050565b6000828211156112a757fe5b818303905092915050565b60008183816112bd57fe5b0490509291505056fe636f737473206d757374206265206d756c7469706c6573206f6620313030207765696861766520746f207075726368617365206174206c65617374206f6e65206974656d6d757374206265206f776e657220746f2063616c6c20746869732066756e6374696f6e6e6f7420656e6f7567682076616c75652073656e7420746f20636f6e7472616374a265627a7a7231582075598e3aa081960e05e1481885ebf7672a5457cfed10e03b23e81335084aab2e64736f6c634300050b0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000091b9d2835ad914bc1dcfe09bd1816febd04fd689000000000000000000000000a993559e69c5318f125d221736113737169b3b93
-----Decoded View---------------
Arg [0] : _vault (address): 0x91B9d2835AD914bc1dcFE09Bd1816FeBd04fd689
Arg [1] : _referrals (address): 0xA993559e69c5318F125D221736113737169b3b93
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000091b9d2835ad914bc1dcfe09bd1816febd04fd689
Arg [1] : 000000000000000000000000a993559e69c5318f125d221736113737169b3b93
Swarm Source
bzzr://75598e3aa081960e05e1481885ebf7672a5457cfed10e03b23e81335084aab2e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.