Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,095 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 10186519 | 1681 days ago | IN | 0 ETH | 0.00114689 | ||||
Withdraw | 10186517 | 1681 days ago | IN | 0 ETH | 0.00114571 | ||||
Withdraw | 10186516 | 1681 days ago | IN | 0 ETH | 0.00114571 | ||||
Withdraw | 10186515 | 1681 days ago | IN | 0 ETH | 0.00114571 | ||||
Withdraw | 10186513 | 1681 days ago | IN | 0 ETH | 0.00114571 | ||||
Withdraw | 10186512 | 1681 days ago | IN | 0 ETH | 0.00112238 | ||||
Plan Withdraw | 10186397 | 1681 days ago | IN | 0 ETH | 0.00177769 | ||||
Plan Withdraw | 10186394 | 1681 days ago | IN | 0 ETH | 0.00177769 | ||||
Plan Withdraw | 10186393 | 1681 days ago | IN | 0 ETH | 0.00174065 | ||||
Plan Withdraw | 10186389 | 1681 days ago | IN | 0 ETH | 0.00174065 | ||||
Plan Withdraw | 10186387 | 1681 days ago | IN | 0 ETH | 0.00174065 | ||||
Plan Withdraw | 10186385 | 1681 days ago | IN | 0 ETH | 0.00171984 | ||||
Withdraw | 10186321 | 1681 days ago | IN | 0 ETH | 0.00105751 | ||||
Withdraw | 10186317 | 1681 days ago | IN | 0 ETH | 0.00105751 | ||||
Withdraw | 10186315 | 1681 days ago | IN | 0 ETH | 0.00105751 | ||||
Withdraw | 10186311 | 1681 days ago | IN | 0 ETH | 0.00105751 | ||||
Withdraw | 10186287 | 1681 days ago | IN | 0 ETH | 0.00086954 | ||||
Plan Withdraw | 10186192 | 1681 days ago | IN | 0 ETH | 0.00162524 | ||||
Plan Withdraw | 10186190 | 1681 days ago | IN | 0 ETH | 0.00162524 | ||||
Plan Withdraw | 10186189 | 1681 days ago | IN | 0 ETH | 0.00162524 | ||||
Plan Withdraw | 10186187 | 1681 days ago | IN | 0 ETH | 0.00162524 | ||||
Plan Withdraw | 10186184 | 1681 days ago | IN | 0 ETH | 0.00162434 | ||||
Withdraw | 10161420 | 1685 days ago | IN | 0 ETH | 0.00161598 | ||||
Withdraw | 10161417 | 1685 days ago | IN | 0 ETH | 0.00161598 | ||||
Plan Withdraw | 10161316 | 1685 days ago | IN | 0 ETH | 0.00248352 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
UserDeposit
Compiler Version
v0.6.4+commit.1dca32f3
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-04-07 */ pragma solidity 0.6.4; interface Token { /// @return supply total amount of tokens function totalSupply() external view returns (uint256 supply); /// @param _owner The address from which the balance will be retrieved /// @return balance The balance function balanceOf(address _owner) external view returns (uint256 balance); /// @notice send `_value` token to `_to` from `msg.sender` /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return success Whether the transfer was successful or not function transfer(address _to, uint256 _value) external returns (bool success); /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from` /// @param _from The address of the sender /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return success Whether the transfer was successful or not function transferFrom(address _from, address _to, uint256 _value) external returns (bool success); /// @notice `msg.sender` approves `_spender` to spend `_value` tokens /// @param _spender The address of the account able to transfer the tokens /// @param _value The amount of wei to be approved for transfer /// @return success Whether the approval was successful or not function approve(address _spender, uint256 _value) external returns (bool success); /// @param _owner The address of the account owning tokens /// @param _spender The address of the account able to transfer the tokens /// @return remaining Amount of remaining tokens allowed to spent function allowance(address _owner, address _spender) external view returns (uint256 remaining); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); // Optionally implemented function to show the number of decimals for the token function decimals() external view returns (uint8 decimals); } /// @title Utils /// @notice Utils contract for various helpers used by the Raiden Network smart /// contracts. contract Utils { enum MessageTypeId { None, BalanceProof, BalanceProofUpdate, Withdraw, CooperativeSettle, IOU, MSReward } /// @notice Check if a contract exists /// @param contract_address The address to check whether a contract is /// deployed or not /// @return True if a contract exists, false otherwise function contractExists(address contract_address) public view returns (bool) { uint size; assembly { size := extcodesize(contract_address) } return size > 0; } } contract UserDeposit is Utils { uint constant public withdraw_delay = 100; // time before withdraw is allowed in blocks // Token to be used for the deposit Token public token; // Trusted contracts (can execute `transfer`) address public msc_address; address public one_to_n_address; // Total amount of tokens that have been deposited. This is monotonous and // doing a transfer or withdrawing tokens will not decrease total_deposit! mapping(address => uint256) public total_deposit; // Current user's balance, ignoring planned withdraws mapping(address => uint256) public balances; mapping(address => WithdrawPlan) public withdraw_plans; // The sum of all balances uint256 public whole_balance = 0; // Deposit limit for this whole contract uint256 public whole_balance_limit; /* * Structs */ struct WithdrawPlan { uint256 amount; uint256 withdraw_block; // earliest block at which withdraw is allowed } /* * Events */ event BalanceReduced(address indexed owner, uint newBalance); event WithdrawPlanned(address indexed withdrawer, uint plannedBalance); /* * Modifiers */ modifier canTransfer() { require(msg.sender == msc_address || msg.sender == one_to_n_address, "unknown caller"); _; } /* * Constructor */ /// @notice Set the default values for the smart contract /// @param _token_address The address of the token to use for rewards constructor(address _token_address, uint256 _whole_balance_limit) public { // check token contract require(_token_address != address(0x0), "token at address zero"); require(contractExists(_token_address), "token has no code"); token = Token(_token_address); require(token.totalSupply() > 0, "token has no total supply"); // Check if the contract is indeed a token contract // check and set the whole balance limit require(_whole_balance_limit > 0, "whole balance limit is zero"); whole_balance_limit = _whole_balance_limit; } /// @notice Specify trusted contracts. This has to be done outside of the /// constructor to avoid cyclic dependencies. /// @param _msc_address Address of the MonitoringService contract /// @param _one_to_n_address Address of the OneToN contract function init(address _msc_address, address _one_to_n_address) external { // prevent changes of trusted contracts after initialization require(msc_address == address(0x0) && one_to_n_address == address(0x0), "already initialized"); // check monitoring service contract require(_msc_address != address(0x0), "MS contract at address zero"); require(contractExists(_msc_address), "MS contract has no code"); msc_address = _msc_address; // check one to n contract require(_one_to_n_address != address(0x0), "OneToN at address zero"); require(contractExists(_one_to_n_address), "OneToN has no code"); one_to_n_address = _one_to_n_address; } /// @notice Deposit tokens. The amount of transferred tokens will be /// `new_total_deposit - total_deposit[beneficiary]`. This makes the /// function behavior predictable and idempotent. Can be called several /// times and on behalf of other accounts. /// @param beneficiary The account benefiting from the deposit /// @param new_total_deposit The total sum of tokens that have been /// deposited by the user by calling this function. function deposit(address beneficiary, uint256 new_total_deposit) external { require(new_total_deposit > total_deposit[beneficiary], "deposit not increasing"); // Calculate the actual amount of tokens that will be transferred uint256 added_deposit = new_total_deposit - total_deposit[beneficiary]; balances[beneficiary] += added_deposit; total_deposit[beneficiary] += added_deposit; // Update whole_balance, but take care against overflows. require(whole_balance + added_deposit >= whole_balance, "overflowing deposit"); whole_balance += added_deposit; // Decline deposit if the whole balance is bigger than the limit. require(whole_balance <= whole_balance_limit, "too much deposit"); // Actual transfer. require(token.transferFrom(msg.sender, address(this), added_deposit), "tokens didn't transfer"); } /// @notice Internally transfer deposits between two addresses. /// Sender and receiver must be different or the transaction will fail. /// @param sender Account from which the amount will be deducted /// @param receiver Account to which the amount will be credited /// @param amount Amount of tokens to be transferred /// @return success true if transfer has been done successfully, otherwise false function transfer( address sender, address receiver, uint256 amount ) canTransfer() external returns (bool success) { require(sender != receiver, "sender == receiver"); if (balances[sender] >= amount && amount > 0) { balances[sender] -= amount; balances[receiver] += amount; emit BalanceReduced(sender, balances[sender]); return true; } else { return false; } } /// @notice Announce intention to withdraw tokens. /// Sets the planned withdraw amount and resets the withdraw_block. /// There is only one planned withdrawal at a time, the old one gets overwritten. /// @param amount Maximum amount of tokens to be withdrawn function planWithdraw(uint256 amount) external { require(amount > 0, "withdrawing zero"); require(balances[msg.sender] >= amount, "withdrawing too much"); withdraw_plans[msg.sender] = WithdrawPlan({ amount: amount, withdraw_block: block.number + withdraw_delay }); emit WithdrawPlanned(msg.sender, balances[msg.sender] - amount); } /// @notice Execute a planned withdrawal /// Will only work after the withdraw_delay has expired. /// An amount lower or equal to the planned amount may be withdrawn. /// Removes the withdraw plan even if not the full amount has been /// withdrawn. /// @param amount Amount of tokens to be withdrawn function withdraw(uint256 amount) external { WithdrawPlan storage withdraw_plan = withdraw_plans[msg.sender]; require(amount <= withdraw_plan.amount, "withdrawing more than planned"); require(withdraw_plan.withdraw_block <= block.number, "withdrawing too early"); uint256 withdrawable = min(amount, balances[msg.sender]); balances[msg.sender] -= withdrawable; // Update whole_balance, but take care against underflows. require(whole_balance - withdrawable <= whole_balance, "underflow in whole_balance"); whole_balance -= withdrawable; emit BalanceReduced(msg.sender, balances[msg.sender]); delete withdraw_plans[msg.sender]; require(token.transfer(msg.sender, withdrawable), "tokens didn't transfer"); } /// @notice The owner's balance with planned withdrawals deducted /// @param owner Address for which the balance should be returned /// @return remaining_balance The remaining balance after planned withdrawals function effectiveBalance(address owner) external view returns (uint256 remaining_balance) { WithdrawPlan storage withdraw_plan = withdraw_plans[owner]; if (withdraw_plan.amount > balances[owner]) { return 0; } return balances[owner] - withdraw_plan.amount; } function min(uint256 a, uint256 b) pure internal returns (uint256) { return a > b ? b : a; } } // MIT License // Copyright (c) 2018 // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE.
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_token_address","type":"address"},{"internalType":"uint256","name":"_whole_balance_limit","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"BalanceReduced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"withdrawer","type":"address"},{"indexed":false,"internalType":"uint256","name":"plannedBalance","type":"uint256"}],"name":"WithdrawPlanned","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contract_address","type":"address"}],"name":"contractExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"new_total_deposit","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"effectiveBalance","outputs":[{"internalType":"uint256","name":"remaining_balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_msc_address","type":"address"},{"internalType":"address","name":"_one_to_n_address","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"msc_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"one_to_n_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"planWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract Token","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"total_deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"whole_balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"whole_balance_limit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw_delay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"withdraw_plans","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"withdraw_block","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405260006006553480156200001657600080fd5b5060405162001d4f38038062001d4f833981810160405260408110156200003c57600080fd5b810190808051906020019092919080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620000fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f746f6b656e2061742061646472657373207a65726f000000000000000000000081525060200191505060405180910390fd5b6200010c826200036060201b60201c565b6200017f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f746f6b656e20686173206e6f20636f646500000000000000000000000000000081525060200191505060405180910390fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022957600080fd5b505afa1580156200023e573d6000803e3d6000fd5b505050506040513d60208110156200025557600080fd5b810190808051906020019092919050505011620002da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f746f6b656e20686173206e6f20746f74616c20737570706c790000000000000081525060200191505060405180910390fd5b6000811162000351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f77686f6c652062616c616e6365206c696d6974206973207a65726f000000000081525060200191505060405180910390fd5b80600781905550505062000373565b600080823b905060008111915050919050565b6119cc80620003836000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638fd066e011610097578063d635f2ee11610066578063d635f2ee14610470578063d7a2729a146104c8578063f09a4016146104e6578063fc0c546a1461054a57610100565b80638fd066e014610338578063b0a05a2e14610356578063beabacc8146103a0578063d54b10e31461042657610100565b80632e1a7d4d116100d35780632e1a7d4d146102015780633e90af501461022f57806347e7ef241461028e5780637709bc78146102dc57610100565b8063145ccb0f1461010557806316a398f71461013357806325fc2ccf1461018b57806327e235e3146101a9575b600080fd5b6101316004803603602081101561011b57600080fd5b8101908080359060200190929190505050610594565b005b6101756004803603602081101561014957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107bf565b6040518082815260200191505060405180910390f35b6101936108a7565b6040518082815260200191505060405180910390f35b6101eb600480360360208110156101bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ac565b6040518082815260200191505060405180910390f35b61022d6004803603602081101561021757600080fd5b81019080803590602001909291905050506108c4565b005b6102716004803603602081101561024557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5a565b604051808381526020018281526020019250505060405180910390f35b6102da600480360360408110156102a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d7e565b005b61031e600480360360208110156102f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111a6565b604051808215151515815260200191505060405180910390f35b6103406111b9565b6040518082815260200191505060405180910390f35b61035e6111bf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61040c600480360360608110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111e5565b604051808215151515815260200191505060405180910390f35b61042e611534565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104b26004803603602081101561048657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061155a565b6040518082815260200191505060405180910390f35b6104d0611572565b6040518082815260200191505060405180910390f35b610548600480360360408110156104fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611578565b005b610552611958565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000811161060a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f7769746864726177696e67207a65726f0000000000000000000000000000000081525060200191505060405180910390fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f7769746864726177696e6720746f6f206d75636800000000000000000000000081525060200191505060405180910390fd5b604051806040016040528082815260200160644301815250600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167f1d6ecaf99b9d2150d4774c1ea17e3a04631acbfe71d58d2e9c7abbbc4561e03982600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036040518082815260200191505060405180910390a250565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054816000015411156108585760009150506108a2565b8060000154600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054039150505b919050565b606481565b60046020528060005260406000206000915090505481565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000154821115610981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f7769746864726177696e67206d6f7265207468616e20706c616e6e656400000081525060200191505060405180910390fd5b43816001015411156109fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7769746864726177696e6720746f6f206561726c79000000000000000000000081525060200191505060405180910390fd5b6000610a4683600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197d565b905080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060065481600654031115610b11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f756e646572666c6f7720696e2077686f6c655f62616c616e636500000000000081525060200191505060405180910390fd5b806006600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a2600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160009055600182016000905550506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ca857600080fd5b505af1158015610cbc573d6000803e3d6000fd5b505050506040513d6020811015610cd257600080fd5b8101908080519060200190929190505050610d55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f746f6b656e73206469646e2774207472616e736665720000000000000000000081525060200191505060405180910390fd5b505050565b60056020528060005260406000206000915090508060000154908060010154905082565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111610e32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f6465706f736974206e6f7420696e6372656173696e670000000000000000000081525060200191505060405180910390fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548203905080600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060065481600654011015610f8e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f6f766572666c6f77696e67206465706f7369740000000000000000000000000081525060200191505060405180910390fd5b806006600082825401925050819055506007546006541115611018576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f746f6f206d756368206465706f7369740000000000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156110f457600080fd5b505af1158015611108573d6000803e3d6000fd5b505050506040513d602081101561111e57600080fd5b81019080805190602001909291905050506111a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f746f6b656e73206469646e2774207472616e736665720000000000000000000081525060200191505060405180910390fd5b505050565b600080823b905060008111915050919050565b60065481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112905750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611302576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f756e6b6e6f776e2063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156113a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f73656e646572203d3d207265636569766572000000000000000000000000000081525060200191505060405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156113f35750600082115b156115285781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff167f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a26001905061152d565b600090505b9392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915090505481565b60075481565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156116245750600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611696576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f616c726561647920696e697469616c697a65640000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611739576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d5320636f6e74726163742061742061646472657373207a65726f000000000081525060200191505060405180910390fd5b611742826111a6565b6117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4d5320636f6e747261637420686173206e6f20636f646500000000000000000081525060200191505060405180910390fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611898576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e65546f4e2061742061646472657373207a65726f0000000000000000000081525060200191505060405180910390fd5b6118a1816111a6565b611913576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e65546f4e20686173206e6f20636f6465000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081831161198c578261198e565b815b90509291505056fea2646970667358221220b589019dfbf3799c398af0144d12abed6059a9db899f7d5d2232823f5cc3f1a564736f6c63430006040033000000000000000000000000255aa6df07540cb5d3d297f0d0d4d84cb52bc8e6000000000000000000000000000000000000000000012e8303276de61693fc00
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638fd066e011610097578063d635f2ee11610066578063d635f2ee14610470578063d7a2729a146104c8578063f09a4016146104e6578063fc0c546a1461054a57610100565b80638fd066e014610338578063b0a05a2e14610356578063beabacc8146103a0578063d54b10e31461042657610100565b80632e1a7d4d116100d35780632e1a7d4d146102015780633e90af501461022f57806347e7ef241461028e5780637709bc78146102dc57610100565b8063145ccb0f1461010557806316a398f71461013357806325fc2ccf1461018b57806327e235e3146101a9575b600080fd5b6101316004803603602081101561011b57600080fd5b8101908080359060200190929190505050610594565b005b6101756004803603602081101561014957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107bf565b6040518082815260200191505060405180910390f35b6101936108a7565b6040518082815260200191505060405180910390f35b6101eb600480360360208110156101bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ac565b6040518082815260200191505060405180910390f35b61022d6004803603602081101561021757600080fd5b81019080803590602001909291905050506108c4565b005b6102716004803603602081101561024557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5a565b604051808381526020018281526020019250505060405180910390f35b6102da600480360360408110156102a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d7e565b005b61031e600480360360208110156102f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111a6565b604051808215151515815260200191505060405180910390f35b6103406111b9565b6040518082815260200191505060405180910390f35b61035e6111bf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61040c600480360360608110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111e5565b604051808215151515815260200191505060405180910390f35b61042e611534565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104b26004803603602081101561048657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061155a565b6040518082815260200191505060405180910390f35b6104d0611572565b6040518082815260200191505060405180910390f35b610548600480360360408110156104fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611578565b005b610552611958565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000811161060a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f7769746864726177696e67207a65726f0000000000000000000000000000000081525060200191505060405180910390fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f7769746864726177696e6720746f6f206d75636800000000000000000000000081525060200191505060405180910390fd5b604051806040016040528082815260200160644301815250600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167f1d6ecaf99b9d2150d4774c1ea17e3a04631acbfe71d58d2e9c7abbbc4561e03982600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036040518082815260200191505060405180910390a250565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054816000015411156108585760009150506108a2565b8060000154600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054039150505b919050565b606481565b60046020528060005260406000206000915090505481565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000154821115610981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f7769746864726177696e67206d6f7265207468616e20706c616e6e656400000081525060200191505060405180910390fd5b43816001015411156109fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7769746864726177696e6720746f6f206561726c79000000000000000000000081525060200191505060405180910390fd5b6000610a4683600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197d565b905080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060065481600654031115610b11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f756e646572666c6f7720696e2077686f6c655f62616c616e636500000000000081525060200191505060405180910390fd5b806006600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a2600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160009055600182016000905550506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ca857600080fd5b505af1158015610cbc573d6000803e3d6000fd5b505050506040513d6020811015610cd257600080fd5b8101908080519060200190929190505050610d55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f746f6b656e73206469646e2774207472616e736665720000000000000000000081525060200191505060405180910390fd5b505050565b60056020528060005260406000206000915090508060000154908060010154905082565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111610e32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f6465706f736974206e6f7420696e6372656173696e670000000000000000000081525060200191505060405180910390fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548203905080600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060065481600654011015610f8e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f6f766572666c6f77696e67206465706f7369740000000000000000000000000081525060200191505060405180910390fd5b806006600082825401925050819055506007546006541115611018576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f746f6f206d756368206465706f7369740000000000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156110f457600080fd5b505af1158015611108573d6000803e3d6000fd5b505050506040513d602081101561111e57600080fd5b81019080805190602001909291905050506111a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f746f6b656e73206469646e2774207472616e736665720000000000000000000081525060200191505060405180910390fd5b505050565b600080823b905060008111915050919050565b60065481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112905750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611302576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f756e6b6e6f776e2063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156113a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f73656e646572203d3d207265636569766572000000000000000000000000000081525060200191505060405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156113f35750600082115b156115285781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff167f2e9bf8d4a8402929da26de77a79494626b184ddae2e3e0c076d6dfa10cd2a1d9600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a26001905061152d565b600090505b9392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915090505481565b60075481565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156116245750600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611696576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f616c726561647920696e697469616c697a65640000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611739576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d5320636f6e74726163742061742061646472657373207a65726f000000000081525060200191505060405180910390fd5b611742826111a6565b6117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4d5320636f6e747261637420686173206e6f20636f646500000000000000000081525060200191505060405180910390fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611898576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e65546f4e2061742061646472657373207a65726f0000000000000000000081525060200191505060405180910390fd5b6118a1816111a6565b611913576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e65546f4e20686173206e6f20636f6465000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081831161198c578261198e565b815b90509291505056fea2646970667358221220b589019dfbf3799c398af0144d12abed6059a9db899f7d5d2232823f5cc3f1a564736f6c63430006040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000255aa6df07540cb5d3d297f0d0d4d84cb52bc8e6000000000000000000000000000000000000000000012e8303276de61693fc00
-----Decoded View---------------
Arg [0] : _token_address (address): 0x255Aa6DF07540Cb5d3d297f0D0D4D84cb52bc8e6
Arg [1] : _whole_balance_limit (uint256): 1428571428571430000000000
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000255aa6df07540cb5d3d297f0d0d4d84cb52bc8e6
Arg [1] : 000000000000000000000000000000000000000000012e8303276de61693fc00
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.003619 | 1,289.4437 | $4.67 |
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.